policies do
policy action_type(:read) do
forbid_if expr(type(true, :boolean))
authorize_if always()
end
end
I think forbid_if expr(type(true, :boolean))
is an inline filter policy,
so Ash.read!(ResourceModule)
should return []
,
but it raises an error.
** (Ash.Error.Forbidden) Forbidden Error
* forbidden
(elixir 1.17.0) lib/process.ex:864: Process.info/2
(ash 3.4.1) lib/ash/error/forbidden/policy.ex:9: Ash.Error.Forbidden.Policy."exception (overridable 2)"/1
(ash 3.4.1) lib/ash/error/forbidden/policy.ex:28: Ash.Error.Forbidden.Policy.exception/1
(ash 3.4.1) lib/ash/policy/authorizer/authorizer.ex:1529: Ash.Policy.Authorizer.strict_check_result/2
(ash 3.4.1) lib/ash/policy/authorizer/authorizer.ex:617: Ash.Policy.Authorizer.strict_check/2
(ash 3.4.1) lib/ash/can.ex:412: anonymous fn/6 in Ash.Can.run_check/4
(elixir 1.17.0) lib/enum.ex:4858: Enumerable.List.reduce/3
(elixir 1.17.0) lib/enum.ex:2585: Enum.reduce_while/3
(ash 3.4.1) lib/ash/can.ex:409: Ash.Can.run_check/4
(ash 3.4.1) lib/ash/can.ex:118: Ash.Can.can/4
(ash 3.4.1) lib/ash.ex:1283: Ash.can/3
(ash 3.4.1) lib/ash/actions/read/read.ex:1163: Ash.Actions.Read.authorize_query/2
(ash 3.4.1) lib/ash/actions/read/read.ex:365: Ash.Actions.Read.do_read/4
(ash 3.4.1) lib/ash/actions/read/read.ex:249: Ash.Actions.Read.do_run/3
(ash 3.4.1) lib/ash/actions/read/read.ex:66: anonymous fn/3 in Ash.Actions.Read.run/3
(ash 3.4.1) lib/ash/actions/read/read.ex:65: Ash.Actions.Read.run/3
(ash 3.4.1) lib/ash.ex:1887: Ash.read/2
(ash 3.4.1) lib/ash.ex:1846: Ash.read!/2
(elixir 1.17.0) src/elixir.erl:386: :elixir.eval_external_handler/3
(stdlib 6.0) erl_eval.erl:904: :erl_eval.do_apply/7
(elixir 1.17.0) lib/process.ex:864: Process.info/2
(ash 3.4.1) lib/ash/error/forbidden.ex:3: Ash.Error.Forbidden.exception/1
(ash 3.4.1) /Users/r4f3works/fireworks/r3world/deps/splode/lib/splode.ex:211: Ash.Error.to_class/2
(ash 3.4.1) lib/ash/error/error.ex:66: Ash.Error.to_error_class/2
(ash 3.4.1) lib/ash/actions/read/read.ex:340: anonymous fn/3 in Ash.Actions.Read.do_run/3
(ash 3.4.1) lib/ash/actions/read/read.ex:265: Ash.Actions.Read.do_run/3
(ash 3.4.1) lib/ash/actions/read/read.ex:66: anonymous fn/3 in Ash.Actions.Read.run/3
(ash 3.4.1) lib/ash/actions/read/read.ex:65: Ash.Actions.Read.run/3
(ash 3.4.1) lib/ash.ex:1887: Ash.read/2
(ash 3.4.1) lib/ash.ex:1846: Ash.read!/2
iex:6: (file)
Is this an intended behavior?