diff options
author | Sebastian <sebasjm@gmail.com> | 2024-04-09 23:45:07 -0300 |
---|---|---|
committer | Sebastian <sebasjm@gmail.com> | 2024-04-09 23:45:07 -0300 |
commit | de32e0217c54f26a54813f56c378155bcacf4416 (patch) | |
tree | c6767c1e4d1fc7ba300df118cf514fe61b8b3c5b /packages/taler-wallet-core/src | |
parent | 86e02c6ecdde78ed741d89c5a64f6bfb79a2426e (diff) | |
download | wallet-core-de32e0217c54f26a54813f56c378155bcacf4416.tar.xz |
evict cache when updating exchange database
Diffstat (limited to 'packages/taler-wallet-core/src')
-rw-r--r-- | packages/taler-wallet-core/src/exchanges.ts | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/packages/taler-wallet-core/src/exchanges.ts b/packages/taler-wallet-core/src/exchanges.ts index 6ee579368..4a784cebb 100644 --- a/packages/taler-wallet-core/src/exchanges.ts +++ b/packages/taler-wallet-core/src/exchanges.ts @@ -312,8 +312,8 @@ async function makeExchangeListItem( ): Promise<ExchangeListItem> { const lastUpdateErrorInfo: OperationErrorInfo | undefined = lastError ? { - error: lastError, - } + error: lastError, + } : undefined; let scopeInfo: ScopeInfo | undefined = undefined; @@ -425,6 +425,7 @@ export async function acceptExchangeTermsOfService( ); await tx.exchanges.put(exch); const newExchangeState = getExchangeState(exch); + wex.ws.exchangeCache.clear(); return { type: NotificationType.ExchangeStateTransition, exchangeBaseUrl, @@ -457,6 +458,7 @@ export async function forgetExchangeTermsOfService( exch.tosAcceptedTimestamp = undefined; await tx.exchanges.put(exch); const newExchangeState = getExchangeState(exch); + wex.ws.exchangeCache.clear(); return { type: NotificationType.ExchangeStateTransition, exchangeBaseUrl, @@ -913,14 +915,14 @@ async function startUpdateExchangeEntry( const canonBaseUrl = canonicalizeBaseUrl(exchangeBaseUrl); logger.info( - `starting update of exchange entry ${canonBaseUrl}, forced=${ - options.forceUpdate ?? false + `starting update of exchange entry ${canonBaseUrl}, forced=${options.forceUpdate ?? false }`, ); const { notification } = await wex.db.runReadWriteTx( ["exchanges", "exchangeDetails"], async (tx) => { + wex.ws.exchangeCache.clear(); return provideExchangeRecordInTx(wex.ws, tx, exchangeBaseUrl); }, ); @@ -972,6 +974,7 @@ async function startUpdateExchangeEntry( r.cachebreakNextUpdate = options.forceUpdate; break; } + wex.ws.exchangeCache.clear(); await tx.exchanges.put(r); const newExchangeState = getExchangeState(r); // Reset retries for updating the exchange entry. @@ -1728,6 +1731,7 @@ export async function updateExchangeFromUrlHandler( exchange.nextRefreshCheckStamp = timestampPreciseToDb( AbsoluteTime.toPreciseTimestamp(minCheckThreshold), ); + wex.ws.exchangeCache.clear(); await tx.exchanges.put(exchange); }, ); @@ -2122,6 +2126,7 @@ export async function getExchangeTos( const updateExchangeEntry = await tx.exchanges.get(exchangeBaseUrl); if (updateExchangeEntry) { updateExchangeEntry.tosCurrentEtag = tosDownload.tosEtag; + wex.ws.exchangeCache.clear(); await tx.exchanges.put(updateExchangeEntry); } }); @@ -2539,6 +2544,7 @@ export async function deleteExchange( return; } await purgeExchange(tx, exchangeBaseUrl); + wex.ws.exchangeCache.clear(); }, ); |