# organization.ex
create :create_organization do
argument :establishment, :map, allow_nil?: false
change relate_actor(:owner)
change after_action(fn changeset, org, context ->
case Lamashka.Establishments.create_establishment(
changeset.arguments.establishment,
actor: context.actor,
tenant: org,
context: %{
accessing_from: %{
source: __MODULE__,
name: :establishments
}
}
) do
{:ok, _establishment} -> {:ok, org}
{:error, error} -> {:error, Ash.Error.set_path(error, :establishment)}
end
end)
end
# organization.ex
create :create_organization do
argument :establishment, :map, allow_nil?: false
change relate_actor(:owner)
change after_action(fn changeset, org, context ->
case Lamashka.Establishments.create_establishment(
changeset.arguments.establishment,
actor: context.actor,
tenant: org,
context: %{
accessing_from: %{
source: __MODULE__,
name: :establishments
}
}
) do
{:ok, _establishment} -> {:ok, org}
{:error, error} -> {:error, Ash.Error.set_path(error, :establishment)}
end
end)
end