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

Copy Markdown View Source

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.