summaryrefslogtreecommitdiff
path: root/packages/taler-wallet-core/src/reward.ts
diff options
context:
space:
mode:
authorFlorian Dold <florian@dold.me>2024-03-27 13:18:28 +0100
committerFlorian Dold <florian@dold.me>2024-03-27 13:18:28 +0100
commit838cedcdd0de4835fbd8c302bb2350e7a4bdce6a (patch)
tree8668f2974d802adcad2a62c6ae4acf6e22784069 /packages/taler-wallet-core/src/reward.ts
parent6b9b4ba7cc1576e7cc91e2b30e9d5e75edbe0037 (diff)
downloadwallet-core-838cedcdd0de4835fbd8c302bb2350e7a4bdce6a.tar.gz
wallet-core-838cedcdd0de4835fbd8c302bb2350e7a4bdce6a.tar.bz2
wallet-core-838cedcdd0de4835fbd8c302bb2350e7a4bdce6a.zip
-remove more reward remains
Diffstat (limited to 'packages/taler-wallet-core/src/reward.ts')
-rw-r--r--packages/taler-wallet-core/src/reward.ts167
1 files changed, 5 insertions, 162 deletions
diff --git a/packages/taler-wallet-core/src/reward.ts b/packages/taler-wallet-core/src/reward.ts
index b8cf41326..85e8c6606 100644
--- a/packages/taler-wallet-core/src/reward.ts
+++ b/packages/taler-wallet-core/src/reward.ts
@@ -40,12 +40,9 @@ import {
import { RewardRecord, RewardRecordStatus } from "./db.js";
import {
constructTransactionIdentifier,
- notifyTransition,
} from "./transactions.js";
import { InternalWalletState, WalletExecutionContext } from "./wallet.js";
-const logger = new Logger("operations/tip.ts");
-
export class RewardTransactionContext implements TransactionContext {
public transactionId: TransactionIdStr;
public taskId: TaskIdStr;
@@ -65,177 +62,23 @@ export class RewardTransactionContext implements TransactionContext {
}
async deleteTransaction(): Promise<void> {
- const { wex, walletRewardId } = this;
- await wex.db.runReadWriteTx(["rewards", "tombstones"], async (tx) => {
- const tipRecord = await tx.rewards.get(walletRewardId);
- if (tipRecord) {
- await tx.rewards.delete(walletRewardId);
- await tx.tombstones.put({
- id: TombstoneTag.DeleteReward + ":" + walletRewardId,
- });
- }
- });
+ throw Error("unsupported operation");
}
async suspendTransaction(): Promise<void> {
- const { wex, walletRewardId, transactionId, taskId } = this;
- const transitionInfo = await wex.db.runReadWriteTx(
- ["rewards"],
- async (tx) => {
- const tipRec = await tx.rewards.get(walletRewardId);
- if (!tipRec) {
- logger.warn(`transaction tip ${walletRewardId} not found`);
- return;
- }
- let newStatus: RewardRecordStatus | undefined = undefined;
- switch (tipRec.status) {
- case RewardRecordStatus.Done:
- case RewardRecordStatus.SuspendedPickup:
- case RewardRecordStatus.Aborted:
- case RewardRecordStatus.DialogAccept:
- case RewardRecordStatus.Failed:
- break;
- case RewardRecordStatus.PendingPickup:
- newStatus = RewardRecordStatus.SuspendedPickup;
- break;
-
- default:
- assertUnreachable(tipRec.status);
- }
- if (newStatus != null) {
- const oldTxState = computeRewardTransactionStatus(tipRec);
- tipRec.status = newStatus;
- const newTxState = computeRewardTransactionStatus(tipRec);
- await tx.rewards.put(tipRec);
- return {
- oldTxState,
- newTxState,
- };
- }
- return undefined;
- },
- );
- notifyTransition(wex, transactionId, transitionInfo);
+ throw Error("unsupported operation");
}
async abortTransaction(): Promise<void> {
- const { wex, walletRewardId, transactionId } = this;
- const transitionInfo = await wex.db.runReadWriteTx(
- ["rewards"],
- async (tx) => {
- const tipRec = await tx.rewards.get(walletRewardId);
- if (!tipRec) {
- logger.warn(`transaction tip ${walletRewardId} not found`);
- return;
- }
- let newStatus: RewardRecordStatus | undefined = undefined;
- switch (tipRec.status) {
- case RewardRecordStatus.Done:
- case RewardRecordStatus.Aborted:
- case RewardRecordStatus.PendingPickup:
- case RewardRecordStatus.DialogAccept:
- case RewardRecordStatus.Failed:
- break;
- case RewardRecordStatus.SuspendedPickup:
- newStatus = RewardRecordStatus.Aborted;
- break;
- default:
- assertUnreachable(tipRec.status);
- }
- if (newStatus != null) {
- const oldTxState = computeRewardTransactionStatus(tipRec);
- tipRec.status = newStatus;
- const newTxState = computeRewardTransactionStatus(tipRec);
- await tx.rewards.put(tipRec);
- return {
- oldTxState,
- newTxState,
- };
- }
- return undefined;
- },
- );
- notifyTransition(wex, transactionId, transitionInfo);
+ throw Error("unsupported operation");
}
async resumeTransaction(): Promise<void> {
- const { wex: ws, walletRewardId, transactionId, taskId: retryTag } = this;
- const transitionInfo = await ws.db.runReadWriteTx(
- ["rewards"],
- async (tx) => {
- const rewardRec = await tx.rewards.get(walletRewardId);
- if (!rewardRec) {
- logger.warn(`transaction reward ${walletRewardId} not found`);
- return;
- }
- let newStatus: RewardRecordStatus | undefined = undefined;
- switch (rewardRec.status) {
- case RewardRecordStatus.Done:
- case RewardRecordStatus.PendingPickup:
- case RewardRecordStatus.Aborted:
- case RewardRecordStatus.DialogAccept:
- case RewardRecordStatus.Failed:
- break;
- case RewardRecordStatus.SuspendedPickup:
- newStatus = RewardRecordStatus.PendingPickup;
- break;
- default:
- assertUnreachable(rewardRec.status);
- }
- if (newStatus != null) {
- const oldTxState = computeRewardTransactionStatus(rewardRec);
- rewardRec.status = newStatus;
- const newTxState = computeRewardTransactionStatus(rewardRec);
- await tx.rewards.put(rewardRec);
- return {
- oldTxState,
- newTxState,
- };
- }
- return undefined;
- },
- );
- notifyTransition(ws, transactionId, transitionInfo);
+ throw Error("unsupported operation");
}
async failTransaction(): Promise<void> {
- const { wex: ws, walletRewardId, transactionId, taskId: retryTag } = this;
- const transitionInfo = await ws.db.runReadWriteTx(
- ["rewards"],
- async (tx) => {
- const tipRec = await tx.rewards.get(walletRewardId);
- if (!tipRec) {
- logger.warn(`transaction tip ${walletRewardId} not found`);
- return;
- }
- let newStatus: RewardRecordStatus | undefined = undefined;
- switch (tipRec.status) {
- case RewardRecordStatus.Done:
- case RewardRecordStatus.Aborted:
- case RewardRecordStatus.Failed:
- break;
- case RewardRecordStatus.PendingPickup:
- case RewardRecordStatus.DialogAccept:
- case RewardRecordStatus.SuspendedPickup:
- newStatus = RewardRecordStatus.Failed;
- break;
- default:
- assertUnreachable(tipRec.status);
- }
- if (newStatus != null) {
- const oldTxState = computeRewardTransactionStatus(tipRec);
- tipRec.status = newStatus;
- const newTxState = computeRewardTransactionStatus(tipRec);
- await tx.rewards.put(tipRec);
- return {
- oldTxState,
- newTxState,
- };
- }
- return undefined;
- },
- );
- notifyTransition(ws, transactionId, transitionInfo);
+ throw Error("unsupported operation");
}
}