MishkaGervaz.Form.Web.State.Access (MishkaGervaz v0.0.1-alpha.2)

Copy Markdown View Source

Handles access control for form operations.

Overridable Functions

  • master_user?/1 - Check if user is a master user
  • get_action/3 - Get appropriate Ash action for context
  • get_preloads/2 - Get all preloads needed
  • get_tenant/1 - Get tenant from user

User Override

defmodule MyApp.Form.Access do
  use MishkaGervaz.Form.Web.State.Access

  def master_user?(%{role: :admin}), do: true
  def master_user?(user), do: super(user)
end

See MishkaGervaz.Form.Web.State, MishkaGervaz.Form.Web.State.Helpers, MishkaGervaz.Helpers (for master_user?/1 and user_tenant/1), and the sibling builders FieldBuilder, GroupBuilder, StepBuilder, Presentation.