sg-delivery-partner/app/services/storageService.ts
2026-07-02 14:34:19 +05:30

39 lines
1.1 KiB
TypeScript

import AsyncStorage from '@react-native-async-storage/async-storage';
const KEYS = {
TOKEN: '@token',
PARTNER_ID: '@partner_id',
HAS_COMPLETED_ONBOARDING: '@has_completed_onboarding',
};
class StorageService {
async saveToken(token: string, partnerId: string): Promise<void> {
await AsyncStorage.multiSet([
[KEYS.TOKEN, token],
[KEYS.PARTNER_ID, partnerId],
]);
}
async getToken(): Promise<{ token: string | null; partnerId: string | null }> {
const values = await AsyncStorage.multiGet([KEYS.TOKEN, KEYS.PARTNER_ID]);
const token = values[0][1];
const partnerId = values[1][1];
return { token, partnerId };
}
async removeToken(): Promise<void> {
await AsyncStorage.multiRemove([KEYS.TOKEN, KEYS.PARTNER_ID]);
}
async setOnboardingComplete(complete: boolean): Promise<void> {
await AsyncStorage.setItem(KEYS.HAS_COMPLETED_ONBOARDING, JSON.stringify(complete));
}
async getOnboardingComplete(): Promise<boolean> {
const val = await AsyncStorage.getItem(KEYS.HAS_COMPLETED_ONBOARDING);
return val ? JSON.parse(val) : false;
}
}
export const storageService = new StorageService();