Merge branch 'develop' into gun
[akkoma] / lib / pleroma / workers / attachments_cleanup_worker.ex
index f8239ece6a779f0e7f68e2f7e632843e94912755..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 =
@@ -35,10 +38,11 @@ defmodule Pleroma.Workers.AttachmentsCleanupWorker do
             ^hrefs
           )
       )
-      # The query above can be time consumptive on large instances until we refactor how uploads are stored
-      |> Repo.all(timout: :infinity)
-      # we should delete 1 object for any given attachment, but don't delete files if
-      # there are more than 1 object for it
+      # The query above can be time consumptive on large instances until we
+      # refactor how uploads are stored
+      |> 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 %{
                                id: id,
                                data: %{
@@ -69,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}")
 
@@ -83,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