diff options
author | Florian Dold <florian@dold.me> | 2020-12-02 14:55:04 +0100 |
---|---|---|
committer | Florian Dold <florian@dold.me> | 2020-12-02 14:55:04 +0100 |
commit | 89f1a281fea66b986fc0a003dc10446f6ed6e4a2 (patch) | |
tree | 8ffe90d572bc6967ee86bdcffc1eb6dc1240d17c /packages/taler-wallet-core/src/types/dbTypes.ts | |
parent | 0828e65f8845dc4b148c0d3b0697fb589b338239 (diff) | |
download | wallet-core-89f1a281fea66b986fc0a003dc10446f6ed6e4a2.tar.xz |
backup WIP
Diffstat (limited to 'packages/taler-wallet-core/src/types/dbTypes.ts')
-rw-r--r-- | packages/taler-wallet-core/src/types/dbTypes.ts | 48 |
1 files changed, 45 insertions, 3 deletions
diff --git a/packages/taler-wallet-core/src/types/dbTypes.ts b/packages/taler-wallet-core/src/types/dbTypes.ts index 349713ebc..26400dd3a 100644 --- a/packages/taler-wallet-core/src/types/dbTypes.ts +++ b/packages/taler-wallet-core/src/types/dbTypes.ts @@ -31,6 +31,7 @@ import { MerchantInfo, Product, InternationalizedString, + AmountString, } from "./talerTypes"; import { Index, Store } from "../util/query"; @@ -706,6 +707,10 @@ export enum CoinSourceType { export interface WithdrawCoinSource { type: CoinSourceType.Withdraw; + + /** + * Can be the empty string for orphaned coins. + */ withdrawalGroupId: string; /** @@ -1395,9 +1400,9 @@ export interface PurchaseRecord { * Configuration key/value entries to configure * the wallet. */ -export interface ConfigRecord { +export interface ConfigRecord<T> { key: string; - value: any; + value: T; } export interface DenominationSelectionInfo { @@ -1531,6 +1536,30 @@ export enum ImportPayloadType { CoreSchema = "core-schema", } +export interface BackupProviderRecord { + baseUrl: string; + + supportedProtocolVersion: string; + + annualFee: AmountString; + + storageLimitInMegabytes: number; + + active: boolean; + + /** + * Hash of the last backup that we already + * merged. + */ + lastBackupHash?: string; + + /** + * Clock of the last backup that we already + * merged. + */ + lastBackupClock?: number; +} + class ExchangesStore extends Store<"exchanges", ExchangeRecord> { constructor() { super("exchanges", { keyPath: "baseUrl" }); @@ -1609,7 +1638,7 @@ class CurrenciesStore extends Store<"currencies", CurrencyRecord> { } } -class ConfigStore extends Store<"config", ConfigRecord> { +class ConfigStore extends Store<"config", ConfigRecord<any>> { constructor() { super("config", { keyPath: "key" }); } @@ -1690,6 +1719,18 @@ class BankWithdrawUrisStore extends Store< } } + +/** + */ +class BackupProvidersStore extends Store< + "backupProviders", + BackupProviderRecord +> { + constructor() { + super("backupProviders", { keyPath: "baseUrl", versionAdded: 3 }); + } +} + /** * The stores and indices for the wallet database. */ @@ -1716,4 +1757,5 @@ export const Stores = { withdrawalGroups: new WithdrawalGroupsStore(), planchets: new PlanchetsStore(), bankWithdrawUris: new BankWithdrawUrisStore(), + backupProviders: new BackupProvidersStore(), }; |