summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorIlja <ilja@ilja.space>2022-05-26 16:41:48 +0200
committerIlja <ilja@ilja.space>2022-06-21 12:10:27 +0200
commite102d25d2385761077c08e0b280359392f0592cb (patch)
treedaf39866449ee00144e3ceb0f30653a302f6dc4c /lib
parentcb60cc4e02af270fcccdcd552df4fa3ff858d67f (diff)
downloadpleroma-e102d25d2385761077c08e0b280359392f0592cb.tar.gz
pleroma-e102d25d2385761077c08e0b280359392f0592cb.zip
Add privileges for :user_activation
Diffstat (limited to 'lib')
-rw-r--r--lib/pleroma/web/router.ex16
1 files changed, 13 insertions, 3 deletions
diff --git a/lib/pleroma/web/router.ex b/lib/pleroma/web/router.ex
index b5b9e7d07..bfe5c7b90 100644
--- a/lib/pleroma/web/router.ex
+++ b/lib/pleroma/web/router.ex
@@ -125,6 +125,11 @@ defmodule Pleroma.Web.Router do
plug(Pleroma.Web.Plugs.EnsurePrivilegedPlug, :user_tag)
end
+ pipeline :require_privileged_role_user_activation do
+ plug(:admin_api)
+ plug(Pleroma.Web.Plugs.EnsurePrivilegedPlug, :user_activation)
+ end
+
pipeline :pleroma_html do
plug(:browser)
plug(:authenticate)
@@ -282,15 +287,20 @@ defmodule Pleroma.Web.Router do
delete("/users/tag", AdminAPIController, :untag_users)
end
- # AdminAPI: admins and mods (staff) can perform these actions
+ # AdminAPI: admins and mods (staff) can perform these actions (if privileged by role)
scope "/api/v1/pleroma/admin", Pleroma.Web.AdminAPI do
- pipe_through(:admin_api)
+ pipe_through(:require_privileged_role_user_activation)
patch("/users/:nickname/toggle_activation", UserController, :toggle_activation)
patch("/users/activate", UserController, :activate)
patch("/users/deactivate", UserController, :deactivate)
- patch("/users/approve", UserController, :approve)
+ end
+
+ # AdminAPI: admins and mods (staff) can perform these actions
+ scope "/api/v1/pleroma/admin", Pleroma.Web.AdminAPI do
+ pipe_through(:admin_api)
+ patch("/users/approve", UserController, :approve)
post("/users/invite_token", InviteController, :create)
get("/users/invites", InviteController, :index)
post("/users/revoke_invite", InviteController, :revoke)