Files
projet_gestion_commande/frontend-admin/src/auth/tokenStorage.ts
T
2026-02-07 22:33:02 +01:00

44 lines
1.7 KiB
TypeScript

import AsyncStorage from '@react-native-async-storage/async-storage';
const TOKEN_KEY = 'token';
const ADMIN_TOKEN_KEY = 'admin_token';
const USERNAME_KEY = 'username';
const ADMIN_USERNAME_KEY = 'admin_username';
const ROLE_KEY = 'user_role';
// Client token
export const getToken = () => AsyncStorage.getItem(TOKEN_KEY);
export const setToken = (token: string) => AsyncStorage.setItem(TOKEN_KEY, token);
export const removeToken = () => AsyncStorage.removeItem(TOKEN_KEY);
// Admin/Cabine/Livreur token
export const getAdminToken = () => AsyncStorage.getItem(ADMIN_TOKEN_KEY);
export const setAdminToken = (token: string) => AsyncStorage.setItem(ADMIN_TOKEN_KEY, token);
export const removeAdminToken = () => AsyncStorage.removeItem(ADMIN_TOKEN_KEY);
// Username
export const getUsername = () => AsyncStorage.getItem(USERNAME_KEY);
export const setUsername = (username: string) => AsyncStorage.setItem(USERNAME_KEY, username);
export const removeUsername = () => AsyncStorage.removeItem(USERNAME_KEY);
// Admin username
export const getAdminUsername = () => AsyncStorage.getItem(ADMIN_USERNAME_KEY);
export const setAdminUsername = (username: string) => AsyncStorage.setItem(ADMIN_USERNAME_KEY, username);
export const removeAdminUsername = () => AsyncStorage.removeItem(ADMIN_USERNAME_KEY);
// Role
export const getRole = () => AsyncStorage.getItem(ROLE_KEY);
export const setRole = (role: string) => AsyncStorage.setItem(ROLE_KEY, role);
export const removeRole = () => AsyncStorage.removeItem(ROLE_KEY);
// Clear all auth data
export const clearAllAuth = async () => {
await AsyncStorage.multiRemove([
TOKEN_KEY,
ADMIN_TOKEN_KEY,
USERNAME_KEY,
ADMIN_USERNAME_KEY,
ROLE_KEY,
]);
};