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

Resolves tenant and read actions based on state.

## Overridable Functions

- `get_tenant/1` - Get tenant from state
- `get_read_action/1` - Get read action based on archive status
- `get_archive_read_action/1` - Get specific archive read action

## User Override

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

      def get_tenant(state) do
        # Use organization_id instead of site_id
        if state.master_user? do
          nil
        else
          Map.get(state.current_user, :organization_id)
        end
      end
    end

See `MishkaGervaz.Table.Web.DataLoader`,
`MishkaGervaz.Table.Web.DataLoader.Helpers`,
`MishkaGervaz.Helpers` (for `user_tenant/1`),
and the sibling sub-builders `QueryBuilder`, `FilterParser`,
`PaginationHandler`, `HookRunner`, `RelationLoader`.

---

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