# `MishkaGervaz.Form.Web.State.Access`
[🔗](https://github.com/mishka-group/mishka_gervaz/blob/v0.0.1-alpha.3/lib/mishka_gervaz/form/web/state/access.ex#L1)

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`.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
