aboutsummaryrefslogtreecommitdiff
path: root/app/middleware/perms_check.go
blob: d118f5a36e0cc3ae53c5a3175ca3aa5c258c8d37 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
package middleware

import (
	"github.com/labstack/echo/v4"
)

func RequireAdminPrivileges(next echo.HandlerFunc) echo.HandlerFunc {
	return func(c echo.Context) error {
		p, err := GetAuthorizedPrincipal(c)
		if err != nil {
			return echo.ErrUnauthorized
		}

		if !p.IsAdmin {
			return echo.NotFoundHandler(c)
		}

		return next(c)
	}
}