tombstones

This commit is contained in:
Florian Dold 2021-05-12 15:26:15 +02:00
parent 4fdcaab632
commit b1500241f7
No known key found for this signature in database
GPG Key ID: D2E4F00F29D02A4B
2 changed files with 22 additions and 7 deletions

View File

@ -155,7 +155,8 @@ export interface WalletBackupContentV1 {
purchases: BackupPurchase[]; purchases: BackupPurchase[];
/** /**
* All backup providers. * All backup providers. Backup providers
* in this list should be considered "active".
* *
* Sorted by the provider base URL. * Sorted by the provider base URL.
*/ */
@ -195,16 +196,16 @@ export interface WalletBackupContentV1 {
error_reports: BackupErrorReport[]; error_reports: BackupErrorReport[];
/** /**
* Deletion tombstones. Sorted by (type, id) * Deletion tombstones. Lexically sorted.
* in ascending order.
*/ */
tombstones: Tombstone[]; tombstones: Tombstone[];
} }
export interface Tombstone {
type: string; /**
id: string; * Tombstone in the format "<type>:<key>"
} */
export type Tombstone = string;
/** /**
* Detailed error report. * Detailed error report.

View File

@ -1695,6 +1695,13 @@ export interface GhostDepositGroupRecord {
}[]; }[];
} }
export interface TombstoneRecord {
/**
* Tombstone ID, with the syntax "<type>:<key>".
*/
id: string;
}
class ExchangesStore extends Store<"exchanges", ExchangeRecord> { class ExchangesStore extends Store<"exchanges", ExchangeRecord> {
constructor() { constructor() {
super("exchanges", { keyPath: "baseUrl" }); super("exchanges", { keyPath: "baseUrl" });
@ -1877,6 +1884,12 @@ class DepositGroupsStore extends Store<"depositGroups", DepositGroupRecord> {
} }
} }
class TombstonesStore extends Store<"tombstones", TombstoneRecord> {
constructor() {
super("tombstones", { keyPath: "id" });
}
}
/** /**
* The stores and indices for the wallet database. * The stores and indices for the wallet database.
*/ */
@ -1904,6 +1917,7 @@ export const Stores = {
bankWithdrawUris: new BankWithdrawUrisStore(), bankWithdrawUris: new BankWithdrawUrisStore(),
backupProviders: new BackupProvidersStore(), backupProviders: new BackupProvidersStore(),
depositGroups: new DepositGroupsStore(), depositGroups: new DepositGroupsStore(),
tombstones: new TombstonesStore(),
ghostDepositGroups: new Store<"ghostDepositGroups", GhostDepositGroupRecord>( ghostDepositGroups: new Store<"ghostDepositGroups", GhostDepositGroupRecord>(
"ghostDepositGroups", "ghostDepositGroups",
{ {