View Source Ash.Resource.ManualDestroy behaviour (ash v2.21.4)

A module to implement manual destroy actions.

Note that in the returns of these functions you must return the destroyed record or records.

Summary

Types

@type context() :: %{
  optional(:actor) => term(),
  optional(:tenant) => term(),
  optional(:authorize?) => boolean(),
  optional(:api) => module(),
  optional(any()) => any()
}

Callbacks

Link to this callback

bulk_destroy(changesets, opts, context)

View Source (optional)
@callback bulk_destroy(
  changesets :: Enumerable.t(Ash.Changeset.t()),
  opts :: Keyword.t(),
  context :: context()
) :: [
  ok: Ash.Resource.record(),
  error: Ash.Error.t(),
  notifications: [Ash.Notifier.Notification.t()]
]
Link to this callback

destroy(changeset, opts, context)

View Source
@callback destroy(
  changeset :: Ash.Changeset.t(),
  opts :: Keyword.t(),
  context :: context()
) ::
  {:ok, Ash.Resource.record()}
  | {:ok, Ash.Resource.record(), [Ash.Notifier.Notification.t()]}
  | {:error, term()}