mirror of
https://github.com/khairul169/vaulterm.git
synced 2026-09-15 17:03:30 +07:00
feat: team access control
This commit is contained in:
+6
-22
@@ -3,33 +3,17 @@ package utils
|
||||
import (
|
||||
"github.com/gofiber/contrib/websocket"
|
||||
"github.com/gofiber/fiber/v2"
|
||||
"rul.sh/vaulterm/models"
|
||||
"rul.sh/vaulterm/middleware"
|
||||
)
|
||||
|
||||
type UserContext struct {
|
||||
*models.User
|
||||
IsAdmin bool `json:"isAdmin"`
|
||||
}
|
||||
|
||||
func getUserData(user *models.User) *UserContext {
|
||||
isAdmin := false
|
||||
|
||||
if user.Role == models.UserRoleAdmin {
|
||||
isAdmin = true
|
||||
}
|
||||
|
||||
return &UserContext{
|
||||
User: user,
|
||||
IsAdmin: isAdmin,
|
||||
}
|
||||
}
|
||||
type UserContext = middleware.AuthUser
|
||||
|
||||
func GetUser(c *fiber.Ctx) *UserContext {
|
||||
user := c.Locals("user").(*models.User)
|
||||
return getUserData(user)
|
||||
user, _ := c.Locals("user").(*UserContext)
|
||||
return user
|
||||
}
|
||||
|
||||
func GetUserWs(c *websocket.Conn) *UserContext {
|
||||
user := c.Locals("user").(*models.User)
|
||||
return getUserData(user)
|
||||
user, _ := c.Locals("user").(*UserContext)
|
||||
return user
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user