Procházet zdrojové kódy

fix(service): 增加编辑 Web 转发规则时的域名数量验证

- 在创建和编辑 Web 转发规则时,增加了对域名数量的验证- 验证逻辑位于 wafformatter 的 validateWafDomainCount 方法中
- 如果域名数量超出限制,将返回错误并阻止创建或编辑操作
fusu před 3 týdny
rodič
revize
83d39176c0
1 změnil soubory, kde provedl 23 přidání a 0 odebrání
  1. 23 0
      internal/service/webforwarding.go

+ 23 - 0
internal/service/webforwarding.go

@@ -341,6 +341,18 @@ func (s *webForwardingService) AddWebForwarding(ctx context.Context, req *v1.Web
 	if err != nil {
 		return err
 	}
+
+	// 验证域名限制
+	err = s.wafformatter.validateWafDomainCount(ctx, v1.GlobalRequire{
+		HostId: req.HostId,
+		Domain: req.WebForwardingData.Domain,
+		Comment: req.WebForwardingData.Comment,
+		Uid: req.Uid,
+	})
+	if err != nil {
+		return err
+	}
+
 	err = s.wafformatter.validateWafPortCount(ctx, require.HostId)
 	if err != nil {
 		return err
@@ -524,6 +536,17 @@ func (s *webForwardingService) AddWebForwarding(ctx context.Context, req *v1.Web
 
 func (s *webForwardingService) EditWebForwarding(ctx context.Context, req *v1.WebForwardingRequest) error {
 
+
+	err := s.wafformatter.validateWafDomainCount(ctx, v1.GlobalRequire{
+		HostId: req.HostId,
+		Domain: req.WebForwardingData.Domain,
+		Comment: req.WebForwardingData.Comment,
+		Uid: req.Uid,
+	})
+	if err != nil {
+		return err
+	}
+
 	oldData, err := s.webForwardingRepository.GetWebForwarding(ctx, int64(req.WebForwardingData.Id))
 	if err != nil {
 		return err