View Source Ash.Query.Aggregate (ash v2.7.1)
Represents an aggregated association value
Link to this section Summary
Functions
Create a new aggregate, used with Query.aggregate
or Api.aggregate
Link to this section Types
@type kind() :: :custom | :avg | :min | :max | :list | :sum | :first | :count
@type t() :: %Ash.Query.Aggregate{ authorize?: term(), constraints: term(), default_value: term(), field: term(), filterable?: term(), implementation: term(), kind: term(), load: term(), name: term(), query: term(), read_action: term(), relationship_path: term(), resource: term(), type: term(), uniq?: term() }
Link to this section Functions
Create a new aggregate, used with Query.aggregate
or Api.aggregate
Options:
:path
(list ofatom/0
) - The relationship path to aggregate over. Only used when adding aggregates to a query.:query
(term/0
) - A base query to use for the aggregate, or a keyword list to be passed toAsh.Query.build/2
:field
(atom/0
) - The field to use for the aggregate. Not necessary for all aggregate types.:default
(term/0
) - A default value to use for the aggregate if it returnsnil
.:filterable?
(boolean/0
) - Wether or not this aggregate may be used in filters.:type
(term/0
) - A type to use for the aggregate.:constraints
(term/0
) - Type constraints to use for the aggregate.:implementation
(term/0
) - The implementation for any custom aggregates.:read_action
(atom/0
) - The read action to use for the aggregate, defaults to the primary read action.:uniq?
(boolean/0
) - Wether or not to only consider unique values. Only relevant forcount
andlist
aggregates. The default value isfalse
.:authorize?
(boolean/0
) - Wether or not the aggregate query should authorize based on the target action.
SeeAsh.Resource.Dsl.aggregates.count
for more information. The default value istrue
.