Mailglass.Webhook.Replay (Mailglass v1.0.0)

Copy Markdown View Source

Canonical tenant-scoped webhook replay command.

Summary

Types

actor()

@type actor() :: %{:subject_id => term(), optional(atom()) => term()}

outcome_status()

@type outcome_status() :: :replayed | :noop

success_result()

@type success_result() :: %{
  status: outcome_status(),
  tenant_id: String.t(),
  webhook_event_id: Ecto.UUID.t(),
  provider: atom(),
  delivery_id: Ecto.UUID.t() | nil,
  requested_audit_event_id: Ecto.UUID.t(),
  succeeded_audit_event_id: Ecto.UUID.t(),
  replayed_event_count: non_neg_integer(),
  new_event_count: non_neg_integer(),
  orphan_event_count: non_neg_integer()
}

Functions

execute(attrs)

@spec execute(map()) :: {:ok, success_result()} | {:error, term()}