From 16e7814445d57c2494ddaf3aaf11d60abb2b036b Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Fri, 16 Sep 2022 17:21:54 +0200 Subject: -move declaration --- packages/taler-wallet-core/src/util/retries.ts | 44 ++++++++++++++++++++++++-- 1 file changed, 42 insertions(+), 2 deletions(-) (limited to 'packages/taler-wallet-core/src/util/retries.ts') diff --git a/packages/taler-wallet-core/src/util/retries.ts b/packages/taler-wallet-core/src/util/retries.ts index 4763bbc42..70b385c4a 100644 --- a/packages/taler-wallet-core/src/util/retries.ts +++ b/packages/taler-wallet-core/src/util/retries.ts @@ -30,8 +30,6 @@ import { BackupProviderRecord, DepositGroupRecord, ExchangeRecord, - OperationAttemptResult, - OperationAttemptResultType, ProposalRecord, PurchaseRecord, RecoupGroupRecord, @@ -45,6 +43,48 @@ import { InternalWalletState } from "../internal-wallet-state.js"; import { PendingTaskType } from "../pending-types.js"; import { GetReadWriteAccess } from "./query.js"; +export enum OperationAttemptResultType { + Finished = "finished", + Pending = "pending", + Error = "error", + Longpoll = "longpoll", +} + +// FIXME: not part of DB! +export type OperationAttemptResult = + | OperationAttemptFinishedResult + | OperationAttemptErrorResult + | OperationAttemptLongpollResult + | OperationAttemptPendingResult; + +export namespace OperationAttemptResult { + export function finishedEmpty(): OperationAttemptResult { + return { + type: OperationAttemptResultType.Finished, + result: undefined, + }; + } +} + +export interface OperationAttemptFinishedResult { + type: OperationAttemptResultType.Finished; + result: T; +} + +export interface OperationAttemptPendingResult { + type: OperationAttemptResultType.Pending; + result: T; +} + +export interface OperationAttemptErrorResult { + type: OperationAttemptResultType.Error; + errorDetail: TalerErrorDetail; +} + +export interface OperationAttemptLongpollResult { + type: OperationAttemptResultType.Longpoll; +} + export interface RetryInfo { firstTry: AbsoluteTime; nextRetry: AbsoluteTime; -- cgit v1.2.3