Parcourir la source

feat(cdn): 添加删除证书和获取策略功能

- 新增 DelSSLCert 函数,用于删除 SSL 证书
- 新增 GetSSLPolicy 函数,用于获取 SSL 策略配置
- 完善了 CDNService 的功能,支持更多 SSL 相关操作
huangjl il y a 1 mois
Parent
commit
c79423a743
1 fichiers modifiés avec 40 ajouts et 0 suppressions
  1. 40 0
      internal/service/cdn.go

+ 40 - 0
internal/service/cdn.go

@@ -660,3 +660,43 @@ func (s *cdnService) AddSSLPolicy(ctx context.Context, req v1.AddSSLPolicy) (int
 	}
 	return res.Data.SslPolicyId, nil
 }
+
+func (s *cdnService) DelSSLCert(ctx context.Context, sslCertId int64) error {
+	formData := map[string]interface{}{
+		"sslCertId": sslCertId,
+	}
+	apiUrl := s.Url + "SSLCertService/deleteSSLCert"
+	resBody, err := s.sendDataWithTokenRetry(ctx, formData, apiUrl)
+	if err != nil {
+		return err
+	}
+	var res v1.GeneralResponse[any]
+	if err := json.Unmarshal(resBody, &res); err != nil {
+		return fmt.Errorf("反序列化响应 JSON 失败 (内容: %s): %w", string(resBody), err)
+	}
+	if res.Code != 200 {
+		return fmt.Errorf("API 错误: code %d, msg '%s'", res.Code, res.Message)
+	}
+	return nil
+
+}
+
+func (s *cdnService) GetSSLPolicy(ctx context.Context, sslPolicyId int64) (v1.AddSSLPolicy, error) {
+	formData := map[string]interface{}{
+		"sslPolicyId": sslPolicyId,
+		"ignoreData":  true,
+	}
+	apiUrl := s.Url + "SSLPolicyService/findEnabledSSLPolicyConfig"
+	resBody, err := s.sendDataWithTokenRetry(ctx, formData, apiUrl)
+	if err != nil {
+		return v1.AddSSLPolicy{}, err
+	}
+	var res v1.GeneralResponse[v1.AddSSLPolicy]
+	if err := json.Unmarshal(resBody, &res); err != nil {
+		return v1.AddSSLPolicy{}, fmt.Errorf("反序列化响应 JSON 失败 (内容: %s): %w", string(resBody), err)
+	}
+	if res.Code != 200 {
+		return v1.AddSSLPolicy{}, fmt.Errorf("API 错误: code %d, msg '%s'", res.Code, res.Message)
+	}
+	return res.Data, nil
+}