Trigger OnUpgradeDatabase when upgrade version

This commit is contained in:
dab246
2023-02-17 14:20:26 +07:00
committed by Dat Vu
parent 47bfc811ba
commit 04575e084b
3 changed files with 33 additions and 20 deletions
@@ -6,6 +6,8 @@ import 'package:core/utils/app_logger.dart';
import 'package:get/get.dart';
import 'package:hive/hive.dart';
import 'package:path_provider/path_provider.dart' as path_provider;
import 'package:tmail_ui_user/features/caching/caching_manager.dart';
import 'package:tmail_ui_user/features/caching/config/cache_version.dart';
import 'package:tmail_ui_user/features/caching/utils/caching_constants.dart';
import 'package:tmail_ui_user/features/login/data/local/encryption_key_cache_manager.dart';
import 'package:tmail_ui_user/features/login/data/model/account_cache.dart';
@@ -41,6 +43,16 @@ class HiveCacheConfig {
}
}
Future<void> onUpgradeDatabase(CachingManager cachingManager) async {
final oldVersion = await cachingManager.getLatestVersion() ?? 0;
const newVersion = CacheVersion.hiveDBVersion;
log('HiveCacheConfig::onUpgradeDatabase():oldVersion: $oldVersion | newVersion: $newVersion');
if (oldVersion != newVersion) {
await cachingManager.onUpgradeCache(oldVersion, newVersion);
}
return Future.value();
}
static Future<void> initializeEncryptionKey() async {
final encryptionKeyCacheManager = Get.find<EncryptionKeyCacheManager>();
final encryptionKeyCache = await encryptionKeyCacheManager.getEncryptionKeyStored();