aboutsummaryrefslogtreecommitdiff
path: root/packages/taler-wallet-core/src/operations/backup/index.ts
diff options
context:
space:
mode:
authorSebastian <sebasjm@gmail.com>2022-05-18 14:41:51 -0300
committerSebastian <sebasjm@gmail.com>2022-05-18 14:41:51 -0300
commitc67d0bff1daa35d380d1d71b94428a5026b56450 (patch)
treeb4e1f164e1bed3b13fa4ff5969806d2212079f41 /packages/taler-wallet-core/src/operations/backup/index.ts
parentd3a857743dd9ed2f7350bb64af8808729156edba (diff)
downloadwallet-core-c67d0bff1daa35d380d1d71b94428a5026b56450.tar.xz
all retryInfo function in the same namespace, adding missing retryInfo increment
Diffstat (limited to 'packages/taler-wallet-core/src/operations/backup/index.ts')
-rw-r--r--packages/taler-wallet-core/src/operations/backup/index.ts73
1 files changed, 28 insertions, 45 deletions
diff --git a/packages/taler-wallet-core/src/operations/backup/index.ts b/packages/taler-wallet-core/src/operations/backup/index.ts
index 0b2bd7b80..69ba1ddbc 100644
--- a/packages/taler-wallet-core/src/operations/backup/index.ts
+++ b/packages/taler-wallet-core/src/operations/backup/index.ts
@@ -25,10 +25,9 @@
* Imports.
*/
import {
- AmountString,
+ AbsoluteTime, AmountString,
BackupRecovery,
- buildCodecForObject,
- canonicalizeBaseUrl,
+ buildCodecForObject, bytesToString, canonicalizeBaseUrl,
canonicalJson,
Codec,
codecForAmountString,
@@ -37,39 +36,22 @@ import {
codecForNumber,
codecForString,
codecOptional,
- ConfirmPayResultType,
- DenomKeyType,
- durationFromSpec,
- hashDenomPub,
+ ConfirmPayResultType, decodeCrock, DenomKeyType,
+ durationFromSpec, eddsaGetPublic,
+ EddsaKeyPair,
+ encodeCrock,
+ getRandomBytes,
+ hash, hashDenomPub,
HttpStatusCode,
- j2s,
- Logger,
+ j2s, kdf, Logger,
notEmpty,
PreparePayResultType,
RecoveryLoadRequest,
- RecoveryMergeStrategy,
- TalerErrorDetail,
- AbsoluteTime,
- URL,
- WalletBackupContentV1,
- TalerProtocolTimestamp,
+ RecoveryMergeStrategy, rsaBlind, secretbox, secretbox_open, stringToBytes, TalerErrorDetail, TalerProtocolTimestamp, URL,
+ WalletBackupContentV1
} from "@gnu-taler/taler-util";
import { gunzipSync, gzipSync } from "fflate";
-import { InternalWalletState } from "../../internal-wallet-state.js";
-import { kdf } from "@gnu-taler/taler-util";
-import { secretbox, secretbox_open } from "@gnu-taler/taler-util";
-import {
- bytesToString,
- decodeCrock,
- eddsaGetPublic,
- EddsaKeyPair,
- encodeCrock,
- getRandomBytes,
- hash,
- rsaBlind,
- stringToBytes,
-} from "@gnu-taler/taler-util";
-import { CryptoDispatcher } from "../../crypto/workers/cryptoDispatcher.js";
+import { TalerCryptoInterface } from "../../crypto/cryptoImplementation.js";
import {
BackupProviderRecord,
BackupProviderState,
@@ -78,28 +60,28 @@ import {
ConfigRecord,
WalletBackupConfState,
WalletStoresV1,
- WALLET_BACKUP_STATE_KEY,
+ WALLET_BACKUP_STATE_KEY
} from "../../db.js";
+import { InternalWalletState } from "../../internal-wallet-state.js";
import {
readSuccessResponseJsonOrThrow,
- readTalerErrorResponse,
+ readTalerErrorResponse
} from "../../util/http.js";
import {
checkDbInvariant,
- checkLogicInvariant,
+ checkLogicInvariant
} from "../../util/invariants.js";
import { GetReadWriteAccess } from "../../util/query.js";
-import { resetRetryInfo, updateRetryInfoTimeout } from "../../util/retries.js";
+import { RetryInfo } from "../../util/retries.js";
+import { guardOperationException } from "../common.js";
import {
checkPaymentByProposalId,
confirmPay,
- preparePayForUri,
+ preparePayForUri
} from "../pay.js";
import { exportBackup } from "./export.js";
import { BackupCryptoPrecomputedData, importBackup } from "./import.js";
import { getWalletBackupState, provideBackupState } from "./state.js";
-import { guardOperationException } from "../common.js";
-import { TalerCryptoInterface } from "../../crypto/cryptoImplementation.js";
const logger = new Logger("operations/backup.ts");
@@ -309,8 +291,8 @@ async function runBackupCycleForProvider(
"if-none-match": newHash,
...(provider.lastBackupHash
? {
- "if-match": provider.lastBackupHash,
- }
+ "if-match": provider.lastBackupHash,
+ }
: {}),
},
});
@@ -344,7 +326,7 @@ async function runBackupCycleForProvider(
}
const res = await preparePayForUri(ws, talerUri);
let proposalId = res.proposalId;
- let doPay: boolean = false;
+ let doPay = false;
switch (res.status) {
case PreparePayResultType.InsufficientBalance:
// FIXME: record in provider state!
@@ -434,7 +416,7 @@ async function runBackupCycleForProvider(
// FIXME: Allocate error code for this situation?
prov.state = {
tag: BackupProviderStateTag.Retrying,
- retryInfo: resetRetryInfo(),
+ retryInfo: RetryInfo.reset(),
};
await tx.backupProvider.put(prov);
});
@@ -472,13 +454,12 @@ async function incrementBackupRetryInTx(
return;
}
if (pr.state.tag === BackupProviderStateTag.Retrying) {
- pr.state.retryInfo.retryCounter++;
pr.state.lastError = err;
- updateRetryInfoTimeout(pr.state.retryInfo);
+ pr.state.retryInfo = RetryInfo.increment(pr.state.retryInfo);
} else if (pr.state.tag === BackupProviderStateTag.Ready) {
pr.state = {
tag: BackupProviderStateTag.Retrying,
- retryInfo: resetRetryInfo(),
+ retryInfo: RetryInfo.reset(),
lastError: err,
};
}
@@ -685,7 +666,9 @@ export async function addBackupProvider(
});
}
-export async function restoreFromRecoverySecret(): Promise<void> {}
+export async function restoreFromRecoverySecret(): Promise<void> {
+ return;
+}
/**
* Information about one provider.