yumi-golang/internal/router/manager_center_routes.go
2026-05-12 14:08:46 +08:00

91 lines
2.2 KiB
Go

package router
import (
"net/http"
"strings"
"chatapp3-golang/internal/service/managercenter"
"github.com/gin-gonic/gin"
)
// registerManagerCenterRoutes 注册经理中心 H5 路由。
func registerManagerCenterRoutes(engine *gin.Engine, javaClient authGateway, service *managercenter.Service) {
if service == nil {
return
}
group := engine.Group("/app/h5/manager-center")
group.Use(authMiddleware(javaClient))
group.GET("/profile", func(c *gin.Context) {
resp, err := service.GetProfile(c.Request.Context(), mustAuthUser(c))
if err != nil {
writeError(c, err)
return
}
writeOK(c, resp)
})
group.GET("/users/search", func(c *gin.Context) {
account := strings.TrimSpace(c.Query("account"))
resp, err := service.SearchUser(c.Request.Context(), mustAuthUser(c), account)
if err != nil {
writeError(c, err)
return
}
writeOK(c, resp)
})
group.GET("/props", func(c *gin.Context) {
resp, err := service.ListProps(c.Request.Context(), mustAuthUser(c), c.Query("type"))
if err != nil {
writeError(c, err)
return
}
writeOK(c, resp)
})
group.POST("/props/send", func(c *gin.Context) {
var req managercenter.SendPropsRequest
if err := c.ShouldBindJSON(&req); err != nil {
writeError(c, managercenter.NewAppError(http.StatusBadRequest, "bad_request", err.Error()))
return
}
resp, err := service.SendProps(c.Request.Context(), mustAuthUser(c), req)
if err != nil {
writeError(c, err)
return
}
writeOK(c, resp)
})
group.POST("/users/ban", func(c *gin.Context) {
var req managercenter.BanUserRequest
if err := c.ShouldBindJSON(&req); err != nil {
writeError(c, managercenter.NewAppError(http.StatusBadRequest, "bad_request", err.Error()))
return
}
resp, err := service.BanUser(c.Request.Context(), mustAuthUser(c), req)
if err != nil {
writeError(c, err)
return
}
writeOK(c, resp)
})
group.POST("/users/unban", func(c *gin.Context) {
var req managercenter.UnbanUserRequest
if err := c.ShouldBindJSON(&req); err != nil {
writeError(c, managercenter.NewAppError(http.StatusBadRequest, "bad_request", err.Error()))
return
}
resp, err := service.UnbanUser(c.Request.Context(), mustAuthUser(c), req)
if err != nil {
writeError(c, err)
return
}
writeOK(c, resp)
})
}