MishkaGervaz.Table.Web.DataLoader.TenantResolver (MishkaGervaz v0.0.1-alpha.3)

Copy Markdown View Source

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.