X-Git-Url: http://git.squeep.com/?a=blobdiff_plain;f=lib%2Fpleroma%2Fworkers%2Fpurge_expired_token.ex;h=b4db84f4ebceb3b2b54a9fb68923f4911b3a7a1d;hb=a079ec3a3cdfd42d2cbd51c7698c2c87828e5778;hp=6068e43bfbd6fc4dff9af20b0fb6e07546e6a2a1;hpb=3ce658b93098551792a69f2455e6e9339a1722e2;p=akkoma
diff --git a/lib/pleroma/workers/purge_expired_token.ex b/lib/pleroma/workers/purge_expired_token.ex
index 6068e43bf..b4db84f4e 100644
--- a/lib/pleroma/workers/purge_expired_token.ex
+++ b/lib/pleroma/workers/purge_expired_token.ex
@@ -1,15 +1,15 @@
# Pleroma: A lightweight social networking server
-# Copyright © 2017-2020 Pleroma Authors
+# Copyright © 2017-2021 Pleroma Authors
# SPDX-License-Identifier: AGPL-3.0-only
-defmodule Pleroma.Workers.PurgeExpiredOAuthToken do
+defmodule Pleroma.Workers.PurgeExpiredToken do
@moduledoc """
Worker which purges expired OAuth tokens
"""
- use Oban.Worker, queue: :oauth_token_expiration, max_attempts: 1
+ use Oban.Worker, queue: :token_expiration, max_attempts: 1
- @spec enqueue(%{token_id: integer(), valid_until: DateTime.t()}) ::
+ @spec enqueue(%{token_id: integer(), valid_until: DateTime.t(), mod: module()}) ::
{:ok, Oban.Job.t()} | {:error, Ecto.Changeset.t()}
def enqueue(args) do
{scheduled_at, args} = Map.pop(args, :valid_until)
@@ -19,9 +19,15 @@ defmodule Pleroma.Workers.PurgeExpiredOAuthToken do
|> Oban.insert()
end
+ @impl Oban.Worker
+ def timeout(_job) do
+ Pleroma.Config.get([:workers, :timeout, :token_expiration], :timer.minutes(1))
+ end
+
@impl true
- def perform(%Oban.Job{args: %{"token_id" => id}}) do
- Pleroma.Web.OAuth.Token
+ def perform(%Oban.Job{args: %{"token_id" => id, "mod" => module}}) do
+ module
+ |> String.to_existing_atom()
|> Pleroma.Repo.get(id)
|> Pleroma.Repo.delete()
end