From f0d5fe3ed64f3e608d1685179722a5a859eb0eff Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Tue, 15 Jun 2021 18:58:11 +0200 Subject: split out wallet core API types --- packages/taler-wallet-core/src/wallet.ts | 193 +------------------------------ 1 file changed, 1 insertion(+), 192 deletions(-) (limited to 'packages/taler-wallet-core/src/wallet.ts') diff --git a/packages/taler-wallet-core/src/wallet.ts b/packages/taler-wallet-core/src/wallet.ts index 82bc8b44b..85b5ae657 100644 --- a/packages/taler-wallet-core/src/wallet.ts +++ b/packages/taler-wallet-core/src/wallet.ts @@ -186,6 +186,7 @@ import { AmountJson, Amounts } from "@gnu-taler/taler-util"; import { assertUnreachable } from "./util/assertUnreachable"; import { Logger } from "@gnu-taler/taler-util"; import { setWalletDeviceId } from "./operations/backup/state.js"; +import { WalletCoreApiClient } from "./wallet-api-types.js"; const builtinAuditors: AuditorTrustRecord[] = [ { @@ -653,198 +654,6 @@ async function dumpCoins(ws: InternalWalletState): Promise { return coinsJson; } -export enum WalletApiOperation { - InitWallet = "initWallet", - WithdrawTestkudos = "withdrawTestkudos", - WithdrawTestBalance = "withdrawTestBalance", - PreparePayForUri = "preparePayForUri", - RunIntegrationTest = "runIntegrationTest", - TestPay = "testPay", - AddExchange = "addExchange", - GetTransactions = "getTransactions", - ListExchanges = "listExchanges", - GetWithdrawalDetailsForUri = "getWithdrawalDetailsForUri", - GetWithdrawalDetailsForAmount = "getWithdrawalDetailsForAmount", - AcceptManualWithdrawal = "acceptManualWithdrawal", - GetBalances = "getBalances", - GetPendingOperations = "getPendingOperations", - SetExchangeTosAccepted = "setExchangeTosAccepted", - ApplyRefund = "applyRefund", - AcceptBankIntegratedWithdrawal = "acceptBankIntegratedWithdrawal", - GetExchangeTos = "getExchangeTos", - RetryPendingNow = "retryPendingNow", - PreparePay = "preparePay", - ConfirmPay = "confirmPay", - DumpCoins = "dumpCoins", - SetCoinSuspended = "setCoinSuspended", - ForceRefresh = "forceRefresh", - PrepareTip = "prepareTip", - AcceptTip = "acceptTip", - ExportBackup = "exportBackup", - AddBackupProvider = "addBackupProvider", - RunBackupCycle = "runBackupCycle", - ExportBackupRecovery = "exportBackupRecovery", - ImportBackupRecovery = "importBackupRecovery", - GetBackupInfo = "getBackupInfo", - TrackDepositGroup = "trackDepositGroup", - DeleteTransaction = "deleteTransaction", - RetryTransaction = "retryTransaction", - GetCoins = "getCoins", - ListCurrencies = "listCurrencies", - CreateDepositGroup = "createDepositGroup", - SetWalletDeviceId = "setWalletDeviceId", - ExportBackupPlain = "exportBackupPlain", -} - -export type WalletOperations = { - [WalletApiOperation.PreparePayForUri]: { - request: PreparePayRequest; - response: PreparePayResult; - }; - [WalletApiOperation.WithdrawTestkudos]: { - request: {}; - response: {}; - }; - [WalletApiOperation.PreparePay]: { - request: PreparePayRequest; - response: PreparePayResult; - }; - [WalletApiOperation.ConfirmPay]: { - request: ConfirmPayRequest; - response: ConfirmPayResult; - }; - [WalletApiOperation.GetBalances]: { - request: {}; - response: BalancesResponse; - }; - [WalletApiOperation.GetTransactions]: { - request: TransactionsRequest; - response: TransactionsResponse; - }; - [WalletApiOperation.GetPendingOperations]: { - request: {}; - response: PendingOperationsResponse; - }; - [WalletApiOperation.DumpCoins]: { - request: {}; - response: CoinDumpJson; - }; - [WalletApiOperation.SetCoinSuspended]: { - request: SetCoinSuspendedRequest; - response: {}; - }; - [WalletApiOperation.ForceRefresh]: { - request: ForceRefreshRequest; - response: {}; - }; - [WalletApiOperation.DeleteTransaction]: { - request: DeleteTransactionRequest; - response: {}; - }; - [WalletApiOperation.RetryTransaction]: { - request: RetryTransactionRequest; - response: {}; - }; - [WalletApiOperation.PrepareTip]: { - request: PrepareTipRequest; - response: PrepareTipResult; - }; - [WalletApiOperation.AcceptTip]: { - request: AcceptTipRequest; - response: {}; - }; - [WalletApiOperation.ApplyRefund]: { - request: ApplyRefundRequest; - response: ApplyRefundResponse; - }; - [WalletApiOperation.ListCurrencies]: { - request: {}; - response: WalletCurrencyInfo; - }; - [WalletApiOperation.GetWithdrawalDetailsForAmount]: { - request: GetWithdrawalDetailsForAmountRequest; - response: ManualWithdrawalDetails; - }; - [WalletApiOperation.GetWithdrawalDetailsForUri]: { - request: GetWithdrawalDetailsForUriRequest; - response: WithdrawUriInfoResponse; - }; - [WalletApiOperation.AcceptBankIntegratedWithdrawal]: { - request: AcceptBankIntegratedWithdrawalRequest; - response: AcceptWithdrawalResponse; - }; - [WalletApiOperation.AcceptManualWithdrawal]: { - request: AcceptManualWithdrawalRequest; - response: AcceptManualWithdrawalResult; - }; - [WalletApiOperation.ListExchanges]: { - request: {}; - response: ExchangesListRespose; - }; - [WalletApiOperation.AddExchange]: { - request: AddExchangeRequest; - response: {}; - }; - [WalletApiOperation.SetExchangeTosAccepted]: { - request: AcceptExchangeTosRequest; - response: {}; - }; - [WalletApiOperation.GetExchangeTos]: { - request: GetExchangeTosRequest; - response: GetExchangeTosResult; - }; - [WalletApiOperation.TrackDepositGroup]: { - request: TrackDepositGroupRequest; - response: TrackDepositGroupResponse; - }; - [WalletApiOperation.CreateDepositGroup]: { - request: CreateDepositGroupRequest; - response: CreateDepositGroupResponse; - }; - [WalletApiOperation.SetWalletDeviceId]: { - request: SetWalletDeviceIdRequest; - response: {}; - }; - [WalletApiOperation.ExportBackupPlain]: { - request: {}; - response: WalletBackupContentV1; - }; - [WalletApiOperation.ExportBackupRecovery]: { - request: {}; - response: BackupRecovery; - }; - [WalletApiOperation.ImportBackupRecovery]: { - request: RecoveryLoadRequest; - response: {}; - }; - [WalletApiOperation.RunBackupCycle]: { - request: {}; - response: {}; - }; - [WalletApiOperation.AddBackupProvider]: { - request: AddBackupProviderRequest; - response: {}; - }; - [WalletApiOperation.GetBackupInfo]: { - request: {}; - response: BackupInfo; - }; -}; - -export type RequestType< - Op extends WalletApiOperation & keyof WalletOperations -> = WalletOperations[Op] extends { request: infer T } ? T : never; - -export type ResponseType< - Op extends WalletApiOperation & keyof WalletOperations -> = WalletOperations[Op] extends { response: infer T } ? T : never; - -export interface WalletCoreApiClient { - call( - operation: Op, - payload: RequestType, - ): Promise>; -} /** * Get an API client from an internal wallet state object. -- cgit v1.2.3