diff options
author | Sebastian <sebasjm@gmail.com> | 2022-08-08 13:53:04 -0300 |
---|---|---|
committer | Sebastian <sebasjm@gmail.com> | 2022-08-08 13:53:04 -0300 |
commit | 4409d8384b77401489c2a92d3de20f79959ae34a (patch) | |
tree | 6483e7cc0a70dbbfcf9b16a7ce43576a4aef2c08 /packages/taler-wallet-core/src/operations/pay.ts | |
parent | 88bdcae030ae845f412957f6455e44b009b490e2 (diff) | |
download | wallet-core-4409d8384b77401489c2a92d3de20f79959ae34a.tar.xz |
add delivery info in the parse contract terms and a function to get info from a proposalId
Diffstat (limited to 'packages/taler-wallet-core/src/operations/pay.ts')
-rw-r--r-- | packages/taler-wallet-core/src/operations/pay.ts | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/packages/taler-wallet-core/src/operations/pay.ts b/packages/taler-wallet-core/src/operations/pay.ts index 55b8f513d..d41a20e71 100644 --- a/packages/taler-wallet-core/src/operations/pay.ts +++ b/packages/taler-wallet-core/src/operations/pay.ts @@ -662,6 +662,8 @@ export function extractContractData( products: parsedContractTerms.products, summaryI18n: parsedContractTerms.summary_i18n, minimumAge: parsedContractTerms.minimum_age, + deliveryDate: parsedContractTerms.delivery_date, + deliveryLocation: parsedContractTerms.delivery_location, }; } @@ -1318,6 +1320,27 @@ export async function checkPaymentByProposalId( } } +export async function getContractTermsDetails( + ws: InternalWalletState, + proposalId: string, +): Promise<WalletContractData> { + const proposal = await ws.db + .mktx((x) => ({ proposals: x.proposals })) + .runReadOnly(async (tx) => { + return tx.proposals.get(proposalId); + }); + + if (!proposal) { + throw Error(`proposal with id ${proposalId} not found`); + } + + if (!proposal.download || !proposal.download.contractData) { + throw Error("proposal is in invalid state"); + } + + return proposal.download.contractData +} + /** * Check if a payment for the given taler://pay/ URI is possible. * |