migration to move tokens expiration into Oban
This commit is contained in:
parent
c6647c08e1
commit
e11fca88d4
1 changed files with 36 additions and 0 deletions
|
@ -0,0 +1,36 @@
|
|||
defmodule Pleroma.Repo.Migrations.MoveTokensExpirationIntoOban do
|
||||
use Ecto.Migration
|
||||
|
||||
import Ecto.Query, only: [from: 2]
|
||||
|
||||
def change do
|
||||
Supervisor.start_link([{Oban, Pleroma.Config.get(Oban)}],
|
||||
strategy: :one_for_one,
|
||||
name: Pleroma.Supervisor
|
||||
)
|
||||
|
||||
if Pleroma.Config.get([:oauth2, :clean_expired_tokens]) do
|
||||
from(t in Pleroma.Web.OAuth.Token, where: t.valid_until > ^NaiveDateTime.utc_now())
|
||||
|> Pleroma.Repo.stream()
|
||||
|> Stream.each(fn token ->
|
||||
Pleroma.Workers.PurgeExpiredToken.enqueue(%{
|
||||
token_id: token.id,
|
||||
valid_until: DateTime.from_naive!(token.valid_until, "Etc/UTC"),
|
||||
mod: Pleroma.Web.OAuth.Token
|
||||
})
|
||||
end)
|
||||
|> Stream.run()
|
||||
end
|
||||
|
||||
from(t in Pleroma.MFA.Token, where: t.valid_until > ^NaiveDateTime.utc_now())
|
||||
|> Pleroma.Repo.stream()
|
||||
|> Stream.each(fn token ->
|
||||
Pleroma.Workers.PurgeExpiredToken.enqueue(%{
|
||||
token_id: token.id,
|
||||
valid_until: DateTime.from_naive!(token.valid_until, "Etc/UTC"),
|
||||
mod: Pleroma.MFA.Token
|
||||
})
|
||||
end)
|
||||
|> Stream.run()
|
||||
end
|
||||
end
|
Loading…
Reference in a new issue