@impl Oban.Worker
def perform(
- %{"object" => %{"data" => %{"attachment" => [_ | _] = attachments, "actor" => actor}}},
+ %{
+ "op" => "cleanup_attachments",
+ "object" => %{"data" => %{"attachment" => [_ | _] = attachments, "actor" => actor}}
+ },
_job
) do
hrefs =
^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: %{
_ -> ""
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}")
|> Repo.delete_all()
end
- def perform(%{"object" => _object}, _job), do: :ok
+ def perform(%{"op" => "cleanup_attachments", "object" => _object}, _job), do: :ok
end