WIP
This commit is contained in:
parent
4eca85a85d
commit
1f70e5db22
|
@ -15,8 +15,13 @@ class DatabaseStorage implements BaseStorage {
|
|||
factory DatabaseStorage() => instance;
|
||||
DatabaseStorage._internal();
|
||||
|
||||
static late final Database _database;
|
||||
static Database get database => _database;
|
||||
static Database? _database;
|
||||
static Database get database {
|
||||
if (_database == null) {
|
||||
throw Exception('Database has not been initialized. Call init() first.');
|
||||
}
|
||||
return _database!;
|
||||
}
|
||||
|
||||
static BaseStorage getInstanceByKey(String key) {
|
||||
if (KeychainStorageKey.values.map((e) => e.value).toList().contains(key)) {
|
||||
|
@ -29,6 +34,7 @@ class DatabaseStorage implements BaseStorage {
|
|||
}
|
||||
|
||||
Future<void> init() async {
|
||||
if (_database != null && _database!.isOpen) return;
|
||||
_database = await openDatabase(
|
||||
join(await getDatabasesPath(), _dbName),
|
||||
version: _dbVersion,
|
||||
|
@ -42,14 +48,14 @@ class DatabaseStorage implements BaseStorage {
|
|||
log('Creating database...');
|
||||
await database.execute(KeychainDelegate.createTableQuery);
|
||||
await database.execute(LicenseDelegate.createTableQuery);
|
||||
await LicenseService.setupLicense();
|
||||
await LicenseService.setupLicense(database);
|
||||
}
|
||||
|
||||
Future<void> _onUpgrade(Database database, int oldVersion, int newVersion) async {
|
||||
log('Upgrading database from version $oldVersion to $newVersion...');
|
||||
if (oldVersion < 2) {
|
||||
await database.execute(LicenseDelegate.createTableQuery);
|
||||
await LicenseService.setupLicense();
|
||||
await LicenseService.setupLicense(database);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -57,8 +63,8 @@ class DatabaseStorage implements BaseStorage {
|
|||
|
||||
@override
|
||||
Future<void> clearAll() async {
|
||||
await _database.delete(KeychainDelegate.tableKeychain);
|
||||
await _database.delete(LicenseDelegate.tableLicense);
|
||||
await _database?.delete(KeychainDelegate.tableKeychain);
|
||||
await _database?.delete(LicenseDelegate.tableLicense);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
@ -16,10 +16,10 @@ class LicenseService {
|
|||
factory LicenseService() => _instance;
|
||||
LicenseService._internal();
|
||||
|
||||
static Future<void> setupLicense() async {
|
||||
static Future<void> setupLicense(Database database) async {
|
||||
log('All modules are visible');
|
||||
for (var element in LicenseStorageKey.values.map((e) => e.value)) {
|
||||
await DatabaseStorage.database.insert(
|
||||
await database.insert(
|
||||
LicenseDelegate.tableLicense,
|
||||
{
|
||||
'key': element,
|
||||
|
@ -69,7 +69,7 @@ class LicenseService {
|
|||
}
|
||||
|
||||
if (responseBody == []) {
|
||||
await setupLicense();
|
||||
await setupLicense(DatabaseStorage.database);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -80,7 +80,7 @@ class LicenseService {
|
|||
}
|
||||
return true;
|
||||
} catch (e) {
|
||||
await setupLicense();
|
||||
await setupLicense(DatabaseStorage.database);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue