From 37928cd2c6e31c032ed3089985296a06f59eddcd Mon Sep 17 00:00:00 2001 From: AmanRajSinghMourya Date: Tue, 26 Aug 2025 12:40:03 +0530 Subject: [PATCH] Code refractoring --- .../configuration/lib/base_configuration.dart | 31 ++++++++----------- 1 file changed, 13 insertions(+), 18 deletions(-) diff --git a/mobile/packages/configuration/lib/base_configuration.dart b/mobile/packages/configuration/lib/base_configuration.dart index 24224de339..d934faea08 100644 --- a/mobile/packages/configuration/lib/base_configuration.dart +++ b/mobile/packages/configuration/lib/base_configuration.dart @@ -55,7 +55,7 @@ class BaseConfiguration { // Keys that should not be deleted during logout // These keys are necessary for functionality that needs to work even when users - // aren't signed in, such as using Auth without backup + // aren't signed in, such as using Auth without backup List preservedKeys = [offlineAuthSecretKey]; Future init(List dbs) async { @@ -74,14 +74,7 @@ class BaseConfiguration { Future logout({bool autoLogout = false}) async { await _preferences.clear(); - - // Delete all keys except preserved ones - final allKeys = await _secureStorage.readAll(); - for (final key in allKeys.keys) { - if (!preservedKeys.contains(key)) { - await _secureStorage.delete(key: key); - } - } + await resetSecureStorage(); for (final db in _databases) { await db.clearTable(); } @@ -91,6 +84,16 @@ class BaseConfiguration { Bus.instance.fire(SignedOutEvent()); } + Future resetSecureStorage() async { + // Delete all keys except preserved ones + final allKeys = await _secureStorage.readAll(); + for (final key in allKeys.keys) { + if (!preservedKeys.contains(key)) { + await _secureStorage.delete(key: key); + } + } + } + Future generateKey(String password) async { // Create a master key final masterKey = CryptoUtil.generateKey(); @@ -395,15 +398,7 @@ class BaseConfiguration { Future _setupKeys() async { try { if (!_preferences.containsKey(tokenKey)) { - - // Delete all keys except preserved ones - final allKeys = await _secureStorage.readAll(); - for (final key in allKeys.keys) { - if (!preservedKeys.contains(key)) { - await _secureStorage.delete(key: key); - } - } - + await resetSecureStorage(); return; } _key = await _secureStorage.read(key: keyKey);