From c12a349f633ea9fee504a8cc745e151b8157e79b Mon Sep 17 00:00:00 2001 From: Abhishek Shroff Date: Sun, 12 Jan 2025 22:54:28 +0530 Subject: [PATCH] [client] Update drift interceptor API --- client/lib/libphylum/phylum_account.dart | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/client/lib/libphylum/phylum_account.dart b/client/lib/libphylum/phylum_account.dart index 88789886..1d5659c9 100644 --- a/client/lib/libphylum/phylum_account.dart +++ b/client/lib/libphylum/phylum_account.dart @@ -62,8 +62,6 @@ class PhylumAccount extends Account { // Set Authorization header _accessToken = _initialAccessToken ?? accessToken; - // Ensure database open - await db.doWhenOpened((executor) {}); await serverResourceTracker.initialize(); await userRepository.initialize(); await myListsRepository.initialize(); @@ -81,8 +79,18 @@ class PhylumAccount extends Account { } @override - Future transaction(Future Function() fn, {bool retainServerData = false, bool clearUntouched = true}) { - return db.transaction(fn, interceptor: retainServerData ? serverResourceTracker.newInterceptor(clearUntouched) : null); + Future transaction( + Future Function() fn, { + bool retainServerData = false, + bool clearUntouched = true, + }) { + if (retainServerData) { + return db.runWithInterceptor( + () => db.transaction(fn), + interceptor: serverResourceTracker.newInterceptor(clearUntouched), + ); + } + return db.transaction(fn); } @override @@ -91,7 +99,10 @@ class PhylumAccount extends Account { await db.dropDatabase(); } - static Future createFromLoginResponse(Uri serverUri, Map response) async { + static Future createFromLoginResponse( + Uri serverUri, + Map response, + ) async { final account = PhylumAccount.create(serverUri: serverUri, accessToken: response['access_token']); await account.initialized;