Benutzerverwaltung

This commit is contained in:
Simon Martens
2025-05-26 17:27:52 +02:00
parent d1ab30e387
commit 24b56ff97f
8 changed files with 424 additions and 98 deletions

View File

@@ -0,0 +1,24 @@
package middleware
import (
"github.com/Theodor-Springmann-Stiftung/musenalm/templating"
"github.com/pocketbase/pocketbase/core"
)
// INFO: Here the URL must have a path value "uid" which is the user ID of the affected user.
func IsAdminOrUser() func(*core.RequestEvent) error {
return func(e *core.RequestEvent) error {
req := templating.NewRequest(e)
user := req.User()
if user == nil {
return e.Error(401, "Unauthorized", nil)
}
uid := e.Request.PathValue("uid")
if uid != user.Id && user.Role != "Admin" {
return e.Error(403, "Forbidden", nil)
}
return e.Next()
}
}