This commit is contained in:
J. A. Messias 2024-12-17 13:34:29 -03:00
parent f63dd994cf
commit 06bf6caadd
11 changed files with 55 additions and 8 deletions

View File

@ -1,12 +1,10 @@
import 'dart:developer';
import 'package:hub/features/storage/index.dart';
import 'package:hub/shared/constants/index.dart';
import 'package:sqflite/sqflite.dart';
import '../../../storage/application/service/database_service.dart';
import '../../../storage/domain/entities/base_storage.dart';
abstract class ProfileLocalDataSource {
Future<void> init();
Future<String?> get(String key);

View File

@ -1 +1 @@
export 'service/index.dart';
export 'services/index.dart';

View File

@ -1,6 +1,23 @@
import 'package:hub/features/storage/index.dart';
import 'package:sqflite/sqflite.dart';
class DatabaseStorage implements BaseStorage {
DatabaseStorage._();
static final DatabaseStorage instance = DatabaseStorage._();
late final Database _database;
bool _isInitialized = false;
static DatabaseStorageKey getInstanceByKey(String key) {
if (ProfileStorageKey.values.map((e) => e.value).toList().contains(key)) {
return ProfileStorageKey.instance;
} else (SharedPreferencesKey.values.map((e) => e.value).toList().contains(key)) {
return LocalsStorageKey.instance;
}
@override
Future<void> clearAll() {
// TODO: implement clearAll

View File

@ -1,3 +1,3 @@
export 'database_storage_helper.dart';
export 'secure_storage_helper.dart';
export 'shared_storage_helper.dart';
export 'database_data_source.dart';
export 'secure_data_source.dart';
export 'shared_data_source.dart';

View File

@ -3,6 +3,7 @@ import 'package:hub/features/storage/index.dart';
abstract class DatabaseStorageKey implements IDatabaseStorage {
final String key;
const DatabaseStorageKey(this.key);
List<String> get values => [];
}
class ProfileStorageKey extends DatabaseStorageKey {
@ -18,6 +19,20 @@ class ProfileStorageKey extends DatabaseStorageKey {
static const ProfileStorageKey ownerUUID = ProfileStorageKey._('fre_ownerUUID');
static const ProfileStorageKey clientName = ProfileStorageKey._('fre_cliName');
static const ProfileStorageKey ownerName = ProfileStorageKey._('fre_ownerName');
@override
List<String> get values => [
userEmail.key,
devUUID.key,
userUUID.key,
userDevUUID.key,
status.key,
userName.key,
clientUUID.key,
ownerUUID.key,
clientName.key,
ownerName.key,
];
}
class LocalsStorageKey extends DatabaseStorageKey {
@ -35,6 +50,22 @@ class LocalsStorageKey extends DatabaseStorageKey {
static const LocalsStorageKey person = LocalsStorageKey._('fre_person');
static const LocalsStorageKey requestOSNotification = LocalsStorageKey._('fre_requestOSnotification');
static const LocalsStorageKey isNewVersion = LocalsStorageKey._('fre_isNewVersion');
@override
List<String> get values => [
petAmount.key,
whatsapp.key,
provisional.key,
pets.key,
local.key,
notify.key,
fingerprint.key,
access.key,
panic.key,
person.key,
requestOSNotification.key,
isNewVersion.key,
];
}
// enum DatabaseStorageKey implements IDatabaseStorage {

View File

@ -38,7 +38,7 @@ class StorageHelper {
case Storage.sharedPreferences:
return SharedPreferencesStorage.instance;
default:
return ProfileLocalDataSourceImpl.instance;
return DatabaseStorage.instance;
}
}

View File

@ -0,0 +1 @@
abstract class StorageRepository {}