aboutsummaryrefslogtreecommitdiff
path: root/packages/taler-wallet-core/src/wallet-api-types.ts
diff options
context:
space:
mode:
authorFlorian Dold <florian@dold.me>2022-10-17 01:03:36 +0200
committerFlorian Dold <florian@dold.me>2022-10-17 01:03:36 +0200
commite5e469575bf97433197ed406717c214dfcb4ce5e (patch)
treede8620a78119a3860c9dbb2e5e209cb0b0909526 /packages/taler-wallet-core/src/wallet-api-types.ts
parente4f2587cabdcea92d2096114393aa1daca610671 (diff)
downloadwallet-core-e5e469575bf97433197ed406717c214dfcb4ce5e.tar.xz
wallet-core: API types refactoring
Diffstat (limited to 'packages/taler-wallet-core/src/wallet-api-types.ts')
-rw-r--r--packages/taler-wallet-core/src/wallet-api-types.ts120
1 files changed, 118 insertions, 2 deletions
diff --git a/packages/taler-wallet-core/src/wallet-api-types.ts b/packages/taler-wallet-core/src/wallet-api-types.ts
index 354681734..2eac18249 100644
--- a/packages/taler-wallet-core/src/wallet-api-types.ts
+++ b/packages/taler-wallet-core/src/wallet-api-types.ts
@@ -34,6 +34,8 @@ import {
AcceptTipRequest,
AcceptWithdrawalResponse,
AddExchangeRequest,
+ AddKnownBankAccountsRequest,
+ ApplyRefundFromPurchaseIdRequest,
ApplyRefundRequest,
ApplyRefundResponse,
BackupRecovery,
@@ -48,11 +50,15 @@ import {
CreateDepositGroupRequest,
CreateDepositGroupResponse,
DeleteTransactionRequest,
+ DepositGroupFees,
ExchangeDetailedResponse,
ExchangesListResponse,
ForceRefreshRequest,
+ ForgetKnownBankAccountsRequest,
+ GetContractTermsDetailsRequest,
GetExchangeTosRequest,
GetExchangeTosResult,
+ GetFeeForDepositRequest,
GetWithdrawalDetailsForAmountRequest,
GetWithdrawalDetailsForUriRequest,
InitiatePeerPullPaymentRequest,
@@ -60,9 +66,15 @@ import {
InitiatePeerPushPaymentRequest,
InitiatePeerPushPaymentResponse,
IntegrationTestArgs,
+ KnownBankAccounts,
+ ListKnownBankAccountsRequest,
ManualWithdrawalDetails,
+ PrepareDepositRequest,
+ PrepareDepositResponse,
PreparePayRequest,
PreparePayResult,
+ PrepareRefundRequest,
+ PrepareRefundResult,
PrepareTipRequest,
PrepareTipResult,
RecoveryLoadRequest,
@@ -74,6 +86,8 @@ import {
TestPayResult,
TrackDepositGroupRequest,
TrackDepositGroupResponse,
+ Transaction,
+ TransactionByIdRequest,
TransactionsRequest,
TransactionsResponse,
WalletBackupContentV1,
@@ -83,9 +97,11 @@ import {
WithdrawUriInfoResponse,
} from "@gnu-taler/taler-util";
import { ApplyDevExperimentRequest } from "@gnu-taler/taler-util";
+import { WalletContractData } from "./db.js";
import {
AddBackupProviderRequest,
BackupInfo,
+ RemoveBackupProviderRequest,
} from "./operations/backup/index.js";
import { PendingOperationsResponse as PendingTasksResponse } from "./pending-types.js";
@@ -94,13 +110,17 @@ export enum WalletApiOperation {
WithdrawTestkudos = "withdrawTestkudos",
WithdrawTestBalance = "withdrawTestBalance",
PreparePayForUri = "preparePayForUri",
+ GetContractTermsDetails = "getContractTermsDetails",
RunIntegrationTest = "runIntegrationTest",
TestCrypto = "testCrypto",
TestPay = "testPay",
AddExchange = "addExchange",
GetTransactions = "getTransactions",
+ GetTransactionById = "getTransactionById",
ListExchanges = "listExchanges",
ListKnownBankAccounts = "listKnownBankAccounts",
+ AddKnownBankAccounts = "addKnownBankAccounts",
+ ForgetKnownBankAccounts = "forgetKnownBankAccounts",
GetWithdrawalDetailsForUri = "getWithdrawalDetailsForUri",
GetWithdrawalDetailsForAmount = "getWithdrawalDetailsForAmount",
AcceptManualWithdrawal = "acceptManualWithdrawal",
@@ -108,6 +128,8 @@ export enum WalletApiOperation {
GetPendingOperations = "getPendingOperations",
SetExchangeTosAccepted = "setExchangeTosAccepted",
ApplyRefund = "applyRefund",
+ ApplyRefundFromPurchaseId = "applyRefundFromPurchaseId",
+ PrepareRefund = "prepareRefund",
AcceptBankIntegratedWithdrawal = "acceptBankIntegratedWithdrawal",
GetExchangeTos = "getExchangeTos",
GetExchangeDetailedInfo = "getExchangeDetailedInfo",
@@ -121,20 +143,23 @@ export enum WalletApiOperation {
AcceptTip = "acceptTip",
ExportBackup = "exportBackup",
AddBackupProvider = "addBackupProvider",
+ RemoveBackupProvider = "removeBackupProvider",
RunBackupCycle = "runBackupCycle",
ExportBackupRecovery = "exportBackupRecovery",
ImportBackupRecovery = "importBackupRecovery",
GetBackupInfo = "getBackupInfo",
TrackDepositGroup = "trackDepositGroup",
+ GetFeeForDeposit = "getFeeForDeposit",
+ PrepareDeposit = "prepareDeposit",
GetVersion = "getVersion",
DeleteTransaction = "deleteTransaction",
RetryTransaction = "retryTransaction",
- GetCoins = "getCoins",
ListCurrencies = "listCurrencies",
CreateDepositGroup = "createDepositGroup",
SetWalletDeviceId = "setWalletDeviceId",
ExportBackupPlain = "exportBackupPlain",
WithdrawFakebank = "withdrawFakebank",
+ ImportDb = "importDb",
ExportDb = "exportDb",
InitiatePeerPushPayment = "initiatePeerPushPayment",
CheckPeerPushPayment = "checkPeerPushPayment",
@@ -189,6 +214,18 @@ export type GetTransactionsOp = {
response: TransactionsResponse;
};
+export type GetTransactionByIdOp = {
+ op: WalletApiOperation.GetTransactionById;
+ request: TransactionByIdRequest;
+ response: Transaction;
+};
+
+export type RetryPendingNowOp = {
+ op: WalletApiOperation.RetryPendingNow;
+ request: {};
+ response: {};
+};
+
/**
* Delete a transaction locally in the wallet.
*/
@@ -256,6 +293,12 @@ export type PreparePayForUriOp = {
response: PreparePayResult;
};
+export type GetContractTermsDetailsOp = {
+ op: WalletApiOperation.GetContractTermsDetails;
+ request: GetContractTermsDetailsRequest;
+ response: WalletContractData;
+};
+
/**
* Confirm a payment that was previously prepared with
* {@link PreparePayForUriOp}
@@ -284,6 +327,18 @@ export type ApplyRefundOp = {
response: ApplyRefundResponse;
};
+export type ApplyRefundFromPurchaseIdOp = {
+ op: WalletApiOperation.ApplyRefundFromPurchaseId;
+ request: ApplyRefundFromPurchaseIdRequest;
+ response: ApplyRefundResponse;
+};
+
+export type PrepareRefundOp = {
+ op: WalletApiOperation.PrepareRefund;
+ request: PrepareRefundRequest;
+ response: PrepareRefundResult;
+};
+
// group: Tipping
/**
@@ -324,6 +379,24 @@ export type AddExchangeOp = {
response: {};
};
+export type ListKnownBankAccountsOp = {
+ op: WalletApiOperation.ListKnownBankAccounts;
+ request: ListKnownBankAccountsRequest;
+ response: KnownBankAccounts;
+};
+
+export type AddKnownBankAccountsOp = {
+ op: WalletApiOperation.AddKnownBankAccounts;
+ request: AddKnownBankAccountsRequest;
+ response: {};
+};
+
+export type ForgetKnownBankAccountsOp = {
+ op: WalletApiOperation.ForgetKnownBankAccounts;
+ request: ForgetKnownBankAccountsRequest;
+ response: {};
+};
+
/**
* Accept a particular version of the exchange terms of service.
*/
@@ -383,6 +456,18 @@ export type TrackDepositGroupOp = {
response: TrackDepositGroupResponse;
};
+export type GetFeeForDepositOp = {
+ op: WalletApiOperation.GetFeeForDeposit;
+ request: GetFeeForDepositRequest;
+ response: DepositGroupFees;
+};
+
+export type PrepareDepositOp = {
+ op: WalletApiOperation.PrepareDeposit;
+ request: PrepareDepositRequest;
+ response: PrepareDepositResponse;
+};
+
// group: Backups
/**
@@ -412,6 +497,12 @@ export type RunBackupCycleOp = {
response: {};
};
+export type ExportBackupOp = {
+ op: WalletApiOperation.ExportBackup;
+ request: {};
+ response: {};
+};
+
/**
* Add a new backup provider.
*/
@@ -421,6 +512,12 @@ export type AddBackupProviderOp = {
response: {};
};
+export type RemoveBackupProviderOp = {
+ op: WalletApiOperation.RemoveBackupProvider;
+ request: RemoveBackupProviderRequest;
+ response: {};
+};
+
/**
* Get some useful stats about the backup state.
*/
@@ -517,6 +614,12 @@ export type ExportDbOp = {
response: any;
};
+export type ImportDbOp = {
+ op: WalletApiOperation.ImportDb;
+ request: any;
+ response: any;
+};
+
/**
* Dangerously clear the whole wallet database.
*/
@@ -657,11 +760,14 @@ export type WalletOperations = {
[WalletApiOperation.GetVersion]: GetVersionOp;
[WalletApiOperation.WithdrawFakebank]: WithdrawFakebankOp;
[WalletApiOperation.PreparePayForUri]: PreparePayForUriOp;
+ [WalletApiOperation.GetContractTermsDetails]: GetContractTermsDetailsOp;
[WalletApiOperation.WithdrawTestkudos]: WithdrawTestkudosOp;
[WalletApiOperation.ConfirmPay]: ConfirmPayOp;
[WalletApiOperation.AbortFailedPayWithRefund]: AbortPayWithRefundOp;
[WalletApiOperation.GetBalances]: GetBalancesOp;
[WalletApiOperation.GetTransactions]: GetTransactionsOp;
+ [WalletApiOperation.GetTransactionById]: GetTransactionByIdOp;
+ [WalletApiOperation.RetryPendingNow]: RetryPendingNowOp;
[WalletApiOperation.GetPendingOperations]: GetPendingTasksOp;
[WalletApiOperation.DumpCoins]: DumpCoinsOp;
[WalletApiOperation.SetCoinSuspended]: SetCoinSuspendedOp;
@@ -671,6 +777,8 @@ export type WalletOperations = {
[WalletApiOperation.PrepareTip]: PrepareTipOp;
[WalletApiOperation.AcceptTip]: AcceptTipOp;
[WalletApiOperation.ApplyRefund]: ApplyRefundOp;
+ [WalletApiOperation.ApplyRefundFromPurchaseId]: ApplyRefundFromPurchaseIdOp;
+ [WalletApiOperation.PrepareRefund]: PrepareRefundOp;
[WalletApiOperation.ListCurrencies]: ListCurrenciesOp;
[WalletApiOperation.GetWithdrawalDetailsForAmount]: GetWithdrawalDetailsForAmountOp;
[WalletApiOperation.GetWithdrawalDetailsForUri]: GetWithdrawalDetailsForUriOp;
@@ -678,23 +786,31 @@ export type WalletOperations = {
[WalletApiOperation.AcceptManualWithdrawal]: AcceptManualWithdrawalOp;
[WalletApiOperation.ListExchanges]: ListExchangesOp;
[WalletApiOperation.AddExchange]: AddExchangeOp;
+ [WalletApiOperation.ListKnownBankAccounts]: ListKnownBankAccountsOp;
+ [WalletApiOperation.AddKnownBankAccounts]: AddKnownBankAccountsOp;
+ [WalletApiOperation.ForgetKnownBankAccounts]: ForgetKnownBankAccountsOp;
[WalletApiOperation.SetExchangeTosAccepted]: SetExchangeTosAcceptedOp;
[WalletApiOperation.GetExchangeTos]: GetExchangeTosOp;
[WalletApiOperation.GetExchangeDetailedInfo]: GetExchangeDetailedInfoOp;
[WalletApiOperation.TrackDepositGroup]: TrackDepositGroupOp;
+ [WalletApiOperation.GetFeeForDeposit]: GetFeeForDepositOp;
+ [WalletApiOperation.PrepareDeposit]: PrepareDepositOp;
[WalletApiOperation.CreateDepositGroup]: CreateDepositGroupOp;
[WalletApiOperation.SetWalletDeviceId]: SetWalletDeviceIdOp;
[WalletApiOperation.ExportBackupPlain]: ExportBackupPlainOp;
[WalletApiOperation.ExportBackupRecovery]: ExportBackupRecoveryOp;
[WalletApiOperation.ImportBackupRecovery]: ImportBackupRecoveryOp;
[WalletApiOperation.RunBackupCycle]: RunBackupCycleOp;
+ [WalletApiOperation.ExportBackup]: ExportBackupOp;
[WalletApiOperation.AddBackupProvider]: AddBackupProviderOp;
+ [WalletApiOperation.RemoveBackupProvider]: RemoveBackupProviderOp;
[WalletApiOperation.GetBackupInfo]: GetBackupInfoOp;
[WalletApiOperation.RunIntegrationTest]: RunIntegrationTestOp;
[WalletApiOperation.TestCrypto]: TestCryptoOp;
[WalletApiOperation.WithdrawTestBalance]: WithdrawTestBalanceOp;
[WalletApiOperation.TestPay]: TestPayOp;
[WalletApiOperation.ExportDb]: ExportDbOp;
+ [WalletApiOperation.ImportDb]: ImportDbOp;
[WalletApiOperation.InitiatePeerPushPayment]: InitiatePeerPushPaymentOp;
[WalletApiOperation.CheckPeerPushPayment]: CheckPeerPushPaymentOp;
[WalletApiOperation.AcceptPeerPushPayment]: AcceptPeerPushPaymentOp;
@@ -718,7 +834,7 @@ export type WalletCoreResponseType<
export type WalletCoreOpKeys = WalletApiOperation & keyof WalletOperations;
export interface WalletCoreApiClient {
- call<Op extends WalletCoreOpKeys>(
+ call<Op extends keyof WalletOperations>(
operation: Op,
payload: WalletCoreRequestType<Op>,
): Promise<WalletCoreResponseType<Op>>;