From 77c71a4c2d4d202f82a33bd44f5a099f82249482 Mon Sep 17 00:00:00 2001 From: Sebastian Date: Sat, 11 Mar 2023 18:30:44 -0300 Subject: check if threshold is number or amount and default to 0 --- packages/demobank-ui/src/hooks/access.ts | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) (limited to 'packages/demobank-ui') diff --git a/packages/demobank-ui/src/hooks/access.ts b/packages/demobank-ui/src/hooks/access.ts index 750b95fa0..ee8566efe 100644 --- a/packages/demobank-ui/src/hooks/access.ts +++ b/packages/demobank-ui/src/hooks/access.ts @@ -183,18 +183,26 @@ export function useAccountDetails( //FIXME: remove optional when libeufin sandbox has implemented the feature if (data && typeof data.data.debitThreshold === "undefined") { - data.data.debitThreshold = "100"; + data.data.debitThreshold = "0"; } //FIXME: sandbox server should return amount string if (data) { - const d = structuredClone(data); + const isAmount = Amounts.parse(data.data.debitThreshold); + if (isAmount) { + //server response with correct format + return data; + } const { currency } = Amounts.parseOrThrow(data.data.balance.amount); - d.data.debitThreshold = Amounts.stringify({ + const clone = structuredClone(data); + + const theNumber = Number.parseInt(data.data.debitThreshold, 10); + const value = Number.isNaN(theNumber) ? 0 : theNumber; + clone.data.debitThreshold = Amounts.stringify({ currency, - value: Number.parseInt(d.data.debitThreshold, 10), + value: value, fraction: 0, }); - return d; + return clone; } if (error) return error.info; return { loading: true }; -- cgit v1.2.3