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

147 lines
3.4 KiB
Dart

abstract class BaseStorage {
Future<void> init();
Future<void> set<T>(String key, T value);
Future<String?> get(String key);
Future<void> delete(String key);
Future<void> clearAll();
}
enum Storage {
secureStorage,
sharedPreferences,
databaseStorage,
}
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 KeychainStorageKey {
devUUID,
userUUID,
userDevUUID,
status,
userName,
clientUUID,
ownerUUID,
clientName,
petAmount,
whatsapp,
provisional,
pets,
local,
notify,
fingerprint,
access,
panic,
person,
requestOSNotification,
isNewVersion,
}
extension KeychainStorageKeyExtension on KeychainStorageKey {
String get value {
switch (this) {
case KeychainStorageKey.devUUID:
return 'fre_devUUID';
case KeychainStorageKey.userUUID:
return 'fre_userUUID';
case KeychainStorageKey.userDevUUID:
return 'fre_userDevUUID';
case KeychainStorageKey.status:
return 'fre_status';
case KeychainStorageKey.userName:
return 'fre_userName';
case KeychainStorageKey.clientUUID:
return 'fre_cliUUID';
case KeychainStorageKey.ownerUUID:
return 'fre_ownerUUID';
case KeychainStorageKey.clientName:
return 'fre_cliName';
case KeychainStorageKey.petAmount:
return 'fre_petAmountRegister';
case KeychainStorageKey.whatsapp:
return 'fre_whatsapp';
case KeychainStorageKey.provisional:
return 'fre_provisional';
case KeychainStorageKey.pets:
return 'fre_pets';
case KeychainStorageKey.local:
return 'fre_local';
case KeychainStorageKey.notify:
return 'fre_notify';
case KeychainStorageKey.fingerprint:
return 'fre_fingerprint';
case KeychainStorageKey.access:
return 'fre_access';
case KeychainStorageKey.panic:
return 'fre_panic';
case KeychainStorageKey.person:
return 'fre_person';
case KeychainStorageKey.requestOSNotification:
return 'fre_requestOSnotification';
case KeychainStorageKey.isNewVersion:
return 'fre_isNewVersion';
default:
return '';
}
}
}