Переглянути джерело

refactor(waf): 重构网站配置相关函数

- 修改了多个函数的参数列表,移除了未使用的参数
- 优化了部分函数的实现,提高了代码可读性和维护性
- 统一了函数命名风格,提高了代码一致性
fusu 10 годин тому
батько
коміт
8351e81e02

+ 12 - 18
internal/service/api/waf/aidedweb.go

@@ -21,7 +21,7 @@ type AidedWebService interface {
 	ValidateDeletePermission(oldData *model.WebForwarding, hostId int) error
 	
 	// CDN网站管理
-	CreateCdnWebsite(ctx context.Context, req *v1.WebForwardingRequest, require RequireResponse, formData v1.Website) (int64, error)
+	CreateCdnWebsite(ctx context.Context, formData v1.Website) (int64, error)
 	UpdateCdnConfiguration(ctx context.Context, req *v1.WebForwardingRequest, oldData *model.WebForwarding, tag string, formData v1.Website) error
 	DeleteCdnServer(ctx context.Context, cdnWebId int) error
 	
@@ -31,8 +31,8 @@ type AidedWebService interface {
 	
 	// 功能配置管理
 	ConfigureWebsocket(ctx context.Context, webId int64) error
-	ConfigureProxyProtocol(ctx context.Context, req *v1.WebForwardingRequest, webId int64) error
-	ConfigureCCProtection(ctx context.Context, req *v1.WebForwardingRequest, webId int64) error
+	ConfigureProxyProtocol(ctx context.Context, proxy bool, webId int64) error
+	ConfigureCCProtection(ctx context.Context, ccConfig v1.CcConfigRequest, webId int64) error
 	ConfigureWafFirewall(ctx context.Context, webId int64, groupId int) error
 	
 	// 异步任务处理
@@ -48,7 +48,7 @@ type AidedWebService interface {
 	CleanupDatabaseRecords(ctx context.Context, id int) error
 	
 	// SSL证书管理
-	ProcessSSLCertificate(ctx context.Context, req *v1.WebForwardingRequest, cdnUid int, formData v1.Website) error
+	ProcessSSLCertificate(ctx context.Context, req *v1.WebForwardingRequest, cdnUid int) error
 	ProcessSSLCertificateUpdate(ctx context.Context, req *v1.WebForwardingRequest, oldData *model.WebForwarding, cdnUid int) error
 	CleanupSSLCertificate(ctx context.Context, oldData *model.WebForwarding) error
 	
@@ -474,7 +474,7 @@ func (s *aidedWebService) ValidateWebForwardingRequest(ctx context.Context, req
 }
 
 // ProcessSSLCertificate 处理SSL证书
-func (s *aidedWebService) ProcessSSLCertificate(ctx context.Context, req *v1.WebForwardingRequest, cdnUid int, formData v1.Website) error {
+func (s *aidedWebService) ProcessSSLCertificate(ctx context.Context, req *v1.WebForwardingRequest, cdnUid int) error {
 	if !s.IsHttpsProtocol(req.WebForwardingData.IsHttps) {
 		return nil // 非HTTPS协议不需要处理SSL证书
 	}
@@ -496,7 +496,7 @@ func (s *aidedWebService) ProcessSSLCertificate(ctx context.Context, req *v1.Web
 	req.WebForwardingData.SslCertId = sslCertId
 
 	// 编辑SSL策略
-	if err := s.sslCert.EditSslPolicy(ctx, formData.HttpsJSON.SslPolicyRef.SslPolicyId, []int64{sslCertId}, "add"); err != nil {
+	if err := s.sslCert.EditSslPolicy(ctx, req.WebForwardingData.SslPolicyId, []int64{sslCertId}, "add"); err != nil {
 		return fmt.Errorf("编辑SSL策略失败: %w", err)
 	}
 
@@ -589,7 +589,7 @@ func (s *aidedWebService) ValidateDeletePermission(oldData *model.WebForwarding,
 }
 
 // CreateCdnWebsite 创建CDN网站
-func (s *aidedWebService) CreateCdnWebsite(ctx context.Context, req *v1.WebForwardingRequest, require RequireResponse, formData v1.Website) (int64, error) {
+func (s *aidedWebService) CreateCdnWebsite(ctx context.Context, formData v1.Website) (int64, error) {
 	formDataSend, err := s.BulidFormData(ctx, formData)
 	if err != nil {
 		return 0, fmt.Errorf("构建表单数据失败: %w", err)
@@ -806,8 +806,8 @@ func (s *aidedWebService) ConfigureWebsocket(ctx context.Context, webId int64) e
 }
 
 // ConfigureProxyProtocol 配置代理协议
-func (s *aidedWebService) ConfigureProxyProtocol(ctx context.Context, req *v1.WebForwardingRequest, webId int64) error {
-	if req.WebForwardingData.Proxy {
+func (s *aidedWebService) ConfigureProxyProtocol(ctx context.Context, proxy bool, webId int64) error {
+	if proxy {
 		if err := s.proxy.EditProxy(ctx, webId, v1.ProxyProtocolJSON{
 			IsOn:    true,
 			Version: proxyProtocolVersion,
@@ -819,8 +819,8 @@ func (s *aidedWebService) ConfigureProxyProtocol(ctx context.Context, req *v1.We
 }
 
 // ConfigureCCProtection 配置CC防护
-func (s *aidedWebService) ConfigureCCProtection(ctx context.Context, req *v1.WebForwardingRequest, webId int64) error {
-	if err := s.cc.EditCcConfig(ctx, webId, req.WebForwardingData.CcConfig); err != nil {
+func (s *aidedWebService) ConfigureCCProtection(ctx context.Context, ccConfig v1.CcConfigRequest, webId int64) error {
+	if err := s.cc.EditCcConfig(ctx, webId, ccConfig); err != nil {
 		return fmt.Errorf("配置CC防护失败: %w", err)
 	}
 	return nil
@@ -1065,13 +1065,7 @@ func (s *aidedWebService) ProcessSSLCertificateUpdate(ctx context.Context, req *
 
 	// 如果证书ID为0
 	if oldData.SslCertId == 0 {
-		err := s.ProcessSSLCertificate(ctx, req, cdnUid, v1.Website{
-			HttpsJSON: v1.TypeJSON{
-				SslPolicyRef: v1.SslPolicyRef{
-					SslPolicyId: req.WebForwardingData.SslPolicyId,
-				},
-			},
-		})
+		err := s.ProcessSSLCertificate(ctx, req, cdnUid)
 		if err != nil {
 			return fmt.Errorf("处理SSL证书失败: %w", err)
 		}

+ 6 - 6
internal/service/api/waf/webforwarding.go

@@ -161,12 +161,12 @@ func (s *webForwardingService) AddWebForwarding(ctx context.Context, req *v1.Web
 	}
 
 	// 2. 处理SSL证书
-	if err := s.aidedWeb.ProcessSSLCertificate(ctx, req, require.CdnUid, formData); err != nil {
+	if err := s.aidedWeb.ProcessSSLCertificate(ctx, req, require.CdnUid); err != nil {
 		return 0, err
 	}
 
 	// 3. 创建CDN网站
-	webId, err := s.aidedWeb.CreateCdnWebsite(ctx, req, require, formData)
+	webId, err := s.aidedWeb.CreateCdnWebsite(ctx, formData)
 	if err != nil {
 		return 0, err
 	}
@@ -183,7 +183,7 @@ func (s *webForwardingService) AddWebForwarding(ctx context.Context, req *v1.Web
 	}
 
 	// 6. 配置各种功能
-	if err := s.aidedWeb.ConfigureProxyProtocol(ctx, req, webId); err != nil {
+	if err := s.aidedWeb.ConfigureProxyProtocol(ctx, req.WebForwardingData.Proxy, webId); err != nil {
 		return 0, err
 	}
 
@@ -191,7 +191,7 @@ func (s *webForwardingService) AddWebForwarding(ctx context.Context, req *v1.Web
 		return 0, err
 	}
 
-	if err := s.aidedWeb.ConfigureCCProtection(ctx, req, webId); err != nil {
+	if err := s.aidedWeb.ConfigureCCProtection(ctx, req.WebForwardingData.CcConfig, webId); err != nil {
 		return 0, err
 	}
 
@@ -242,13 +242,13 @@ func (s *webForwardingService) EditWebForwarding(ctx context.Context, req *v1.We
 
 	// 5. 更新Proxy Protocol配置
 	if oldData.Proxy != req.WebForwardingData.Proxy {
-		if err := s.aidedWeb.ConfigureProxyProtocol(ctx, req, int64(oldData.CdnWebId)); err != nil {
+		if err := s.aidedWeb.ConfigureProxyProtocol(ctx, req.WebForwardingData.Proxy, int64(oldData.CdnWebId)); err != nil {
 			return err
 		}
 	}
 
 	// 6. 更新CC防护配置
-	if err := s.aidedWeb.ConfigureCCProtection(ctx, req, int64(oldData.CdnWebId)); err != nil {
+	if err := s.aidedWeb.ConfigureCCProtection(ctx, req.WebForwardingData.CcConfig, int64(oldData.CdnWebId)); err != nil {
 		return err
 	}