View Source Ash.Query.Calculation (ash v3.4.43)

Represents a calculated attribute requested on a query

Summary

Functions

Creates a new query calculation from a resource calculation.

Creates a new query calculation from a resource calculation, raising any errors.

Types

@type t() :: %Ash.Query.Calculation{
  async?: term(),
  calc_name: term(),
  constraints: term(),
  context: term(),
  filterable?: term(),
  load: term(),
  module: term(),
  name: term(),
  opts: term(),
  required_loads: term(),
  select: term(),
  sensitive?: term(),
  sortable?: term(),
  type: term()
}

Functions

Link to this function

from_resource_calculation(resource, name, opts \\ [])

View Source

Creates a new query calculation from a resource calculation.

Options

  • :args (map/0) - Arguments to pass to the calculation The default value is %{}.

  • :source_context (map/0) - Context from the source query or changeset. The default value is %{}.

Link to this function

from_resource_calculation!(resource, name, opts \\ [])

View Source

Creates a new query calculation from a resource calculation, raising any errors.

See from_resource_calculation/3 for more.

Link to this function

new(name, module, calc_opts, type, constraints, opts \\ [])

View Source

Creates a new query calculation.

Options

  • :arguments (map/0) - Arguments to pass to the calculation The default value is %{}.

  • :async? (boolean/0) - Whether or not this calculation should be run asynchronously The default value is false.

  • :filterable? (boolean/0) - Whether or not this calculation can be filtered on The default value is true.

  • :sortable? (boolean/0) - Whether or not this calculation can be sorted on The default value is true.

  • :sensitive? (boolean/0) - Whether or not references to this calculation will be considered sensitive The default value is false.

  • :load (term/0) - Loads that are required for the calculation.

  • :actor (term/0) - The actor performing the calculation.

  • :tenant (term/0) - The tenant performing the calculation.

  • :authorize? (boolean/0) - Whether or not authorization is being performed

  • :tracer (term/0) - The tracer or tracers used in the calculation.

  • :source_context (map/0) - Context from the source query or changeset. The default value is %{}.