summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorIlja <ilja@ilja.space>2022-07-14 08:40:26 +0200
committerIlja <ilja@ilja.space>2022-07-14 08:40:26 +0200
commitc045a49909c2a1078864484d0327e03dac73687b (patch)
tree320309a79c3b0f23ba4800155e543647fa1f58ee /lib
parent44d14e8a9c0f9472560b6e389af7f28de6006a2f (diff)
downloadpleroma-c045a49909c2a1078864484d0327e03dac73687b.tar.gz
pleroma-c045a49909c2a1078864484d0327e03dac73687b.zip
Add privilege for announcements
Diffstat (limited to 'lib')
-rw-r--r--lib/pleroma/web/router.ex10
1 files changed, 10 insertions, 0 deletions
diff --git a/lib/pleroma/web/router.ex b/lib/pleroma/web/router.ex
index e715aaa96..f77513046 100644
--- a/lib/pleroma/web/router.ex
+++ b/lib/pleroma/web/router.ex
@@ -170,6 +170,11 @@ defmodule Pleroma.Web.Router do
plug(Pleroma.Web.Plugs.EnsurePrivilegedPlug, :statistics_read)
end
+ pipeline :require_privileged_role_announcements_manage_announcements do
+ plug(:admin_api)
+ plug(Pleroma.Web.Plugs.EnsurePrivilegedPlug, :announcements_manage_announcements)
+ end
+
pipeline :pleroma_html do
plug(:browser)
plug(:authenticate)
@@ -289,6 +294,11 @@ defmodule Pleroma.Web.Router do
post("/frontends/install", FrontendController, :install)
post("/backups", AdminAPIController, :create_backup)
+ end
+
+ # AdminAPI: admins and mods (staff) can perform these actions (if privileged by role)
+ scope "/api/v1/pleroma/admin", Pleroma.Web.AdminAPI do
+ pipe_through(:require_privileged_role_announcements_manage_announcements)
get("/announcements", AnnouncementController, :index)
post("/announcements", AnnouncementController, :create)