abstract class BaseStorage { Future init(); Future set(String key, String value); Future get(String key); Future delete(String key); Future clearAll(); } enum Storage { secureStorage, sharedPreferences, databaseStorage, sqliteStorage, licenseStorage, } enum SharedPreferencesKey { isFirstRun, } extension SharedPreferencesKeyExtension on SharedPreferencesKey { String get value { switch (this) { case SharedPreferencesKey.isFirstRun: return 'fre_isFirstRun'; default: return ''; } } } enum SecureStorageKey { isLogged, email, password, deviceType, token, accessPass, panicPass, fingerprintPass, haveLocal, deviceDescription, } extension SecureStorageKeyExtension on SecureStorageKey { String get value { switch (this) { case SecureStorageKey.isLogged: return 'fre_isLogged'; case SecureStorageKey.email: return 'fre_email'; case SecureStorageKey.password: return 'fre_passwd'; case SecureStorageKey.deviceType: return 'fre_deviceType'; case SecureStorageKey.token: return 'fre_token'; case SecureStorageKey.accessPass: return 'fre_accessPass'; case SecureStorageKey.panicPass: return 'fre_panicPass'; case SecureStorageKey.fingerprintPass: return 'fre_fingerprintPass'; case SecureStorageKey.haveLocal: return 'fre_have_local'; case SecureStorageKey.deviceDescription: return 'fre_deviceDescription'; default: return ''; } } } enum SQLiteStorageKey { devUUID, userUUID, userDevUUID, status, userName, clientUUID, ownerUUID, clientName, petAmount, whatsapp, provisional, pets, local, notify, fingerprint, access, panic, person, requestOSNotification, } extension SQLIteStorageKeyExtension on SQLiteStorageKey { String get value { switch (this) { case SQLiteStorageKey.devUUID: return 'fre_devUUID'; case SQLiteStorageKey.userUUID: return 'fre_userUUID'; case SQLiteStorageKey.userDevUUID: return 'fre_userDevUUID'; case SQLiteStorageKey.status: return 'fre_status'; case SQLiteStorageKey.userName: return 'fre_userName'; case SQLiteStorageKey.clientUUID: return 'fre_cliUUID'; case SQLiteStorageKey.ownerUUID: return 'fre_ownerUUID'; case SQLiteStorageKey.clientName: return 'fre_cliName'; case SQLiteStorageKey.petAmount: return 'fre_petAmountRegister'; case SQLiteStorageKey.whatsapp: return 'fre_whatsapp'; case SQLiteStorageKey.provisional: return 'fre_provisional'; case SQLiteStorageKey.pets: return 'fre_pets'; case SQLiteStorageKey.local: return 'fre_local'; case SQLiteStorageKey.notify: return 'fre_notify'; case SQLiteStorageKey.fingerprint: return 'fre_fingerprint'; case SQLiteStorageKey.access: return 'fre_access'; case SQLiteStorageKey.panic: return 'fre_panic'; case SQLiteStorageKey.person: return 'fre_person'; case SQLiteStorageKey.requestOSNotification: return 'fre_requestOSnotification'; default: return ''; } } } enum LicenseStorageKey { messages, liberations, reservations, access, openedVisits, vehicles, residents, pets, orders, completeSchedule, providerSchedule, deliverySchedule, fastPass, } extension LicenseKeyExtension on LicenseStorageKey { String get value { switch (this) { case LicenseStorageKey.messages: return 'FRE-HUB-MESSAGES'; case LicenseStorageKey.liberations: return 'FRE-HUB-LIBERATIONS'; case LicenseStorageKey.reservations: return 'FRE-HUB-RESERVATIONS'; case LicenseStorageKey.access: return 'FRE-HUB-ACCESS'; case LicenseStorageKey.openedVisits: return 'FRE-HUB-OPENED-VISITS'; case LicenseStorageKey.vehicles: return 'FRE-HUB-VEHICLES'; case LicenseStorageKey.residents: return 'FRE-HUB-RESIDENTS'; case LicenseStorageKey.pets: return 'FRE-HUB-PETS'; case LicenseStorageKey.orders: return 'FRE-HUB-ORDERS'; case LicenseStorageKey.completeSchedule: return 'FRE-HUB-COMPLETE-SCHEDULE'; case LicenseStorageKey.providerSchedule: return 'FRE-HUB-AGE-PROV-PRESTADOR'; case LicenseStorageKey.deliverySchedule: return 'FRE-HUB-AGE-PROV-DELIVERY'; case LicenseStorageKey.fastPass: return 'FRE-HUB-FASTPASS'; default: return ''; } } }