From cc795f350a8827b97b792e09a031f950e84e426a Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Mon, 14 Jun 2021 11:45:05 +0200 Subject: store ToS acceptance timestamp, remove unused backup attributes --- packages/taler-wallet-core/src/db.ts | 9 ++++++++- packages/taler-wallet-core/src/operations/backup/export.ts | 4 ++-- packages/taler-wallet-core/src/operations/backup/import.ts | 6 ++++-- packages/taler-wallet-core/src/operations/exchanges.ts | 1 + 4 files changed, 15 insertions(+), 5 deletions(-) (limited to 'packages/taler-wallet-core') diff --git a/packages/taler-wallet-core/src/db.ts b/packages/taler-wallet-core/src/db.ts index 349a40427..62b0e2283 100644 --- a/packages/taler-wallet-core/src/db.ts +++ b/packages/taler-wallet-core/src/db.ts @@ -570,10 +570,17 @@ export interface ExchangeDetailsRecord { termsOfServiceLastEtag: string | undefined; /** - * ETag for last terms of service download. + * ETag for last terms of service accepted. */ termsOfServiceAcceptedEtag: string | undefined; + /** + * Timestamp when the ToS was accepted. + * + * Used during backup merging. + */ + termsOfServiceAcceptedTimestamp: Timestamp | undefined; + wireInfo: WireInfo; } diff --git a/packages/taler-wallet-core/src/operations/backup/export.ts b/packages/taler-wallet-core/src/operations/backup/export.ts index 8d57ecd80..a62c26d68 100644 --- a/packages/taler-wallet-core/src/operations/backup/export.ts +++ b/packages/taler-wallet-core/src/operations/backup/export.ts @@ -311,8 +311,8 @@ export async function exportBackup( stamp_expire: x.stamp_expire, stamp_start: x.stamp_start, })), - tos_etag_accepted: ex.termsOfServiceAcceptedEtag, - tos_etag_last: ex.termsOfServiceLastEtag, + tos_accepted_etag: ex.termsOfServiceAcceptedEtag, + tos_accepted_timestamp: ex.termsOfServiceAcceptedTimestamp, denominations: backupDenominationsByExchange[ex.exchangeBaseUrl] ?? [], reserves: backupReservesByExchange[ex.exchangeBaseUrl] ?? [], diff --git a/packages/taler-wallet-core/src/operations/backup/import.ts b/packages/taler-wallet-core/src/operations/backup/import.ts index 146fd5109..b29491948 100644 --- a/packages/taler-wallet-core/src/operations/backup/import.ts +++ b/packages/taler-wallet-core/src/operations/backup/import.ts @@ -297,9 +297,11 @@ export async function importBackup( } await tx.exchangeDetails.put({ exchangeBaseUrl: backupExchangeDetails.base_url, - termsOfServiceAcceptedEtag: backupExchangeDetails.tos_etag_accepted, + termsOfServiceAcceptedEtag: backupExchangeDetails.tos_accepted_etag, termsOfServiceText: undefined, - termsOfServiceLastEtag: backupExchangeDetails.tos_etag_last, + termsOfServiceLastEtag: undefined, + termsOfServiceAcceptedTimestamp: + backupExchangeDetails.tos_accepted_timestamp, wireInfo, currency: backupExchangeDetails.currency, auditors: backupExchangeDetails.auditors.map((x) => ({ diff --git a/packages/taler-wallet-core/src/operations/exchanges.ts b/packages/taler-wallet-core/src/operations/exchanges.ts index ff85372ec..1f9a2ea6a 100644 --- a/packages/taler-wallet-core/src/operations/exchanges.ts +++ b/packages/taler-wallet-core/src/operations/exchanges.ts @@ -496,6 +496,7 @@ async function updateExchangeFromUrlImpl( termsOfServiceText: tosDownload.tosText, termsOfServiceAcceptedEtag: undefined, termsOfServiceLastEtag: tosDownload.tosEtag, + termsOfServiceAcceptedTimestamp: getTimestampNow(), }; // FIXME: only update if pointer got updated r.lastError = undefined; -- cgit v1.2.3