aboutsummaryrefslogtreecommitdiff
path: root/app/middleware/perms_check.go
diff options
context:
space:
mode:
Diffstat (limited to 'app/middleware/perms_check.go')
-rw-r--r--app/middleware/perms_check.go20
1 files changed, 20 insertions, 0 deletions
diff --git a/app/middleware/perms_check.go b/app/middleware/perms_check.go
new file mode 100644
index 0000000..d118f5a
--- /dev/null
+++ b/app/middleware/perms_check.go
@@ -0,0 +1,20 @@
1package middleware
2
3import (
4 "github.com/labstack/echo/v4"
5)
6
7func RequireAdminPrivileges(next echo.HandlerFunc) echo.HandlerFunc {
8 return func(c echo.Context) error {
9 p, err := GetAuthorizedPrincipal(c)
10 if err != nil {
11 return echo.ErrUnauthorized
12 }
13
14 if !p.IsAdmin {
15 return echo.NotFoundHandler(c)
16 }
17
18 return next(c)
19 }
20}