MailglassInbound.InboundRecords.ExecutionRun (MailglassInbound v0.1.0)

Copy Markdown View Source

Append-only execution lineage row shared by fresh ingress and replay.

Execution runs always point back to the immutable canonical inbound record and stored evidence row they processed.

Summary

Types

outcome()

@type outcome() :: :no_match | :accept | :ignore | :reject | :bounce | :failed

source()

@type source() :: :fresh | :replay

t()

@type t() :: %MailglassInbound.InboundRecords.ExecutionRun{
  __meta__: term(),
  executed_at: DateTime.t() | nil,
  failure: map(),
  id: Ecto.UUID.t() | nil,
  inbound_evidence: term(),
  inbound_evidence_id: Ecto.UUID.t() | nil,
  inbound_record: term(),
  inbound_record_id: Ecto.UUID.t() | nil,
  inserted_at: DateTime.t() | nil,
  mailbox: String.t() | nil,
  metadata: map(),
  outcome: outcome() | nil,
  outcome_reason: String.t() | nil,
  source: source() | nil,
  tenant_id: String.t() | nil,
  updated_at: DateTime.t() | nil
}

Functions

changeset(attrs)

@spec changeset(map()) :: Ecto.Changeset.t()