Page Menu
Home
Phorge
Search
Configure Global Search
Log In
Files
F21841060
purge_expired_token.ex
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Award Token
Flag For Later
Size
907 B
Referenced Files
None
Subscribers
None
purge_expired_token.ex
View Options
# Pleroma: A lightweight social networking server
# Copyright © 2017-2022 Pleroma Authors <https://pleroma.social/>
# SPDX-License-Identifier: AGPL-3.0-only
defmodule
Pleroma.Workers.PurgeExpiredToken
do
@moduledoc
"""
Worker which purges expired OAuth tokens
"""
use
Oban.Worker
,
queue
:
:token_expiration
,
max_attempts
:
1
@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
)
args
|>
__MODULE__
.
new
(
scheduled_at
:
scheduled_at
)
|>
Oban
.
insert
()
end
@impl
true
def
perform
(%
Oban.Job
{
args
:
%{
"token_id"
=>
id
,
"mod"
=>
module
}})
do
module
|>
String
.
to_existing_atom
()
|>
Pleroma.Repo
.
get
(
id
)
|>
Pleroma.Repo
.
delete
()
end
@impl
Oban.Worker
def
timeout
(
_job
),
do
:
:timer
.
seconds
(
5
)
end
File Metadata
Details
Attached
Mime Type
text/x-ruby
Expires
Sat, Dec 27, 11:49 PM (1 d, 9 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
766811
Default Alt Text
purge_expired_token.ex (907 B)
Attached To
Mode
rPUBE pleroma-upstream
Attached
Detach File
Event Timeline
Log In to Comment