From f4ffd0fab12dadc709d6ced5d3129e0a2c03d72b Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Tue, 23 Apr 2024 00:43:29 +0200 Subject: wallet-core: prepare for cancellable DB access handle --- packages/taler-wallet-core/src/db.ts | 29 ++++++++++++++++++++++------- 1 file changed, 22 insertions(+), 7 deletions(-) (limited to 'packages/taler-wallet-core/src/db.ts') diff --git a/packages/taler-wallet-core/src/db.ts b/packages/taler-wallet-core/src/db.ts index 5bab70968..5da8518ea 100644 --- a/packages/taler-wallet-core/src/db.ts +++ b/packages/taler-wallet-core/src/db.ts @@ -34,6 +34,7 @@ import { Amounts, AttentionInfo, BackupProviderTerms, + CancellationToken, Codec, CoinEnvelope, CoinPublicKeyString, @@ -3269,7 +3270,12 @@ export async function openStoredBackupsDatabase( onStoredBackupsDbUpgradeNeeded, ); - const handle = new DbAccessImpl(backupsDbHandle, StoredBackupStores); + const handle = new DbAccessImpl( + backupsDbHandle, + StoredBackupStores, + {}, + CancellationToken.CONTINUE, + ); return handle; } @@ -3283,7 +3289,7 @@ export async function openStoredBackupsDatabase( export async function openTalerDatabase( idbFactory: IDBFactory, onVersionChange: () => void, -): Promise> { +): Promise { const metaDbHandle = await openDatabase( idbFactory, TALER_WALLET_META_DB_NAME, @@ -3292,7 +3298,12 @@ export async function openTalerDatabase( onMetaDbUpgradeNeeded, ); - const metaDb = new DbAccessImpl(metaDbHandle, walletMetadataStore); + const metaDb = new DbAccessImpl( + metaDbHandle, + walletMetadataStore, + {}, + CancellationToken.CONTINUE, + ); let currentMainVersion: string | undefined; await metaDb.runReadWriteTx(["metaConfig"], async (tx) => { const dbVersionRecord = await tx.metaConfig.get(CURRENT_DB_CONFIG_KEY); @@ -3341,11 +3352,15 @@ export async function openTalerDatabase( onTalerDbUpgradeNeeded, ); - const handle = new DbAccessImpl(mainDbHandle, WalletStoresV1); - - await applyFixups(handle); + const mainDbAccess = new DbAccessImpl( + mainDbHandle, + WalletStoresV1, + {}, + CancellationToken.CONTINUE, + ); + await applyFixups(mainDbAccess); - return handle; + return mainDbHandle; } export async function deleteTalerDatabase( -- cgit v1.2.3