mirror of
https://github.com/ash-project/ash.git
synced 2024-09-20 13:33:20 +12:00
improvement: change type
argument position in Ash.Query.calculate
(#959)
This commit is contained in:
parent
1a24177327
commit
99153144c7
4 changed files with 10 additions and 10 deletions
|
@ -803,9 +803,9 @@ defmodule Ash.Actions.Read.Calculations do
|
||||||
Ash.Query.calculate(
|
Ash.Query.calculate(
|
||||||
query,
|
query,
|
||||||
new_calc_name,
|
new_calc_name,
|
||||||
|
equivalent_aggregate.type,
|
||||||
{Ash.Resource.Calculation.FetchAgg,
|
{Ash.Resource.Calculation.FetchAgg,
|
||||||
load: equivalent_aggregate.name, name: equivalent_aggregate.load},
|
load: equivalent_aggregate.name, name: equivalent_aggregate.load},
|
||||||
equivalent_aggregate.type,
|
|
||||||
%{},
|
%{},
|
||||||
equivalent_aggregate.constraints,
|
equivalent_aggregate.constraints,
|
||||||
equivalent_aggregate.context
|
equivalent_aggregate.context
|
||||||
|
@ -1014,11 +1014,11 @@ defmodule Ash.Actions.Read.Calculations do
|
||||||
query
|
query
|
||||||
|> Ash.Query.calculate(
|
|> Ash.Query.calculate(
|
||||||
new_calc_name,
|
new_calc_name,
|
||||||
|
type,
|
||||||
{Ash.Resource.Calculation.LoadRelationship,
|
{Ash.Resource.Calculation.LoadRelationship,
|
||||||
relationship: relationship.name,
|
relationship: relationship.name,
|
||||||
query: further,
|
query: further,
|
||||||
domain: relationship.domain || domain},
|
domain: relationship.domain || domain},
|
||||||
type,
|
|
||||||
%{},
|
%{},
|
||||||
constraints
|
constraints
|
||||||
)
|
)
|
||||||
|
@ -1180,9 +1180,9 @@ defmodule Ash.Actions.Read.Calculations do
|
||||||
Ash.Query.calculate(
|
Ash.Query.calculate(
|
||||||
query,
|
query,
|
||||||
new_calc_name,
|
new_calc_name,
|
||||||
|
equivalent_calculation.type,
|
||||||
{Ash.Resource.Calculation.FetchCalc,
|
{Ash.Resource.Calculation.FetchCalc,
|
||||||
load: equivalent_calculation.name, name: equivalent_calculation.load},
|
load: equivalent_calculation.name, name: equivalent_calculation.load},
|
||||||
equivalent_calculation.type,
|
|
||||||
equivalent_calculation.context.arguments,
|
equivalent_calculation.context.arguments,
|
||||||
equivalent_calculation.constraints,
|
equivalent_calculation.constraints,
|
||||||
equivalent_calculation.context
|
equivalent_calculation.context
|
||||||
|
|
|
@ -1941,8 +1941,8 @@ defmodule Ash.Actions.Read do
|
||||||
Ash.Query.calculate(
|
Ash.Query.calculate(
|
||||||
query,
|
query,
|
||||||
calc.name,
|
calc.name,
|
||||||
{calc.module, calc.opts},
|
|
||||||
calc.type,
|
calc.type,
|
||||||
|
{calc.module, calc.opts},
|
||||||
calc.context.arguments,
|
calc.context.arguments,
|
||||||
calc.constraints,
|
calc.constraints,
|
||||||
calc.context
|
calc.context
|
||||||
|
|
|
@ -2104,11 +2104,11 @@ defmodule Ash.Query do
|
||||||
{:aggregate, {name, type, relationship, agg_query}}, query ->
|
{:aggregate, {name, type, relationship, agg_query}}, query ->
|
||||||
aggregate(query, name, type, relationship, agg_query)
|
aggregate(query, name, type, relationship, agg_query)
|
||||||
|
|
||||||
{:calculate, {name, module_and_opts, type}}, query ->
|
{:calculate, {name, type, module_and_opts}}, query ->
|
||||||
calculate(query, name, module_and_opts, type)
|
calculate(query, name, type, module_and_opts)
|
||||||
|
|
||||||
{:calculate, {name, module_and_opts, type, arguments}}, query ->
|
{:calculate, {name, type, module_and_opts, arguments}}, query ->
|
||||||
calculate(query, name, module_and_opts, type, arguments)
|
calculate(query, name, type, module_and_opts, arguments)
|
||||||
|
|
||||||
{:select, fields}, query ->
|
{:select, fields}, query ->
|
||||||
select(query, fields)
|
select(query, fields)
|
||||||
|
@ -2249,8 +2249,8 @@ defmodule Ash.Query do
|
||||||
def calculate(
|
def calculate(
|
||||||
query,
|
query,
|
||||||
name,
|
name,
|
||||||
module_and_opts,
|
|
||||||
type,
|
type,
|
||||||
|
module_and_opts,
|
||||||
arguments \\ %{},
|
arguments \\ %{},
|
||||||
constraints \\ [],
|
constraints \\ [],
|
||||||
extra_context \\ %{}
|
extra_context \\ %{}
|
||||||
|
|
|
@ -918,7 +918,7 @@ defmodule Ash.Test.CalculationTest do
|
||||||
test "custom calculations can be added to a query" do
|
test "custom calculations can be added to a query" do
|
||||||
full_names =
|
full_names =
|
||||||
User
|
User
|
||||||
|> Ash.Query.calculate(:full_name, {Concat, keys: [:first_name, :last_name]}, :string, %{
|
|> Ash.Query.calculate(:full_name, :string, {Concat, keys: [:first_name, :last_name]}, %{
|
||||||
separator: " \o.o/ "
|
separator: " \o.o/ "
|
||||||
})
|
})
|
||||||
|> Ash.read!()
|
|> Ash.read!()
|
||||||
|
|
Loading…
Reference in a new issue