Remove unused require
[akkoma] / lib / pleroma / workers / cron / purge_expired_activities_worker.ex
index 2a72742078bd6d6123b0903f52362c2e4d3d579e..6549207fc4273bffab886de69afe6845a63a2ae0 100644 (file)
@@ -1,5 +1,5 @@
 # Pleroma: A lightweight social networking server
-# Copyright © 2017-2019 Pleroma Authors <https://pleroma.social/>
+# Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/>
 # SPDX-License-Identifier: AGPL-3.0-only
 
 defmodule Pleroma.Workers.Cron.PurgeExpiredActivitiesWorker do
@@ -20,20 +20,29 @@ defmodule Pleroma.Workers.Cron.PurgeExpiredActivitiesWorker do
   @interval :timer.minutes(1)
 
   @impl Oban.Worker
-  def perform(_opts, _job) do
+  def perform(_job) do
     if Config.get([ActivityExpiration, :enabled]) do
       Enum.each(ActivityExpiration.due_expirations(@interval), &delete_activity/1)
     end
+  after
+    :ok
   end
 
-  def delete_activity(expiration) do
-    try do
-      activity = Activity.get_by_id_with_object(expiration.activity_id)
-      user = User.get_by_ap_id(activity.object.data["actor"])
+  def delete_activity(%ActivityExpiration{activity_id: activity_id}) do
+    with {:activity, %Activity{} = activity} <-
+           {:activity, Activity.get_by_id_with_object(activity_id)},
+         {:user, %User{} = user} <- {:user, User.get_by_ap_id(activity.object.data["actor"])} do
       CommonAPI.delete(activity.id, user)
-    rescue
-      error ->
-        Logger.error("#{__MODULE__} Couldn't delete expired activity: #{inspect(error)}")
+    else
+      {:activity, _} ->
+        Logger.error(
+          "#{__MODULE__} Couldn't delete expired activity: not found activity ##{activity_id}"
+        )
+
+      {:user, _} ->
+        Logger.error(
+          "#{__MODULE__} Couldn't delete expired activity: not found actor of ##{activity_id}"
+        )
     end
   end
 end