aboutsummaryrefslogtreecommitdiff
path: root/lib/pleroma/web/o_auth/token/strategy/revoke.ex
diff options
context:
space:
mode:
authortusooa <tusooa@kazv.moe>2022-10-09 04:29:09 +0000
committertusooa <tusooa@kazv.moe>2022-10-09 04:29:09 +0000
commit8042e0ebe1277519d446a7e2fbcf17629c1ffab2 (patch)
tree91cd50d4adbfd12cb258d517f58fd3a9ee269fcf /lib/pleroma/web/o_auth/token/strategy/revoke.ex
parent3f1c31b7cd07a4d07e3ec407534c80a14f02294a (diff)
parentdd82fd234fcc322e0016d256662b7ad2e21e9834 (diff)
downloadpleroma-8042e0ebe1277519d446a7e2fbcf17629c1ffab2.tar.gz
Merge branch 'mergeback/2.4.4' into 'develop'
mergeback: 2.4.4 See merge request pleroma/pleroma!3762
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 752efca89..3b265b339 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