udpforwarding.go 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  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. "github.com/mcuadros/go-defaults"
  8. "net/http"
  9. )
  10. type UdpForWardingHandler struct {
  11. *handler.Handler
  12. udpForWardingService waf.UdpForWardingService
  13. }
  14. func NewUdpForWardingHandler(
  15. handler *handler.Handler,
  16. udpForWardingService waf.UdpForWardingService,
  17. ) *UdpForWardingHandler {
  18. return &UdpForWardingHandler{
  19. Handler: handler,
  20. udpForWardingService: udpForWardingService,
  21. }
  22. }
  23. func (h *UdpForWardingHandler) GetUdpForWarding(ctx *gin.Context) {
  24. req := new(v1.GetForwardingRequest)
  25. if err := ctx.ShouldBind(req); err != nil {
  26. v1.HandleError(ctx, http.StatusBadRequest, v1.ErrBadRequest, err.Error())
  27. return
  28. }
  29. defaults.SetDefaults(req)
  30. res, err := h.udpForWardingService.GetUdpForWarding(ctx, *req)
  31. if err != nil {
  32. v1.HandleError(ctx, http.StatusInternalServerError, err, err.Error())
  33. return
  34. }
  35. v1.HandleSuccess(ctx, res)
  36. }
  37. func (h *UdpForWardingHandler) AddUdpForWarding(ctx *gin.Context) {
  38. req := new(v1.UdpForwardingRequest)
  39. if err := ctx.ShouldBind(req); err != nil {
  40. v1.HandleError(ctx, http.StatusBadRequest, v1.ErrBadRequest, err.Error())
  41. return
  42. }
  43. defaults.SetDefaults(req)
  44. err := h.udpForWardingService.AddUdpForwarding(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 *UdpForWardingHandler) EditUdpForWarding(ctx *gin.Context) {
  52. req := new(v1.UdpForwardingRequest)
  53. if err := ctx.ShouldBind(req); err != nil {
  54. v1.HandleError(ctx, http.StatusBadRequest, v1.ErrBadRequest, err.Error())
  55. return
  56. }
  57. defaults.SetDefaults(req)
  58. err := h.udpForWardingService.EditUdpForwarding(ctx, req)
  59. if err != nil {
  60. v1.HandleError(ctx, http.StatusInternalServerError, err, err.Error())
  61. return
  62. }
  63. v1.HandleSuccess(ctx, nil)
  64. }
  65. func (h *UdpForWardingHandler) DeleteUdpForWarding(ctx *gin.Context) {
  66. req := new(v1.DeleteUdpForwardingRequest)
  67. if err := ctx.ShouldBind(req); err != nil {
  68. v1.HandleError(ctx, http.StatusBadRequest, v1.ErrBadRequest, err.Error())
  69. return
  70. }
  71. defaults.SetDefaults(req)
  72. err := h.udpForWardingService.DeleteUdpForwarding(ctx, *req)
  73. if err != nil {
  74. v1.HandleError(ctx, http.StatusInternalServerError, err, err.Error())
  75. return
  76. }
  77. v1.HandleSuccess(ctx, nil)
  78. }
  79. func (h *UdpForWardingHandler) GetUdpForWardingList(ctx *gin.Context) {
  80. req := new(v1.GetForwardingRequest)
  81. if err := ctx.ShouldBind(req); err != nil {
  82. v1.HandleError(ctx, http.StatusBadRequest, v1.ErrBadRequest, err.Error())
  83. return
  84. }
  85. defaults.SetDefaults(req)
  86. res, err := h.udpForWardingService.GetUdpForwardingWafUdpAllIps(ctx, *req)
  87. if err != nil {
  88. v1.HandleError(ctx, http.StatusInternalServerError, err, err.Error())
  89. return
  90. }
  91. v1.HandleSuccess(ctx, res)
  92. }