Cairnloop.Auditor behaviour (cairnloop v0.5.1)

Copy Markdown View Source

Behaviour for providing host application auditing to Cairnloop.

Cairnloop uses this behaviour to achieve compliance-grade, durable auditing. Host applications implement this behaviour to insert their own Ecto.Multi operations to log evidence within the same database transaction.

Summary

Callbacks

Injects an audit log operation into an existing Ecto.Multi pipeline.

Retrieves a list of audit events.

Callbacks

audit(multi, action, actor, metadata)

@callback audit(
  multi :: Ecto.Multi.t(),
  action :: atom(),
  actor :: map() | String.t() | nil,
  metadata :: map()
) :: Ecto.Multi.t()

Injects an audit log operation into an existing Ecto.Multi pipeline.

list_events(opts)

@callback list_events(opts :: keyword()) :: [map()]

Retrieves a list of audit events.