OrderItem
defines the following:
calculations do
calculate :subtotal,
:decimal,
expr(
type(price, :decimal) * type(quantity, :decimal) + type(modifiers_total, :decimal)
),
public?: true
end
aggregates do
sum :modifiers_total, :modifiers, :total, public?: true, default: 0
end
Ash.read!(OrderItem, load: [:modifiers_total, :subtotal])
works as expected
query OrderItem($orderItemId: ID!) {
orderItem(id: $orderItemId) {
id
# subtotal
# modifiersTotal
modifiers {
id
total
}
}
}
This GraphQL query works when modifiersTotal
/subtotal
are not included, but gives the following error on the server when they are:
[error] edd194bb-a06b-42ab-acbd-92e08c25876d: Exception raised while resolving query.
** (KeyError) key :arguments not found in: %{tracer: nil, tenant: nil, authorize?: false, actor: nil}
(ash 3.0.0-rc.45) lib/ash/resource/calculation/expression.ex:10: Ash.Resource.Calculation.Expression.expression/2 (ash_sql 0.1.1-rc.17) lib/aggregate.ex:718: anonymous fn/5 in AshSql.Aggregate.maybe_filter_subquery/6 (elixir 1.16.1) lib/enum.ex:4842: Enumerable.List.reduce/3 (elixir 1.16.1) lib/enum.ex:2582: Enum.reduce_while/3 (ash_sql 0.1.1-rc.17) lib/aggregate.ex:312: anonymous fn/10 in AshSql.Aggregate.add_aggregates/6 (ash_sql 0.1.1-rc.17) lib/join.ex:250: AshSql.Join.related_subquery/3 (ash_sql 0.1.1-rc.17) lib/aggregate.ex:159: anonymous fn/7 in AshSql.Aggregate.add_aggregates/6 (elixir 1.16.1) lib/enum.ex:4842: Enumerable.List.reduce/3 (elixir 1.16.1) lib/enum.ex:2582: Enum.reduce_while/3 (ash_sql 0.1.1-rc.17) lib/aggregate.ex:88: AshSql.Aggregate.add_aggregates/6 (ash 3.0.0-rc.45) lib/ash/query/query.ex:2858: Ash.Query.data_layer_query/2 (ash 3.0.0-rc.45) lib/ash/actions/read/read.ex:436: anonymous fn/5 in Ash.Actions.Read.do_read/4 (ash 3.0.0-rc.45) lib/ash/process_helpers.ex:38: anonymous fn/4 in Ash.ProcessHelpers.async/2 (elixir 1.16.1) lib/task/supervised.ex:101: Task.Supervised.invoke_mfa/2 (elixir 1.16.1) lib/task/supervised.ex:36: Task.Supervised.reply/4 (ash 3.0.0-rc.45) lib/ash/process_helpers.ex:32: Ash.ProcessHelpers.async/2 (ash 3.0.0-rc.45) lib/ash/process_helpers.ex:66: Ash.ProcessHelpers.task_with_timeout/5 (ash 3.0.0-rc.45) lib/ash/actions/read/read.ex:571: Ash.Actions.Read.maybe_in_transaction/3 (ash 3.0.0-rc.45) lib/ash/actions/read/read.ex:251: Ash.Actions.Read.do_run/3 (ash 3.0.0-rc.45) lib/ash/actions/read/read.ex:66: anonymous fn/3 in Ash.Actions.Read.run/3
Full code here: GitHub - BryceLabs/ash_issues_examples at arguments-not-found-query