1 defmodule Pleroma.Object.Pruner do
3 Prunes objects from the database.
12 def prune_tombstoned_deliveries do
14 |> join(:inner, [d], o in Object, on: d.object_id == o.id)
15 |> where([d, o], fragment("?->>'type' = ?", o.data, "Tombstone"))
16 |> Repo.delete_all(timeout: :infinity)
19 def prune_tombstones do
20 before_time = cutoff()
23 where: fragment("?->>'type' = ?", o.data, "Tombstone") and o.inserted_at < ^before_time
25 |> Repo.delete_all(timeout: :infinity, on_delete: :delete_all)
29 DateTime.utc_now() |> Timex.shift(days: -@cutoff)