globallimit.go 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. package waf
  2. import (
  3. "github.com/gin-gonic/gin"
  4. v1 "github.com/go-nunu/nunu-layout-advanced/api/v1"
  5. "github.com/go-nunu/nunu-layout-advanced/internal/handler"
  6. "github.com/go-nunu/nunu-layout-advanced/internal/service/api/waf"
  7. "net/http"
  8. )
  9. type GlobalLimitHandler struct {
  10. *handler.Handler
  11. globalLimitService waf.GlobalLimitService
  12. }
  13. func NewGlobalLimitHandler(
  14. handler *handler.Handler,
  15. globalLimitService waf.GlobalLimitService,
  16. ) *GlobalLimitHandler {
  17. return &GlobalLimitHandler{
  18. Handler: handler,
  19. globalLimitService: globalLimitService,
  20. }
  21. }
  22. //func (h *GlobalLimitHandler) GetGlobalLimit(ctx *gin.Context) {
  23. //
  24. //}
  25. func (h *GlobalLimitHandler) AddGlobalLimit(ctx *gin.Context) {
  26. req := new(v1.GlobalLimitRequest)
  27. if err := ctx.ShouldBind(req); err != nil {
  28. v1.HandleError(ctx, http.StatusBadRequest, v1.ErrBadRequest, err.Error())
  29. return
  30. }
  31. err := h.globalLimitService.AddGlobalLimit(ctx, *req)
  32. if err != nil {
  33. v1.HandleError(ctx, http.StatusInternalServerError, err, err.Error())
  34. return
  35. }
  36. v1.HandleSuccess(ctx, nil)
  37. }
  38. func (h *GlobalLimitHandler) EditGlobalLimit(ctx *gin.Context) {
  39. req := new(v1.GlobalLimitRequest)
  40. if err := ctx.ShouldBind(req); err != nil {
  41. v1.HandleError(ctx, http.StatusBadRequest, v1.ErrBadRequest, err.Error())
  42. return
  43. }
  44. err := h.globalLimitService.EditGlobalLimit(ctx, *req)
  45. if err != nil {
  46. v1.HandleError(ctx, http.StatusInternalServerError, err, err.Error())
  47. return
  48. }
  49. v1.HandleSuccess(ctx, nil)
  50. }
  51. func (h *GlobalLimitHandler) DeleteGlobalLimit(ctx *gin.Context) {
  52. req := new(v1.GlobalLimitRequest)
  53. if err := ctx.ShouldBind(req); err != nil {
  54. v1.HandleError(ctx, http.StatusBadRequest, v1.ErrBadRequest, err.Error())
  55. return
  56. }
  57. err := h.globalLimitService.DeleteGlobalLimit(ctx, *req)
  58. if err != nil {
  59. v1.HandleError(ctx, http.StatusInternalServerError, err, err.Error())
  60. return
  61. }
  62. v1.HandleSuccess(ctx, nil)
  63. }