Member Resource Policies closes #345 #346

Merged
moritz merged 33 commits from feature/345_member_policies_2 into main 2026-01-13 16:36:24 +01:00
Showing only changes of commit 89fbd55250 - Show all commits

View file

@ -598,18 +598,23 @@ defmodule MvWeb.UserLive.Form do
actor = current_actor(socket) actor = current_actor(socket)
case Ash.read(query, domain: Mv.Membership, actor: actor) do # Early return if no actor (prevents exceptions in unauthenticated tests)
{:ok, members} -> if is_nil(actor) do
# Apply email match filter if user_email is provided []
if user_email_str do
Mv.Membership.Member.filter_by_email_match(members, user_email_str)
else else
members case Ash.read(query, domain: Mv.Membership, actor: actor) do
{:ok, members} -> apply_email_filter(members, user_email_str)
{:error, _} -> []
end
end
end end
{:error, _} -> @spec apply_email_filter([Mv.Membership.Member.t()], String.t() | nil) ::
[] [Mv.Membership.Member.t()]
end defp apply_email_filter(members, nil), do: members
defp apply_email_filter(members, user_email_str) when is_binary(user_email_str) do
Mv.Membership.Member.filter_by_email_match(members, user_email_str)
end end
# Extract user-friendly error message from Ash.Error # Extract user-friendly error message from Ash.Error