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.
Creates a new query calculation.
Types
@type t() :: %Ash.Query.Calculation{ allow_nil?: term(), async?: term(), authorize?: term(), calc_name: term(), constraints: term(), context: term(), filterable?: term(), load: term(), module: term(), multitenancy: term(), name: term(), opts: term(), required_loads: term(), select: term(), sensitive?: term(), sortable?: term(), type: term() }
Functions
Creates a new query calculation from a resource calculation.
Options
:args(map ofterm/0keys andterm/0values) - Arguments to pass to the calculation, keyed by argument name as an atom or a string The default value is%{}.:source_context(map/0) - Context from the source query or changeset. The default value is%{}.:allow_expr?(boolean/0) - Whether arguments that allow expressions may be given expressions. The default value istrue.
Creates a new query calculation from a resource calculation, raising any errors.
See from_resource_calculation/3 for more.
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 isfalse.:filterable?(boolean/0) - Whether or not this calculation can be filtered on The default value istrue.:sortable?(boolean/0) - Whether or not this calculation can be sorted on The default value istrue.:sensitive?(boolean/0) - Whether or not references to this calculation will be considered sensitive The default value isfalse.:allow_nil?(boolean/0) - Whether or not the calculation can returnnil. The default value istrue.: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 the related data that the calculation uses should be authorized, when the parent query is authorized. See theauthorize?option on resource calculations for more. The default value isfalse.: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%{}.