26 lines
544 B
Elixir
26 lines
544 B
Elixir
defmodule Plausible.Workers.CleanInvitations do
|
|
use Plausible.Repo
|
|
use Oban.Worker, queue: :clean_invitations
|
|
|
|
@cutoff Duration.new!(hour: -48)
|
|
|
|
@impl Oban.Worker
|
|
def perform(_job) do
|
|
cutoff_time =
|
|
NaiveDateTime.utc_now(:second)
|
|
|> NaiveDateTime.shift(@cutoff)
|
|
|
|
Repo.delete_all(
|
|
from ti in Plausible.Teams.Invitation,
|
|
where: ti.inserted_at < ^cutoff_time
|
|
)
|
|
|
|
Repo.delete_all(
|
|
from ti in Plausible.Teams.SiteTransfer,
|
|
where: ti.inserted_at < ^cutoff_time
|
|
)
|
|
|
|
:ok
|
|
end
|
|
end
|