diff options
author | Florian Dold <florian@dold.me> | 2024-06-30 20:37:03 +0200 |
---|---|---|
committer | Florian Dold <florian@dold.me> | 2024-06-30 20:37:03 +0200 |
commit | c297b5130cb7e9ceba4602548d9ccb68735d55e5 (patch) | |
tree | ba879a090f0a2d604a13ed977b374ae9000aa1e7 /packages/taler-wallet-core/src/shepherd.ts | |
parent | 93283808cfef9a947e62cf136f8b204816248d53 (diff) | |
download | wallet-core-c297b5130cb7e9ceba4602548d9ccb68735d55e5.tar.xz |
wallet-core: introduce declare-concerns-transaction obs event
Diffstat (limited to 'packages/taler-wallet-core/src/shepherd.ts')
-rw-r--r-- | packages/taler-wallet-core/src/shepherd.ts | 94 |
1 files changed, 9 insertions, 85 deletions
diff --git a/packages/taler-wallet-core/src/shepherd.ts b/packages/taler-wallet-core/src/shepherd.ts index 738a3a9e3..434ee8635 100644 --- a/packages/taler-wallet-core/src/shepherd.ts +++ b/packages/taler-wallet-core/src/shepherd.ts @@ -633,6 +633,15 @@ async function callOperationHandlerForTaskId( taskId: TaskIdStr, ): Promise<TaskRunResult> { const pending = parseTaskIdentifier(taskId); + + const txId = convertTaskToTransactionId(taskId); + if (txId) { + wex.oc.observe({ + type: ObservabilityEventType.DeclareConcernsTransaction, + transactionId: txId, + }); + } + switch (pending.tag) { case PendingTaskType.ExchangeUpdate: return await updateExchangeFromUrlHandler(wex, pending.exchangeBaseUrl); @@ -863,91 +872,6 @@ async function makeExchangeRetryNotification( return notif; } -export function listTaskForTransactionId(transactionId: string): TaskIdStr[] { - const tid = parseTransactionIdentifier(transactionId); - if (!tid) { - throw Error("invalid task ID"); - } - switch (tid.tag) { - case TransactionType.Deposit: - return [ - constructTaskIdentifier({ - tag: PendingTaskType.Deposit, - depositGroupId: tid.depositGroupId, - }), - ]; - case TransactionType.InternalWithdrawal: - return [ - constructTaskIdentifier({ - tag: PendingTaskType.Withdraw, - withdrawalGroupId: tid.withdrawalGroupId, - }), - ]; - case TransactionType.Payment: - return [ - constructTaskIdentifier({ - tag: PendingTaskType.Purchase, - proposalId: tid.proposalId, - }), - ]; - case TransactionType.PeerPullCredit: - return [ - constructTaskIdentifier({ - tag: PendingTaskType.PeerPullCredit, - pursePub: tid.pursePub, - }), - ]; - case TransactionType.PeerPullDebit: - return [ - constructTaskIdentifier({ - tag: PendingTaskType.PeerPullDebit, - peerPullDebitId: tid.peerPullDebitId, - }), - ]; - case TransactionType.PeerPushCredit: - return [ - constructTaskIdentifier({ - tag: PendingTaskType.PeerPullCredit, - pursePub: tid.peerPushCreditId, - }), - ]; - case TransactionType.PeerPushDebit: - return [ - constructTaskIdentifier({ - tag: PendingTaskType.PeerPullCredit, - pursePub: tid.pursePub, - }), - ]; - case TransactionType.Recoup: - return [ - constructTaskIdentifier({ - tag: PendingTaskType.Recoup, - recoupGroupId: tid.recoupGroupId, - }), - ]; - case TransactionType.Refresh: - return [ - constructTaskIdentifier({ - tag: PendingTaskType.Refresh, - refreshGroupId: tid.refreshGroupId, - }), - ]; - case TransactionType.Refund: - return []; - case TransactionType.Withdrawal: - return [ - constructTaskIdentifier({ - tag: PendingTaskType.Withdraw, - withdrawalGroupId: tid.withdrawalGroupId, - }), - ]; - case TransactionType.DenomLoss: - return []; - default: - assertUnreachable(tid); - } -} - /** * Convert the task ID for a task that processes a transaction int * the ID for the transaction. |