Refactoring of Users context
This commit is contained in:
@@ -50,9 +50,7 @@ defmodule MobilizonWeb.Resolvers.Person do
|
||||
def create_person(
|
||||
_parent,
|
||||
%{preferred_username: _preferred_username} = args,
|
||||
%{
|
||||
context: %{current_user: user}
|
||||
} = _resolution
|
||||
%{context: %{current_user: user}} = _resolution
|
||||
) do
|
||||
args = Map.put(args, :user_id, user.id)
|
||||
|
||||
@@ -75,17 +73,13 @@ defmodule MobilizonWeb.Resolvers.Person do
|
||||
def update_person(
|
||||
_parent,
|
||||
%{preferred_username: preferred_username} = args,
|
||||
%{
|
||||
context: %{
|
||||
current_user: user
|
||||
}
|
||||
} = _resolution
|
||||
%{context: %{current_user: user}} = _resolution
|
||||
) do
|
||||
args = Map.put(args, :user_id, user.id)
|
||||
|
||||
with {:find_actor, %Actor{} = actor} <-
|
||||
{:find_actor, Actors.get_actor_by_name(preferred_username)},
|
||||
{:is_owned, true, _} <- User.owns_actor(user, actor.id),
|
||||
{:is_owned, %Actor{}} <- User.owns_actor(user, actor.id),
|
||||
args <- save_attached_pictures(args),
|
||||
{:ok, actor} <- Actors.update_actor(actor, args) do
|
||||
{:ok, actor}
|
||||
@@ -93,7 +87,7 @@ defmodule MobilizonWeb.Resolvers.Person do
|
||||
{:find_actor, nil} ->
|
||||
{:error, "Actor not found"}
|
||||
|
||||
{:is_owned, false} ->
|
||||
{:is_owned, nil} ->
|
||||
{:error, "Actor is not owned by authenticated user"}
|
||||
end
|
||||
end
|
||||
@@ -108,15 +102,11 @@ defmodule MobilizonWeb.Resolvers.Person do
|
||||
def delete_person(
|
||||
_parent,
|
||||
%{preferred_username: preferred_username} = _args,
|
||||
%{
|
||||
context: %{
|
||||
current_user: user
|
||||
}
|
||||
} = _resolution
|
||||
%{context: %{current_user: user}} = _resolution
|
||||
) do
|
||||
with {:find_actor, %Actor{} = actor} <-
|
||||
{:find_actor, Actors.get_actor_by_name(preferred_username)},
|
||||
{:is_owned, true, _} <- User.owns_actor(user, actor.id),
|
||||
{:is_owned, %Actor{}} <- User.owns_actor(user, actor.id),
|
||||
{:last_identity, false} <- {:last_identity, last_identity?(user)},
|
||||
{:last_admin, false} <- {:last_admin, last_admin_of_a_group?(actor.id)},
|
||||
{:ok, actor} <- Actors.delete_actor(actor) do
|
||||
@@ -131,7 +121,7 @@ defmodule MobilizonWeb.Resolvers.Person do
|
||||
{:last_admin, true} ->
|
||||
{:error, "Cannot remove the last administrator of a group"}
|
||||
|
||||
{:is_owned, false} ->
|
||||
{:is_owned, nil} ->
|
||||
{:error, "Actor is not owned by authenticated user"}
|
||||
end
|
||||
end
|
||||
@@ -184,14 +174,12 @@ defmodule MobilizonWeb.Resolvers.Person do
|
||||
@doc """
|
||||
Returns the list of events this person is going to
|
||||
"""
|
||||
def person_going_to_events(%Actor{id: actor_id}, _args, %{
|
||||
context: %{current_user: user}
|
||||
}) do
|
||||
with {:is_owned, true, actor} <- User.owns_actor(user, actor_id),
|
||||
def person_going_to_events(%Actor{id: actor_id}, _args, %{context: %{current_user: user}}) do
|
||||
with {:is_owned, %Actor{} = actor} <- User.owns_actor(user, actor_id),
|
||||
events <- Events.list_event_participations_for_actor(actor) do
|
||||
{:ok, events}
|
||||
else
|
||||
{:is_owned, false} ->
|
||||
{:is_owned, nil} ->
|
||||
{:error, "Actor id is not owned by authenticated user"}
|
||||
end
|
||||
end
|
||||
@@ -199,9 +187,7 @@ defmodule MobilizonWeb.Resolvers.Person do
|
||||
@doc """
|
||||
Returns the list of events this person is going to
|
||||
"""
|
||||
def person_going_to_events(_parent, %{}, %{
|
||||
context: %{current_user: user}
|
||||
}) do
|
||||
def person_going_to_events(_parent, %{}, %{context: %{current_user: user}}) do
|
||||
with %Actor{} = actor <- Users.get_actor_for_user(user),
|
||||
events <- Events.list_event_participations_for_actor(actor) do
|
||||
{:ok, events}
|
||||
|
||||
Reference in New Issue
Block a user