Fix following groups + Add interface to manage followers

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
This commit is contained in:
Thomas Citharel
2021-01-20 18:16:44 +01:00
parent 58fe7b74a5
commit 4fbdc94e7c
25 changed files with 929 additions and 83 deletions

View File

@@ -26,8 +26,8 @@ defmodule Mobilizon.GraphQL.Resolvers.Group do
}
}
) do
with {:ok, %Actor{id: group_id} = group} <-
ActivityPub.find_or_make_group_from_nickname(name),
with {:group, {:ok, %Actor{id: group_id} = group}} <-
{:group, ActivityPub.find_or_make_group_from_nickname(name)},
{:actor, %Actor{id: actor_id} = _actor} <- {:actor, Users.get_actor_for_user(user)},
{:member, true} <- {:member, Actors.is_member?(actor_id, group_id)} do
{:ok, group}
@@ -35,8 +35,11 @@ defmodule Mobilizon.GraphQL.Resolvers.Group do
{:member, false} ->
find_group(parent, args, nil)
_ ->
{:group, _} ->
{:error, :group_not_found}
_ ->
{:error, :unknown}
end
end