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 { 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 { await AsyncStorage.multiRemove([KEYS.TOKEN, KEYS.PARTNER_ID]); } async setOnboardingComplete(complete: boolean): Promise { await AsyncStorage.setItem(KEYS.HAS_COMPLETED_ONBOARDING, JSON.stringify(complete)); } async getOnboardingComplete(): Promise { const val = await AsyncStorage.getItem(KEYS.HAS_COMPLETED_ONBOARDING); return val ? JSON.parse(val) : false; } } export const storageService = new StorageService();