aboutsummaryrefslogtreecommitdiff
path: root/packages/taler-wallet-core/src/operations/reward.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/taler-wallet-core/src/operations/reward.ts')
-rw-r--r--packages/taler-wallet-core/src/operations/reward.ts23
1 files changed, 16 insertions, 7 deletions
diff --git a/packages/taler-wallet-core/src/operations/reward.ts b/packages/taler-wallet-core/src/operations/reward.ts
index 6ae021174..4e16d977d 100644
--- a/packages/taler-wallet-core/src/operations/reward.ts
+++ b/packages/taler-wallet-core/src/operations/reward.ts
@@ -50,6 +50,10 @@ import {
DenominationRecord,
RewardRecord,
RewardRecordStatus,
+ timestampPreciseFromDb,
+ timestampPreciseToDb,
+ timestampProtocolFromDb,
+ timestampProtocolToDb,
} from "../db.js";
import { makeErrorDetail } from "@gnu-taler/taler-util";
import { InternalWalletState } from "../internal-wallet-state.js";
@@ -199,11 +203,11 @@ export async function prepareTip(
acceptedTimestamp: undefined,
status: RewardRecordStatus.DialogAccept,
rewardAmountRaw: Amounts.stringify(amount),
- rewardExpiration: tipPickupStatus.expiration,
+ rewardExpiration: timestampProtocolToDb(tipPickupStatus.expiration),
exchangeBaseUrl: tipPickupStatus.exchange_url,
next_url: tipPickupStatus.next_url,
merchantBaseUrl: res.merchantBaseUrl,
- createdTimestamp: TalerPreciseTimestamp.now(),
+ createdTimestamp: timestampPreciseToDb(TalerPreciseTimestamp.now()),
merchantRewardId: res.merchantRewardId,
rewardAmountEffective: Amounts.stringify(selectedDenoms.totalCoinValue),
denomsSel: selectedDenoms,
@@ -229,7 +233,7 @@ export async function prepareTip(
rewardAmountRaw: Amounts.stringify(tipRecord.rewardAmountRaw),
exchangeBaseUrl: tipRecord.exchangeBaseUrl,
merchantBaseUrl: tipRecord.merchantBaseUrl,
- expirationTimestamp: tipRecord.rewardExpiration,
+ expirationTimestamp: timestampProtocolFromDb(tipRecord.rewardExpiration),
rewardAmountEffective: Amounts.stringify(tipRecord.rewardAmountEffective),
walletRewardId: tipRecord.walletRewardId,
transactionId,
@@ -300,13 +304,16 @@ export async function processTip(
}
const tipStatusUrl = new URL(
- `tips/${tipRecord.merchantRewardId}/pickup`,
+ `rewards/${tipRecord.merchantRewardId}/pickup`,
tipRecord.merchantBaseUrl,
);
const req = { planchets: planchetsDetail };
logger.trace(`sending tip request: ${j2s(req)}`);
- const merchantResp = await ws.http.postJson(tipStatusUrl.href, req);
+ const merchantResp = await ws.http.fetch(tipStatusUrl.href, {
+ method: "POST",
+ body: req,
+ });
logger.trace(`got tip response, status ${merchantResp.status}`);
@@ -411,7 +418,7 @@ export async function processTip(
return;
}
const oldTxState = computeRewardTransactionStatus(tr);
- tr.pickedUpTimestamp = TalerPreciseTimestamp.now();
+ tr.pickedUpTimestamp = timestampPreciseToDb(TalerPreciseTimestamp.now());
tr.status = RewardRecordStatus.Done;
await tx.rewards.put(tr);
const newTxState = computeRewardTransactionStatus(tr);
@@ -448,7 +455,9 @@ export async function acceptTip(
return { tipRecord };
}
const oldTxState = computeRewardTransactionStatus(tipRecord);
- tipRecord.acceptedTimestamp = TalerPreciseTimestamp.now();
+ tipRecord.acceptedTimestamp = timestampPreciseToDb(
+ TalerPreciseTimestamp.now(),
+ );
tipRecord.status = RewardRecordStatus.PendingPickup;
await tx.rewards.put(tipRecord);
const newTxState = computeRewardTransactionStatus(tipRecord);