rbac/controllers/user.go
zhangkun9038@dingtalk.com 375b305ab4 aliyun-deepseek-r1
2025-02-20 11:29:57 +08:00

38 lines
835 B
Go

package controllers
import (
"net/http"
"gitea.zjmud.com/phyer/rbac/models"
"github.com/gin-gonic/gin"
"gorm.io/gorm"
)
type UserController struct {
DB *gorm.DB
Redis *redis.Client
}
func NewUserController(db *gorm.DB, redis *redis.Client) *UserController {
return &UserController{DB: db, Redis: redis}
}
func (uc *UserController) GetUsers(c *gin.Context) {
var users []models.User
if err := uc.DB.Find(&users).Error; err != nil {
c.JSON(http.StatusInternalServerError, gin.H{"error": "failed to fetch users"})
return
}
c.JSON(http.StatusOK, users)
}
func (uc *UserController) GetUserByID(c *gin.Context) {
id := c.Param("id")
var user models.User
if err := uc.DB.First(&user, id).Error; err != nil {
c.JSON(http.StatusNotFound, gin.H{"error": "user not found"})
return
}
c.JSON(http.StatusOK, user)
}