123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- package admin
- import (
- "context"
- v1 "github.com/go-nunu/nunu-layout-advanced/api/v1"
- adminApi "github.com/go-nunu/nunu-layout-advanced/api/v1/admin"
- "github.com/go-nunu/nunu-layout-advanced/internal/repository"
- "github.com/go-nunu/nunu-layout-advanced/internal/repository/admin"
- wafRep "github.com/go-nunu/nunu-layout-advanced/internal/repository/api/waf"
- "github.com/go-nunu/nunu-layout-advanced/internal/service"
- )
- type WafManageService interface {
- GetWafManageList(ctx context.Context,req adminApi.WafManageList) (*v1.PaginatedResponse[adminApi.WafManageListRes], error)
- RecoverWaf(ctx context.Context,req adminApi.RecoverWafRequest) error
- SyncExecuteRenewalActions(ctx context.Context,req adminApi.RecoverWafRequest) error
- }
- func NewWafManageService(
- service *service.Service,
- wafManageRepository admin.WafManageRepository,
- globalLimitRep wafRep.GlobalLimitRepository,
- wafOperations WafOperationsService,
- hostRep repository.HostRepository,
- ) WafManageService {
- return &wafManageService{
- Service: service,
- wafManageRepository: wafManageRepository,
- globalLimitRep: globalLimitRep,
- wafOperations: wafOperations,
- hostRep: hostRep,
- }
- }
- type wafManageService struct {
- *service.Service
- wafManageRepository admin.WafManageRepository
- globalLimitRep wafRep.GlobalLimitRepository
- wafOperations WafOperationsService
- hostRep repository.HostRepository
- }
- func (s *wafManageService) GetWafManageList(ctx context.Context,req adminApi.WafManageList) (*v1.PaginatedResponse[adminApi.WafManageListRes], error) {
- return s.wafManageRepository.GetWafManageList(ctx, req)
- }
- func (s *wafManageService) RecoverWaf(ctx context.Context,req adminApi.RecoverWafRequest) error {
- wafModels, err := s.globalLimitRep.GetGlobalLimitsByHostIds(ctx, req.HostIds)
- if err != nil {
- return err
- }
- err = s.wafOperations.RecoverPlans(ctx, *wafModels, "closed")
- if err != nil {
- return err
- }
- return nil
- }
- func (s *wafManageService) SyncExecuteRenewalActions(ctx context.Context,req adminApi.RecoverWafRequest) error {
- wafData, err := s.hostRep.GetExpireTimeByHostId(ctx, req.HostIds)
- if err != nil {
- return err
- }
- var renewalRequest []RenewalRequest
- for i := range wafData {
- renewalRequest = append(renewalRequest, RenewalRequest{
- HostId: wafData[i].HostId,
- ExpiredAt: wafData[i].ExpiredAt,
- })
- }
- err = s.wafOperations.ExecuteRenewalActions(ctx, renewalRequest)
- if err != nil {
- return err
- }
- return nil
- }
|