summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorIlja <ilja@ilja.space>2022-05-28 08:51:49 +0200
committerIlja <ilja@ilja.space>2022-06-21 12:10:27 +0200
commit14e697a64fe2613649634d46a71acf4d9a7d7bd6 (patch)
treef282bb3ba3a56595b6e168efadf4c967336a0759 /lib
parente102d25d2385761077c08e0b280359392f0592cb (diff)
downloadpleroma-14e697a64fe2613649634d46a71acf4d9a7d7bd6.tar.gz
pleroma-14e697a64fe2613649634d46a71acf4d9a7d7bd6.zip
Add privileges for :user_invite
Diffstat (limited to 'lib')
-rw-r--r--lib/pleroma/web/router.ex14
1 files changed, 12 insertions, 2 deletions
diff --git a/lib/pleroma/web/router.ex b/lib/pleroma/web/router.ex
index bfe5c7b90..87e564488 100644
--- a/lib/pleroma/web/router.ex
+++ b/lib/pleroma/web/router.ex
@@ -130,6 +130,11 @@ defmodule Pleroma.Web.Router do
plug(Pleroma.Web.Plugs.EnsurePrivilegedPlug, :user_activation)
end
+ pipeline :require_privileged_role_user_invite do
+ plug(:admin_api)
+ plug(Pleroma.Web.Plugs.EnsurePrivilegedPlug, :user_invite)
+ end
+
pipeline :pleroma_html do
plug(:browser)
plug(:authenticate)
@@ -296,15 +301,20 @@ defmodule Pleroma.Web.Router do
patch("/users/deactivate", UserController, :deactivate)
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_invite)
patch("/users/approve", UserController, :approve)
post("/users/invite_token", InviteController, :create)
get("/users/invites", InviteController, :index)
post("/users/revoke_invite", InviteController, :revoke)
post("/users/email_invite", InviteController, :email)
+ end
+
+ # AdminAPI: admins and mods (staff) can perform these actions
+ scope "/api/v1/pleroma/admin", Pleroma.Web.AdminAPI do
+ pipe_through(:admin_api)
get("/users", UserController, :index)
get("/users/:nickname", UserController, :show)