1 defmodule Pleroma.Repo.Migrations.MoveTokensExpirationIntoOban do
4 import Ecto.Query, only: [from: 2]
7 Pleroma.Config.Oban.warn()
9 Supervisor.start_link([{Oban, Pleroma.Config.get(Oban)}],
10 strategy: :one_for_one,
11 name: Pleroma.Supervisor
14 if Pleroma.Config.get([:oauth2, :clean_expired_tokens]) do
15 from(t in Pleroma.Web.OAuth.Token, where: t.valid_until > ^NaiveDateTime.utc_now())
16 |> Pleroma.Repo.stream()
17 |> Stream.each(fn token ->
18 Pleroma.Workers.PurgeExpiredToken.enqueue(%{
20 valid_until: DateTime.from_naive!(token.valid_until, "Etc/UTC"),
21 mod: Pleroma.Web.OAuth.Token
27 from(t in Pleroma.MFA.Token, where: t.valid_until > ^NaiveDateTime.utc_now())
28 |> Pleroma.Repo.stream()
29 |> Stream.each(fn token ->
30 Pleroma.Workers.PurgeExpiredToken.enqueue(%{
32 valid_until: DateTime.from_naive!(token.valid_until, "Etc/UTC"),
33 mod: Pleroma.MFA.Token