improvement: any filter being statically true means :authorized

This commit is contained in:
Zach Daniel 2022-09-22 21:06:57 -04:00
parent fbcd745401
commit 8031f1b698

View file

@ -421,6 +421,9 @@ defmodule Ash.Policy.Authorizer do
:authorized :authorized
{_filters, []} -> {_filters, []} ->
if Enum.any?(filter, &(&1 == true)) do
:authorized
else
case filter do case filter do
[filter] -> [filter] ->
log(authorizer, "filtering with: #{inspect(filter)}, authorization complete") log(authorizer, "filtering with: #{inspect(filter)}, authorization complete")
@ -430,6 +433,7 @@ defmodule Ash.Policy.Authorizer do
log(authorizer, "filtering with: #{inspect(or: filter)}, authorization complete") log(authorizer, "filtering with: #{inspect(or: filter)}, authorization complete")
{:filter, authorizer, [or: filters]} {:filter, authorizer, [or: filters]}
end end
end
{_filters, _require_check} -> {_filters, _require_check} ->
case global_filters(authorizer) do case global_filters(authorizer) do