mirror of
https://github.com/khairul169/vaulterm.git
synced 2026-09-15 17:03:30 +07:00
feat: add auth, hosts, & keychains ownership
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
package utils
|
||||
|
||||
import (
|
||||
"github.com/gofiber/contrib/websocket"
|
||||
"github.com/gofiber/fiber/v2"
|
||||
"rul.sh/vaulterm/models"
|
||||
)
|
||||
|
||||
type UserContext struct {
|
||||
*models.User
|
||||
IsAdmin bool
|
||||
}
|
||||
|
||||
func getUserData(user *models.User) *UserContext {
|
||||
isAdmin := false
|
||||
|
||||
if user.Role == models.UserRoleAdmin {
|
||||
isAdmin = true
|
||||
}
|
||||
|
||||
return &UserContext{
|
||||
User: user,
|
||||
IsAdmin: isAdmin,
|
||||
}
|
||||
}
|
||||
|
||||
func GetUser(c *fiber.Ctx) *UserContext {
|
||||
user := c.Locals("user").(*models.User)
|
||||
return getUserData(user)
|
||||
}
|
||||
|
||||
func GetUserWs(c *websocket.Conn) *UserContext {
|
||||
user := c.Locals("user").(*models.User)
|
||||
return getUserData(user)
|
||||
}
|
||||
Reference in New Issue
Block a user