whitelist.go 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  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} entity.WhitelistListResp "返回结果"
  20. // @Router /v1/admin/whitelist/getWhitelist [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.WhitelistAddResp "返回结果"
  51. // @Router /v1/admin/whitelist/addWhitelist [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)
  62. if err != nil {
  63. ctx.JSON(200, gin.H{
  64. "code": 400,
  65. "msg": err.Error(),
  66. })
  67. return
  68. }
  69. }
  70. // RemoveWhitelist 删除白名单
  71. // @Summary 删除白名单
  72. // @Description 删除白名单
  73. // @Tags 白名单
  74. // @Accept json
  75. // @Produce json
  76. // @Param req body entity.WhitelistRemoveReq true "请求参数"
  77. // @Success 200 {object} entity.WhitelistRemoveResp "返回结果"
  78. func (w *Whitelist) RemoveWhitelist(ctx *gin.Context) {
  79. req := &entity.WhitelistRemoveReq{}
  80. if err := ctx.ShouldBindJSON(req); err != nil {
  81. ctx.JSON(200, gin.H{
  82. "code": 400,
  83. "msg": err.Error(),
  84. })
  85. return
  86. }
  87. err := new(service.Whitelist).Remove(req.IP)
  88. if err != nil {
  89. ctx.JSON(200, gin.H{
  90. "code": 400,
  91. "msg": err.Error(),
  92. })
  93. return
  94. }
  95. ctx.JSON(200, gin.H{
  96. "code": 200,
  97. })
  98. }