From d17aede4bbb873850fc934694dc1cc45ace77355 Mon Sep 17 00:00:00 2001 From: Robert Kaussow Date: Mon, 21 Aug 2023 12:50:44 +0200 Subject: [PATCH] cleanup --- cmd/wp-s3-action/config.go | 61 +++++++++++++++++++------------------- go.mod | 2 +- go.sum | 4 +-- plugin/aws.go | 20 ++++++------- plugin/impl.go | 5 ++-- plugin/plugin.go | 13 ++++---- 6 files changed, 52 insertions(+), 53 deletions(-) diff --git a/cmd/wp-s3-action/config.go b/cmd/wp-s3-action/config.go index 82d13b2..d24e5b4 100644 --- a/cmd/wp-s3-action/config.go +++ b/cmd/wp-s3-action/config.go @@ -1,6 +1,7 @@ package main import ( + "github.com/thegeeklab/wp-plugin-go/types" "github.com/thegeeklab/wp-s3-action/plugin" "github.com/urfave/cli/v2" @@ -79,46 +80,46 @@ func settingsFlags(settings *plugin.Settings, category string) []cli.Flag { Category: category, }, &cli.GenericFlag{ - Name: "acl", - Usage: "access control list", - EnvVars: []string{"PLUGIN_ACL"}, - Destination: &settings.ACL, - Category: category, + Name: "acl", + Usage: "access control list", + EnvVars: []string{"PLUGIN_ACL"}, + Value: &types.StringMapFlag{}, + Category: category, }, &cli.GenericFlag{ - Name: "content-type", - Usage: "content-type settings for uploads", - EnvVars: []string{"PLUGIN_CONTENT_TYPE"}, - Destination: &settings.ContentType, - Category: category, + Name: "content-type", + Usage: "content-type settings for uploads", + EnvVars: []string{"PLUGIN_CONTENT_TYPE"}, + Value: &types.StringMapFlag{}, + Category: category, }, &cli.GenericFlag{ - Name: "content-encoding", - Usage: "content-encoding settings for uploads", - EnvVars: []string{"PLUGIN_CONTENT_ENCODING"}, - Destination: &settings.ContentEncoding, - Category: category, + Name: "content-encoding", + Usage: "content-encoding settings for uploads", + EnvVars: []string{"PLUGIN_CONTENT_ENCODING"}, + Value: &types.StringMapFlag{}, + Category: category, }, &cli.GenericFlag{ - Name: "cache-control", - Usage: "cache-control settings for uploads", - EnvVars: []string{"PLUGIN_CACHE_CONTROL"}, - Destination: &settings.CacheControl, - Category: category, + Name: "cache-control", + Usage: "cache-control settings for uploads", + EnvVars: []string{"PLUGIN_CACHE_CONTROL"}, + Value: &types.StringMapFlag{}, + Category: category, }, &cli.GenericFlag{ - Name: "metadata", - Usage: "additional metadata for uploads", - EnvVars: []string{"PLUGIN_METADATA"}, - Destination: &settings.Metadata, - Category: category, + Name: "metadata", + Usage: "additional metadata for uploads", + EnvVars: []string{"PLUGIN_METADATA"}, + Value: &types.DeepStringMapFlag{}, + Category: category, }, &cli.GenericFlag{ - Name: "redirects", - Usage: "redirects to create", - EnvVars: []string{"PLUGIN_REDIRECTS"}, - Destination: &settings.Redirects, - Category: category, + Name: "redirects", + Usage: "redirects to create", + EnvVars: []string{"PLUGIN_REDIRECTS"}, + Value: &types.MapFlag{}, + Category: category, }, &cli.StringFlag{ Name: "cloudfront-distribution", diff --git a/go.mod b/go.mod index 409f5fe..08b2dc6 100644 --- a/go.mod +++ b/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go v1.44.327 github.com/rs/zerolog v1.30.0 github.com/ryanuber/go-glob v1.0.0 - github.com/thegeeklab/wp-plugin-go v0.4.0 + github.com/thegeeklab/wp-plugin-go v0.5.0 github.com/urfave/cli/v2 v2.25.7 ) diff --git a/go.sum b/go.sum index cb81a63..6d767a3 100644 --- a/go.sum +++ b/go.sum @@ -28,8 +28,8 @@ github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQD github.com/ryanuber/go-glob v1.0.0 h1:iQh3xXAumdQ+4Ufa5b25cRpC5TYKlno6hsv6Cb3pkBk= github.com/ryanuber/go-glob v1.0.0/go.mod h1:807d1WSdnB0XRJzKNil9Om6lcp/3a0v4qIHxIXzX/Yc= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/thegeeklab/wp-plugin-go v0.4.0 h1:eTkRH04gAAsYgCUekk8RBmPrIXk+UG+EJtRkoUFllLs= -github.com/thegeeklab/wp-plugin-go v0.4.0/go.mod h1:y0k5zaKWjdGbgkaOHhEPFEL6p+yOLOjqHy0LWOrv0MM= +github.com/thegeeklab/wp-plugin-go v0.5.0 h1:PEORQl365YxqqYSu8rFoQ3hltTcFYSJCs8s9MDCej8A= +github.com/thegeeklab/wp-plugin-go v0.5.0/go.mod h1:y0k5zaKWjdGbgkaOHhEPFEL6p+yOLOjqHy0LWOrv0MM= github.com/urfave/cli/v2 v2.25.7 h1:VAzn5oq403l5pHjc4OhD54+XGO9cdKVL/7lDjF+iKUs= github.com/urfave/cli/v2 v2.25.7/go.mod h1:8qnjx1vcq5s2/wpsqoZFndg2CE5tNFyrTvS6SinrnYQ= github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673 h1:bAn7/zixMGCfxrRTfdpNzjtPYqr8smhKouy9mxVdGPU= diff --git a/plugin/aws.go b/plugin/aws.go index 0cdffb5..fe3f49b 100644 --- a/plugin/aws.go +++ b/plugin/aws.go @@ -73,9 +73,9 @@ func (a *AWS) Upload(local, remote string) error { var acl string - for pattern := range plugin.Settings.ACL.Get() { + for pattern := range plugin.Settings.ACL { if match := glob.Glob(pattern, local); match { - acl = plugin.Settings.ACL.Get()[pattern] + acl = plugin.Settings.ACL[pattern] break } @@ -89,9 +89,9 @@ func (a *AWS) Upload(local, remote string) error { var contentType string - for patternExt := range plugin.Settings.ContentType.Get() { + for patternExt := range plugin.Settings.ContentType { if patternExt == fileExt { - contentType = plugin.Settings.ContentType.Get()[patternExt] + contentType = plugin.Settings.ContentType[patternExt] break } @@ -103,9 +103,9 @@ func (a *AWS) Upload(local, remote string) error { var contentEncoding string - for patternExt := range plugin.Settings.ContentEncoding.Get() { + for patternExt := range plugin.Settings.ContentEncoding { if patternExt == fileExt { - contentEncoding = plugin.Settings.ContentEncoding.Get()[patternExt] + contentEncoding = plugin.Settings.ContentEncoding[patternExt] break } @@ -113,9 +113,9 @@ func (a *AWS) Upload(local, remote string) error { var cacheControl string - for pattern := range plugin.Settings.CacheControl.Get() { + for pattern := range plugin.Settings.CacheControl { if match := glob.Glob(pattern, local); match { - cacheControl = plugin.Settings.CacheControl.Get()[pattern] + cacheControl = plugin.Settings.CacheControl[pattern] break } @@ -123,9 +123,9 @@ func (a *AWS) Upload(local, remote string) error { metadata := map[string]*string{} - for pattern := range plugin.Settings.Metadata.Get() { + for pattern := range plugin.Settings.Metadata { if match := glob.Glob(pattern, local); match { - for k, v := range plugin.Settings.Metadata.Get()[pattern] { + for k, v := range plugin.Settings.Metadata[pattern] { metadata[k] = aws.String(v) } diff --git a/plugin/impl.go b/plugin/impl.go index 033d734..9a4d4d4 100644 --- a/plugin/impl.go +++ b/plugin/impl.go @@ -9,7 +9,6 @@ import ( "strings" "github.com/rs/zerolog/log" - "github.com/urfave/cli/v2" ) var ErrTypeAssertionFailed = errors.New("type assertion failed") @@ -17,7 +16,7 @@ var ErrTypeAssertionFailed = errors.New("type assertion failed") // Execute provides the implementation of the plugin. // //nolint:revive -func (p *Plugin) run(ctx context.Context, cCtx *cli.Context) error { +func (p *Plugin) run(ctx context.Context) error { if err := p.Validate(); err != nil { return fmt.Errorf("validation failed: %w", err) } @@ -97,7 +96,7 @@ func (p *Plugin) createSyncJobs() error { return err } - for path, location := range p.Settings.Redirects.Get() { + for path, location := range p.Settings.Redirects { path = strings.TrimPrefix(path, "/") local = append(local, path) p.Settings.Jobs = append(p.Settings.Jobs, Job{ diff --git a/plugin/plugin.go b/plugin/plugin.go index d595280..1e4482a 100644 --- a/plugin/plugin.go +++ b/plugin/plugin.go @@ -2,7 +2,6 @@ package plugin import ( wp "github.com/thegeeklab/wp-plugin-go/plugin" - "github.com/thegeeklab/wp-plugin-go/types" ) // Plugin implements provide the plugin implementation. @@ -21,12 +20,12 @@ type Settings struct { Source string Target string Delete bool - ACL types.StringMapFlag - CacheControl types.StringMapFlag - ContentType types.StringMapFlag - ContentEncoding types.StringMapFlag - Metadata types.DeepStringMapFlag - Redirects types.StringMapFlag + ACL map[string]string + CacheControl map[string]string + ContentType map[string]string + ContentEncoding map[string]string + Metadata map[string]map[string]string + Redirects map[string]string CloudFrontDistribution string DryRun bool PathStyle bool