# `MishkaGervaz.Form.Web.DataLoader.TenantResolver`
[🔗](https://github.com/mishka-group/mishka_gervaz/blob/v0.0.1-alpha.3/lib/mishka_gervaz/form/web/data_loader/tenant_resolver.ex#L1)

Resolves tenant and actions for form operations.

## Overridable Functions

- `get_tenant/1` - Get tenant from form state
- `get_create_action/1` - Get create action based on user type
- `get_update_action/1` - Get update action based on user type
- `get_read_action/1` - Get read action based on user type

## User Override

    defmodule MyApp.Form.TenantResolver do
      use MishkaGervaz.Form.Web.DataLoader.TenantResolver

      def get_tenant(state) do
        if state.master_user? do
          nil
        else
          Map.get(state.current_user, :organization_id)
        end
      end
    end

See `MishkaGervaz.Form.Web.DataLoader`,
`MishkaGervaz.Form.Web.State` (for `State.get_action/2`), and the
sibling sub-builders `RecordLoader`, `RelationLoader`, `HookRunner`.

---

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