44 lines
1.7 KiB
TypeScript
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,
|
|
]);
|
|
};
|