Merge branch 'develop' of https://git.pleroma.social/pleroma/pleroma into develop
[akkoma] / lib / pleroma / workers / attachments_cleanup_worker.ex
index 3f421db4079c1a86841cc7f29f8683b809d8e9f0..2cbc6b64d3bc427e7af1fb17e5e6cf6de9f190ad 100644 (file)
@@ -12,7 +12,10 @@ defmodule Pleroma.Workers.AttachmentsCleanupWorker do
 
   @impl Oban.Worker
   def perform(
-        %{"object" => %{"data" => %{"attachment" => [_ | _] = attachments, "actor" => actor}}},
+        %{
+          "op" => "cleanup_attachments",
+          "object" => %{"data" => %{"attachment" => [_ | _] = attachments, "actor" => actor}}
+        },
         _job
       ) do
     hrefs =
@@ -37,7 +40,7 @@ defmodule Pleroma.Workers.AttachmentsCleanupWorker do
       )
       # The query above can be time consumptive on large instances until we
       # refactor how uploads are stored
-      |> Repo.all(timout: :infinity)
+      |> Repo.all(timeout: :infinity)
       # we should delete 1 object for any given attachment, but don't delete
       # files if there are more than 1 object for it
       |> Enum.reduce(%{}, fn %{
@@ -70,7 +73,11 @@ defmodule Pleroma.Workers.AttachmentsCleanupWorker do
               _ -> ""
             end
 
-          base_url = Pleroma.Config.get([__MODULE__, :base_url], Pleroma.Web.base_url())
+          base_url =
+            String.trim_trailing(
+              Pleroma.Config.get([Pleroma.Upload, :base_url], Pleroma.Web.base_url()),
+              "/"
+            )
 
           file_path = String.trim_leading(href, "#{base_url}/#{prefix}")
 
@@ -84,5 +91,5 @@ defmodule Pleroma.Workers.AttachmentsCleanupWorker do
     |> Repo.delete_all()
   end
 
-  def perform(%{"object" => _object}, _job), do: :ok
+  def perform(%{"op" => "cleanup_attachments", "object" => _object}, _job), do: :ok
 end