1 defmodule Pleroma.Activity.Pruner do
3 Prunes activities from the database.
12 before_time = cutoff()
15 where: fragment("?->>'type' = ?", a.data, "Delete") and a.inserted_at < ^before_time
17 |> Repo.delete_all(timeout: :infinity)
21 before_time = cutoff()
24 where: fragment("?->>'type' = ?", a.data, "Undo") and a.inserted_at < ^before_time
26 |> Repo.delete_all(timeout: :infinity)
30 before_time = cutoff()
33 where: fragment("?->>'type' = ?", a.data, "Remove") and a.inserted_at < ^before_time
35 |> Repo.delete_all(timeout: :infinity)
38 def prune_stale_follow_requests do
39 before_time = cutoff()
43 fragment("?->>'type' = ?", a.data, "Follow") and a.inserted_at < ^before_time and
44 fragment("?->>'state' = ?", a.data, "reject")
46 |> Repo.delete_all(timeout: :infinity)
50 DateTime.utc_now() |> Timex.shift(days: -@cutoff)