tcplimit.go 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  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 TcpLimitHandler struct {
  10. *Handler
  11. tcpLimitService service.TcpLimitService
  12. }
  13. func NewTcpLimitHandler(
  14. handler *Handler,
  15. tcpLimitService service.TcpLimitService,
  16. ) *TcpLimitHandler {
  17. return &TcpLimitHandler{
  18. Handler: handler,
  19. tcpLimitService: tcpLimitService,
  20. }
  21. }
  22. func (h *TcpLimitHandler) GetTcpLimit(ctx *gin.Context) {
  23. }
  24. func (h *TcpLimitHandler) AddTcpLimit(ctx *gin.Context) {
  25. req := new(v1.GeneralLimitRequireRequest)
  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.tcpLimitService.AddTcpLimit(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 *TcpLimitHandler) EditTcpLimit(ctx *gin.Context) {
  39. req := new(v1.TcpLimitSendRequest)
  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. err := h.tcpLimitService.UpdateTcpLimit(ctx, req)
  46. if err != nil {
  47. v1.HandleError(ctx, http.StatusInternalServerError, err, err.Error())
  48. return
  49. }
  50. v1.HandleSuccess(ctx, nil)
  51. }
  52. func (h *TcpLimitHandler) DeleteTcpLimit(ctx *gin.Context) {
  53. req := new(v1.TcpLimitDeleteRequest)
  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.tcpLimitService.DeleteTcpLimit(ctx, req.WafTcpLimitId)
  60. if err != nil {
  61. v1.HandleError(ctx, http.StatusInternalServerError, err, err.Error())
  62. return
  63. }
  64. v1.HandleSuccess(ctx, res)
  65. }