From 9ec912e0107032df38bfa90c898a772842e38e9c Mon Sep 17 00:00:00 2001 From: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com> Date: Fri, 21 Aug 2026 20:55:16 +0530 Subject: [PATCH] inline migration helper --- mobile/lib/utils/migration.dart | 44 +++++++++++++++------------------ 1 file changed, 20 insertions(+), 24 deletions(-) diff --git a/mobile/lib/utils/migration.dart b/mobile/lib/utils/migration.dart index 6a67fea899..5afa97f9e2 100644 --- a/mobile/lib/utils/migration.dart +++ b/mobile/lib/utils/migration.dart @@ -86,7 +86,16 @@ Future _migrateTo25() async { } Future _migrateTo26(Drift drift) async { - final migrator = _StoreMigrator.settings(drift); + final migrator = _StoreMigrator._( + drift, + encode: (key, value) => key.encode(value), + readDefault: (key) => defaultConfig.read(key), + insertRow: (batch, name, value) => batch.insert( + drift.settingsEntity, + SettingsEntityCompanion(key: Value(name), value: Value(value)), + mode: InsertMode.insertOrReplace, + ), + ); await migrator.migrateEnumIndex(StoreKey.legacyLogLevel, SettingsKey.logLevel, LogLevel.values); // Theme await migrator.migrateEnumName(StoreKey.legacyThemeMode, SettingsKey.themeMode, ThemeMode.values); @@ -152,7 +161,16 @@ Future _migrateTo26(Drift drift) async { } Future _migrateTo27(Drift drift) async { - final migrator = _StoreMigrator.session(drift); + final migrator = _StoreMigrator._( + drift, + encode: (key, value) => key.encode(value), + readDefault: (key) => defaultSession.read(key), + insertRow: (batch, name, value) => batch.insert( + drift.sessionEntity, + SessionEntityCompanion(key: Value(name), value: Value(value)), + mode: InsertMode.insertOrReplace, + ), + ); await migrator.migrateString(StoreKey.legacyServerUrl, SessionKey.serverUrl); await migrator.migrateString(StoreKey.legacyAccessToken, SessionKey.accessToken); await migrator.migrateString(StoreKey.legacyServerEndpoint, SessionKey.serverEndpoint); @@ -221,28 +239,6 @@ Future _migrateCustomHeaders(_StoreMigrator migrator) async { class _StoreMigrator { _StoreMigrator._(this._db, {required this.encode, required this.readDefault, required this.insertRow}); - static _StoreMigrator settings(Drift db) => _StoreMigrator._( - db, - encode: (key, value) => key.encode(value), - readDefault: (key) => defaultConfig.read(key), - insertRow: (batch, name, value) => batch.insert( - db.settingsEntity, - SettingsEntityCompanion(key: Value(name), value: Value(value)), - mode: InsertMode.insertOrReplace, - ), - ); - - static _StoreMigrator session(Drift db) => _StoreMigrator._( - db, - encode: (key, value) => key.encode(value), - readDefault: (key) => defaultSession.read(key), - insertRow: (batch, name, value) => batch.insert( - db.sessionEntity, - SessionEntityCompanion(key: Value(name), value: Value(value)), - mode: InsertMode.insertOrReplace, - ), - ); - final Drift _db; final String Function(K key, Object value) encode; final Object? Function(K key) readDefault;