summaryrefslogtreecommitdiff
path: root/packages/taler-wallet-cli/src/index.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/taler-wallet-cli/src/index.ts')
-rw-r--r--packages/taler-wallet-cli/src/index.ts53
1 files changed, 53 insertions, 0 deletions
diff --git a/packages/taler-wallet-cli/src/index.ts b/packages/taler-wallet-cli/src/index.ts
index f4970e73d..87e0e00d1 100644
--- a/packages/taler-wallet-cli/src/index.ts
+++ b/packages/taler-wallet-cli/src/index.ts
@@ -409,6 +409,29 @@ backupCli.subcommand("exportPlain", "export-plain").action(async (args) => {
});
});
+backupCli
+ .subcommand("export", "export")
+ .requiredArgument("filename", clk.STRING, {
+ help: "backup filename",
+ })
+ .action(async (args) => {
+ await withWallet(args, async (wallet) => {
+ const backup = await wallet.exportBackupEncrypted();
+ fs.writeFileSync(args.export.filename, backup);
+ });
+ });
+
+backupCli
+ .subcommand("import", "import")
+ .requiredArgument("filename", clk.STRING, {
+ help: "backup filename",
+ })
+ .action(async (args) => {
+ await withWallet(args, async (wallet) => {
+ const backupEncBlob = fs.readFileSync(args.import.filename);
+ await wallet.importBackupEncrypted(backupEncBlob);
+ });
+ });
backupCli.subcommand("importPlain", "import-plain").action(async (args) => {
await withWallet(args, async (wallet) => {
@@ -417,6 +440,36 @@ backupCli.subcommand("importPlain", "import-plain").action(async (args) => {
});
});
+backupCli.subcommand("recoverySave", "save-recovery").action(async (args) => {
+ await withWallet(args, async (wallet) => {
+ const recoveryJson = await wallet.getBackupRecovery();
+ console.log(JSON.stringify(recoveryJson, undefined, 2));
+ });
+});
+
+backupCli.subcommand("run", "run").action(async (args) => {
+ await withWallet(args, async (wallet) => {
+ await wallet.runBackupCycle();
+ });
+});
+
+backupCli
+ .subcommand("recoveryLoad", "load-recovery")
+ .action(async (args) => {});
+
+backupCli.subcommand("status", "status").action(async (args) => {});
+
+backupCli
+ .subcommand("addProvider", "add-provider")
+ .requiredArgument("url", clk.STRING)
+ .action(async (args) => {
+ await withWallet(args, async (wallet) => {
+ wallet.addBackupProvider({
+ backupProviderBaseUrl: args.addProvider.url,
+ });
+ });
+ });
+
const advancedCli = walletCli.subcommand("advancedArgs", "advanced", {
help:
"Subcommands for advanced operations (only use if you know what you're doing!).",