summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorIlja <ilja@ilja.space>2022-05-28 12:15:36 +0200
committerIlja <ilja@ilja.space>2022-06-21 12:10:27 +0200
commitcbb26262a5957d3a72bef383a394bb3b2ad0215d (patch)
tree7a659afc43639e16f04350f9938301135a95eaa0 /lib
parent3f26f1b30fe605635e3faf610f813f3ae3ad43ec (diff)
downloadpleroma-cbb26262a5957d3a72bef383a394bb3b2ad0215d.tar.gz
pleroma-cbb26262a5957d3a72bef383a394bb3b2ad0215d.zip
Add privileges for :user_read
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 dbcd6f399..68719c570 100644
--- a/lib/pleroma/web/router.ex
+++ b/lib/pleroma/web/router.ex
@@ -140,6 +140,11 @@ defmodule Pleroma.Web.Router do
plug(Pleroma.Web.Plugs.EnsurePrivilegedPlug, :report_handle)
end
+ pipeline :require_privileged_role_user_read do
+ plug(:admin_api)
+ plug(Pleroma.Web.Plugs.EnsurePrivilegedPlug, :user_read)
+ end
+
pipeline :pleroma_html do
plug(:browser)
plug(:authenticate)
@@ -328,12 +333,17 @@ defmodule Pleroma.Web.Router do
delete("/reports/:report_id/notes/:id", ReportController, :notes_delete)
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_read)
get("/users", UserController, :index)
get("/users/:nickname", UserController, :show)
+ end
+
+ # AdminAPI: admins and mods (staff) can perform these actions
+ scope "/api/v1/pleroma/admin", Pleroma.Web.AdminAPI do
+ pipe_through(:admin_api)
get("/instances/:instance/statuses", InstanceController, :list_statuses)
delete("/instances/:instance", InstanceController, :delete)