mirror of https://github.com/usual2970/certimate
refactor: optimize code
parent
560d21c854
commit
f6a3f4edfa
|
@ -13,6 +13,7 @@ import (
|
||||||
|
|
||||||
"github.com/usual2970/certimate/internal/domain"
|
"github.com/usual2970/certimate/internal/domain"
|
||||||
uploaderImpl "github.com/usual2970/certimate/internal/pkg/core/uploader/impl"
|
uploaderImpl "github.com/usual2970/certimate/internal/pkg/core/uploader/impl"
|
||||||
|
"github.com/usual2970/certimate/internal/pkg/utils/cast"
|
||||||
)
|
)
|
||||||
|
|
||||||
type HuaweiCloudCDNDeployer struct {
|
type HuaweiCloudCDNDeployer struct {
|
||||||
|
@ -86,14 +87,14 @@ func (d *HuaweiCloudCDNDeployer) Deploy(ctx context.Context) error {
|
||||||
|
|
||||||
d.infos = append(d.infos, toStr("已上传证书", uploadResult))
|
d.infos = append(d.infos, toStr("已上传证书", uploadResult))
|
||||||
|
|
||||||
updateDomainMultiCertificatesReqBodyContent.CertificateType = int32Ptr(2)
|
updateDomainMultiCertificatesReqBodyContent.CertificateType = cast.Int32Ptr(2)
|
||||||
updateDomainMultiCertificatesReqBodyContent.SCMCertificateId = stringPtr(uploadResult.CertId)
|
updateDomainMultiCertificatesReqBodyContent.SCMCertificateId = cast.StringPtr(uploadResult.CertId)
|
||||||
updateDomainMultiCertificatesReqBodyContent.CertName = stringPtr(uploadResult.CertName)
|
updateDomainMultiCertificatesReqBodyContent.CertName = cast.StringPtr(uploadResult.CertName)
|
||||||
} else {
|
} else {
|
||||||
updateDomainMultiCertificatesReqBodyContent.CertificateType = int32Ptr(0)
|
updateDomainMultiCertificatesReqBodyContent.CertificateType = cast.Int32Ptr(0)
|
||||||
updateDomainMultiCertificatesReqBodyContent.CertName = stringPtr(fmt.Sprintf("certimate-%d", time.Now().UnixMilli()))
|
updateDomainMultiCertificatesReqBodyContent.CertName = cast.StringPtr(fmt.Sprintf("certimate-%d", time.Now().UnixMilli()))
|
||||||
updateDomainMultiCertificatesReqBodyContent.Certificate = stringPtr(d.option.Certificate.Certificate)
|
updateDomainMultiCertificatesReqBodyContent.Certificate = cast.StringPtr(d.option.Certificate.Certificate)
|
||||||
updateDomainMultiCertificatesReqBodyContent.PrivateKey = stringPtr(d.option.Certificate.PrivateKey)
|
updateDomainMultiCertificatesReqBodyContent.PrivateKey = cast.StringPtr(d.option.Certificate.PrivateKey)
|
||||||
}
|
}
|
||||||
updateDomainMultiCertificatesReqBodyContent = mergeHuaweiCloudCDNConfig(showDomainFullConfigResp.Configs, updateDomainMultiCertificatesReqBodyContent)
|
updateDomainMultiCertificatesReqBodyContent = mergeHuaweiCloudCDNConfig(showDomainFullConfigResp.Configs, updateDomainMultiCertificatesReqBodyContent)
|
||||||
updateDomainMultiCertificatesReq := &huaweicloudCDNUpdateDomainMultiCertificatesRequest{
|
updateDomainMultiCertificatesReq := &huaweicloudCDNUpdateDomainMultiCertificatesRequest{
|
||||||
|
@ -177,11 +178,11 @@ func mergeHuaweiCloudCDNConfig(src *cdnModel.ConfigsGetBody, dest *huaweicloudCD
|
||||||
// 而且蛋疼的是查询接口返回的数据结构和更新接口传入的参数结构不一致,需要做很多转化
|
// 而且蛋疼的是查询接口返回的数据结构和更新接口传入的参数结构不一致,需要做很多转化
|
||||||
|
|
||||||
if *src.OriginProtocol == "follow" {
|
if *src.OriginProtocol == "follow" {
|
||||||
dest.AccessOriginWay = int32Ptr(1)
|
dest.AccessOriginWay = cast.Int32Ptr(1)
|
||||||
} else if *src.OriginProtocol == "http" {
|
} else if *src.OriginProtocol == "http" {
|
||||||
dest.AccessOriginWay = int32Ptr(2)
|
dest.AccessOriginWay = cast.Int32Ptr(2)
|
||||||
} else if *src.OriginProtocol == "https" {
|
} else if *src.OriginProtocol == "https" {
|
||||||
dest.AccessOriginWay = int32Ptr(3)
|
dest.AccessOriginWay = cast.Int32Ptr(3)
|
||||||
}
|
}
|
||||||
|
|
||||||
if src.ForceRedirect != nil {
|
if src.ForceRedirect != nil {
|
||||||
|
@ -197,17 +198,9 @@ func mergeHuaweiCloudCDNConfig(src *cdnModel.ConfigsGetBody, dest *huaweicloudCD
|
||||||
|
|
||||||
if src.Https != nil {
|
if src.Https != nil {
|
||||||
if *src.Https.Http2Status == "on" {
|
if *src.Https.Http2Status == "on" {
|
||||||
dest.Http2 = int32Ptr(1)
|
dest.Http2 = cast.Int32Ptr(1)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return dest
|
return dest
|
||||||
}
|
}
|
||||||
|
|
||||||
func int32Ptr(i int32) *int32 {
|
|
||||||
return &i
|
|
||||||
}
|
|
||||||
|
|
||||||
func stringPtr(s string) *string {
|
|
||||||
return &s
|
|
||||||
}
|
|
||||||
|
|
|
@ -11,6 +11,7 @@ import (
|
||||||
scmRegion "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/scm/v3/region"
|
scmRegion "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/scm/v3/region"
|
||||||
|
|
||||||
"github.com/usual2970/certimate/internal/pkg/core/uploader"
|
"github.com/usual2970/certimate/internal/pkg/core/uploader"
|
||||||
|
"github.com/usual2970/certimate/internal/pkg/utils/cast"
|
||||||
"github.com/usual2970/certimate/internal/pkg/utils/x509"
|
"github.com/usual2970/certimate/internal/pkg/utils/x509"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -21,6 +22,7 @@ type HuaweiCloudSCMUploaderConfig struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
type HuaweiCloudSCMUploader struct {
|
type HuaweiCloudSCMUploader struct {
|
||||||
|
config *HuaweiCloudSCMUploaderConfig
|
||||||
client *scm.ScmClient
|
client *scm.ScmClient
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -31,6 +33,7 @@ func NewHuaweiCloudSCMUploader(config *HuaweiCloudSCMUploaderConfig) (*HuaweiClo
|
||||||
}
|
}
|
||||||
|
|
||||||
return &HuaweiCloudSCMUploader{
|
return &HuaweiCloudSCMUploader{
|
||||||
|
config: config,
|
||||||
client: client,
|
client: client,
|
||||||
}, nil
|
}, nil
|
||||||
}
|
}
|
||||||
|
@ -49,10 +52,10 @@ func (u *HuaweiCloudSCMUploader) Upload(ctx context.Context, certPem string, pri
|
||||||
listCertificatesOffset := int32(0)
|
listCertificatesOffset := int32(0)
|
||||||
for {
|
for {
|
||||||
listCertificatesReq := &scmModel.ListCertificatesRequest{
|
listCertificatesReq := &scmModel.ListCertificatesRequest{
|
||||||
Limit: int32Ptr(listCertificatesLimit),
|
Limit: cast.Int32Ptr(listCertificatesLimit),
|
||||||
Offset: int32Ptr(listCertificatesOffset),
|
Offset: cast.Int32Ptr(listCertificatesOffset),
|
||||||
SortDir: stringPtr("DESC"),
|
SortDir: cast.StringPtr("DESC"),
|
||||||
SortKey: stringPtr("certExpiredTime"),
|
SortKey: cast.StringPtr("certExpiredTime"),
|
||||||
}
|
}
|
||||||
listCertificatesResp, err := u.client.ListCertificates(listCertificatesReq)
|
listCertificatesResp, err := u.client.ListCertificates(listCertificatesReq)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -129,7 +132,7 @@ func (u *HuaweiCloudSCMUploader) Upload(ctx context.Context, certPem string, pri
|
||||||
}, nil
|
}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func createClient(region, accessKeyId, secretAccessKey string) (*scm.ScmClient, error) {
|
func (u *HuaweiCloudSCMUploader) createClient(region, accessKeyId, secretAccessKey string) (*scm.ScmClient, error) {
|
||||||
auth, err := basic.NewCredentialsBuilder().
|
auth, err := basic.NewCredentialsBuilder().
|
||||||
WithAk(accessKeyId).
|
WithAk(accessKeyId).
|
||||||
WithSk(secretAccessKey).
|
WithSk(secretAccessKey).
|
||||||
|
@ -158,11 +161,3 @@ func createClient(region, accessKeyId, secretAccessKey string) (*scm.ScmClient,
|
||||||
client := scm.NewScmClient(hcClient)
|
client := scm.NewScmClient(hcClient)
|
||||||
return client, nil
|
return client, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func int32Ptr(i int32) *int32 {
|
|
||||||
return &i
|
|
||||||
}
|
|
||||||
|
|
||||||
func stringPtr(s string) *string {
|
|
||||||
return &s
|
|
||||||
}
|
|
||||||
|
|
|
@ -0,0 +1,9 @@
|
||||||
|
package cast
|
||||||
|
|
||||||
|
func Int32Ptr(i int32) *int32 {
|
||||||
|
return &i
|
||||||
|
}
|
||||||
|
|
||||||
|
func StringPtr(s string) *string {
|
||||||
|
return &s
|
||||||
|
}
|
Loading…
Reference in New Issue