gatewaygroup.go 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. package service
  2. import (
  3. "context"
  4. "fmt"
  5. v1 "github.com/go-nunu/nunu-layout-advanced/api/v1"
  6. "github.com/go-nunu/nunu-layout-advanced/internal/model"
  7. "github.com/go-nunu/nunu-layout-advanced/internal/repository"
  8. "github.com/spf13/cast"
  9. )
  10. type GatewayGroupService interface {
  11. GetGatewayGroup(ctx context.Context, id int64) (*model.GatewayGroup, error)
  12. AddGatewayGroup(ctx context.Context, req v1.AddGateWayGroupRequest) (int, error)
  13. }
  14. func NewGatewayGroupService
  15. service *Service,
  16. gatewayGroupRepository repository.GatewayGroupRepository,
  17. gatewayGroupRepository repository.GatewayGroupRepository,
  18. required RequiredService,
  19. parser ParserService,
  20. ) GatewayGroupService {
  21. Service: service,
  22. Service: service,
  23. required: required,
  24. parser: parser,
  25. parser: parser,
  26. }
  27. }
  28. type gatewayGroupService struct {
  29. *Service
  30. required RequiredService
  31. parser ParserService
  32. parser ParserService
  33. }
  34. func (s *gatewayGroupService) GetGatewayGroup(ctx context.Context, id int64) (*model.GatewayGroup, error) {
  35. return s.gatewayGroupRepository.GetGatewayGroup(ctx, id)
  36. }
  37. func (s *gatewayGroupService) AddGatewayGroup(ctx context.Context, req v1.AddGateWayGroupRequest) (int, error) {
  38. "name": req.Name,
  39. "name": req.Name,
  40. "comment": req.Comment,
  41. }
  42. respBody, err := s.required.SendForm(ctx, "admin/info/waf_gateway_group/new", "admin/new/waf_gateway_group", formData)
  43. if err != nil {
  44. return 0, err
  45. }
  46. gateWayGroupIdBase, err := s.parser.GetRuleIdByColumnName(ctx, respBody, req.Name)
  47. if err != nil {
  48. return 0, err
  49. }
  50. if gateWayGroupIdBase == "" {
  51. res, err := s.parser.ParseAlert(string(respBody))
  52. if err != nil {
  53. return 0, err
  54. }
  55. return 0, fmt.Errorf(res)
  56. }
  57. gateWayGroupId, err := cast.ToIntE(gateWayGroupIdBase)
  58. return 0, err
  59. return 0, err
  60. }
  61. return gateWayGroupId, nil
  62. r
  63. }