Selecto.Domain.Choices.OptionsRequest (Selecto v0.4.6)

Copy Markdown

Stable choice-source option-list question shape.

An options request describes which choice source should provide selectable options plus the actor, tenant, working record, search term, paging, context, and server-owned Domain-of-Interest filter data a future resolver may need.

Summary

Functions

Builds an options request from atom-keyed or string-keyed map/keyword attrs.

Types

t()

@type t() :: %Selecto.Domain.Choices.OptionsRequest{
  actor: term(),
  choice_source: atom() | String.t(),
  choice_source_config: map(),
  constraint_filters: map(),
  constraint_policy: map(),
  context: map(),
  cursor: term(),
  domain: atom() | String.t() | nil,
  field: atom() | String.t() | nil,
  field_binding: map(),
  filters: [term()],
  limit: pos_integer() | nil,
  metadata: map(),
  offset: non_neg_integer(),
  order_by: [term()],
  record: map(),
  reference: map(),
  search: String.t() | nil,
  source_relationship: atom() | String.t() | nil,
  source_relationship_config: map() | nil,
  tenant: term()
}

Functions

new(attrs)

@spec new(map() | keyword()) :: t()

Builds an options request from atom-keyed or string-keyed map/keyword attrs.