Refactor the ActivityPub module
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
This commit is contained in:
@@ -10,6 +10,7 @@ defmodule Mobilizon.GraphQL.API.Search do
|
||||
alias Mobilizon.Storage.Page
|
||||
|
||||
alias Mobilizon.Federation.ActivityPub
|
||||
alias Mobilizon.Federation.ActivityPub.Actor, as: ActivityPubActor
|
||||
|
||||
require Logger
|
||||
|
||||
@@ -92,7 +93,7 @@ defmodule Mobilizon.GraphQL.API.Search do
|
||||
# If the search string is an username
|
||||
@spec process_from_username(String.t()) :: Page.t()
|
||||
defp process_from_username(search) do
|
||||
case ActivityPub.find_or_make_actor_from_nickname(search) do
|
||||
case ActivityPubActor.find_or_make_actor_from_nickname(search) do
|
||||
{:ok, actor} ->
|
||||
%Page{total: 1, elements: [actor]}
|
||||
|
||||
|
||||
@@ -7,6 +7,7 @@ defmodule Mobilizon.GraphQL.Resolvers.Group do
|
||||
alias Mobilizon.{Actors, Events, Users}
|
||||
alias Mobilizon.Actors.{Actor, Member}
|
||||
alias Mobilizon.Federation.ActivityPub
|
||||
alias Mobilizon.Federation.ActivityPub.Actor, as: ActivityPubActor
|
||||
alias Mobilizon.GraphQL.API
|
||||
alias Mobilizon.Users.User
|
||||
alias Mobilizon.Web.Upload
|
||||
@@ -27,7 +28,7 @@ defmodule Mobilizon.GraphQL.Resolvers.Group do
|
||||
}
|
||||
) do
|
||||
with {:group, {:ok, %Actor{id: group_id, suspended: false} = group}} <-
|
||||
{:group, ActivityPub.find_or_make_group_from_nickname(name)},
|
||||
{:group, ActivityPubActor.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}
|
||||
@@ -45,7 +46,7 @@ defmodule Mobilizon.GraphQL.Resolvers.Group do
|
||||
|
||||
def find_group(_parent, %{preferred_username: name}, _resolution) do
|
||||
with {:ok, %Actor{suspended: false} = actor} <-
|
||||
ActivityPub.find_or_make_group_from_nickname(name),
|
||||
ActivityPubActor.find_or_make_group_from_nickname(name),
|
||||
%Actor{} = actor <- restrict_fields_for_non_member_request(actor) do
|
||||
{:ok, actor}
|
||||
else
|
||||
|
||||
@@ -7,6 +7,7 @@ defmodule Mobilizon.GraphQL.Resolvers.Member do
|
||||
alias Mobilizon.{Actors, Users}
|
||||
alias Mobilizon.Actors.{Actor, Member}
|
||||
alias Mobilizon.Federation.ActivityPub
|
||||
alias Mobilizon.Federation.ActivityPub.Actor, as: ActivityPubActor
|
||||
alias Mobilizon.Federation.ActivityPub.Refresher
|
||||
alias Mobilizon.Storage.Page
|
||||
alias Mobilizon.Users.User
|
||||
@@ -70,7 +71,7 @@ defmodule Mobilizon.GraphQL.Resolvers.Member do
|
||||
target_actor_username |> String.trim() |> String.trim_leading("@"),
|
||||
{:target_actor_username, {:ok, %Actor{id: target_actor_id} = target_actor}} <-
|
||||
{:target_actor_username,
|
||||
ActivityPub.find_or_make_actor_from_nickname(target_actor_username)},
|
||||
ActivityPubActor.find_or_make_actor_from_nickname(target_actor_username)},
|
||||
{:existant, true} <-
|
||||
{:existant, check_member_not_existant_or_rejected(target_actor_id, group.id)},
|
||||
{:ok, _activity, %Member{} = member} <- ActivityPub.invite(group, actor, target_actor) do
|
||||
|
||||
@@ -13,6 +13,7 @@ defmodule Mobilizon.GraphQL.Resolvers.Person do
|
||||
import Mobilizon.Web.Gettext
|
||||
|
||||
alias Mobilizon.Federation.ActivityPub
|
||||
alias Mobilizon.Federation.ActivityPub.Actor, as: ActivityPubActor
|
||||
require Logger
|
||||
|
||||
alias Mobilizon.Web.Upload
|
||||
@@ -39,7 +40,7 @@ defmodule Mobilizon.GraphQL.Resolvers.Person do
|
||||
context: %{current_user: %User{} = user}
|
||||
}) do
|
||||
with {:ok, %Actor{id: actor_id} = actor} <-
|
||||
ActivityPub.find_or_make_actor_from_nickname(preferred_username),
|
||||
ActivityPubActor.find_or_make_actor_from_nickname(preferred_username),
|
||||
{:own, {:is_owned, _}} <- {:own, User.owns_actor(user, actor_id)} do
|
||||
{:ok, actor}
|
||||
else
|
||||
|
||||
Reference in New Issue
Block a user