summaryrefslogtreecommitdiff
path: root/packages/taler-wallet-core/src/wallet.ts
diff options
context:
space:
mode:
authorFlorian Dold <florian@dold.me>2023-08-30 18:01:18 +0200
committerFlorian Dold <florian@dold.me>2023-08-30 18:01:18 +0200
commita713d90c3c564408309d92223d383ecc9225924f (patch)
tree18142a4ce3d98df6e8a4945dbca23c47715eee6a /packages/taler-wallet-core/src/wallet.ts
parent0a4782a0da631aba31dc0ecef7427df2467cc3e6 (diff)
downloadwallet-core-a713d90c3c564408309d92223d383ecc9225924f.tar.gz
wallet-core-a713d90c3c564408309d92223d383ecc9225924f.tar.bz2
wallet-core-a713d90c3c564408309d92223d383ecc9225924f.zip
wallet-core: remove old sync code, add stored backups skeleton
Diffstat (limited to 'packages/taler-wallet-core/src/wallet.ts')
-rw-r--r--packages/taler-wallet-core/src/wallet.ts32
1 files changed, 23 insertions, 9 deletions
diff --git a/packages/taler-wallet-core/src/wallet.ts b/packages/taler-wallet-core/src/wallet.ts
index 9f754ed69..283539a08 100644
--- a/packages/taler-wallet-core/src/wallet.ts
+++ b/packages/taler-wallet-core/src/wallet.ts
@@ -120,6 +120,7 @@ import {
codecForSharePaymentRequest,
GetCurrencyInfoResponse,
codecForGetCurrencyInfoRequest,
+ CreateStoredBackupResponse,
} from "@gnu-taler/taler-util";
import {
HttpRequestLibrary,
@@ -139,6 +140,7 @@ import {
clearDatabase,
exportDb,
importDb,
+ openStoredBackupsDatabase,
openTalerDatabase,
} from "./db.js";
import { DevExperimentHttpLib, applyDevExperiment } from "./dev-experiments.js";
@@ -158,7 +160,6 @@ import {
getUserAttentionsUnreadCount,
markAttentionRequestAsRead,
} from "./operations/attention.js";
-import { exportBackup } from "./operations/backup/export.js";
import {
addBackupProvider,
codecForAddBackupProviderRequest,
@@ -166,13 +167,12 @@ import {
codecForRunBackupCycle,
getBackupInfo,
getBackupRecovery,
- importBackupPlain,
loadBackupRecovery,
processBackupForProvider,
removeBackupProvider,
runBackupCycle,
+ setWalletDeviceId,
} from "./operations/backup/index.js";
-import { setWalletDeviceId } from "./operations/backup/state.js";
import { getBalanceDetail, getBalances } from "./operations/balance.js";
import {
TaskIdentifiers,
@@ -1025,6 +1025,17 @@ export async function getClientFromWalletState(
return client;
}
+async function createStoredBackup(
+ ws: InternalWalletState,
+): Promise<CreateStoredBackupResponse> {
+ const backup = await exportDb(ws.idb);
+ const backupsDb = await openStoredBackupsDatabase(ws.idb);
+ const name = `backup-${new Date().getTime()}`;
+ backupsDb.mktxAll().runReadWrite(async (tx) => {});
+
+ throw Error("not implemented");
+}
+
/**
* Implementation of the "wallet-core" API.
*/
@@ -1041,6 +1052,14 @@ async function dispatchRequestInternal<Op extends WalletApiOperation>(
// FIXME: Can we make this more type-safe by using the request/response type
// definitions we already have?
switch (operation) {
+ case WalletApiOperation.CreateStoredBackup:
+ return createStoredBackup(ws);
+ case WalletApiOperation.DeleteStoredBackup:
+ return {};
+ case WalletApiOperation.ListStoredBackups:
+ return {};
+ case WalletApiOperation.RecoverStoredBackup:
+ return {};
case WalletApiOperation.InitWallet: {
logger.trace("initializing wallet");
ws.initCalled = true;
@@ -1382,9 +1401,6 @@ async function dispatchRequestInternal<Op extends WalletApiOperation>(
const req = codecForAcceptTipRequest().decode(payload);
return await acceptTip(ws, req.walletRewardId);
}
- case WalletApiOperation.ExportBackupPlain: {
- return exportBackup(ws);
- }
case WalletApiOperation.AddBackupProvider: {
const req = codecForAddBackupProviderRequest().decode(payload);
return await addBackupProvider(ws, req);
@@ -1535,9 +1551,7 @@ async function dispatchRequestInternal<Op extends WalletApiOperation>(
await clearDatabase(ws.db.idbHandle());
return {};
case WalletApiOperation.Recycle: {
- const backup = await exportBackup(ws);
- await clearDatabase(ws.db.idbHandle());
- await importBackupPlain(ws, backup);
+ throw Error("not implemented");
return {};
}
case WalletApiOperation.ExportDb: {