fix(federation): Account suspension should use actor in question as author and not relay actor
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
This commit is contained in:
parent
d2ba732b8b
commit
79b48da222
@ -7,7 +7,7 @@ defmodule Mobilizon.GraphQL.Resolvers.User do
|
|||||||
|
|
||||||
alias Mobilizon.{Actors, Admin, Config, Events, FollowedGroupActivity, Users}
|
alias Mobilizon.{Actors, Admin, Config, Events, FollowedGroupActivity, Users}
|
||||||
alias Mobilizon.Actors.Actor
|
alias Mobilizon.Actors.Actor
|
||||||
alias Mobilizon.Federation.ActivityPub.{Actions, Relay}
|
alias Mobilizon.Federation.ActivityPub.Actions
|
||||||
alias Mobilizon.Service.Akismet
|
alias Mobilizon.Service.Akismet
|
||||||
alias Mobilizon.Service.Auth.Authenticator
|
alias Mobilizon.Service.Auth.Authenticator
|
||||||
alias Mobilizon.Storage.{Page, Repo}
|
alias Mobilizon.Storage.{Page, Repo}
|
||||||
@ -563,7 +563,7 @@ defmodule Mobilizon.GraphQL.Resolvers.User do
|
|||||||
when is_moderator(role) do
|
when is_moderator(role) do
|
||||||
with %User{disabled: false} = user <- Users.get_user(user_id),
|
with %User{disabled: false} = user <- Users.get_user(user_id),
|
||||||
{:ok, %User{}} <-
|
{:ok, %User{}} <-
|
||||||
do_delete_account(%User{} = user, actor_performing: Relay.get_actor()) do
|
do_delete_account(%User{} = user) do
|
||||||
Admin.log_action(moderator_actor, "delete", user)
|
Admin.log_action(moderator_actor, "delete", user)
|
||||||
else
|
else
|
||||||
%User{disabled: true} ->
|
%User{disabled: true} ->
|
||||||
@ -598,7 +598,7 @@ defmodule Mobilizon.GraphQL.Resolvers.User do
|
|||||||
end
|
end
|
||||||
|
|
||||||
@spec do_delete_account(User.t(), Keyword.t()) :: {:ok, User.t()}
|
@spec do_delete_account(User.t(), Keyword.t()) :: {:ok, User.t()}
|
||||||
defp do_delete_account(%User{} = user, options) do
|
defp do_delete_account(%User{} = user, options \\ []) do
|
||||||
with actors <- Users.get_actors_for_user(user),
|
with actors <- Users.get_actors_for_user(user),
|
||||||
activated <- not is_nil(user.confirmed_at),
|
activated <- not is_nil(user.confirmed_at),
|
||||||
# Detach actors from user
|
# Detach actors from user
|
||||||
|
Loading…
Reference in New Issue
Block a user