flutter-freaccess-hub/lib/shared/helpers/base_storage.dart

197 lines
4.6 KiB
Dart

abstract class BaseStorage {
Future<void> init();
Future<void> set(String key, String value);
Future<String?> get(String key);
Future<void> delete(String key);
Future<void> 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 '';
}
}
}