Squidie.GraphMutation.Report (squidie v0.3.7)

Copy Markdown View Source

Durable apply or reconciliation outcome for a graph mutation.

The contract distinguishes a complete commit from one that needs explicit post-commit dispatch reconciliation.

Summary

Functions

Builds an outcome from a normalized mutation and outcome attributes.

Converts an outcome to a redacted plain map.

Types

operation_summary()

@type operation_summary() :: map()

reconciliation()

@type reconciliation() :: :not_required | :required | :completed

status()

@type status() ::
  :committed_needs_reconciliation | :rejected | :duplicate | :committed

t()

@type t() :: %Squidie.GraphMutation.Report{
  applied_operations: [operation_summary()],
  base_version: non_neg_integer(),
  duplicate?: boolean(),
  expected_version: non_neg_integer(),
  mutation_id: String.t(),
  reconciliation: reconciliation(),
  result_version: non_neg_integer(),
  status: status(),
  warnings: [atom()]
}

Functions

new(mutation, attrs)

@spec new(
  Squidie.GraphMutation.t(),
  keyword()
) :: t()

Builds an outcome from a normalized mutation and outcome attributes.

to_map(outcome)

@spec to_map(t()) :: map()

Converts an outcome to a redacted plain map.