whitelist.go 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. package controller
  2. import (
  3. "github.com/gin-gonic/gin"
  4. "github.com/mhaya/game/game_cluster/nodes/webadmin/entity"
  5. "github.com/mhaya/game/game_cluster/nodes/webadmin/service"
  6. )
  7. type Whitelist struct {
  8. }
  9. func NewWhitelist() *Whitelist {
  10. return &Whitelist{}
  11. }
  12. // GetWhitelist 获取白名单
  13. // @Summary 获取白名单
  14. // @Description 获取白名单
  15. // @Tags 白名单
  16. // @Accept json
  17. // @Produce json
  18. // @Param req body entity.WhitelistListReq true "请求参数"
  19. // @Success 200 {object} []models.Whitelist "返回结果"
  20. // @Router /v1/admin/whitelist/list [post]
  21. func (w *Whitelist) GetWhitelist(ctx *gin.Context) {
  22. req := &entity.WhitelistListReq{}
  23. if err := ctx.ShouldBindJSON(req); err != nil {
  24. ctx.JSON(200, gin.H{
  25. "code": 400,
  26. "msg": err.Error(),
  27. })
  28. return
  29. }
  30. whitelists, err := new(service.Whitelist).GetAll(req)
  31. if err != nil {
  32. ctx.JSON(200, gin.H{
  33. "code": 400,
  34. "msg": err.Error(),
  35. })
  36. return
  37. }
  38. ctx.JSON(200, gin.H{
  39. "code": 200,
  40. "data": whitelists,
  41. })
  42. }
  43. // AddWhitelist 新增白名单
  44. // @Summary 新增白名单
  45. // @Description 新增白名单
  46. // @Tags 白名单
  47. // @Accept json
  48. // @Produce json
  49. // @Param req body entity.WhitelistAddReq true "请求参数"
  50. // @Success 200 {object} entity.Response "返回结果"
  51. // @Router /v1/admin/whitelist/add [post]
  52. func (w *Whitelist) AddWhitelist(ctx *gin.Context) {
  53. req := &entity.WhitelistAddReq{}
  54. if err := ctx.ShouldBindJSON(req); err != nil {
  55. ctx.JSON(200, gin.H{
  56. "code": 400,
  57. "msg": err.Error(),
  58. })
  59. return
  60. }
  61. err := new(service.Whitelist).Add(req.IP, req.Desc)
  62. if err != nil {
  63. ctx.JSON(200, gin.H{
  64. "code": 400,
  65. "msg": err.Error(),
  66. })
  67. return
  68. }
  69. ctx.JSON(200, gin.H{
  70. "code": 200,
  71. })
  72. }
  73. // RemoveWhitelist 删除白名单
  74. // @Summary 删除白名单
  75. // @Description 删除白名单
  76. // @Tags 白名单
  77. // @Accept json
  78. // @Produce json
  79. // @Param req body entity.WhitelistRemoveReq true "请求参数"
  80. // @Success 200 {object} entity.Response "返回结果"
  81. // @Router /v1/admin/whitelist/remove [post]
  82. func (w *Whitelist) RemoveWhitelist(ctx *gin.Context) {
  83. req := &entity.WhitelistRemoveReq{}
  84. if err := ctx.ShouldBindJSON(req); err != nil {
  85. ctx.JSON(200, gin.H{
  86. "code": 400,
  87. "msg": err.Error(),
  88. })
  89. return
  90. }
  91. err := new(service.Whitelist).Remove(req.IP)
  92. if err != nil {
  93. ctx.JSON(200, gin.H{
  94. "code": 400,
  95. "msg": err.Error(),
  96. })
  97. return
  98. }
  99. ctx.JSON(200, gin.H{
  100. "code": 200,
  101. })
  102. }