Context for managing OpenGraph templates. CRUD only — the editor and renderer live elsewhere.
Mutating functions accept an opts keyword list; pass actor_uuid: user_uuid to attribute the change in the activity feed. Omitting it
logs an anonymous entry — still auditable, just not attributed.
Summary
Functions
@spec change(PhoenixKitOG.Schemas.Template.t(), map()) :: Ecto.Changeset.t()
@spec create( map(), keyword() ) :: {:ok, PhoenixKitOG.Schemas.Template.t()} | {:error, Ecto.Changeset.t()}
@spec delete( PhoenixKitOG.Schemas.Template.t(), keyword() ) :: {:ok, PhoenixKitOG.Schemas.Template.t()} | {:error, Ecto.Changeset.t()}
@spec get(binary()) :: PhoenixKitOG.Schemas.Template.t() | nil
Returns nil when no template matches.
@spec list() :: [PhoenixKitOG.Schemas.Template.t()]
Returns all templates, ordered by name.
@spec update(PhoenixKitOG.Schemas.Template.t(), map(), keyword()) :: {:ok, PhoenixKitOG.Schemas.Template.t()} | {:error, Ecto.Changeset.t()}