aboutsummaryrefslogtreecommitdiff
path: root/lib/pleroma/web/o_auth/token/strategy/revoke.ex
diff options
context:
space:
mode:
authortusooa <tusooa@kazv.moe>2022-10-09 02:05:27 +0000
committertusooa <tusooa@kazv.moe>2022-10-09 02:05:27 +0000
commit59b8c920f62649b5b5902cf0e569749abe3d7991 (patch)
tree870cd2b7f437978fca89150db4d0703cc8898391 /lib/pleroma/web/o_auth/token/strategy/revoke.ex
parentb22843a98247cf683764759f3e447845f3fcedf8 (diff)
parent31fd41de0cbca28cd2461e96384460596e54e9e9 (diff)
downloadpleroma-2.4.4.tar.gz
Merge branch 'release/2.4.4' into 'stable'v2.4.4stable
Release/2.4.4 See merge request pleroma/pleroma!3761
Diffstat (limited to 'lib/pleroma/web/o_auth/token/strategy/revoke.ex')
-rw-r--r--lib/pleroma/web/o_auth/token/strategy/revoke.ex14
1 files changed, 13 insertions, 1 deletions
diff --git a/lib/pleroma/web/o_auth/token/strategy/revoke.ex b/lib/pleroma/web/o_auth/token/strategy/revoke.ex
index 8d6572704..de99bc137 100644
--- a/lib/pleroma/web/o_auth/token/strategy/revoke.ex
+++ b/lib/pleroma/web/o_auth/token/strategy/revoke.ex
@@ -21,6 +21,18 @@ defmodule Pleroma.Web.OAuth.Token.Strategy.Revoke do
@doc "Revokes access token"
@spec revoke(Token.t()) :: {:ok, Token.t()} | {:error, Ecto.Changeset.t()}
def revoke(%Token{} = token) do
- Repo.delete(token)
+ with {:ok, token} <- Repo.delete(token) do
+ Task.Supervisor.start_child(
+ Pleroma.TaskSupervisor,
+ Pleroma.Web.Streamer,
+ :close_streams_by_oauth_token,
+ [token],
+ restart: :transient
+ )
+
+ {:ok, token}
+ else
+ result -> result
+ end
end
end