diff --git a/internal/applicant/acme_user.go b/internal/applicant/acme_user.go index f8e80a03..107e417c 100644 --- a/internal/applicant/acme_user.go +++ b/internal/applicant/acme_user.go @@ -13,7 +13,7 @@ import ( "golang.org/x/sync/singleflight" "github.com/usual2970/certimate/internal/domain" - "github.com/usual2970/certimate/internal/pkg/utils/certs" + "github.com/usual2970/certimate/internal/pkg/utils/certutil" "github.com/usual2970/certimate/internal/repository" ) @@ -40,7 +40,7 @@ func newAcmeUser(ca, email string) (*acmeUser, error) { return nil, err } - keyPEM, err := certs.ConvertECPrivateKeyToPEM(key) + keyPEM, err := certutil.ConvertECPrivateKeyToPEM(key) if err != nil { return nil, err } @@ -64,7 +64,7 @@ func (u acmeUser) GetRegistration() *registration.Resource { } func (u *acmeUser) GetPrivateKey() crypto.PrivateKey { - rs, _ := certs.ParseECPrivateKeyFromPEM(u.privkey) + rs, _ := certutil.ParseECPrivateKeyFromPEM(u.privkey) return rs } diff --git a/internal/applicant/applicant.go b/internal/applicant/applicant.go index 5acc8800..ebe6208f 100644 --- a/internal/applicant/applicant.go +++ b/internal/applicant/applicant.go @@ -18,7 +18,7 @@ import ( "golang.org/x/time/rate" "github.com/usual2970/certimate/internal/domain" - uslices "github.com/usual2970/certimate/internal/pkg/utils/slices" + "github.com/usual2970/certimate/internal/pkg/utils/sliceutil" "github.com/usual2970/certimate/internal/repository" ) @@ -58,12 +58,12 @@ func NewWithApplyNode(node *domain.WorkflowNode) (Applicant, error) { nodeConfig := node.GetConfigForApply() options := &applicantOptions{ - Domains: uslices.Filter(strings.Split(nodeConfig.Domains, ";"), func(s string) bool { return s != "" }), + Domains: sliceutil.Filter(strings.Split(nodeConfig.Domains, ";"), func(s string) bool { return s != "" }), ContactEmail: nodeConfig.ContactEmail, Provider: domain.ApplyDNSProviderType(nodeConfig.Provider), ProviderApplyConfig: nodeConfig.ProviderConfig, KeyAlgorithm: nodeConfig.KeyAlgorithm, - Nameservers: uslices.Filter(strings.Split(nodeConfig.Nameservers, ";"), func(s string) bool { return s != "" }), + Nameservers: sliceutil.Filter(strings.Split(nodeConfig.Nameservers, ";"), func(s string) bool { return s != "" }), DnsPropagationTimeout: nodeConfig.DnsPropagationTimeout, DnsTTL: nodeConfig.DnsTTL, DisableFollowCNAME: nodeConfig.DisableFollowCNAME, diff --git a/internal/applicant/providers.go b/internal/applicant/providers.go index cc8a3cfd..0dbf8844 100644 --- a/internal/applicant/providers.go +++ b/internal/applicant/providers.go @@ -29,7 +29,7 @@ import ( pTencentCloud "github.com/usual2970/certimate/internal/pkg/core/applicant/acme-dns-01/lego-providers/tencentcloud" pVolcEngine "github.com/usual2970/certimate/internal/pkg/core/applicant/acme-dns-01/lego-providers/volcengine" pWestcn "github.com/usual2970/certimate/internal/pkg/core/applicant/acme-dns-01/lego-providers/westcn" - "github.com/usual2970/certimate/internal/pkg/utils/maps" + "github.com/usual2970/certimate/internal/pkg/utils/maputil" ) func createApplicant(options *applicantOptions) (challenge.Provider, error) { @@ -41,7 +41,7 @@ func createApplicant(options *applicantOptions) (challenge.Provider, error) { case domain.ApplyDNSProviderTypeACMEHttpReq: { access := domain.AccessConfigForACMEHttpReq{} - if err := maps.Populate(options.ProviderAccessConfig, &access); err != nil { + if err := maputil.Populate(options.ProviderAccessConfig, &access); err != nil { return nil, fmt.Errorf("failed to populate provider access config: %w", err) } @@ -58,7 +58,7 @@ func createApplicant(options *applicantOptions) (challenge.Provider, error) { case domain.ApplyDNSProviderTypeAliyun, domain.ApplyDNSProviderTypeAliyunDNS: { access := domain.AccessConfigForAliyun{} - if err := maps.Populate(options.ProviderAccessConfig, &access); err != nil { + if err := maputil.Populate(options.ProviderAccessConfig, &access); err != nil { return nil, fmt.Errorf("failed to populate provider access config: %w", err) } @@ -74,15 +74,15 @@ func createApplicant(options *applicantOptions) (challenge.Provider, error) { case domain.ApplyDNSProviderTypeAWS, domain.ApplyDNSProviderTypeAWSRoute53: { access := domain.AccessConfigForAWS{} - if err := maps.Populate(options.ProviderAccessConfig, &access); err != nil { + if err := maputil.Populate(options.ProviderAccessConfig, &access); err != nil { return nil, fmt.Errorf("failed to populate provider access config: %w", err) } applicant, err := pAWSRoute53.NewChallengeProvider(&pAWSRoute53.ChallengeProviderConfig{ AccessKeyId: access.AccessKeyId, SecretAccessKey: access.SecretAccessKey, - Region: maps.GetValueAsString(options.ProviderApplyConfig, "region"), - HostedZoneId: maps.GetValueAsString(options.ProviderApplyConfig, "hostedZoneId"), + Region: maputil.GetString(options.ProviderApplyConfig, "region"), + HostedZoneId: maputil.GetString(options.ProviderApplyConfig, "hostedZoneId"), DnsPropagationTimeout: options.DnsPropagationTimeout, DnsTTL: options.DnsTTL, }) @@ -92,7 +92,7 @@ func createApplicant(options *applicantOptions) (challenge.Provider, error) { case domain.ApplyDNSProviderTypeAzure, domain.ApplyDNSProviderTypeAzureDNS: { access := domain.AccessConfigForAzure{} - if err := maps.Populate(options.ProviderAccessConfig, &access); err != nil { + if err := maputil.Populate(options.ProviderAccessConfig, &access); err != nil { return nil, fmt.Errorf("failed to populate provider access config: %w", err) } @@ -110,7 +110,7 @@ func createApplicant(options *applicantOptions) (challenge.Provider, error) { case domain.ApplyDNSProviderTypeBaiduCloud, domain.ApplyDNSProviderTypeBaiduCloudDNS: { access := domain.AccessConfigForBaiduCloud{} - if err := maps.Populate(options.ProviderAccessConfig, &access); err != nil { + if err := maputil.Populate(options.ProviderAccessConfig, &access); err != nil { return nil, fmt.Errorf("failed to populate provider access config: %w", err) } @@ -126,7 +126,7 @@ func createApplicant(options *applicantOptions) (challenge.Provider, error) { case domain.ApplyDNSProviderTypeCloudflare: { access := domain.AccessConfigForCloudflare{} - if err := maps.Populate(options.ProviderAccessConfig, &access); err != nil { + if err := maputil.Populate(options.ProviderAccessConfig, &access); err != nil { return nil, fmt.Errorf("failed to populate provider access config: %w", err) } @@ -141,7 +141,7 @@ func createApplicant(options *applicantOptions) (challenge.Provider, error) { case domain.ApplyDNSProviderTypeClouDNS: { access := domain.AccessConfigForClouDNS{} - if err := maps.Populate(options.ProviderAccessConfig, &access); err != nil { + if err := maputil.Populate(options.ProviderAccessConfig, &access); err != nil { return nil, fmt.Errorf("failed to populate provider access config: %w", err) } @@ -157,7 +157,7 @@ func createApplicant(options *applicantOptions) (challenge.Provider, error) { case domain.ApplyDNSProviderTypeCMCCCloud: { access := domain.AccessConfigForCMCCCloud{} - if err := maps.Populate(options.ProviderAccessConfig, &access); err != nil { + if err := maputil.Populate(options.ProviderAccessConfig, &access); err != nil { return nil, fmt.Errorf("failed to populate provider access config: %w", err) } @@ -173,7 +173,7 @@ func createApplicant(options *applicantOptions) (challenge.Provider, error) { case domain.ApplyDNSProviderTypeDNSLA: { access := domain.AccessConfigForDNSLA{} - if err := maps.Populate(options.ProviderAccessConfig, &access); err != nil { + if err := maputil.Populate(options.ProviderAccessConfig, &access); err != nil { return nil, fmt.Errorf("failed to populate provider access config: %w", err) } @@ -189,7 +189,7 @@ func createApplicant(options *applicantOptions) (challenge.Provider, error) { case domain.ApplyDNSProviderTypeGcore: { access := domain.AccessConfigForGcore{} - if err := maps.Populate(options.ProviderAccessConfig, &access); err != nil { + if err := maputil.Populate(options.ProviderAccessConfig, &access); err != nil { return nil, fmt.Errorf("failed to populate provider access config: %w", err) } @@ -204,7 +204,7 @@ func createApplicant(options *applicantOptions) (challenge.Provider, error) { case domain.ApplyDNSProviderTypeGname: { access := domain.AccessConfigForGname{} - if err := maps.Populate(options.ProviderAccessConfig, &access); err != nil { + if err := maputil.Populate(options.ProviderAccessConfig, &access); err != nil { return nil, fmt.Errorf("failed to populate provider access config: %w", err) } @@ -220,7 +220,7 @@ func createApplicant(options *applicantOptions) (challenge.Provider, error) { case domain.ApplyDNSProviderTypeGoDaddy: { access := domain.AccessConfigForGoDaddy{} - if err := maps.Populate(options.ProviderAccessConfig, &access); err != nil { + if err := maputil.Populate(options.ProviderAccessConfig, &access); err != nil { return nil, fmt.Errorf("failed to populate provider access config: %w", err) } @@ -236,14 +236,14 @@ func createApplicant(options *applicantOptions) (challenge.Provider, error) { case domain.ApplyDNSProviderTypeHuaweiCloud, domain.ApplyDNSProviderTypeHuaweiCloudDNS: { access := domain.AccessConfigForHuaweiCloud{} - if err := maps.Populate(options.ProviderAccessConfig, &access); err != nil { + if err := maputil.Populate(options.ProviderAccessConfig, &access); err != nil { return nil, fmt.Errorf("failed to populate provider access config: %w", err) } applicant, err := pHuaweiCloud.NewChallengeProvider(&pHuaweiCloud.ChallengeProviderConfig{ AccessKeyId: access.AccessKeyId, SecretAccessKey: access.SecretAccessKey, - Region: maps.GetValueAsString(options.ProviderApplyConfig, "region"), + Region: maputil.GetString(options.ProviderApplyConfig, "region"), DnsPropagationTimeout: options.DnsPropagationTimeout, DnsTTL: options.DnsTTL, }) @@ -253,14 +253,14 @@ func createApplicant(options *applicantOptions) (challenge.Provider, error) { case domain.ApplyDNSProviderTypeJDCloud, domain.ApplyDNSProviderTypeJDCloudDNS: { access := domain.AccessConfigForJDCloud{} - if err := maps.Populate(options.ProviderAccessConfig, &access); err != nil { + if err := maputil.Populate(options.ProviderAccessConfig, &access); err != nil { return nil, fmt.Errorf("failed to populate provider access config: %w", err) } applicant, err := pJDCloud.NewChallengeProvider(&pJDCloud.ChallengeProviderConfig{ AccessKeyId: access.AccessKeyId, AccessKeySecret: access.AccessKeySecret, - RegionId: maps.GetValueAsString(options.ProviderApplyConfig, "region_id"), + RegionId: maputil.GetString(options.ProviderApplyConfig, "region_id"), DnsPropagationTimeout: options.DnsPropagationTimeout, DnsTTL: options.DnsTTL, }) @@ -270,7 +270,7 @@ func createApplicant(options *applicantOptions) (challenge.Provider, error) { case domain.ApplyDNSProviderTypeNamecheap: { access := domain.AccessConfigForNamecheap{} - if err := maps.Populate(options.ProviderAccessConfig, &access); err != nil { + if err := maputil.Populate(options.ProviderAccessConfig, &access); err != nil { return nil, fmt.Errorf("failed to populate provider access config: %w", err) } @@ -286,7 +286,7 @@ func createApplicant(options *applicantOptions) (challenge.Provider, error) { case domain.ApplyDNSProviderTypeNameDotCom: { access := domain.AccessConfigForNameDotCom{} - if err := maps.Populate(options.ProviderAccessConfig, &access); err != nil { + if err := maputil.Populate(options.ProviderAccessConfig, &access); err != nil { return nil, fmt.Errorf("failed to populate provider access config: %w", err) } @@ -302,7 +302,7 @@ func createApplicant(options *applicantOptions) (challenge.Provider, error) { case domain.ApplyDNSProviderTypeNameSilo: { access := domain.AccessConfigForNameSilo{} - if err := maps.Populate(options.ProviderAccessConfig, &access); err != nil { + if err := maputil.Populate(options.ProviderAccessConfig, &access); err != nil { return nil, fmt.Errorf("failed to populate provider access config: %w", err) } @@ -317,7 +317,7 @@ func createApplicant(options *applicantOptions) (challenge.Provider, error) { case domain.ApplyDNSProviderTypeNS1: { access := domain.AccessConfigForNS1{} - if err := maps.Populate(options.ProviderAccessConfig, &access); err != nil { + if err := maputil.Populate(options.ProviderAccessConfig, &access); err != nil { return nil, fmt.Errorf("failed to populate provider access config: %w", err) } @@ -332,7 +332,7 @@ func createApplicant(options *applicantOptions) (challenge.Provider, error) { case domain.ApplyDNSProviderTypePowerDNS: { access := domain.AccessConfigForPowerDNS{} - if err := maps.Populate(options.ProviderAccessConfig, &access); err != nil { + if err := maputil.Populate(options.ProviderAccessConfig, &access); err != nil { return nil, fmt.Errorf("failed to populate provider access config: %w", err) } @@ -348,7 +348,7 @@ func createApplicant(options *applicantOptions) (challenge.Provider, error) { case domain.ApplyDNSProviderTypeRainYun: { access := domain.AccessConfigForRainYun{} - if err := maps.Populate(options.ProviderAccessConfig, &access); err != nil { + if err := maputil.Populate(options.ProviderAccessConfig, &access); err != nil { return nil, fmt.Errorf("failed to populate provider access config: %w", err) } @@ -363,7 +363,7 @@ func createApplicant(options *applicantOptions) (challenge.Provider, error) { case domain.ApplyDNSProviderTypeTencentCloud, domain.ApplyDNSProviderTypeTencentCloudDNS: { access := domain.AccessConfigForTencentCloud{} - if err := maps.Populate(options.ProviderAccessConfig, &access); err != nil { + if err := maputil.Populate(options.ProviderAccessConfig, &access); err != nil { return nil, fmt.Errorf("failed to populate provider access config: %w", err) } @@ -379,7 +379,7 @@ func createApplicant(options *applicantOptions) (challenge.Provider, error) { case domain.ApplyDNSProviderTypeVolcEngine, domain.ApplyDNSProviderTypeVolcEngineDNS: { access := domain.AccessConfigForVolcEngine{} - if err := maps.Populate(options.ProviderAccessConfig, &access); err != nil { + if err := maputil.Populate(options.ProviderAccessConfig, &access); err != nil { return nil, fmt.Errorf("failed to populate provider access config: %w", err) } @@ -395,7 +395,7 @@ func createApplicant(options *applicantOptions) (challenge.Provider, error) { case domain.ApplyDNSProviderTypeWestcn: { access := domain.AccessConfigForWestcn{} - if err := maps.Populate(options.ProviderAccessConfig, &access); err != nil { + if err := maputil.Populate(options.ProviderAccessConfig, &access); err != nil { return nil, fmt.Errorf("failed to populate provider access config: %w", err) } diff --git a/internal/certificate/service.go b/internal/certificate/service.go index adcb8b97..715d2ae2 100644 --- a/internal/certificate/service.go +++ b/internal/certificate/service.go @@ -15,7 +15,7 @@ import ( "github.com/usual2970/certimate/internal/domain" "github.com/usual2970/certimate/internal/domain/dtos" "github.com/usual2970/certimate/internal/notify" - "github.com/usual2970/certimate/internal/pkg/utils/certs" + "github.com/usual2970/certimate/internal/pkg/utils/certutil" "github.com/usual2970/certimate/internal/repository" ) @@ -109,7 +109,7 @@ func (s *CertificateService) ArchiveFile(ctx context.Context, req *dtos.Certific { const pfxPassword = "certimate" - certPFX, err := certs.TransformCertificateFromPEMToPFX(certificate.Certificate, certificate.PrivateKey, pfxPassword) + certPFX, err := certutil.TransformCertificateFromPEMToPFX(certificate.Certificate, certificate.PrivateKey, pfxPassword) if err != nil { return nil, err } @@ -147,7 +147,7 @@ func (s *CertificateService) ArchiveFile(ctx context.Context, req *dtos.Certific { const jksPassword = "certimate" - certJKS, err := certs.TransformCertificateFromPEMToJKS(certificate.Certificate, certificate.PrivateKey, jksPassword, jksPassword, jksPassword) + certJKS, err := certutil.TransformCertificateFromPEMToJKS(certificate.Certificate, certificate.PrivateKey, jksPassword, jksPassword, jksPassword) if err != nil { return nil, err } @@ -187,7 +187,7 @@ func (s *CertificateService) ArchiveFile(ctx context.Context, req *dtos.Certific } func (s *CertificateService) ValidateCertificate(ctx context.Context, req *dtos.CertificateValidateCertificateReq) (*dtos.CertificateValidateCertificateResp, error) { - certX509, err := certs.ParseCertificateFromPEM(req.Certificate) + certX509, err := certutil.ParseCertificateFromPEM(req.Certificate) if err != nil { return nil, err } else if time.Now().After(certX509.NotAfter) { diff --git a/internal/deployer/providers.go b/internal/deployer/providers.go index 5c785780..0c7dbbd9 100644 --- a/internal/deployer/providers.go +++ b/internal/deployer/providers.go @@ -63,8 +63,8 @@ import ( pVolcEngineLive "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/volcengine-live" pVolcEngineTOS "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/volcengine-tos" pWebhook "github.com/usual2970/certimate/internal/pkg/core/deployer/providers/webhook" - "github.com/usual2970/certimate/internal/pkg/utils/maps" - "github.com/usual2970/certimate/internal/pkg/utils/slices" + "github.com/usual2970/certimate/internal/pkg/utils/maputil" + "github.com/usual2970/certimate/internal/pkg/utils/sliceutil" ) func createDeployer(options *deployerOptions) (deployer.Deployer, error) { @@ -76,7 +76,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) { case domain.DeployProviderType1PanelConsole, domain.DeployProviderType1PanelSite: { access := domain.AccessConfigFor1Panel{} - if err := maps.Populate(options.ProviderAccessConfig, &access); err != nil { + if err := maputil.Populate(options.ProviderAccessConfig, &access); err != nil { return nil, fmt.Errorf("failed to populate provider access config: %w", err) } @@ -86,7 +86,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) { ApiUrl: access.ApiUrl, ApiKey: access.ApiKey, AllowInsecureConnections: access.AllowInsecureConnections, - AutoRestart: maps.GetValueAsBool(options.ProviderDeployConfig, "autoRestart"), + AutoRestart: maputil.GetBool(options.ProviderDeployConfig, "autoRestart"), }) return deployer, err @@ -95,7 +95,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) { ApiUrl: access.ApiUrl, ApiKey: access.ApiKey, AllowInsecureConnections: access.AllowInsecureConnections, - WebsiteId: maps.GetValueAsInt64(options.ProviderDeployConfig, "websiteId"), + WebsiteId: maputil.GetInt64(options.ProviderDeployConfig, "websiteId"), }) return deployer, err @@ -107,7 +107,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) { case domain.DeployProviderTypeAliyunALB, domain.DeployProviderTypeAliyunCASDeploy, domain.DeployProviderTypeAliyunCDN, domain.DeployProviderTypeAliyunCLB, domain.DeployProviderTypeAliyunDCDN, domain.DeployProviderTypeAliyunESA, domain.DeployProviderTypeAliyunFC, domain.DeployProviderTypeAliyunLive, domain.DeployProviderTypeAliyunNLB, domain.DeployProviderTypeAliyunOSS, domain.DeployProviderTypeAliyunVOD, domain.DeployProviderTypeAliyunWAF: { access := domain.AccessConfigForAliyun{} - if err := maps.Populate(options.ProviderAccessConfig, &access); err != nil { + if err := maputil.Populate(options.ProviderAccessConfig, &access); err != nil { return nil, fmt.Errorf("failed to populate provider access config: %w", err) } @@ -116,11 +116,11 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) { deployer, err := pAliyunALB.NewDeployer(&pAliyunALB.DeployerConfig{ AccessKeyId: access.AccessKeyId, AccessKeySecret: access.AccessKeySecret, - Region: maps.GetValueAsString(options.ProviderDeployConfig, "region"), - ResourceType: pAliyunALB.ResourceType(maps.GetValueAsString(options.ProviderDeployConfig, "resourceType")), - LoadbalancerId: maps.GetValueAsString(options.ProviderDeployConfig, "loadbalancerId"), - ListenerId: maps.GetValueAsString(options.ProviderDeployConfig, "listenerId"), - Domain: maps.GetValueAsString(options.ProviderDeployConfig, "domain"), + Region: maputil.GetString(options.ProviderDeployConfig, "region"), + ResourceType: pAliyunALB.ResourceType(maputil.GetString(options.ProviderDeployConfig, "resourceType")), + LoadbalancerId: maputil.GetString(options.ProviderDeployConfig, "loadbalancerId"), + ListenerId: maputil.GetString(options.ProviderDeployConfig, "listenerId"), + Domain: maputil.GetString(options.ProviderDeployConfig, "domain"), }) return deployer, err @@ -128,9 +128,9 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) { deployer, err := pAliyunCASDeploy.NewDeployer(&pAliyunCASDeploy.DeployerConfig{ AccessKeyId: access.AccessKeyId, AccessKeySecret: access.AccessKeySecret, - Region: maps.GetValueAsString(options.ProviderDeployConfig, "region"), - ResourceIds: slices.Filter(strings.Split(maps.GetValueAsString(options.ProviderDeployConfig, "resourceIds"), ";"), func(s string) bool { return s != "" }), - ContactIds: slices.Filter(strings.Split(maps.GetValueAsString(options.ProviderDeployConfig, "contactIds"), ";"), func(s string) bool { return s != "" }), + Region: maputil.GetString(options.ProviderDeployConfig, "region"), + ResourceIds: sliceutil.Filter(strings.Split(maputil.GetString(options.ProviderDeployConfig, "resourceIds"), ";"), func(s string) bool { return s != "" }), + ContactIds: sliceutil.Filter(strings.Split(maputil.GetString(options.ProviderDeployConfig, "contactIds"), ";"), func(s string) bool { return s != "" }), }) return deployer, err @@ -138,7 +138,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) { deployer, err := pAliyunCDN.NewDeployer(&pAliyunCDN.DeployerConfig{ AccessKeyId: access.AccessKeyId, AccessKeySecret: access.AccessKeySecret, - Domain: maps.GetValueAsString(options.ProviderDeployConfig, "domain"), + Domain: maputil.GetString(options.ProviderDeployConfig, "domain"), }) return deployer, err @@ -146,11 +146,11 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) { deployer, err := pAliyunCLB.NewDeployer(&pAliyunCLB.DeployerConfig{ AccessKeyId: access.AccessKeyId, AccessKeySecret: access.AccessKeySecret, - Region: maps.GetValueAsString(options.ProviderDeployConfig, "region"), - ResourceType: pAliyunCLB.ResourceType(maps.GetValueAsString(options.ProviderDeployConfig, "resourceType")), - LoadbalancerId: maps.GetValueAsString(options.ProviderDeployConfig, "loadbalancerId"), - ListenerPort: maps.GetValueOrDefaultAsInt32(options.ProviderDeployConfig, "listenerPort", 443), - Domain: maps.GetValueAsString(options.ProviderDeployConfig, "domain"), + Region: maputil.GetString(options.ProviderDeployConfig, "region"), + ResourceType: pAliyunCLB.ResourceType(maputil.GetString(options.ProviderDeployConfig, "resourceType")), + LoadbalancerId: maputil.GetString(options.ProviderDeployConfig, "loadbalancerId"), + ListenerPort: maputil.GetOrDefaultInt32(options.ProviderDeployConfig, "listenerPort", 443), + Domain: maputil.GetString(options.ProviderDeployConfig, "domain"), }) return deployer, err @@ -158,7 +158,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) { deployer, err := pAliyunDCDN.NewDeployer(&pAliyunDCDN.DeployerConfig{ AccessKeyId: access.AccessKeyId, AccessKeySecret: access.AccessKeySecret, - Domain: maps.GetValueAsString(options.ProviderDeployConfig, "domain"), + Domain: maputil.GetString(options.ProviderDeployConfig, "domain"), }) return deployer, err @@ -166,8 +166,8 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) { deployer, err := pAliyunESA.NewDeployer(&pAliyunESA.DeployerConfig{ AccessKeyId: access.AccessKeyId, AccessKeySecret: access.AccessKeySecret, - Region: maps.GetValueAsString(options.ProviderDeployConfig, "region"), - SiteId: maps.GetValueAsInt64(options.ProviderDeployConfig, "siteId"), + Region: maputil.GetString(options.ProviderDeployConfig, "region"), + SiteId: maputil.GetInt64(options.ProviderDeployConfig, "siteId"), }) return deployer, err @@ -175,9 +175,9 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) { deployer, err := pAliyunFC.NewDeployer(&pAliyunFC.DeployerConfig{ AccessKeyId: access.AccessKeyId, AccessKeySecret: access.AccessKeySecret, - Region: maps.GetValueAsString(options.ProviderDeployConfig, "region"), - ServiceVersion: maps.GetValueAsString(options.ProviderDeployConfig, "serviceVersion"), - Domain: maps.GetValueAsString(options.ProviderDeployConfig, "domain"), + Region: maputil.GetString(options.ProviderDeployConfig, "region"), + ServiceVersion: maputil.GetString(options.ProviderDeployConfig, "serviceVersion"), + Domain: maputil.GetString(options.ProviderDeployConfig, "domain"), }) return deployer, err @@ -185,8 +185,8 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) { deployer, err := pAliyunLive.NewDeployer(&pAliyunLive.DeployerConfig{ AccessKeyId: access.AccessKeyId, AccessKeySecret: access.AccessKeySecret, - Region: maps.GetValueAsString(options.ProviderDeployConfig, "region"), - Domain: maps.GetValueAsString(options.ProviderDeployConfig, "domain"), + Region: maputil.GetString(options.ProviderDeployConfig, "region"), + Domain: maputil.GetString(options.ProviderDeployConfig, "domain"), }) return deployer, err @@ -194,10 +194,10 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) { deployer, err := pAliyunNLB.NewDeployer(&pAliyunNLB.DeployerConfig{ AccessKeyId: access.AccessKeyId, AccessKeySecret: access.AccessKeySecret, - Region: maps.GetValueAsString(options.ProviderDeployConfig, "region"), - ResourceType: pAliyunNLB.ResourceType(maps.GetValueAsString(options.ProviderDeployConfig, "resourceType")), - LoadbalancerId: maps.GetValueAsString(options.ProviderDeployConfig, "loadbalancerId"), - ListenerId: maps.GetValueAsString(options.ProviderDeployConfig, "listenerId"), + Region: maputil.GetString(options.ProviderDeployConfig, "region"), + ResourceType: pAliyunNLB.ResourceType(maputil.GetString(options.ProviderDeployConfig, "resourceType")), + LoadbalancerId: maputil.GetString(options.ProviderDeployConfig, "loadbalancerId"), + ListenerId: maputil.GetString(options.ProviderDeployConfig, "listenerId"), }) return deployer, err @@ -205,9 +205,9 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) { deployer, err := pAliyunOSS.NewDeployer(&pAliyunOSS.DeployerConfig{ AccessKeyId: access.AccessKeyId, AccessKeySecret: access.AccessKeySecret, - Region: maps.GetValueAsString(options.ProviderDeployConfig, "region"), - Bucket: maps.GetValueAsString(options.ProviderDeployConfig, "bucket"), - Domain: maps.GetValueAsString(options.ProviderDeployConfig, "domain"), + Region: maputil.GetString(options.ProviderDeployConfig, "region"), + Bucket: maputil.GetString(options.ProviderDeployConfig, "bucket"), + Domain: maputil.GetString(options.ProviderDeployConfig, "domain"), }) return deployer, err @@ -215,8 +215,8 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) { deployer, err := pAliyunVOD.NewDeployer(&pAliyunVOD.DeployerConfig{ AccessKeyId: access.AccessKeyId, AccessKeySecret: access.AccessKeySecret, - Region: maps.GetValueAsString(options.ProviderDeployConfig, "region"), - Domain: maps.GetValueAsString(options.ProviderDeployConfig, "domain"), + Region: maputil.GetString(options.ProviderDeployConfig, "region"), + Domain: maputil.GetString(options.ProviderDeployConfig, "domain"), }) return deployer, err @@ -224,9 +224,9 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) { deployer, err := pAliyunWAF.NewDeployer(&pAliyunWAF.DeployerConfig{ AccessKeyId: access.AccessKeyId, AccessKeySecret: access.AccessKeySecret, - Region: maps.GetValueAsString(options.ProviderDeployConfig, "region"), - InstanceId: maps.GetValueAsString(options.ProviderDeployConfig, "instanceId"), - Domain: maps.GetValueAsString(options.ProviderDeployConfig, "domain"), + Region: maputil.GetString(options.ProviderDeployConfig, "region"), + InstanceId: maputil.GetString(options.ProviderDeployConfig, "instanceId"), + Domain: maputil.GetString(options.ProviderDeployConfig, "domain"), }) return deployer, err @@ -238,7 +238,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) { case domain.DeployProviderTypeAWSCloudFront: { access := domain.AccessConfigForAWS{} - if err := maps.Populate(options.ProviderAccessConfig, &access); err != nil { + if err := maputil.Populate(options.ProviderAccessConfig, &access); err != nil { return nil, fmt.Errorf("failed to populate provider access config: %w", err) } @@ -247,8 +247,8 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) { deployer, err := pAWSCloudFront.NewDeployer(&pAWSCloudFront.DeployerConfig{ AccessKeyId: access.AccessKeyId, SecretAccessKey: access.SecretAccessKey, - Region: maps.GetValueAsString(options.ProviderDeployConfig, "region"), - DistributionId: maps.GetValueAsString(options.ProviderDeployConfig, "distributionId"), + Region: maputil.GetString(options.ProviderDeployConfig, "region"), + DistributionId: maputil.GetString(options.ProviderDeployConfig, "distributionId"), }) return deployer, err @@ -260,7 +260,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) { case domain.DeployProviderTypeBaiduCloudCDN: { access := domain.AccessConfigForBaiduCloud{} - if err := maps.Populate(options.ProviderAccessConfig, &access); err != nil { + if err := maputil.Populate(options.ProviderAccessConfig, &access); err != nil { return nil, fmt.Errorf("failed to populate provider access config: %w", err) } @@ -269,7 +269,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) { deployer, err := pBaiduCloudCDN.NewDeployer(&pBaiduCloudCDN.DeployerConfig{ AccessKeyId: access.AccessKeyId, SecretAccessKey: access.SecretAccessKey, - Domain: maps.GetValueAsString(options.ProviderDeployConfig, "domain"), + Domain: maputil.GetString(options.ProviderDeployConfig, "domain"), }) return deployer, err @@ -281,7 +281,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) { case domain.DeployProviderTypeBaishanCDN: { access := domain.AccessConfigForBaishan{} - if err := maps.Populate(options.ProviderAccessConfig, &access); err != nil { + if err := maputil.Populate(options.ProviderAccessConfig, &access); err != nil { return nil, fmt.Errorf("failed to populate provider access config: %w", err) } @@ -289,7 +289,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) { case domain.DeployProviderTypeBaishanCDN: deployer, err := pBaishanCDN.NewDeployer(&pBaishanCDN.DeployerConfig{ ApiToken: access.ApiToken, - Domain: maps.GetValueAsString(options.ProviderDeployConfig, "domain"), + Domain: maputil.GetString(options.ProviderDeployConfig, "domain"), }) return deployer, err @@ -301,7 +301,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) { case domain.DeployProviderTypeBaotaPanelConsole, domain.DeployProviderTypeBaotaPanelSite: { access := domain.AccessConfigForBaotaPanel{} - if err := maps.Populate(options.ProviderAccessConfig, &access); err != nil { + if err := maputil.Populate(options.ProviderAccessConfig, &access); err != nil { return nil, fmt.Errorf("failed to populate provider access config: %w", err) } @@ -311,7 +311,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) { ApiUrl: access.ApiUrl, ApiKey: access.ApiKey, AllowInsecureConnections: access.AllowInsecureConnections, - AutoRestart: maps.GetValueAsBool(options.ProviderDeployConfig, "autoRestart"), + AutoRestart: maputil.GetBool(options.ProviderDeployConfig, "autoRestart"), }) return deployer, err @@ -320,9 +320,9 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) { ApiUrl: access.ApiUrl, ApiKey: access.ApiKey, AllowInsecureConnections: access.AllowInsecureConnections, - SiteType: maps.GetValueOrDefaultAsString(options.ProviderDeployConfig, "siteType", "other"), - SiteName: maps.GetValueAsString(options.ProviderDeployConfig, "siteName"), - SiteNames: slices.Filter(strings.Split(maps.GetValueAsString(options.ProviderDeployConfig, "siteNames"), ";"), func(s string) bool { return s != "" }), + SiteType: maputil.GetOrDefaultString(options.ProviderDeployConfig, "siteType", "other"), + SiteName: maputil.GetString(options.ProviderDeployConfig, "siteName"), + SiteNames: sliceutil.Filter(strings.Split(maputil.GetString(options.ProviderDeployConfig, "siteNames"), ";"), func(s string) bool { return s != "" }), }) return deployer, err @@ -334,7 +334,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) { case domain.DeployProviderTypeBytePlusCDN: { access := domain.AccessConfigForBytePlus{} - if err := maps.Populate(options.ProviderAccessConfig, &access); err != nil { + if err := maputil.Populate(options.ProviderAccessConfig, &access); err != nil { return nil, fmt.Errorf("failed to populate provider access config: %w", err) } @@ -343,7 +343,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) { deployer, err := pBytePlusCDN.NewDeployer(&pBytePlusCDN.DeployerConfig{ AccessKey: access.AccessKey, SecretKey: access.SecretKey, - Domain: maps.GetValueAsString(options.ProviderDeployConfig, "domain"), + Domain: maputil.GetString(options.ProviderDeployConfig, "domain"), }) return deployer, err @@ -355,7 +355,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) { case domain.DeployProviderTypeCacheFly: { access := domain.AccessConfigForCacheFly{} - if err := maps.Populate(options.ProviderAccessConfig, &access); err != nil { + if err := maputil.Populate(options.ProviderAccessConfig, &access); err != nil { return nil, fmt.Errorf("failed to populate provider access config: %w", err) } @@ -368,7 +368,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) { case domain.DeployProviderTypeCdnfly: { access := domain.AccessConfigForCdnfly{} - if err := maps.Populate(options.ProviderAccessConfig, &access); err != nil { + if err := maputil.Populate(options.ProviderAccessConfig, &access); err != nil { return nil, fmt.Errorf("failed to populate provider access config: %w", err) } @@ -376,9 +376,9 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) { ApiUrl: access.ApiUrl, ApiKey: access.ApiKey, ApiSecret: access.ApiSecret, - ResourceType: pCdnfly.ResourceType(maps.GetValueAsString(options.ProviderDeployConfig, "resourceType")), - SiteId: maps.GetValueAsString(options.ProviderDeployConfig, "siteId"), - CertificateId: maps.GetValueAsString(options.ProviderDeployConfig, "certificateId"), + ResourceType: pCdnfly.ResourceType(maputil.GetString(options.ProviderDeployConfig, "resourceType")), + SiteId: maputil.GetString(options.ProviderDeployConfig, "siteId"), + CertificateId: maputil.GetString(options.ProviderDeployConfig, "certificateId"), }) return deployer, err } @@ -386,14 +386,14 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) { case domain.DeployProviderTypeDogeCloudCDN: { access := domain.AccessConfigForDogeCloud{} - if err := maps.Populate(options.ProviderAccessConfig, &access); err != nil { + if err := maputil.Populate(options.ProviderAccessConfig, &access); err != nil { return nil, fmt.Errorf("failed to populate provider access config: %w", err) } deployer, err := pDogeCDN.NewDeployer(&pDogeCDN.DeployerConfig{ AccessKey: access.AccessKey, SecretKey: access.SecretKey, - Domain: maps.GetValueAsString(options.ProviderDeployConfig, "domain"), + Domain: maputil.GetString(options.ProviderDeployConfig, "domain"), }) return deployer, err } @@ -401,14 +401,14 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) { case domain.DeployProviderTypeEdgioApplications: { access := domain.AccessConfigForEdgio{} - if err := maps.Populate(options.ProviderAccessConfig, &access); err != nil { + if err := maputil.Populate(options.ProviderAccessConfig, &access); err != nil { return nil, fmt.Errorf("failed to populate provider access config: %w", err) } deployer, err := pEdgioApplications.NewDeployer(&pEdgioApplications.DeployerConfig{ ClientId: access.ClientId, ClientSecret: access.ClientSecret, - EnvironmentId: maps.GetValueAsString(options.ProviderDeployConfig, "environmentId"), + EnvironmentId: maputil.GetString(options.ProviderDeployConfig, "environmentId"), }) return deployer, err } @@ -416,7 +416,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) { case domain.DeployProviderTypeGcoreCDN: { access := domain.AccessConfigForGcore{} - if err := maps.Populate(options.ProviderAccessConfig, &access); err != nil { + if err := maputil.Populate(options.ProviderAccessConfig, &access); err != nil { return nil, fmt.Errorf("failed to populate provider access config: %w", err) } @@ -424,7 +424,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) { case domain.DeployProviderTypeGcoreCDN: deployer, err := pGcoreCDN.NewDeployer(&pGcoreCDN.DeployerConfig{ ApiToken: access.ApiToken, - ResourceId: maps.GetValueAsInt64(options.ProviderDeployConfig, "resourceId"), + ResourceId: maputil.GetInt64(options.ProviderDeployConfig, "resourceId"), }) return deployer, err @@ -436,7 +436,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) { case domain.DeployProviderTypeHuaweiCloudCDN, domain.DeployProviderTypeHuaweiCloudELB, domain.DeployProviderTypeHuaweiCloudWAF: { access := domain.AccessConfigForHuaweiCloud{} - if err := maps.Populate(options.ProviderAccessConfig, &access); err != nil { + if err := maputil.Populate(options.ProviderAccessConfig, &access); err != nil { return nil, fmt.Errorf("failed to populate provider access config: %w", err) } @@ -445,8 +445,8 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) { deployer, err := pHuaweiCloudCDN.NewDeployer(&pHuaweiCloudCDN.DeployerConfig{ AccessKeyId: access.AccessKeyId, SecretAccessKey: access.SecretAccessKey, - Region: maps.GetValueAsString(options.ProviderDeployConfig, "region"), - Domain: maps.GetValueAsString(options.ProviderDeployConfig, "domain"), + Region: maputil.GetString(options.ProviderDeployConfig, "region"), + Domain: maputil.GetString(options.ProviderDeployConfig, "domain"), }) return deployer, err @@ -454,11 +454,11 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) { deployer, err := pHuaweiCloudELB.NewDeployer(&pHuaweiCloudELB.DeployerConfig{ AccessKeyId: access.AccessKeyId, SecretAccessKey: access.SecretAccessKey, - Region: maps.GetValueAsString(options.ProviderDeployConfig, "region"), - ResourceType: pHuaweiCloudELB.ResourceType(maps.GetValueAsString(options.ProviderDeployConfig, "resourceType")), - CertificateId: maps.GetValueAsString(options.ProviderDeployConfig, "certificateId"), - LoadbalancerId: maps.GetValueAsString(options.ProviderDeployConfig, "loadbalancerId"), - ListenerId: maps.GetValueAsString(options.ProviderDeployConfig, "listenerId"), + Region: maputil.GetString(options.ProviderDeployConfig, "region"), + ResourceType: pHuaweiCloudELB.ResourceType(maputil.GetString(options.ProviderDeployConfig, "resourceType")), + CertificateId: maputil.GetString(options.ProviderDeployConfig, "certificateId"), + LoadbalancerId: maputil.GetString(options.ProviderDeployConfig, "loadbalancerId"), + ListenerId: maputil.GetString(options.ProviderDeployConfig, "listenerId"), }) return deployer, err @@ -466,10 +466,10 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) { deployer, err := pHuaweiCloudWAF.NewDeployer(&pHuaweiCloudWAF.DeployerConfig{ AccessKeyId: access.AccessKeyId, SecretAccessKey: access.SecretAccessKey, - Region: maps.GetValueAsString(options.ProviderDeployConfig, "region"), - ResourceType: pHuaweiCloudWAF.ResourceType(maps.GetValueAsString(options.ProviderDeployConfig, "resourceType")), - CertificateId: maps.GetValueAsString(options.ProviderDeployConfig, "certificateId"), - Domain: maps.GetValueAsString(options.ProviderDeployConfig, "domain"), + Region: maputil.GetString(options.ProviderDeployConfig, "region"), + ResourceType: pHuaweiCloudWAF.ResourceType(maputil.GetString(options.ProviderDeployConfig, "resourceType")), + CertificateId: maputil.GetString(options.ProviderDeployConfig, "certificateId"), + Domain: maputil.GetString(options.ProviderDeployConfig, "domain"), }) return deployer, err @@ -481,7 +481,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) { case domain.DeployProviderTypeJDCloudALB, domain.DeployProviderTypeJDCloudCDN, domain.DeployProviderTypeJDCloudLive, domain.DeployProviderTypeJDCloudVOD: { access := domain.AccessConfigForJDCloud{} - if err := maps.Populate(options.ProviderAccessConfig, &access); err != nil { + if err := maputil.Populate(options.ProviderAccessConfig, &access); err != nil { return nil, fmt.Errorf("failed to populate provider access config: %w", err) } @@ -490,10 +490,10 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) { deployer, err := pJDCloudALB.NewDeployer(&pJDCloudALB.DeployerConfig{ AccessKeyId: access.AccessKeyId, AccessKeySecret: access.AccessKeySecret, - RegionId: maps.GetValueAsString(options.ProviderDeployConfig, "regionId"), - ResourceType: pJDCloudALB.ResourceType(maps.GetValueAsString(options.ProviderDeployConfig, "resourceType")), - LoadbalancerId: maps.GetValueAsString(options.ProviderDeployConfig, "loadbalancerId"), - ListenerId: maps.GetValueAsString(options.ProviderDeployConfig, "listenerId"), + RegionId: maputil.GetString(options.ProviderDeployConfig, "regionId"), + ResourceType: pJDCloudALB.ResourceType(maputil.GetString(options.ProviderDeployConfig, "resourceType")), + LoadbalancerId: maputil.GetString(options.ProviderDeployConfig, "loadbalancerId"), + ListenerId: maputil.GetString(options.ProviderDeployConfig, "listenerId"), }) return deployer, err @@ -501,7 +501,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) { deployer, err := pJDCloudCDN.NewDeployer(&pJDCloudCDN.DeployerConfig{ AccessKeyId: access.AccessKeyId, AccessKeySecret: access.AccessKeySecret, - Domain: maps.GetValueAsString(options.ProviderDeployConfig, "domain"), + Domain: maputil.GetString(options.ProviderDeployConfig, "domain"), }) return deployer, err @@ -509,7 +509,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) { deployer, err := pJDCloudLive.NewDeployer(&pJDCloudLive.DeployerConfig{ AccessKeyId: access.AccessKeyId, AccessKeySecret: access.AccessKeySecret, - Domain: maps.GetValueAsString(options.ProviderDeployConfig, "domain"), + Domain: maputil.GetString(options.ProviderDeployConfig, "domain"), }) return deployer, err @@ -517,7 +517,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) { deployer, err := pJDCloudVOD.NewDeployer(&pJDCloudVOD.DeployerConfig{ AccessKeyId: access.AccessKeyId, AccessKeySecret: access.AccessKeySecret, - Domain: maps.GetValueAsString(options.ProviderDeployConfig, "domain"), + Domain: maputil.GetString(options.ProviderDeployConfig, "domain"), }) return deployer, err @@ -529,16 +529,16 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) { case domain.DeployProviderTypeLocal: { deployer, err := pLocal.NewDeployer(&pLocal.DeployerConfig{ - ShellEnv: pLocal.ShellEnvType(maps.GetValueAsString(options.ProviderDeployConfig, "shellEnv")), - PreCommand: maps.GetValueAsString(options.ProviderDeployConfig, "preCommand"), - PostCommand: maps.GetValueAsString(options.ProviderDeployConfig, "postCommand"), - OutputFormat: pLocal.OutputFormatType(maps.GetValueOrDefaultAsString(options.ProviderDeployConfig, "format", string(pLocal.OUTPUT_FORMAT_PEM))), - OutputCertPath: maps.GetValueAsString(options.ProviderDeployConfig, "certPath"), - OutputKeyPath: maps.GetValueAsString(options.ProviderDeployConfig, "keyPath"), - PfxPassword: maps.GetValueAsString(options.ProviderDeployConfig, "pfxPassword"), - JksAlias: maps.GetValueAsString(options.ProviderDeployConfig, "jksAlias"), - JksKeypass: maps.GetValueAsString(options.ProviderDeployConfig, "jksKeypass"), - JksStorepass: maps.GetValueAsString(options.ProviderDeployConfig, "jksStorepass"), + ShellEnv: pLocal.ShellEnvType(maputil.GetString(options.ProviderDeployConfig, "shellEnv")), + PreCommand: maputil.GetString(options.ProviderDeployConfig, "preCommand"), + PostCommand: maputil.GetString(options.ProviderDeployConfig, "postCommand"), + OutputFormat: pLocal.OutputFormatType(maputil.GetOrDefaultString(options.ProviderDeployConfig, "format", string(pLocal.OUTPUT_FORMAT_PEM))), + OutputCertPath: maputil.GetString(options.ProviderDeployConfig, "certPath"), + OutputKeyPath: maputil.GetString(options.ProviderDeployConfig, "keyPath"), + PfxPassword: maputil.GetString(options.ProviderDeployConfig, "pfxPassword"), + JksAlias: maputil.GetString(options.ProviderDeployConfig, "jksAlias"), + JksKeypass: maputil.GetString(options.ProviderDeployConfig, "jksKeypass"), + JksStorepass: maputil.GetString(options.ProviderDeployConfig, "jksStorepass"), }) return deployer, err } @@ -546,17 +546,17 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) { case domain.DeployProviderTypeKubernetesSecret: { access := domain.AccessConfigForKubernetes{} - if err := maps.Populate(options.ProviderAccessConfig, &access); err != nil { + if err := maputil.Populate(options.ProviderAccessConfig, &access); err != nil { return nil, fmt.Errorf("failed to populate provider access config: %w", err) } deployer, err := pK8sSecret.NewDeployer(&pK8sSecret.DeployerConfig{ KubeConfig: access.KubeConfig, - Namespace: maps.GetValueOrDefaultAsString(options.ProviderDeployConfig, "namespace", "default"), - SecretName: maps.GetValueAsString(options.ProviderDeployConfig, "secretName"), - SecretType: maps.GetValueOrDefaultAsString(options.ProviderDeployConfig, "secretType", "kubernetes.io/tls"), - SecretDataKeyForCrt: maps.GetValueOrDefaultAsString(options.ProviderDeployConfig, "secretDataKeyForCrt", "tls.crt"), - SecretDataKeyForKey: maps.GetValueOrDefaultAsString(options.ProviderDeployConfig, "secretDataKeyForKey", "tls.key"), + Namespace: maputil.GetOrDefaultString(options.ProviderDeployConfig, "namespace", "default"), + SecretName: maputil.GetString(options.ProviderDeployConfig, "secretName"), + SecretType: maputil.GetOrDefaultString(options.ProviderDeployConfig, "secretType", "kubernetes.io/tls"), + SecretDataKeyForCrt: maputil.GetOrDefaultString(options.ProviderDeployConfig, "secretDataKeyForCrt", "tls.crt"), + SecretDataKeyForKey: maputil.GetOrDefaultString(options.ProviderDeployConfig, "secretDataKeyForKey", "tls.key"), }) return deployer, err } @@ -564,7 +564,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) { case domain.DeployProviderTypeQiniuCDN, domain.DeployProviderTypeQiniuPili: { access := domain.AccessConfigForQiniu{} - if err := maps.Populate(options.ProviderAccessConfig, &access); err != nil { + if err := maputil.Populate(options.ProviderAccessConfig, &access); err != nil { return nil, fmt.Errorf("failed to populate provider access config: %w", err) } @@ -573,7 +573,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) { deployer, err := pQiniuCDN.NewDeployer(&pQiniuCDN.DeployerConfig{ AccessKey: access.AccessKey, SecretKey: access.SecretKey, - Domain: maps.GetValueAsString(options.ProviderDeployConfig, "domain"), + Domain: maputil.GetString(options.ProviderDeployConfig, "domain"), }) return deployer, err @@ -581,8 +581,8 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) { deployer, err := pQiniuPili.NewDeployer(&pQiniuPili.DeployerConfig{ AccessKey: access.AccessKey, SecretKey: access.SecretKey, - Hub: maps.GetValueAsString(options.ProviderDeployConfig, "hub"), - Domain: maps.GetValueAsString(options.ProviderDeployConfig, "domain"), + Hub: maputil.GetString(options.ProviderDeployConfig, "hub"), + Domain: maputil.GetString(options.ProviderDeployConfig, "domain"), }) return deployer, err @@ -594,7 +594,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) { case domain.DeployProviderTypeSafeLine: { access := domain.AccessConfigForSafeLine{} - if err := maps.Populate(options.ProviderAccessConfig, &access); err != nil { + if err := maputil.Populate(options.ProviderAccessConfig, &access); err != nil { return nil, fmt.Errorf("failed to populate provider access config: %w", err) } @@ -602,8 +602,8 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) { ApiUrl: access.ApiUrl, ApiToken: access.ApiToken, AllowInsecureConnections: access.AllowInsecureConnections, - ResourceType: pSafeLine.ResourceType(maps.GetValueAsString(options.ProviderDeployConfig, "resourceType")), - CertificateId: maps.GetValueAsInt32(options.ProviderDeployConfig, "certificateId"), + ResourceType: pSafeLine.ResourceType(maputil.GetString(options.ProviderDeployConfig, "resourceType")), + CertificateId: maputil.GetInt32(options.ProviderDeployConfig, "certificateId"), }) return deployer, err } @@ -611,7 +611,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) { case domain.DeployProviderTypeSSH: { access := domain.AccessConfigForSSH{} - if err := maps.Populate(options.ProviderAccessConfig, &access); err != nil { + if err := maputil.Populate(options.ProviderAccessConfig, &access); err != nil { return nil, fmt.Errorf("failed to populate provider access config: %w", err) } @@ -622,16 +622,16 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) { SshPassword: access.Password, SshKey: access.Key, SshKeyPassphrase: access.KeyPassphrase, - UseSCP: maps.GetValueAsBool(options.ProviderDeployConfig, "useSCP"), - PreCommand: maps.GetValueAsString(options.ProviderDeployConfig, "preCommand"), - PostCommand: maps.GetValueAsString(options.ProviderDeployConfig, "postCommand"), - OutputFormat: pSSH.OutputFormatType(maps.GetValueOrDefaultAsString(options.ProviderDeployConfig, "format", string(pSSH.OUTPUT_FORMAT_PEM))), - OutputCertPath: maps.GetValueAsString(options.ProviderDeployConfig, "certPath"), - OutputKeyPath: maps.GetValueAsString(options.ProviderDeployConfig, "keyPath"), - PfxPassword: maps.GetValueAsString(options.ProviderDeployConfig, "pfxPassword"), - JksAlias: maps.GetValueAsString(options.ProviderDeployConfig, "jksAlias"), - JksKeypass: maps.GetValueAsString(options.ProviderDeployConfig, "jksKeypass"), - JksStorepass: maps.GetValueAsString(options.ProviderDeployConfig, "jksStorepass"), + UseSCP: maputil.GetBool(options.ProviderDeployConfig, "useSCP"), + PreCommand: maputil.GetString(options.ProviderDeployConfig, "preCommand"), + PostCommand: maputil.GetString(options.ProviderDeployConfig, "postCommand"), + OutputFormat: pSSH.OutputFormatType(maputil.GetOrDefaultString(options.ProviderDeployConfig, "format", string(pSSH.OUTPUT_FORMAT_PEM))), + OutputCertPath: maputil.GetString(options.ProviderDeployConfig, "certPath"), + OutputKeyPath: maputil.GetString(options.ProviderDeployConfig, "keyPath"), + PfxPassword: maputil.GetString(options.ProviderDeployConfig, "pfxPassword"), + JksAlias: maputil.GetString(options.ProviderDeployConfig, "jksAlias"), + JksKeypass: maputil.GetString(options.ProviderDeployConfig, "jksKeypass"), + JksStorepass: maputil.GetString(options.ProviderDeployConfig, "jksStorepass"), }) return deployer, err } @@ -639,7 +639,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) { case domain.DeployProviderTypeTencentCloudCDN, domain.DeployProviderTypeTencentCloudCLB, domain.DeployProviderTypeTencentCloudCOS, domain.DeployProviderTypeTencentCloudCSS, domain.DeployProviderTypeTencentCloudECDN, domain.DeployProviderTypeTencentCloudEO, domain.DeployProviderTypeTencentCloudSCF, domain.DeployProviderTypeTencentCloudSSLDeploy, domain.DeployProviderTypeTencentCloudVOD, domain.DeployProviderTypeTencentCloudWAF: { access := domain.AccessConfigForTencentCloud{} - if err := maps.Populate(options.ProviderAccessConfig, &access); err != nil { + if err := maputil.Populate(options.ProviderAccessConfig, &access); err != nil { return nil, fmt.Errorf("failed to populate provider access config: %w", err) } @@ -648,7 +648,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) { deployer, err := pTencentCloudCDN.NewDeployer(&pTencentCloudCDN.DeployerConfig{ SecretId: access.SecretId, SecretKey: access.SecretKey, - Domain: maps.GetValueAsString(options.ProviderDeployConfig, "domain"), + Domain: maputil.GetString(options.ProviderDeployConfig, "domain"), }) return deployer, err @@ -656,11 +656,11 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) { deployer, err := pTencentCloudCLB.NewDeployer(&pTencentCloudCLB.DeployerConfig{ SecretId: access.SecretId, SecretKey: access.SecretKey, - Region: maps.GetValueAsString(options.ProviderDeployConfig, "region"), - ResourceType: pTencentCloudCLB.ResourceType(maps.GetValueAsString(options.ProviderDeployConfig, "resourceType")), - LoadbalancerId: maps.GetValueAsString(options.ProviderDeployConfig, "loadbalancerId"), - ListenerId: maps.GetValueAsString(options.ProviderDeployConfig, "listenerId"), - Domain: maps.GetValueAsString(options.ProviderDeployConfig, "domain"), + Region: maputil.GetString(options.ProviderDeployConfig, "region"), + ResourceType: pTencentCloudCLB.ResourceType(maputil.GetString(options.ProviderDeployConfig, "resourceType")), + LoadbalancerId: maputil.GetString(options.ProviderDeployConfig, "loadbalancerId"), + ListenerId: maputil.GetString(options.ProviderDeployConfig, "listenerId"), + Domain: maputil.GetString(options.ProviderDeployConfig, "domain"), }) return deployer, err @@ -668,9 +668,9 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) { deployer, err := pTencentCloudCOS.NewDeployer(&pTencentCloudCOS.DeployerConfig{ SecretId: access.SecretId, SecretKey: access.SecretKey, - Region: maps.GetValueAsString(options.ProviderDeployConfig, "region"), - Bucket: maps.GetValueAsString(options.ProviderDeployConfig, "bucket"), - Domain: maps.GetValueAsString(options.ProviderDeployConfig, "domain"), + Region: maputil.GetString(options.ProviderDeployConfig, "region"), + Bucket: maputil.GetString(options.ProviderDeployConfig, "bucket"), + Domain: maputil.GetString(options.ProviderDeployConfig, "domain"), }) return deployer, err @@ -678,7 +678,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) { deployer, err := pTencentCloudCSS.NewDeployer(&pTencentCloudCSS.DeployerConfig{ SecretId: access.SecretId, SecretKey: access.SecretKey, - Domain: maps.GetValueAsString(options.ProviderDeployConfig, "domain"), + Domain: maputil.GetString(options.ProviderDeployConfig, "domain"), }) return deployer, err @@ -686,7 +686,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) { deployer, err := pTencentCloudECDN.NewDeployer(&pTencentCloudECDN.DeployerConfig{ SecretId: access.SecretId, SecretKey: access.SecretKey, - Domain: maps.GetValueAsString(options.ProviderDeployConfig, "domain"), + Domain: maputil.GetString(options.ProviderDeployConfig, "domain"), }) return deployer, err @@ -694,8 +694,8 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) { deployer, err := pTencentCloudEO.NewDeployer(&pTencentCloudEO.DeployerConfig{ SecretId: access.SecretId, SecretKey: access.SecretKey, - ZoneId: maps.GetValueAsString(options.ProviderDeployConfig, "zoneId"), - Domain: maps.GetValueAsString(options.ProviderDeployConfig, "domain"), + ZoneId: maputil.GetString(options.ProviderDeployConfig, "zoneId"), + Domain: maputil.GetString(options.ProviderDeployConfig, "domain"), }) return deployer, err @@ -703,8 +703,8 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) { deployer, err := pTencentCloudSCF.NewDeployer(&pTencentCloudSCF.DeployerConfig{ SecretId: access.SecretId, SecretKey: access.SecretKey, - Region: maps.GetValueAsString(options.ProviderDeployConfig, "region"), - Domain: maps.GetValueAsString(options.ProviderDeployConfig, "domain"), + Region: maputil.GetString(options.ProviderDeployConfig, "region"), + Domain: maputil.GetString(options.ProviderDeployConfig, "domain"), }) return deployer, err @@ -712,9 +712,9 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) { deployer, err := pTencentCloudSSLDeploy.NewDeployer(&pTencentCloudSSLDeploy.DeployerConfig{ SecretId: access.SecretId, SecretKey: access.SecretKey, - Region: maps.GetValueAsString(options.ProviderDeployConfig, "region"), - ResourceType: maps.GetValueAsString(options.ProviderDeployConfig, "resourceType"), - ResourceIds: slices.Filter(strings.Split(maps.GetValueAsString(options.ProviderDeployConfig, "resourceIds"), ";"), func(s string) bool { return s != "" }), + Region: maputil.GetString(options.ProviderDeployConfig, "region"), + ResourceType: maputil.GetString(options.ProviderDeployConfig, "resourceType"), + ResourceIds: sliceutil.Filter(strings.Split(maputil.GetString(options.ProviderDeployConfig, "resourceIds"), ";"), func(s string) bool { return s != "" }), }) return deployer, err @@ -722,8 +722,8 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) { deployer, err := pTencentCloudVOD.NewDeployer(&pTencentCloudVOD.DeployerConfig{ SecretId: access.SecretId, SecretKey: access.SecretKey, - SubAppId: maps.GetValueAsInt64(options.ProviderDeployConfig, "subAppId"), - Domain: maps.GetValueAsString(options.ProviderDeployConfig, "domain"), + SubAppId: maputil.GetInt64(options.ProviderDeployConfig, "subAppId"), + Domain: maputil.GetString(options.ProviderDeployConfig, "domain"), }) return deployer, err @@ -731,9 +731,9 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) { deployer, err := pTencentCloudWAF.NewDeployer(&pTencentCloudWAF.DeployerConfig{ SecretId: access.SecretId, SecretKey: access.SecretKey, - Domain: maps.GetValueAsString(options.ProviderDeployConfig, "domain"), - DomainId: maps.GetValueAsString(options.ProviderDeployConfig, "domainId"), - InstanceId: maps.GetValueAsString(options.ProviderDeployConfig, "instanceId"), + Domain: maputil.GetString(options.ProviderDeployConfig, "domain"), + DomainId: maputil.GetString(options.ProviderDeployConfig, "domainId"), + InstanceId: maputil.GetString(options.ProviderDeployConfig, "instanceId"), }) return deployer, err @@ -745,7 +745,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) { case domain.DeployProviderTypeUCloudUCDN, domain.DeployProviderTypeUCloudUS3: { access := domain.AccessConfigForUCloud{} - if err := maps.Populate(options.ProviderAccessConfig, &access); err != nil { + if err := maputil.Populate(options.ProviderAccessConfig, &access); err != nil { return nil, fmt.Errorf("failed to populate provider access config: %w", err) } @@ -755,7 +755,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) { PrivateKey: access.PrivateKey, PublicKey: access.PublicKey, ProjectId: access.ProjectId, - DomainId: maps.GetValueAsString(options.ProviderDeployConfig, "domainId"), + DomainId: maputil.GetString(options.ProviderDeployConfig, "domainId"), }) return deployer, err @@ -764,9 +764,9 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) { PrivateKey: access.PrivateKey, PublicKey: access.PublicKey, ProjectId: access.ProjectId, - Region: maps.GetValueAsString(options.ProviderDeployConfig, "region"), - Bucket: maps.GetValueAsString(options.ProviderDeployConfig, "bucket"), - Domain: maps.GetValueAsString(options.ProviderDeployConfig, "domain"), + Region: maputil.GetString(options.ProviderDeployConfig, "region"), + Bucket: maputil.GetString(options.ProviderDeployConfig, "bucket"), + Domain: maputil.GetString(options.ProviderDeployConfig, "domain"), }) return deployer, err @@ -778,7 +778,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) { case domain.DeployProviderTypeVolcEngineCDN, domain.DeployProviderTypeVolcEngineCLB, domain.DeployProviderTypeVolcEngineDCDN, domain.DeployProviderTypeVolcEngineImageX, domain.DeployProviderTypeVolcEngineLive, domain.DeployProviderTypeVolcEngineTOS: { access := domain.AccessConfigForVolcEngine{} - if err := maps.Populate(options.ProviderAccessConfig, &access); err != nil { + if err := maputil.Populate(options.ProviderAccessConfig, &access); err != nil { return nil, fmt.Errorf("failed to populate provider access config: %w", err) } @@ -787,7 +787,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) { deployer, err := pVolcEngineCDN.NewDeployer(&pVolcEngineCDN.DeployerConfig{ AccessKeyId: access.AccessKeyId, AccessKeySecret: access.SecretAccessKey, - Domain: maps.GetValueAsString(options.ProviderDeployConfig, "domain"), + Domain: maputil.GetString(options.ProviderDeployConfig, "domain"), }) return deployer, err @@ -795,9 +795,9 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) { deployer, err := pVolcEngineCLB.NewDeployer(&pVolcEngineCLB.DeployerConfig{ AccessKeyId: access.AccessKeyId, AccessKeySecret: access.SecretAccessKey, - Region: maps.GetValueAsString(options.ProviderDeployConfig, "region"), - ResourceType: pVolcEngineCLB.ResourceType(maps.GetValueAsString(options.ProviderDeployConfig, "resourceType")), - ListenerId: maps.GetValueAsString(options.ProviderDeployConfig, "listenerId"), + Region: maputil.GetString(options.ProviderDeployConfig, "region"), + ResourceType: pVolcEngineCLB.ResourceType(maputil.GetString(options.ProviderDeployConfig, "resourceType")), + ListenerId: maputil.GetString(options.ProviderDeployConfig, "listenerId"), }) return deployer, err @@ -805,7 +805,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) { deployer, err := pVolcEngineDCDN.NewDeployer(&pVolcEngineDCDN.DeployerConfig{ AccessKeyId: access.AccessKeyId, AccessKeySecret: access.SecretAccessKey, - Domain: maps.GetValueAsString(options.ProviderDeployConfig, "domain"), + Domain: maputil.GetString(options.ProviderDeployConfig, "domain"), }) return deployer, err @@ -813,9 +813,9 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) { deployer, err := pVolcEngineImageX.NewDeployer(&pVolcEngineImageX.DeployerConfig{ AccessKeyId: access.AccessKeyId, AccessKeySecret: access.SecretAccessKey, - Region: maps.GetValueAsString(options.ProviderDeployConfig, "region"), - ServiceId: maps.GetValueAsString(options.ProviderDeployConfig, "serviceId"), - Domain: maps.GetValueAsString(options.ProviderDeployConfig, "domain"), + Region: maputil.GetString(options.ProviderDeployConfig, "region"), + ServiceId: maputil.GetString(options.ProviderDeployConfig, "serviceId"), + Domain: maputil.GetString(options.ProviderDeployConfig, "domain"), }) return deployer, err @@ -823,7 +823,7 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) { deployer, err := pVolcEngineLive.NewDeployer(&pVolcEngineLive.DeployerConfig{ AccessKeyId: access.AccessKeyId, AccessKeySecret: access.SecretAccessKey, - Domain: maps.GetValueAsString(options.ProviderDeployConfig, "domain"), + Domain: maputil.GetString(options.ProviderDeployConfig, "domain"), }) return deployer, err @@ -831,9 +831,9 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) { deployer, err := pVolcEngineTOS.NewDeployer(&pVolcEngineTOS.DeployerConfig{ AccessKeyId: access.AccessKeyId, AccessKeySecret: access.SecretAccessKey, - Region: maps.GetValueAsString(options.ProviderDeployConfig, "region"), - Bucket: maps.GetValueAsString(options.ProviderDeployConfig, "bucket"), - Domain: maps.GetValueAsString(options.ProviderDeployConfig, "domain"), + Region: maputil.GetString(options.ProviderDeployConfig, "region"), + Bucket: maputil.GetString(options.ProviderDeployConfig, "bucket"), + Domain: maputil.GetString(options.ProviderDeployConfig, "domain"), }) return deployer, err @@ -845,13 +845,13 @@ func createDeployer(options *deployerOptions) (deployer.Deployer, error) { case domain.DeployProviderTypeWebhook: { access := domain.AccessConfigForWebhook{} - if err := maps.Populate(options.ProviderAccessConfig, &access); err != nil { + if err := maputil.Populate(options.ProviderAccessConfig, &access); err != nil { return nil, fmt.Errorf("failed to populate provider access config: %w", err) } deployer, err := pWebhook.NewDeployer(&pWebhook.DeployerConfig{ WebhookUrl: access.Url, - WebhookData: maps.GetValueAsString(options.ProviderDeployConfig, "webhookData"), + WebhookData: maputil.GetString(options.ProviderDeployConfig, "webhookData"), AllowInsecureConnections: access.AllowInsecureConnections, }) return deployer, err diff --git a/internal/domain/certificate.go b/internal/domain/certificate.go index 29ca6292..489af550 100644 --- a/internal/domain/certificate.go +++ b/internal/domain/certificate.go @@ -8,7 +8,7 @@ import ( "strings" "time" - "github.com/usual2970/certimate/internal/pkg/utils/certs" + "github.com/usual2970/certimate/internal/pkg/utils/certutil" ) const CollectionNameCertificate = "certificate" @@ -105,10 +105,10 @@ func (c *Certificate) PopulateFromPEM(certPEM, privkeyPEM string) *Certificate { c.Certificate = certPEM c.PrivateKey = privkeyPEM - _, issuerCertPEM, _ := certs.ExtractCertificatesFromPEM(certPEM) + _, issuerCertPEM, _ := certutil.ExtractCertificatesFromPEM(certPEM) c.IssuerCertificate = issuerCertPEM - certX509, _ := certs.ParseCertificateFromPEM(certPEM) + certX509, _ := certutil.ParseCertificateFromPEM(certPEM) if certX509 != nil { c.PopulateFromX509(certX509) } diff --git a/internal/domain/workflow.go b/internal/domain/workflow.go index 9277e798..50069865 100644 --- a/internal/domain/workflow.go +++ b/internal/domain/workflow.go @@ -3,7 +3,7 @@ package domain import ( "time" - "github.com/usual2970/certimate/internal/pkg/utils/maps" + "github.com/usual2970/certimate/internal/pkg/utils/maputil" ) const CollectionNameWorkflow = "workflow" @@ -97,19 +97,19 @@ type WorkflowNodeConfigForNotify struct { Message string `json:"message"` // 通知内容 } -func (n *WorkflowNode) getConfigValueAsString(key string) string { - return maps.GetValueAsString(n.Config, key) +func (n *WorkflowNode) getConfigString(key string) string { + return maputil.GetString(n.Config, key) } -func (n *WorkflowNode) getConfigValueAsBool(key string) bool { - return maps.GetValueAsBool(n.Config, key) +func (n *WorkflowNode) getConfigBool(key string) bool { + return maputil.GetBool(n.Config, key) } -func (n *WorkflowNode) getConfigValueAsInt32(key string) int32 { - return maps.GetValueAsInt32(n.Config, key) +func (n *WorkflowNode) getConfigInt32(key string) int32 { + return maputil.GetInt32(n.Config, key) } -func (n *WorkflowNode) getConfigValueAsMap(key string) map[string]any { +func (n *WorkflowNode) getConfigMap(key string) map[string]any { if val, ok := n.Config[key]; ok { if result, ok := val.(map[string]any); ok { return result @@ -120,50 +120,50 @@ func (n *WorkflowNode) getConfigValueAsMap(key string) map[string]any { } func (n *WorkflowNode) GetConfigForApply() WorkflowNodeConfigForApply { - skipBeforeExpiryDays := n.getConfigValueAsInt32("skipBeforeExpiryDays") + skipBeforeExpiryDays := n.getConfigInt32("skipBeforeExpiryDays") if skipBeforeExpiryDays == 0 { skipBeforeExpiryDays = 30 } return WorkflowNodeConfigForApply{ - Domains: n.getConfigValueAsString("domains"), - ContactEmail: n.getConfigValueAsString("contactEmail"), - Provider: n.getConfigValueAsString("provider"), - ProviderAccessId: n.getConfigValueAsString("providerAccessId"), - ProviderConfig: n.getConfigValueAsMap("providerConfig"), - KeyAlgorithm: n.getConfigValueAsString("keyAlgorithm"), - Nameservers: n.getConfigValueAsString("nameservers"), - DnsPropagationTimeout: n.getConfigValueAsInt32("dnsPropagationTimeout"), - DnsTTL: n.getConfigValueAsInt32("dnsTTL"), - DisableFollowCNAME: n.getConfigValueAsBool("disableFollowCNAME"), - DisableARI: n.getConfigValueAsBool("disableARI"), + Domains: n.getConfigString("domains"), + ContactEmail: n.getConfigString("contactEmail"), + Provider: n.getConfigString("provider"), + ProviderAccessId: n.getConfigString("providerAccessId"), + ProviderConfig: n.getConfigMap("providerConfig"), + KeyAlgorithm: n.getConfigString("keyAlgorithm"), + Nameservers: n.getConfigString("nameservers"), + DnsPropagationTimeout: n.getConfigInt32("dnsPropagationTimeout"), + DnsTTL: n.getConfigInt32("dnsTTL"), + DisableFollowCNAME: n.getConfigBool("disableFollowCNAME"), + DisableARI: n.getConfigBool("disableARI"), SkipBeforeExpiryDays: skipBeforeExpiryDays, } } func (n *WorkflowNode) GetConfigForUpload() WorkflowNodeConfigForUpload { return WorkflowNodeConfigForUpload{ - Certificate: n.getConfigValueAsString("certificate"), - PrivateKey: n.getConfigValueAsString("privateKey"), - Domains: n.getConfigValueAsString("domains"), + Certificate: n.getConfigString("certificate"), + PrivateKey: n.getConfigString("privateKey"), + Domains: n.getConfigString("domains"), } } func (n *WorkflowNode) GetConfigForDeploy() WorkflowNodeConfigForDeploy { return WorkflowNodeConfigForDeploy{ - Certificate: n.getConfigValueAsString("certificate"), - Provider: n.getConfigValueAsString("provider"), - ProviderAccessId: n.getConfigValueAsString("providerAccessId"), - ProviderConfig: n.getConfigValueAsMap("providerConfig"), - SkipOnLastSucceeded: n.getConfigValueAsBool("skipOnLastSucceeded"), + Certificate: n.getConfigString("certificate"), + Provider: n.getConfigString("provider"), + ProviderAccessId: n.getConfigString("providerAccessId"), + ProviderConfig: n.getConfigMap("providerConfig"), + SkipOnLastSucceeded: n.getConfigBool("skipOnLastSucceeded"), } } func (n *WorkflowNode) GetConfigForNotify() WorkflowNodeConfigForNotify { return WorkflowNodeConfigForNotify{ - Channel: n.getConfigValueAsString("channel"), - Subject: n.getConfigValueAsString("subject"), - Message: n.getConfigValueAsString("message"), + Channel: n.getConfigString("channel"), + Subject: n.getConfigString("subject"), + Message: n.getConfigString("message"), } } diff --git a/internal/notify/notify.go b/internal/notify/notify.go index f509630c..d4b42ec9 100644 --- a/internal/notify/notify.go +++ b/internal/notify/notify.go @@ -9,7 +9,7 @@ import ( "github.com/usual2970/certimate/internal/domain" "github.com/usual2970/certimate/internal/pkg/core/notifier" - "github.com/usual2970/certimate/internal/pkg/utils/maps" + "github.com/usual2970/certimate/internal/pkg/utils/maputil" "github.com/usual2970/certimate/internal/repository" ) @@ -62,7 +62,7 @@ func getEnabledNotifiers() ([]notifier.Notifier, error) { notifiers := make([]notifier.Notifier, 0) for k, v := range rs { - if !maps.GetValueAsBool(v, "enabled") { + if !maputil.GetBool(v, "enabled") { continue } diff --git a/internal/notify/providers.go b/internal/notify/providers.go index 9cd27439..66927390 100644 --- a/internal/notify/providers.go +++ b/internal/notify/providers.go @@ -13,7 +13,7 @@ import ( pTelegram "github.com/usual2970/certimate/internal/pkg/core/notifier/providers/telegram" pWebhook "github.com/usual2970/certimate/internal/pkg/core/notifier/providers/webhook" pWeCom "github.com/usual2970/certimate/internal/pkg/core/notifier/providers/wecom" - "github.com/usual2970/certimate/internal/pkg/utils/maps" + "github.com/usual2970/certimate/internal/pkg/utils/maputil" ) func createNotifier(channel domain.NotifyChannelType, channelConfig map[string]any) (notifier.Notifier, error) { @@ -24,52 +24,52 @@ func createNotifier(channel domain.NotifyChannelType, channelConfig map[string]a switch channel { case domain.NotifyChannelTypeBark: return pBark.NewNotifier(&pBark.NotifierConfig{ - DeviceKey: maps.GetValueAsString(channelConfig, "deviceKey"), - ServerUrl: maps.GetValueAsString(channelConfig, "serverUrl"), + DeviceKey: maputil.GetString(channelConfig, "deviceKey"), + ServerUrl: maputil.GetString(channelConfig, "serverUrl"), }) case domain.NotifyChannelTypeDingTalk: return pDingTalk.NewNotifier(&pDingTalk.NotifierConfig{ - AccessToken: maps.GetValueAsString(channelConfig, "accessToken"), - Secret: maps.GetValueAsString(channelConfig, "secret"), + AccessToken: maputil.GetString(channelConfig, "accessToken"), + Secret: maputil.GetString(channelConfig, "secret"), }) case domain.NotifyChannelTypeEmail: return pEmail.NewNotifier(&pEmail.NotifierConfig{ - SmtpHost: maps.GetValueAsString(channelConfig, "smtpHost"), - SmtpPort: maps.GetValueAsInt32(channelConfig, "smtpPort"), - SmtpTLS: maps.GetValueOrDefaultAsBool(channelConfig, "smtpTLS", true), - Username: maps.GetValueOrDefaultAsString(channelConfig, "username", maps.GetValueAsString(channelConfig, "senderAddress")), - Password: maps.GetValueAsString(channelConfig, "password"), - SenderAddress: maps.GetValueAsString(channelConfig, "senderAddress"), - ReceiverAddress: maps.GetValueAsString(channelConfig, "receiverAddress"), + SmtpHost: maputil.GetString(channelConfig, "smtpHost"), + SmtpPort: maputil.GetInt32(channelConfig, "smtpPort"), + SmtpTLS: maputil.GetOrDefaultBool(channelConfig, "smtpTLS", true), + Username: maputil.GetOrDefaultString(channelConfig, "username", maputil.GetString(channelConfig, "senderAddress")), + Password: maputil.GetString(channelConfig, "password"), + SenderAddress: maputil.GetString(channelConfig, "senderAddress"), + ReceiverAddress: maputil.GetString(channelConfig, "receiverAddress"), }) case domain.NotifyChannelTypeLark: return pLark.NewNotifier(&pLark.NotifierConfig{ - WebhookUrl: maps.GetValueAsString(channelConfig, "webhookUrl"), + WebhookUrl: maputil.GetString(channelConfig, "webhookUrl"), }) case domain.NotifyChannelTypeServerChan: return pServerChan.NewNotifier(&pServerChan.NotifierConfig{ - Url: maps.GetValueAsString(channelConfig, "url"), + Url: maputil.GetString(channelConfig, "url"), }) case domain.NotifyChannelTypeTelegram: return pTelegram.NewNotifier(&pTelegram.NotifierConfig{ - ApiToken: maps.GetValueAsString(channelConfig, "apiToken"), - ChatId: maps.GetValueAsInt64(channelConfig, "chatId"), + ApiToken: maputil.GetString(channelConfig, "apiToken"), + ChatId: maputil.GetInt64(channelConfig, "chatId"), }) case domain.NotifyChannelTypeWebhook: return pWebhook.NewNotifier(&pWebhook.NotifierConfig{ - Url: maps.GetValueAsString(channelConfig, "url"), - AllowInsecureConnections: maps.GetValueAsBool(channelConfig, "allowInsecureConnections"), + Url: maputil.GetString(channelConfig, "url"), + AllowInsecureConnections: maputil.GetBool(channelConfig, "allowInsecureConnections"), }) case domain.NotifyChannelTypeWeCom: return pWeCom.NewNotifier(&pWeCom.NotifierConfig{ - WebhookUrl: maps.GetValueAsString(channelConfig, "webhookUrl"), + WebhookUrl: maputil.GetString(channelConfig, "webhookUrl"), }) } diff --git a/internal/pkg/core/deployer/providers/baotapanel-site/baotapanel_site.go b/internal/pkg/core/deployer/providers/baotapanel-site/baotapanel_site.go index 75d57b1a..082b57b7 100644 --- a/internal/pkg/core/deployer/providers/baotapanel-site/baotapanel_site.go +++ b/internal/pkg/core/deployer/providers/baotapanel-site/baotapanel_site.go @@ -11,7 +11,7 @@ import ( xerrors "github.com/pkg/errors" "github.com/usual2970/certimate/internal/pkg/core/deployer" - "github.com/usual2970/certimate/internal/pkg/utils/slices" + "github.com/usual2970/certimate/internal/pkg/utils/sliceutil" btsdk "github.com/usual2970/certimate/internal/pkg/vendors/btpanel-sdk" ) @@ -105,7 +105,7 @@ func (d *DeployerProvider) Deploy(ctx context.Context, certPem string, privkeyPe // 设置站点证书 sslSetBatchCertToSiteReq := &btsdk.SSLSetBatchCertToSiteRequest{ - BatchInfo: slices.Map(d.config.SiteNames, func(siteName string) *btsdk.SSLSetBatchCertToSiteRequestBatchInfo { + BatchInfo: sliceutil.Map(d.config.SiteNames, func(siteName string) *btsdk.SSLSetBatchCertToSiteRequestBatchInfo { return &btsdk.SSLSetBatchCertToSiteRequestBatchInfo{ SiteName: siteName, SSLHash: sslCertSaveCertResp.SSLHash, diff --git a/internal/pkg/core/deployer/providers/edgio-applications/edgio_applications.go b/internal/pkg/core/deployer/providers/edgio-applications/edgio_applications.go index 572ee4af..6e21444c 100644 --- a/internal/pkg/core/deployer/providers/edgio-applications/edgio_applications.go +++ b/internal/pkg/core/deployer/providers/edgio-applications/edgio_applications.go @@ -7,7 +7,7 @@ import ( xerrors "github.com/pkg/errors" "github.com/usual2970/certimate/internal/pkg/core/deployer" - "github.com/usual2970/certimate/internal/pkg/utils/certs" + "github.com/usual2970/certimate/internal/pkg/utils/certutil" edgsdk "github.com/usual2970/certimate/internal/pkg/vendors/edgio-sdk/applications/v7" edgsdkDtos "github.com/usual2970/certimate/internal/pkg/vendors/edgio-sdk/applications/v7/dtos" ) @@ -57,7 +57,7 @@ func (d *DeployerProvider) WithLogger(logger *slog.Logger) deployer.Deployer { func (d *DeployerProvider) Deploy(ctx context.Context, certPem string, privkeyPem string) (*deployer.DeployResult, error) { // 提取 Edgio 所需的服务端证书和中间证书内容 - privateCertPem, intermediateCertPem, err := certs.ExtractCertificatesFromPEM(certPem) + privateCertPem, intermediateCertPem, err := certutil.ExtractCertificatesFromPEM(certPem) if err != nil { return nil, err } diff --git a/internal/pkg/core/deployer/providers/jdcloud-alb/jdcloud_alb.go b/internal/pkg/core/deployer/providers/jdcloud-alb/jdcloud_alb.go index 30d93457..b1ab981f 100644 --- a/internal/pkg/core/deployer/providers/jdcloud-alb/jdcloud_alb.go +++ b/internal/pkg/core/deployer/providers/jdcloud-alb/jdcloud_alb.go @@ -17,7 +17,7 @@ import ( "github.com/usual2970/certimate/internal/pkg/core/deployer" "github.com/usual2970/certimate/internal/pkg/core/uploader" uploadersp "github.com/usual2970/certimate/internal/pkg/core/uploader/providers/jdcloud-ssl" - "github.com/usual2970/certimate/internal/pkg/utils/slices" + "github.com/usual2970/certimate/internal/pkg/utils/sliceutil" ) type DeployerConfig struct { @@ -216,7 +216,7 @@ func (d *DeployerProvider) updateListenerCertificate(ctx context.Context, cloudL } else { // 指定 SNI,需部署到扩展证书 - extCertSpecs := slices.Filter(describeListenerResp.Result.Listener.ExtensionCertificateSpecs, func(extCertSpec jdLbModel.ExtensionCertificateSpec) bool { + extCertSpecs := sliceutil.Filter(describeListenerResp.Result.Listener.ExtensionCertificateSpecs, func(extCertSpec jdLbModel.ExtensionCertificateSpec) bool { return extCertSpec.Domain == d.config.Domain }) if len(extCertSpecs) == 0 { @@ -228,7 +228,7 @@ func (d *DeployerProvider) updateListenerCertificate(ctx context.Context, cloudL updateListenerCertificatesReq := jdLbApi.NewUpdateListenerCertificatesRequest( d.config.RegionId, cloudListenerId, - slices.Map(extCertSpecs, func(extCertSpec jdLbModel.ExtensionCertificateSpec) jdLbModel.ExtCertificateUpdateSpec { + sliceutil.Map(extCertSpecs, func(extCertSpec jdLbModel.ExtensionCertificateSpec) jdLbModel.ExtCertificateUpdateSpec { return jdLbModel.ExtCertificateUpdateSpec{ CertificateBindId: extCertSpec.CertificateBindId, CertificateId: &cloudCertId, diff --git a/internal/pkg/core/deployer/providers/k8s-secret/k8s_secret.go b/internal/pkg/core/deployer/providers/k8s-secret/k8s_secret.go index e27070c8..7ca92e41 100644 --- a/internal/pkg/core/deployer/providers/k8s-secret/k8s_secret.go +++ b/internal/pkg/core/deployer/providers/k8s-secret/k8s_secret.go @@ -14,7 +14,7 @@ import ( "k8s.io/client-go/tools/clientcmd" "github.com/usual2970/certimate/internal/pkg/core/deployer" - "github.com/usual2970/certimate/internal/pkg/utils/certs" + "github.com/usual2970/certimate/internal/pkg/utils/certutil" ) type DeployerConfig struct { @@ -76,7 +76,7 @@ func (d *DeployerProvider) Deploy(ctx context.Context, certPem string, privkeyPe return nil, errors.New("config `secretDataKeyForKey` is required") } - certX509, err := certs.ParseCertificateFromPEM(certPem) + certX509, err := certutil.ParseCertificateFromPEM(certPem) if err != nil { return nil, err } diff --git a/internal/pkg/core/deployer/providers/local/local.go b/internal/pkg/core/deployer/providers/local/local.go index 1f28df33..b4d07711 100644 --- a/internal/pkg/core/deployer/providers/local/local.go +++ b/internal/pkg/core/deployer/providers/local/local.go @@ -11,8 +11,8 @@ import ( xerrors "github.com/pkg/errors" "github.com/usual2970/certimate/internal/pkg/core/deployer" - "github.com/usual2970/certimate/internal/pkg/utils/certs" - "github.com/usual2970/certimate/internal/pkg/utils/files" + "github.com/usual2970/certimate/internal/pkg/utils/certutil" + "github.com/usual2970/certimate/internal/pkg/utils/fileutil" ) type DeployerConfig struct { @@ -83,36 +83,36 @@ func (d *DeployerProvider) Deploy(ctx context.Context, certPem string, privkeyPe // 写入证书和私钥文件 switch d.config.OutputFormat { case OUTPUT_FORMAT_PEM: - if err := files.WriteString(d.config.OutputCertPath, certPem); err != nil { + if err := fileutil.WriteString(d.config.OutputCertPath, certPem); err != nil { return nil, xerrors.Wrap(err, "failed to save certificate file") } d.logger.Info("ssl certificate file saved", slog.String("path", d.config.OutputCertPath)) - if err := files.WriteString(d.config.OutputKeyPath, privkeyPem); err != nil { + if err := fileutil.WriteString(d.config.OutputKeyPath, privkeyPem); err != nil { return nil, xerrors.Wrap(err, "failed to save private key file") } d.logger.Info("ssl private key file saved", slog.String("path", d.config.OutputKeyPath)) case OUTPUT_FORMAT_PFX: - pfxData, err := certs.TransformCertificateFromPEMToPFX(certPem, privkeyPem, d.config.PfxPassword) + pfxData, err := certutil.TransformCertificateFromPEMToPFX(certPem, privkeyPem, d.config.PfxPassword) if err != nil { return nil, xerrors.Wrap(err, "failed to transform certificate to PFX") } d.logger.Info("ssl certificate transformed to pfx") - if err := files.Write(d.config.OutputCertPath, pfxData); err != nil { + if err := fileutil.Write(d.config.OutputCertPath, pfxData); err != nil { return nil, xerrors.Wrap(err, "failed to save certificate file") } d.logger.Info("ssl certificate file saved", slog.String("path", d.config.OutputCertPath)) case OUTPUT_FORMAT_JKS: - jksData, err := certs.TransformCertificateFromPEMToJKS(certPem, privkeyPem, d.config.JksAlias, d.config.JksKeypass, d.config.JksStorepass) + jksData, err := certutil.TransformCertificateFromPEMToJKS(certPem, privkeyPem, d.config.JksAlias, d.config.JksKeypass, d.config.JksStorepass) if err != nil { return nil, xerrors.Wrap(err, "failed to transform certificate to JKS") } d.logger.Info("ssl certificate transformed to jks") - if err := files.Write(d.config.OutputCertPath, jksData); err != nil { + if err := fileutil.Write(d.config.OutputCertPath, jksData); err != nil { return nil, xerrors.Wrap(err, "failed to save certificate file") } d.logger.Info("ssl certificate file saved", slog.String("path", d.config.OutputCertPath)) diff --git a/internal/pkg/core/deployer/providers/ssh/ssh.go b/internal/pkg/core/deployer/providers/ssh/ssh.go index 1a9c0841..8fba9490 100644 --- a/internal/pkg/core/deployer/providers/ssh/ssh.go +++ b/internal/pkg/core/deployer/providers/ssh/ssh.go @@ -14,7 +14,7 @@ import ( "golang.org/x/crypto/ssh" "github.com/usual2970/certimate/internal/pkg/core/deployer" - "github.com/usual2970/certimate/internal/pkg/utils/certs" + "github.com/usual2970/certimate/internal/pkg/utils/certutil" ) type DeployerConfig struct { @@ -125,7 +125,7 @@ func (d *DeployerProvider) Deploy(ctx context.Context, certPem string, privkeyPe d.logger.Info("ssl private key file uploaded", slog.String("path", d.config.OutputKeyPath)) case OUTPUT_FORMAT_PFX: - pfxData, err := certs.TransformCertificateFromPEMToPFX(certPem, privkeyPem, d.config.PfxPassword) + pfxData, err := certutil.TransformCertificateFromPEMToPFX(certPem, privkeyPem, d.config.PfxPassword) if err != nil { return nil, xerrors.Wrap(err, "failed to transform certificate to PFX") } @@ -137,7 +137,7 @@ func (d *DeployerProvider) Deploy(ctx context.Context, certPem string, privkeyPe d.logger.Info("ssl certificate file uploaded", slog.String("path", d.config.OutputCertPath)) case OUTPUT_FORMAT_JKS: - jksData, err := certs.TransformCertificateFromPEMToJKS(certPem, privkeyPem, d.config.JksAlias, d.config.JksKeypass, d.config.JksStorepass) + jksData, err := certutil.TransformCertificateFromPEMToJKS(certPem, privkeyPem, d.config.JksAlias, d.config.JksKeypass, d.config.JksStorepass) if err != nil { return nil, xerrors.Wrap(err, "failed to transform certificate to JKS") } diff --git a/internal/pkg/core/deployer/providers/webhook/webhook.go b/internal/pkg/core/deployer/providers/webhook/webhook.go index 3cfd85ca..0afc60f0 100644 --- a/internal/pkg/core/deployer/providers/webhook/webhook.go +++ b/internal/pkg/core/deployer/providers/webhook/webhook.go @@ -12,7 +12,7 @@ import ( xerrors "github.com/pkg/errors" "github.com/usual2970/certimate/internal/pkg/core/deployer" - "github.com/usual2970/certimate/internal/pkg/utils/certs" + "github.com/usual2970/certimate/internal/pkg/utils/certutil" ) type DeployerConfig struct { @@ -62,7 +62,7 @@ func (d *DeployerProvider) WithLogger(logger *slog.Logger) deployer.Deployer { } func (d *DeployerProvider) Deploy(ctx context.Context, certPem string, privkeyPem string) (*deployer.DeployResult, error) { - certX509, err := certs.ParseCertificateFromPEM(certPem) + certX509, err := certutil.ParseCertificateFromPEM(certPem) if err != nil { return nil, xerrors.Wrap(err, "failed to parse x509") } diff --git a/internal/pkg/core/uploader/providers/aliyun-cas/aliyun_cas.go b/internal/pkg/core/uploader/providers/aliyun-cas/aliyun_cas.go index ed53f214..f7633cce 100644 --- a/internal/pkg/core/uploader/providers/aliyun-cas/aliyun_cas.go +++ b/internal/pkg/core/uploader/providers/aliyun-cas/aliyun_cas.go @@ -13,7 +13,7 @@ import ( xerrors "github.com/pkg/errors" "github.com/usual2970/certimate/internal/pkg/core/uploader" - "github.com/usual2970/certimate/internal/pkg/utils/certs" + "github.com/usual2970/certimate/internal/pkg/utils/certutil" ) type UploaderConfig struct { @@ -61,7 +61,7 @@ func (u *UploaderProvider) WithLogger(logger *slog.Logger) uploader.Uploader { func (u *UploaderProvider) Upload(ctx context.Context, certPem string, privkeyPem string) (res *uploader.UploadResult, err error) { // 解析证书内容 - certX509, err := certs.ParseCertificateFromPEM(certPem) + certX509, err := certutil.ParseCertificateFromPEM(certPem) if err != nil { return nil, err } @@ -99,12 +99,12 @@ func (u *UploaderProvider) Upload(ctx context.Context, certPem string, privkeyPe if *getUserCertificateDetailResp.Body.Cert == certPem { isSameCert = true } else { - oldCertX509, err := certs.ParseCertificateFromPEM(*getUserCertificateDetailResp.Body.Cert) + oldCertX509, err := certutil.ParseCertificateFromPEM(*getUserCertificateDetailResp.Body.Cert) if err != nil { continue } - isSameCert = certs.EqualCertificate(certX509, oldCertX509) + isSameCert = certutil.EqualCertificate(certX509, oldCertX509) } // 如果已存在相同证书,直接返回 diff --git a/internal/pkg/core/uploader/providers/aliyun-slb/aliyun_slb.go b/internal/pkg/core/uploader/providers/aliyun-slb/aliyun_slb.go index 4dcdd7ba..59607ade 100644 --- a/internal/pkg/core/uploader/providers/aliyun-slb/aliyun_slb.go +++ b/internal/pkg/core/uploader/providers/aliyun-slb/aliyun_slb.go @@ -16,7 +16,7 @@ import ( xerrors "github.com/pkg/errors" "github.com/usual2970/certimate/internal/pkg/core/uploader" - "github.com/usual2970/certimate/internal/pkg/utils/certs" + "github.com/usual2970/certimate/internal/pkg/utils/certutil" ) type UploaderConfig struct { @@ -64,7 +64,7 @@ func (u *UploaderProvider) WithLogger(logger *slog.Logger) uploader.Uploader { func (u *UploaderProvider) Upload(ctx context.Context, certPem string, privkeyPem string) (res *uploader.UploadResult, err error) { // 解析证书内容 - certX509, err := certs.ParseCertificateFromPEM(certPem) + certX509, err := certutil.ParseCertificateFromPEM(certPem) if err != nil { return nil, err } diff --git a/internal/pkg/core/uploader/providers/aws-acm/aws_acm.go b/internal/pkg/core/uploader/providers/aws-acm/aws_acm.go index df7bb9c9..f0a3ccb5 100644 --- a/internal/pkg/core/uploader/providers/aws-acm/aws_acm.go +++ b/internal/pkg/core/uploader/providers/aws-acm/aws_acm.go @@ -12,7 +12,7 @@ import ( "golang.org/x/exp/slices" "github.com/usual2970/certimate/internal/pkg/core/uploader" - "github.com/usual2970/certimate/internal/pkg/utils/certs" + "github.com/usual2970/certimate/internal/pkg/utils/certutil" ) type UploaderConfig struct { @@ -60,13 +60,13 @@ func (u *UploaderProvider) WithLogger(logger *slog.Logger) uploader.Uploader { func (u *UploaderProvider) Upload(ctx context.Context, certPem string, privkeyPem string) (res *uploader.UploadResult, err error) { // 解析证书内容 - certX509, err := certs.ParseCertificateFromPEM(certPem) + certX509, err := certutil.ParseCertificateFromPEM(certPem) if err != nil { return nil, err } // 生成 AWS 业务参数 - scertPem, _ := certs.ConvertCertificateToPEM(certX509) + scertPem, _ := certutil.ConvertCertificateToPEM(certX509) bcertPem := certPem // 获取证书列表,避免重复上传 @@ -112,12 +112,12 @@ func (u *UploaderProvider) Upload(ctx context.Context, certPem string, privkeyPe oldCertPem = aws.ToString(getCertificateResp.Certificate) } - oldCertX509, err := certs.ParseCertificateFromPEM(oldCertPem) + oldCertX509, err := certutil.ParseCertificateFromPEM(oldCertPem) if err != nil { continue } - if !certs.EqualCertificate(certX509, oldCertX509) { + if !certutil.EqualCertificate(certX509, oldCertX509) { continue } } diff --git a/internal/pkg/core/uploader/providers/azure-keyvault/azure_keyvault.go b/internal/pkg/core/uploader/providers/azure-keyvault/azure_keyvault.go index 3862325d..5f6f998a 100644 --- a/internal/pkg/core/uploader/providers/azure-keyvault/azure_keyvault.go +++ b/internal/pkg/core/uploader/providers/azure-keyvault/azure_keyvault.go @@ -14,7 +14,7 @@ import ( xerrors "github.com/pkg/errors" "github.com/usual2970/certimate/internal/pkg/core/uploader" - "github.com/usual2970/certimate/internal/pkg/utils/certs" + "github.com/usual2970/certimate/internal/pkg/utils/certutil" azcommon "github.com/usual2970/certimate/internal/pkg/vendors/azure-sdk/common" ) @@ -67,7 +67,7 @@ func (u *UploaderProvider) WithLogger(logger *slog.Logger) uploader.Uploader { func (u *UploaderProvider) Upload(ctx context.Context, certPem string, privkeyPem string) (res *uploader.UploadResult, err error) { // 解析证书内容 - certX509, err := certs.ParseCertificateFromPEM(certPem) + certX509, err := certutil.ParseCertificateFromPEM(certPem) if err != nil { return nil, err } @@ -124,7 +124,7 @@ func (u *UploaderProvider) Upload(ctx context.Context, certPem string, privkeyPe continue } - if !certs.EqualCertificate(certX509, oldCertX509) { + if !certutil.EqualCertificate(certX509, oldCertX509) { continue } } diff --git a/internal/pkg/core/uploader/providers/byteplus-cdn/byteplus_cdn.go b/internal/pkg/core/uploader/providers/byteplus-cdn/byteplus_cdn.go index 463f70b2..cdba9d4f 100644 --- a/internal/pkg/core/uploader/providers/byteplus-cdn/byteplus_cdn.go +++ b/internal/pkg/core/uploader/providers/byteplus-cdn/byteplus_cdn.go @@ -14,7 +14,7 @@ import ( xerrors "github.com/pkg/errors" "github.com/usual2970/certimate/internal/pkg/core/uploader" - "github.com/usual2970/certimate/internal/pkg/utils/certs" + "github.com/usual2970/certimate/internal/pkg/utils/certutil" ) type UploaderConfig struct { @@ -59,7 +59,7 @@ func (u *UploaderProvider) WithLogger(logger *slog.Logger) uploader.Uploader { func (u *UploaderProvider) Upload(ctx context.Context, certPem string, privkeyPem string) (res *uploader.UploadResult, err error) { // 解析证书内容 - certX509, err := certs.ParseCertificateFromPEM(certPem) + certX509, err := certutil.ParseCertificateFromPEM(certPem) if err != nil { return nil, err } diff --git a/internal/pkg/core/uploader/providers/huaweicloud-elb/huaweicloud_elb.go b/internal/pkg/core/uploader/providers/huaweicloud-elb/huaweicloud_elb.go index 5a902af8..50d716a1 100644 --- a/internal/pkg/core/uploader/providers/huaweicloud-elb/huaweicloud_elb.go +++ b/internal/pkg/core/uploader/providers/huaweicloud-elb/huaweicloud_elb.go @@ -18,7 +18,7 @@ import ( xerrors "github.com/pkg/errors" "github.com/usual2970/certimate/internal/pkg/core/uploader" - "github.com/usual2970/certimate/internal/pkg/utils/certs" + "github.com/usual2970/certimate/internal/pkg/utils/certutil" hwsdk "github.com/usual2970/certimate/internal/pkg/vendors/huaweicloud-sdk" ) @@ -67,7 +67,7 @@ func (u *UploaderProvider) WithLogger(logger *slog.Logger) uploader.Uploader { func (u *UploaderProvider) Upload(ctx context.Context, certPem string, privkeyPem string) (res *uploader.UploadResult, err error) { // 解析证书内容 - certX509, err := certs.ParseCertificateFromPEM(certPem) + certX509, err := certutil.ParseCertificateFromPEM(certPem) if err != nil { return nil, err } @@ -94,12 +94,12 @@ func (u *UploaderProvider) Upload(ctx context.Context, certPem string, privkeyPe if certDetail.Certificate == certPem { isSameCert = true } else { - oldCertX509, err := certs.ParseCertificateFromPEM(certDetail.Certificate) + oldCertX509, err := certutil.ParseCertificateFromPEM(certDetail.Certificate) if err != nil { continue } - isSameCert = certs.EqualCertificate(certX509, oldCertX509) + isSameCert = certutil.EqualCertificate(certX509, oldCertX509) } // 如果已存在相同证书,直接返回 diff --git a/internal/pkg/core/uploader/providers/huaweicloud-scm/huaweicloud_scm.go b/internal/pkg/core/uploader/providers/huaweicloud-scm/huaweicloud_scm.go index c32e347e..94413993 100644 --- a/internal/pkg/core/uploader/providers/huaweicloud-scm/huaweicloud_scm.go +++ b/internal/pkg/core/uploader/providers/huaweicloud-scm/huaweicloud_scm.go @@ -13,7 +13,7 @@ import ( xerrors "github.com/pkg/errors" "github.com/usual2970/certimate/internal/pkg/core/uploader" - "github.com/usual2970/certimate/internal/pkg/utils/certs" + "github.com/usual2970/certimate/internal/pkg/utils/certutil" hwsdk "github.com/usual2970/certimate/internal/pkg/vendors/huaweicloud-sdk" ) @@ -62,7 +62,7 @@ func (u *UploaderProvider) WithLogger(logger *slog.Logger) uploader.Uploader { func (u *UploaderProvider) Upload(ctx context.Context, certPem string, privkeyPem string) (res *uploader.UploadResult, err error) { // 解析证书内容 - certX509, err := certs.ParseCertificateFromPEM(certPem) + certX509, err := certutil.ParseCertificateFromPEM(certPem) if err != nil { return nil, err } @@ -103,12 +103,12 @@ func (u *UploaderProvider) Upload(ctx context.Context, certPem string, privkeyPe if *exportCertificateResp.Certificate == certPem { isSameCert = true } else { - oldCertX509, err := certs.ParseCertificateFromPEM(*exportCertificateResp.Certificate) + oldCertX509, err := certutil.ParseCertificateFromPEM(*exportCertificateResp.Certificate) if err != nil { continue } - isSameCert = certs.EqualCertificate(certX509, oldCertX509) + isSameCert = certutil.EqualCertificate(certX509, oldCertX509) } // 如果已存在相同证书,直接返回 diff --git a/internal/pkg/core/uploader/providers/huaweicloud-waf/huaweicloud_waf.go b/internal/pkg/core/uploader/providers/huaweicloud-waf/huaweicloud_waf.go index da243ff1..86d25426 100644 --- a/internal/pkg/core/uploader/providers/huaweicloud-waf/huaweicloud_waf.go +++ b/internal/pkg/core/uploader/providers/huaweicloud-waf/huaweicloud_waf.go @@ -18,7 +18,7 @@ import ( xerrors "github.com/pkg/errors" "github.com/usual2970/certimate/internal/pkg/core/uploader" - "github.com/usual2970/certimate/internal/pkg/utils/certs" + "github.com/usual2970/certimate/internal/pkg/utils/certutil" hwsdk "github.com/usual2970/certimate/internal/pkg/vendors/huaweicloud-sdk" ) @@ -67,7 +67,7 @@ func (u *UploaderProvider) WithLogger(logger *slog.Logger) uploader.Uploader { func (u *UploaderProvider) Upload(ctx context.Context, certPem string, privkeyPem string) (res *uploader.UploadResult, err error) { // 解析证书内容 - certX509, err := certs.ParseCertificateFromPEM(certPem) + certX509, err := certutil.ParseCertificateFromPEM(certPem) if err != nil { return nil, err } @@ -103,12 +103,12 @@ func (u *UploaderProvider) Upload(ctx context.Context, certPem string, privkeyPe if *showCertificateResp.Content == certPem { isSameCert = true } else { - oldCertX509, err := certs.ParseCertificateFromPEM(*showCertificateResp.Content) + oldCertX509, err := certutil.ParseCertificateFromPEM(*showCertificateResp.Content) if err != nil { continue } - isSameCert = certs.EqualCertificate(certX509, oldCertX509) + isSameCert = certutil.EqualCertificate(certX509, oldCertX509) } // 如果已存在相同证书,直接返回 diff --git a/internal/pkg/core/uploader/providers/jdcloud-ssl/jdcloud_ssl.go b/internal/pkg/core/uploader/providers/jdcloud-ssl/jdcloud_ssl.go index fad48ff2..10f7c203 100644 --- a/internal/pkg/core/uploader/providers/jdcloud-ssl/jdcloud_ssl.go +++ b/internal/pkg/core/uploader/providers/jdcloud-ssl/jdcloud_ssl.go @@ -16,7 +16,7 @@ import ( "golang.org/x/exp/slices" "github.com/usual2970/certimate/internal/pkg/core/uploader" - "github.com/usual2970/certimate/internal/pkg/utils/certs" + "github.com/usual2970/certimate/internal/pkg/utils/certutil" ) type UploaderConfig struct { @@ -62,7 +62,7 @@ func (u *UploaderProvider) WithLogger(logger *slog.Logger) uploader.Uploader { func (u *UploaderProvider) Upload(ctx context.Context, certPem string, privkeyPem string) (res *uploader.UploadResult, err error) { // 解析证书内容 - certX509, err := certs.ParseCertificateFromPEM(certPem) + certX509, err := certutil.ParseCertificateFromPEM(certPem) if err != nil { return nil, err } diff --git a/internal/pkg/core/uploader/providers/qiniu-sslcert/qiniu_sslcert.go b/internal/pkg/core/uploader/providers/qiniu-sslcert/qiniu_sslcert.go index 45f1b740..ce18a335 100644 --- a/internal/pkg/core/uploader/providers/qiniu-sslcert/qiniu_sslcert.go +++ b/internal/pkg/core/uploader/providers/qiniu-sslcert/qiniu_sslcert.go @@ -10,7 +10,7 @@ import ( "github.com/qiniu/go-sdk/v7/auth" "github.com/usual2970/certimate/internal/pkg/core/uploader" - "github.com/usual2970/certimate/internal/pkg/utils/certs" + "github.com/usual2970/certimate/internal/pkg/utils/certutil" qiniusdk "github.com/usual2970/certimate/internal/pkg/vendors/qiniu-sdk" ) @@ -57,7 +57,7 @@ func (u *UploaderProvider) WithLogger(logger *slog.Logger) uploader.Uploader { func (u *UploaderProvider) Upload(ctx context.Context, certPem string, privkeyPem string) (res *uploader.UploadResult, err error) { // 解析证书内容 - certX509, err := certs.ParseCertificateFromPEM(certPem) + certX509, err := certutil.ParseCertificateFromPEM(certPem) if err != nil { return nil, err } diff --git a/internal/pkg/core/uploader/providers/ucloud-ussl/ucloud_ussl.go b/internal/pkg/core/uploader/providers/ucloud-ussl/ucloud_ussl.go index 616f7617..b8639bf3 100644 --- a/internal/pkg/core/uploader/providers/ucloud-ussl/ucloud_ussl.go +++ b/internal/pkg/core/uploader/providers/ucloud-ussl/ucloud_ussl.go @@ -17,7 +17,7 @@ import ( ucloudauth "github.com/ucloud/ucloud-sdk-go/ucloud/auth" "github.com/usual2970/certimate/internal/pkg/core/uploader" - "github.com/usual2970/certimate/internal/pkg/utils/certs" + "github.com/usual2970/certimate/internal/pkg/utils/certutil" usslsdk "github.com/usual2970/certimate/internal/pkg/vendors/ucloud-sdk/ussl" ) @@ -114,7 +114,7 @@ func (u *UploaderProvider) Upload(ctx context.Context, certPem string, privkeyPe func (u *UploaderProvider) getExistCert(ctx context.Context, certPem string) (res *uploader.UploadResult, err error) { // 解析证书内容 - certX509, err := certs.ParseCertificateFromPEM(certPem) + certX509, err := certutil.ParseCertificateFromPEM(certPem) if err != nil { return nil, err } diff --git a/internal/pkg/core/uploader/providers/volcengine-cdn/volcengine_cdn.go b/internal/pkg/core/uploader/providers/volcengine-cdn/volcengine_cdn.go index 36f20876..2fe52472 100644 --- a/internal/pkg/core/uploader/providers/volcengine-cdn/volcengine_cdn.go +++ b/internal/pkg/core/uploader/providers/volcengine-cdn/volcengine_cdn.go @@ -15,7 +15,7 @@ import ( ve "github.com/volcengine/volcengine-go-sdk/volcengine" "github.com/usual2970/certimate/internal/pkg/core/uploader" - "github.com/usual2970/certimate/internal/pkg/utils/certs" + "github.com/usual2970/certimate/internal/pkg/utils/certutil" ) type UploaderConfig struct { @@ -60,7 +60,7 @@ func (u *UploaderProvider) WithLogger(logger *slog.Logger) uploader.Uploader { func (u *UploaderProvider) Upload(ctx context.Context, certPem string, privkeyPem string) (res *uploader.UploadResult, err error) { // 解析证书内容 - certX509, err := certs.ParseCertificateFromPEM(certPem) + certX509, err := certutil.ParseCertificateFromPEM(certPem) if err != nil { return nil, err } diff --git a/internal/pkg/core/uploader/providers/volcengine-live/volcengine_live.go b/internal/pkg/core/uploader/providers/volcengine-live/volcengine_live.go index 70a281d3..46031c61 100644 --- a/internal/pkg/core/uploader/providers/volcengine-live/volcengine_live.go +++ b/internal/pkg/core/uploader/providers/volcengine-live/volcengine_live.go @@ -12,7 +12,7 @@ import ( ve "github.com/volcengine/volcengine-go-sdk/volcengine" "github.com/usual2970/certimate/internal/pkg/core/uploader" - "github.com/usual2970/certimate/internal/pkg/utils/certs" + "github.com/usual2970/certimate/internal/pkg/utils/certutil" ) type UploaderConfig struct { @@ -57,7 +57,7 @@ func (u *UploaderProvider) WithLogger(logger *slog.Logger) uploader.Uploader { func (u *UploaderProvider) Upload(ctx context.Context, certPem string, privkeyPem string) (res *uploader.UploadResult, err error) { // 解析证书内容 - certX509, err := certs.ParseCertificateFromPEM(certPem) + certX509, err := certutil.ParseCertificateFromPEM(certPem) if err != nil { return nil, err } @@ -88,12 +88,12 @@ func (u *UploaderProvider) Upload(ctx context.Context, certPem string, privkeyPe if certificate == certPem { isSameCert = true } else { - oldCertX509, err := certs.ParseCertificateFromPEM(certificate) + oldCertX509, err := certutil.ParseCertificateFromPEM(certificate) if err != nil { continue } - isSameCert = certs.EqualCertificate(certX509, oldCertX509) + isSameCert = certutil.EqualCertificate(certX509, oldCertX509) } // 如果已存在相同证书,直接返回 diff --git a/internal/pkg/utils/certs/common.go b/internal/pkg/utils/certutil/common.go similarity index 97% rename from internal/pkg/utils/certs/common.go rename to internal/pkg/utils/certutil/common.go index 03fbeaeb..409233b6 100644 --- a/internal/pkg/utils/certs/common.go +++ b/internal/pkg/utils/certutil/common.go @@ -1,4 +1,4 @@ -package certs +package certutil import ( "crypto/x509" diff --git a/internal/pkg/utils/certs/converter.go b/internal/pkg/utils/certutil/converter.go similarity index 98% rename from internal/pkg/utils/certs/converter.go rename to internal/pkg/utils/certutil/converter.go index 74a9a5ab..ccbe6360 100644 --- a/internal/pkg/utils/certs/converter.go +++ b/internal/pkg/utils/certutil/converter.go @@ -1,4 +1,4 @@ -package certs +package certutil import ( "crypto/ecdsa" diff --git a/internal/pkg/utils/certs/extractor.go b/internal/pkg/utils/certutil/extractor.go similarity index 98% rename from internal/pkg/utils/certs/extractor.go rename to internal/pkg/utils/certutil/extractor.go index bf07b4f3..d4e7ee6e 100644 --- a/internal/pkg/utils/certs/extractor.go +++ b/internal/pkg/utils/certutil/extractor.go @@ -1,4 +1,4 @@ -package certs +package certutil import ( "encoding/pem" diff --git a/internal/pkg/utils/certs/parser.go b/internal/pkg/utils/certutil/parser.go similarity index 99% rename from internal/pkg/utils/certs/parser.go rename to internal/pkg/utils/certutil/parser.go index af62b03a..e93ce583 100644 --- a/internal/pkg/utils/certs/parser.go +++ b/internal/pkg/utils/certutil/parser.go @@ -1,4 +1,4 @@ -package certs +package certutil import ( "crypto" diff --git a/internal/pkg/utils/certs/transformer.go b/internal/pkg/utils/certutil/transformer.go similarity index 99% rename from internal/pkg/utils/certs/transformer.go rename to internal/pkg/utils/certutil/transformer.go index 60105d3e..f48641ae 100644 --- a/internal/pkg/utils/certs/transformer.go +++ b/internal/pkg/utils/certutil/transformer.go @@ -1,4 +1,4 @@ -package certs +package certutil import ( "bytes" diff --git a/internal/pkg/utils/files/files.go b/internal/pkg/utils/fileutil/io.go similarity index 98% rename from internal/pkg/utils/files/files.go rename to internal/pkg/utils/fileutil/io.go index 654bf164..336f524d 100644 --- a/internal/pkg/utils/files/files.go +++ b/internal/pkg/utils/fileutil/io.go @@ -1,4 +1,4 @@ -package files +package fileutil import ( "os" diff --git a/internal/pkg/utils/maps/maps.go b/internal/pkg/utils/maputil/getter.go similarity index 70% rename from internal/pkg/utils/maps/maps.go rename to internal/pkg/utils/maputil/getter.go index 6fd20bc7..36561381 100644 --- a/internal/pkg/utils/maps/maps.go +++ b/internal/pkg/utils/maputil/getter.go @@ -1,9 +1,7 @@ -package maps +package maputil import ( "strconv" - - mapstructure "github.com/go-viper/mapstructure/v2" ) // 以字符串形式从字典中获取指定键的值。 @@ -14,8 +12,8 @@ import ( // // 出参: // - 字典中键对应的值。如果指定键不存在或者值的类型不是字符串,则返回空字符串。 -func GetValueAsString(dict map[string]any, key string) string { - return GetValueOrDefaultAsString(dict, key, "") +func GetString(dict map[string]any, key string) string { + return GetOrDefaultString(dict, key, "") } // 以字符串形式从字典中获取指定键的值。 @@ -27,7 +25,7 @@ func GetValueAsString(dict map[string]any, key string) string { // // 出参: // - 字典中键对应的值。如果指定键不存在、值的类型不是字符串或者值为零值,则返回默认值。 -func GetValueOrDefaultAsString(dict map[string]any, key string, defaultValue string) string { +func GetOrDefaultString(dict map[string]any, key string, defaultValue string) string { if dict == nil { return defaultValue } @@ -51,8 +49,8 @@ func GetValueOrDefaultAsString(dict map[string]any, key string, defaultValue str // // 出参: // - 字典中键对应的值。如果指定键不存在或者值的类型不是 32 位整数,则返回 0。 -func GetValueAsInt32(dict map[string]any, key string) int32 { - return GetValueOrDefaultAsInt32(dict, key, 0) +func GetInt32(dict map[string]any, key string) int32 { + return GetOrDefaultInt32(dict, key, 0) } // 以 32 位整数形式从字典中获取指定键的值。 @@ -64,7 +62,7 @@ func GetValueAsInt32(dict map[string]any, key string) int32 { // // 出参: // - 字典中键对应的值。如果指定键不存在、值的类型不是 32 位整数或者值为零值,则返回默认值。 -func GetValueOrDefaultAsInt32(dict map[string]any, key string, defaultValue int32) int32 { +func GetOrDefaultInt32(dict map[string]any, key string, defaultValue int32) int32 { if dict == nil { return defaultValue } @@ -97,8 +95,8 @@ func GetValueOrDefaultAsInt32(dict map[string]any, key string, defaultValue int3 // // 出参: // - 字典中键对应的值。如果指定键不存在或者值的类型不是 64 位整数,则返回 0。 -func GetValueAsInt64(dict map[string]any, key string) int64 { - return GetValueOrDefaultAsInt64(dict, key, 0) +func GetInt64(dict map[string]any, key string) int64 { + return GetOrDefaultInt64(dict, key, 0) } // 以 64 位整数形式从字典中获取指定键的值。 @@ -110,7 +108,7 @@ func GetValueAsInt64(dict map[string]any, key string) int64 { // // 出参: // - 字典中键对应的值。如果指定键不存在、值的类型不是 64 位整数或者值为零值,则返回默认值。 -func GetValueOrDefaultAsInt64(dict map[string]any, key string, defaultValue int64) int64 { +func GetOrDefaultInt64(dict map[string]any, key string, defaultValue int64) int64 { if dict == nil { return defaultValue } @@ -149,8 +147,8 @@ func GetValueOrDefaultAsInt64(dict map[string]any, key string, defaultValue int6 // // 出参: // - 字典中键对应的值。如果指定键不存在或者值的类型不是布尔,则返回 false。 -func GetValueAsBool(dict map[string]any, key string) bool { - return GetValueOrDefaultAsBool(dict, key, false) +func GetBool(dict map[string]any, key string) bool { + return GetOrDefaultBool(dict, key, false) } // 以布尔形式从字典中获取指定键的值。 @@ -162,7 +160,7 @@ func GetValueAsBool(dict map[string]any, key string) bool { // // 出参: // - 字典中键对应的值。如果指定键不存在或者值的类型不是布尔,则返回默认值。 -func GetValueOrDefaultAsBool(dict map[string]any, key string, defaultValue bool) bool { +func GetOrDefaultBool(dict map[string]any, key string, defaultValue bool) bool { if dict == nil { return defaultValue } @@ -182,28 +180,3 @@ func GetValueOrDefaultAsBool(dict map[string]any, key string, defaultValue bool) return defaultValue } - -// 将字典填充到指定类型的结构体。 -// 与 [json.Unmarshal] 类似,但传入的是一个 [map[string]any] 对象而非 JSON 格式的字符串。 -// -// 入参: -// - dict: 字典。 -// - output: 结构体指针。 -// -// 出参: -// - 错误信息。如果填充失败,则返回错误信息。 -func Populate(dict map[string]any, output any) error { - config := &mapstructure.DecoderConfig{ - Metadata: nil, - Result: output, - WeaklyTypedInput: true, - TagName: "json", - } - - decoder, err := mapstructure.NewDecoder(config) - if err != nil { - return err - } - - return decoder.Decode(dict) -} diff --git a/internal/pkg/utils/maputil/marshal.go b/internal/pkg/utils/maputil/marshal.go new file mode 100644 index 00000000..64bd97e6 --- /dev/null +++ b/internal/pkg/utils/maputil/marshal.go @@ -0,0 +1,30 @@ +package maputil + +import ( + mapstructure "github.com/go-viper/mapstructure/v2" +) + +// 将字典填充到指定类型的结构体。 +// 与 [json.Unmarshal] 类似,但传入的是一个 [map[string]any] 对象而非 JSON 格式的字符串。 +// +// 入参: +// - dict: 字典。 +// - output: 结构体指针。 +// +// 出参: +// - 错误信息。如果填充失败,则返回错误信息。 +func Populate(dict map[string]any, output any) error { + config := &mapstructure.DecoderConfig{ + Metadata: nil, + Result: output, + WeaklyTypedInput: true, + TagName: "json", + } + + decoder, err := mapstructure.NewDecoder(config) + if err != nil { + return err + } + + return decoder.Decode(dict) +} diff --git a/internal/pkg/utils/slices/slices.go b/internal/pkg/utils/sliceutil/slices.go similarity index 98% rename from internal/pkg/utils/slices/slices.go rename to internal/pkg/utils/sliceutil/slices.go index e4e4d746..ba63b82a 100644 --- a/internal/pkg/utils/slices/slices.go +++ b/internal/pkg/utils/sliceutil/slices.go @@ -1,4 +1,4 @@ -package slices +package sliceutil // 创建给定切片一部分的浅拷贝,其包含通过所提供函数实现的测试的所有元素。 // diff --git a/internal/pkg/utils/types/types.go b/internal/pkg/utils/typeutil/types.go similarity index 97% rename from internal/pkg/utils/types/types.go rename to internal/pkg/utils/typeutil/types.go index f23d8e33..4e5d3711 100644 --- a/internal/pkg/utils/types/types.go +++ b/internal/pkg/utils/typeutil/types.go @@ -1,4 +1,4 @@ -package types +package typeutil import "reflect" diff --git a/internal/workflow/dispatcher/dispatcher.go b/internal/workflow/dispatcher/dispatcher.go index 8f1adf18..d453b72f 100644 --- a/internal/workflow/dispatcher/dispatcher.go +++ b/internal/workflow/dispatcher/dispatcher.go @@ -11,7 +11,7 @@ import ( "github.com/usual2970/certimate/internal/app" "github.com/usual2970/certimate/internal/domain" - "github.com/usual2970/certimate/internal/pkg/utils/slices" + "github.com/usual2970/certimate/internal/pkg/utils/sliceutil" ) var maxWorkers = 16 @@ -118,7 +118,7 @@ func (d *WorkflowDispatcher) Cancel(runId string) { // 移除排队中的 WorkflowRun d.queueMutex.Lock() - d.queue = slices.Filter(d.queue, func(d *WorkflowWorkerData) bool { + d.queue = sliceutil.Filter(d.queue, func(d *WorkflowWorkerData) bool { return d.RunId != runId }) d.queueMutex.Unlock() diff --git a/internal/workflow/node-processor/apply_node.go b/internal/workflow/node-processor/apply_node.go index dc9a95d1..a7d6a101 100644 --- a/internal/workflow/node-processor/apply_node.go +++ b/internal/workflow/node-processor/apply_node.go @@ -9,7 +9,7 @@ import ( "github.com/usual2970/certimate/internal/applicant" "github.com/usual2970/certimate/internal/domain" - "github.com/usual2970/certimate/internal/pkg/utils/certs" + "github.com/usual2970/certimate/internal/pkg/utils/certutil" "github.com/usual2970/certimate/internal/repository" ) @@ -63,7 +63,7 @@ func (n *applyNode) Process(ctx context.Context) error { } // 解析证书并生成实体 - certX509, err := certs.ParseCertificateFromPEM(applyResult.CertificateFullChain) + certX509, err := certutil.ParseCertificateFromPEM(applyResult.CertificateFullChain) if err != nil { n.logger.Warn("failed to parse certificate, may be the CA responded error") return err diff --git a/migrations/1739462400_collections_snapshot.go b/migrations/1739462400_collections_snapshot.go index 67453954..d8ed7409 100644 --- a/migrations/1739462400_collections_snapshot.go +++ b/migrations/1739462400_collections_snapshot.go @@ -7,8 +7,7 @@ import ( "github.com/pocketbase/pocketbase/core" m "github.com/pocketbase/pocketbase/migrations" - - "github.com/usual2970/certimate/internal/pkg/utils/certs" + "github.com/usual2970/certimate/internal/pkg/utils/certutil" ) func init() { @@ -1754,21 +1753,21 @@ func init() { case "certificate": { if record.GetString("issuer") == "" { - cert, _ := certs.ParseCertificateFromPEM(record.GetString("certificate")) + cert, _ := certutil.ParseCertificateFromPEM(record.GetString("certificate")) if cert != nil { record.Set("issuer", strings.Join(cert.Issuer.Organization, ";")) changed = true } } if record.GetString("serialNumber") == "" { - cert, _ := certs.ParseCertificateFromPEM(record.GetString("certificate")) + cert, _ := certutil.ParseCertificateFromPEM(record.GetString("certificate")) if cert != nil { record.Set("serialNumber", strings.ToUpper(cert.SerialNumber.Text(16))) changed = true } } if record.GetString("keyAlgorithm") == "" { - cert, _ := certs.ParseCertificateFromPEM(record.GetString("certificate")) + cert, _ := certutil.ParseCertificateFromPEM(record.GetString("certificate")) if cert != nil { switch cert.SignatureAlgorithm { case x509.SHA256WithRSA, x509.SHA256WithRSAPSS: