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,14 +421,18 @@ defmodule Ash.Policy.Authorizer do
:authorized
{_filters, []} ->
case filter do
[filter] ->
log(authorizer, "filtering with: #{inspect(filter)}, authorization complete")
{:filter, authorizer, filter}
if Enum.any?(filter, &(&1 == true)) do
:authorized
else
case filter do
[filter] ->
log(authorizer, "filtering with: #{inspect(filter)}, authorization complete")
{:filter, authorizer, filter}
filters ->
log(authorizer, "filtering with: #{inspect(or: filter)}, authorization complete")
{:filter, authorizer, [or: filters]}
filters ->
log(authorizer, "filtering with: #{inspect(or: filter)}, authorization complete")
{:filter, authorizer, [or: filters]}
end
end
{_filters, _require_check} ->