diff options
| author | Florian Dold <florian@dold.me> | 2022-10-19 15:36:57 +0200 | 
|---|---|---|
| committer | Florian Dold <florian@dold.me> | 2022-10-19 15:36:57 +0200 | 
| commit | f697b20a91362c9b7978107973cfe9aaf376baf8 (patch) | |
| tree | 0dac7c2eedf8564b6a174fde393d2680437c99af /packages | |
| parent | 81d6f2c7969f595faf9dc00e889b087f16e4298d (diff) | |
wallet-core: return versions in init response
Diffstat (limited to 'packages')
| -rw-r--r-- | packages/taler-util/src/wallet-types.ts | 4 | ||||
| -rw-r--r-- | packages/taler-wallet-core/src/wallet-api-types.ts | 6 | ||||
| -rw-r--r-- | packages/taler-wallet-core/src/wallet.ts | 26 | 
3 files changed, 24 insertions, 12 deletions
| diff --git a/packages/taler-util/src/wallet-types.ts b/packages/taler-util/src/wallet-types.ts index 1a6808d66..77ba42caf 100644 --- a/packages/taler-util/src/wallet-types.ts +++ b/packages/taler-util/src/wallet-types.ts @@ -115,6 +115,10 @@ export interface Balance {    requiresUserInput: boolean;  } +export interface InitResponse { +  versionInfo: WalletCoreVersion; +} +  export interface BalancesResponse {    balances: Balance[];  } diff --git a/packages/taler-wallet-core/src/wallet-api-types.ts b/packages/taler-wallet-core/src/wallet-api-types.ts index 2eac18249..097518263 100644 --- a/packages/taler-wallet-core/src/wallet-api-types.ts +++ b/packages/taler-wallet-core/src/wallet-api-types.ts @@ -65,6 +65,7 @@ import {    InitiatePeerPullPaymentResponse,    InitiatePeerPushPaymentRequest,    InitiatePeerPushPaymentResponse, +  InitResponse,    IntegrationTestArgs,    KnownBankAccounts,    ListKnownBankAccountsRequest, @@ -91,6 +92,7 @@ import {    TransactionsRequest,    TransactionsResponse,    WalletBackupContentV1, +  WalletCoreVersion,    WalletCurrencyInfo,    WithdrawFakebankRequest,    WithdrawTestBalanceRequest, @@ -183,13 +185,13 @@ export enum WalletApiOperation {  export type InitWalletOp = {    op: WalletApiOperation.InitWallet;    request: {}; -  response: {}; +  response: InitResponse;  };  export type GetVersionOp = {    op: WalletApiOperation.GetVersion;    request: {}; -  response: {}; +  response: WalletCoreVersion;  };  // group: Basic Wallet Information diff --git a/packages/taler-wallet-core/src/wallet.ts b/packages/taler-wallet-core/src/wallet.ts index 1b338b383..584129c9c 100644 --- a/packages/taler-wallet-core/src/wallet.ts +++ b/packages/taler-wallet-core/src/wallet.ts @@ -996,7 +996,9 @@ async function dispatchRequestInternal<Op extends WalletApiOperation>(          bankAccessApiBaseUrl: "https://bank.test.taler.net/",          exchangeBaseUrl: "https://exchange.test.taler.net/",        }); -      return {}; +      return { +        versionInfo: getVersion(ws), +      };      }      case WalletApiOperation.WithdrawTestBalance: {        const req = codecForWithdrawTestBalance().decode(payload); @@ -1367,15 +1369,7 @@ async function dispatchRequestInternal<Op extends WalletApiOperation>(        return {};      }      case WalletApiOperation.GetVersion: { -      const version: WalletCoreVersion = { -        hash: GIT_HASH, -        version: VERSION, -        exchange: WALLET_EXCHANGE_PROTOCOL_VERSION, -        merchant: WALLET_MERCHANT_PROTOCOL_VERSION, -        bank: WALLET_BANK_INTEGRATION_PROTOCOL_VERSION, -        devMode: ws.devModeActive, -      }; -      return version; +      return getVersion(ws);      }    }    throw TalerError.fromDetail( @@ -1387,6 +1381,18 @@ async function dispatchRequestInternal<Op extends WalletApiOperation>(    );  } +export function getVersion(ws: InternalWalletState): WalletCoreVersion { +  const version: WalletCoreVersion = { +    hash: GIT_HASH, +    version: VERSION, +    exchange: WALLET_EXCHANGE_PROTOCOL_VERSION, +    merchant: WALLET_MERCHANT_PROTOCOL_VERSION, +    bank: WALLET_BANK_INTEGRATION_PROTOCOL_VERSION, +    devMode: ws.devModeActive, +  }; +  return version; +} +  /**   * Handle a request to the wallet-core API.   */ | 
