View Source WorkflowMetal.Storage.Adapters.InMemory (workflow_metal v0.2.1)

An in-memory storage adapter useful for testing as no persistence provided.

storage

Storage

The data of :workflow_table ETS table format:

{workflow_id, workflow_schema}

The data of :arc_table ETS table format:

{arc_id, arc_schema, {workflow_id, place_id, transition_id, direction}}

The data of :place_table ETS table format:

{place_id, place_schema, {place_type, workflow_id}}

The data of :transition_table ETS table format:

{transition_id, transition_schema, workflow_id}

The data of :case_table ETS table format:

{case_id, case_schema, {case_state, workflow_id}}

The data of :task_table ETS table format:

{task_id, task_schema, {task_state, workflow_id, transition_id, case_id}}

The data of :token_table ETS table format:

{token_id, token_schema, {workflow_id, case_id, place_id, produced_by_task_id, locked_by_task_id, state}}

The data of :workitem_table ETS table format:

{workitem_id, workitem_schema, {workflow_id, case_id, task_id}}

Link to this section Summary

Functions

Returns a specification to start this module under a supervisor.

List tasks of the workflow.

List workitems of the workflow.

Reset state.

Link to this section Types

Specs

application() :: WorkflowMetal.Application.t()

Specs

task_schema() :: WorkflowMetal.Storage.Schema.Task.t()

Specs

Specs

workitem_schema() :: WorkflowMetal.Storage.Schema.Workitem.t()

Link to this section Functions

Returns a specification to start this module under a supervisor.

See Supervisor.

Link to this function

list_tasks(application, workflow_id)

View Source

Specs

list_tasks(application(), workflow_id()) :: {:ok, [task_schema()]}

List tasks of the workflow.

Link to this function

list_workitems(application, workflow_id)

View Source

Specs

list_workitems(application(), workflow_id()) :: {:ok, [workitem_schema()]}

List workitems of the workflow.

Reset state.