weblimit.go 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. package handler
  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/service"
  6. "github.com/mcuadros/go-defaults"
  7. "net/http"
  8. )
  9. type WebLimitHandler struct {
  10. *Handler
  11. webLimitService service.WebLimitService
  12. }
  13. func NewWebLimitHandler(
  14. handler *Handler,
  15. webLimitService service.WebLimitService,
  16. ) *WebLimitHandler {
  17. return &WebLimitHandler{
  18. Handler: handler,
  19. webLimitService: webLimitService,
  20. }
  21. }
  22. func (h *WebLimitHandler) GetWebLimit(ctx *gin.Context) {
  23. }
  24. func (h *WebLimitHandler) AddWebLimit(ctx *gin.Context) {
  25. req := new(v1.WebLimitRequest)
  26. if err := ctx.ShouldBind(req); err != nil {
  27. v1.HandleError(ctx, http.StatusBadRequest, v1.ErrBadRequest, err.Error())
  28. return
  29. }
  30. defaults.SetDefaults(req)
  31. res, err := h.webLimitService.AddWebLimit(ctx, req)
  32. if err != nil {
  33. v1.HandleError(ctx, http.StatusInternalServerError, err, err.Error())
  34. return
  35. }
  36. v1.HandleSuccess(ctx, res)
  37. }
  38. func (h *WebLimitHandler) EditWebLimit(ctx *gin.Context) {
  39. req := new(v1.WebLimitRequest)
  40. if err := ctx.ShouldBind(req); err != nil {
  41. v1.HandleError(ctx, http.StatusBadRequest, v1.ErrBadRequest, err.Error())
  42. return
  43. }
  44. defaults.SetDefaults(req)
  45. res, err := h.webLimitService.UpdateWebLimit(ctx, req)
  46. if err != nil {
  47. v1.HandleError(ctx, http.StatusInternalServerError, err, err.Error())
  48. return
  49. }
  50. v1.HandleSuccess(ctx, res)
  51. }
  52. func (h *WebLimitHandler) DeleteWebLimit(ctx *gin.Context) {
  53. req := new(v1.WebLimitDeleteRequest)
  54. if err := ctx.ShouldBind(req); err != nil {
  55. v1.HandleError(ctx, http.StatusBadRequest, v1.ErrBadRequest, err.Error())
  56. return
  57. }
  58. defaults.SetDefaults(req)
  59. res, err := h.webLimitService.DeleteWebLimit(ctx, req.WafWebLimitId)
  60. if err != nil {
  61. v1.HandleError(ctx, http.StatusInternalServerError, err, err.Error())
  62. return
  63. }
  64. v1.HandleSuccess(ctx, res)
  65. }