package controller import ( "github.com/gin-gonic/gin" "github.com/mhaya/game/game_cluster/nodes/webadmin/entity" "github.com/mhaya/game/game_cluster/nodes/webadmin/service" ) type Whitelist struct { } func NewWhitelist() *Whitelist { return &Whitelist{} } // GetWhitelist 获取白名单 // @Summary 获取白名单 // @Description 获取白名单 // @Tags 白名单 // @Accept json // @Produce json // @Param req body entity.WhitelistListReq true "请求参数" // @Success 200 {object} []models.Whitelist "返回结果" // @Router /v1/admin/whitelist/list [post] func (w *Whitelist) GetWhitelist(ctx *gin.Context) { req := &entity.WhitelistListReq{} if err := ctx.ShouldBindJSON(req); err != nil { ctx.JSON(200, gin.H{ "code": 400, "msg": err.Error(), }) return } whitelists, err := new(service.Whitelist).GetAll(req) if err != nil { ctx.JSON(200, gin.H{ "code": 400, "msg": err.Error(), }) return } ctx.JSON(200, gin.H{ "code": 200, "data": whitelists, }) } // AddWhitelist 新增白名单 // @Summary 新增白名单 // @Description 新增白名单 // @Tags 白名单 // @Accept json // @Produce json // @Param req body entity.WhitelistAddReq true "请求参数" // @Success 200 {object} entity.Response "返回结果" // @Router /v1/admin/whitelist/add [post] func (w *Whitelist) AddWhitelist(ctx *gin.Context) { req := &entity.WhitelistAddReq{} if err := ctx.ShouldBindJSON(req); err != nil { ctx.JSON(200, gin.H{ "code": 400, "msg": err.Error(), }) return } err := new(service.Whitelist).Add(req.IP, req.Desc) if err != nil { ctx.JSON(200, gin.H{ "code": 400, "msg": err.Error(), }) return } ctx.JSON(200, gin.H{ "code": 200, }) } // RemoveWhitelist 删除白名单 // @Summary 删除白名单 // @Description 删除白名单 // @Tags 白名单 // @Accept json // @Produce json // @Param req body entity.WhitelistRemoveReq true "请求参数" // @Success 200 {object} entity.Response "返回结果" // @Router /v1/admin/whitelist/remove [post] func (w *Whitelist) RemoveWhitelist(ctx *gin.Context) { req := &entity.WhitelistRemoveReq{} if err := ctx.ShouldBindJSON(req); err != nil { ctx.JSON(200, gin.H{ "code": 400, "msg": err.Error(), }) return } err := new(service.Whitelist).Remove(req.IP) if err != nil { ctx.JSON(200, gin.H{ "code": 400, "msg": err.Error(), }) return } ctx.JSON(200, gin.H{ "code": 200, }) }