Squidie.GraphMutation.Preview (squidie v0.3.7)

Copy Markdown View Source

Read-only outcome contract for a proposed graph mutation.

Applied operations are stored as redacted summaries so the struct is safe for host tooling without another serialization step.

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() :: :invalid | :duplicate | :applicable

t()

@type t() :: %Squidie.GraphMutation.Preview{
  active_node_ids: [String.t()],
  applied_operations: [operation_summary()],
  base_version: non_neg_integer(),
  blocked_node_ids: [String.t()],
  duplicate?: boolean(),
  expected_version: non_neg_integer(),
  mutation_id: String.t(),
  ready_node_ids: [String.t()],
  reconciliation: reconciliation(),
  result_version: non_neg_integer(),
  status: status(),
  tombstoned_node_ids: [String.t()],
  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.