DripDrop.SequenceAuthoring (DripDrop v0.1.0)

Copy Markdown View Source

Public authoring API for sequences, versions, steps, transitions, and conditions.

Summary

Functions

Activates a sequence version and archives any previously active version.

Creates a condition attached to a step or transition.

Creates a sequence definition.

Creates an immutable authoring version for a sequence.

Creates a step in a sequence version.

Creates a transition between sequence steps.

Validates that a sequence version is structurally dispatchable.

Functions

activate_sequence_version(version_id)

@spec activate_sequence_version(Ecto.UUID.t()) ::
  {:ok, Ecto.Schema.t()} | {:error, term()}

Activates a sequence version and archives any previously active version.

create_condition(owner_id, attrs)

@spec create_condition(Ecto.UUID.t(), map()) ::
  {:ok, Ecto.Schema.t()} | {:error, Ecto.Changeset.t()}

Creates a condition attached to a step or transition.

create_sequence(attrs)

@spec create_sequence(map()) :: {:ok, Ecto.Schema.t()} | {:error, Ecto.Changeset.t()}

Creates a sequence definition.

create_sequence_version(sequence_id, attrs)

@spec create_sequence_version(Ecto.UUID.t(), map()) ::
  {:ok, Ecto.Schema.t()} | {:error, Ecto.Changeset.t()}

Creates an immutable authoring version for a sequence.

create_step(version_id, attrs)

@spec create_step(Ecto.UUID.t(), map()) ::
  {:ok, Ecto.Schema.t()} | {:error, Ecto.Changeset.t()}

Creates a step in a sequence version.

create_step_transition(version_id, attrs)

@spec create_step_transition(Ecto.UUID.t(), map()) ::
  {:ok, Ecto.Schema.t()} | {:error, Ecto.Changeset.t()}

Creates a transition between sequence steps.

validate_sequence_version(version_id)

@spec validate_sequence_version(Ecto.UUID.t()) ::
  {:ok, Ecto.Schema.t()} | {:error, list()}

Validates that a sequence version is structurally dispatchable.