cover/Elixir.WalletIntegrations.Events.CallbackProcessed.html

1 defmodule WalletIntegrations.Events.CallbackProcessed do
2 @moduledoc "Emitted when a callback has been verified and its effects applied idempotently."
3 @behaviour WalletEvents.DomainEvent
4
5 @impl true
6 1 def event_name, do: "CallbackProcessed.v1"
7 @impl true
8 1 def event_version, do: 1
9
10
:-(
def build(callback_id, opts \\ []) do
11 1 %{
12 event_id: WalletSharedKernel.Correlation.new_request_id(),
13 event_name: event_name(),
14 event_version: event_version(),
15 aggregate_id: callback_id,
16 correlation_id: Keyword.get(opts, :correlation_id, WalletSharedKernel.Correlation.new_correlation_id()),
17 occurred_at: DateTime.utc_now(),
18 payload: %{
19 callback_id: callback_id,
20 payment_request_id: Keyword.get(opts, :payment_request_id),
21 event_type: Keyword.get(opts, :event_type),
22 new_status: Keyword.get(opts, :new_status)
23 }
24 }
25 end
26 end
Line Hits Source