The visual editor's Ash domain: the records only the editor writes and reads — its snippets, its change history and the snapshots that history restores from, its review notes — and the two resources with no data layer that back its Studio tables and its SEO form.
None of them is part of the content a site serves, so they do not belong to
MishkaCmsCore.Runtime, and a host that installs no editor lists no such domain: its
mix ash.codegen then emits none of the editor's tables. A host with the editor lists this
domain in its :ash_domains beside the core's.
The tables keep their names (builder_snippets, page_builder_events, page_builder_snapshots,
page_comments), so moving a resource here changes no database. The resources still write
through the host's repo and broadcast on the host's endpoint, read from
config :mishka_cms_core, :repo and :endpoint as every resource does.
The MishkaGervaz defaults below are those of MishkaCmsCore.Runtime that the editor's tables and
forms read, so they behave as they did in that domain: the PubSub server a live table subscribes
on, the page sizes a reader may pick, the destroy action, and a form's actions and submit labels.
Every table here names its own read, get and page size and none is archived, so the rest of that
domain's defaults would change nothing.
Summary
Functions
Functions
@spec can( action_or_query_or_changeset :: Ash.Query.t() | Ash.Changeset.t() | {Ash.Resource.t(), atom() | Ash.Resource.Actions.action()}, actor :: term(), opts :: Keyword.t() ) :: {:ok, boolean() | :maybe} | {:ok, true, Ash.Changeset.t() | Ash.Query.t()} | {:ok, true, Ash.Changeset.t(), Ash.Query.t()} | {:ok, false, Exception.t()} | {:error, term()}
@spec can?( query_or_changeset_or_action :: Ash.Query.t() | Ash.Changeset.t() | {Ash.Resource.t(), atom() | Ash.Resource.Actions.action()}, actor :: term(), opts :: Keyword.t() ) :: boolean() | no_return()