91 lines
2.2 KiB
Go
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)
|
|
})
|
|
}
|