Actor suspension refactoring
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
This commit is contained in:
@@ -6,6 +6,7 @@ defmodule Mobilizon.Service.Workers.Background do
|
||||
alias Mobilizon.Actors
|
||||
alias Mobilizon.Actors.Actor
|
||||
alias Mobilizon.Federation.ActivityPub.Refresher
|
||||
alias Mobilizon.Service.ActorSuspension
|
||||
|
||||
use Mobilizon.Service.Workers.Helper, queue: "background"
|
||||
|
||||
@@ -14,7 +15,7 @@ defmodule Mobilizon.Service.Workers.Background do
|
||||
with reserve_username when is_boolean(reserve_username) <-
|
||||
Map.get(args, "reserve_username", true),
|
||||
%Actor{} = actor <- Actors.get_actor(actor_id) do
|
||||
Actors.perform(:delete_actor, actor, reserve_username: reserve_username)
|
||||
ActorSuspension.suspend_actor(actor, reserve_username: reserve_username)
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
18
lib/service/workers/clean_suspended_actors.ex
Normal file
18
lib/service/workers/clean_suspended_actors.ex
Normal file
@@ -0,0 +1,18 @@
|
||||
defmodule Mobilizon.Service.Workers.CleanUnconfirmedUsersWorker do
|
||||
@moduledoc """
|
||||
Worker to clean unattached media
|
||||
"""
|
||||
|
||||
use Oban.Worker, queue: "background"
|
||||
alias Mobilizon.Actors
|
||||
alias Mobilizon.Service.ActorSuspension
|
||||
|
||||
@suspention_days 30
|
||||
|
||||
@impl Oban.Worker
|
||||
def perform(%Job{}) do
|
||||
[suspension: @suspention_days]
|
||||
|> Actors.list_suspended_actors_to_purge()
|
||||
|> Enum.each(&ActorSuspension.suspend_actor(&1, reserve_username: true, suspension: true))
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user