From 4c0a5c6cff4aaa584fe86f5d927e254640f8ffac Mon Sep 17 00:00:00 2001 From: Radu-Cristian Popa Date: Thu, 3 Oct 2024 12:55:39 +0300 Subject: [PATCH] Pass managed user id header when fetching wallet balance --- packages/wallet/backend/src/account/service.ts | 12 +++++++++++- packages/wallet/backend/src/gatehub/client.ts | 9 +++++++-- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/packages/wallet/backend/src/account/service.ts b/packages/wallet/backend/src/account/service.ts index 8a34ef957..8f5bc83b7 100644 --- a/packages/wallet/backend/src/account/service.ts +++ b/packages/wallet/backend/src/account/service.ts @@ -162,9 +162,19 @@ export class AccountService implements IAccountService { } async getAccountBalance(account: Account): Promise { + const user = await User.query() + .findById(account.userId) + .select('gateHubUserId') + + if (!user || !user.gateHubUserId) { + throw new NotFound() + } + const balances = await this.gateHubClient.getWalletBalance( - account.gateHubWalletId + account.gateHubWalletId, + user.gateHubUserId ) + return Number( balances.find((balance) => balance.vault.asset_code === account.assetCode) ?.total ?? 0 diff --git a/packages/wallet/backend/src/gatehub/client.ts b/packages/wallet/backend/src/gatehub/client.ts index b0c4e7d66..59fe71d9a 100644 --- a/packages/wallet/backend/src/gatehub/client.ts +++ b/packages/wallet/backend/src/gatehub/client.ts @@ -267,10 +267,15 @@ export class GateHubClient { return response } - async getWalletBalance(walletId: string): Promise { + async getWalletBalance( + walletId: string, + managedUserUuid: string + ): Promise { const url = `${this.apiUrl}/core/v1/wallets/${walletId}/balances` - const response = await this.request('GET', url) + const response = await this.request('GET', url, '', { + managedUserUuid + }) return response }