From b6c28552b51e09cf1dd47cf4416d7622d1c6160b Mon Sep 17 00:00:00 2001 From: Kevin Franklin Kim Date: Mon, 9 Dec 2024 10:56:21 +0100 Subject: [PATCH] feat: add simple tags output --- cmd/tagmanager.go | 1 + cmd/tagmanager/tags.go | 46 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 47 insertions(+) create mode 100644 cmd/tagmanager/tags.go diff --git a/cmd/tagmanager.go b/cmd/tagmanager.go index fc90768..f574acd 100644 --- a/cmd/tagmanager.go +++ b/cmd/tagmanager.go @@ -12,6 +12,7 @@ func NewTagmanager(root *cobra.Command) *cobra.Command { Short: "Provision Google Tag Manager containers", } + tagmanager.NewTags(cmd) tagmanager.NewServer(cmd) tagmanager.NewWeb(cmd) root.AddCommand(cmd) diff --git a/cmd/tagmanager/tags.go b/cmd/tagmanager/tags.go new file mode 100644 index 0000000..c18e144 --- /dev/null +++ b/cmd/tagmanager/tags.go @@ -0,0 +1,46 @@ +package tagmanager + +import ( + conversionlinkerprovider "github.com/foomo/sesamy-cli/pkg/provider/conversionlinker" + criteoprovider "github.com/foomo/sesamy-cli/pkg/provider/criteo" + emarsysprovider "github.com/foomo/sesamy-cli/pkg/provider/emarsys" + facebookprovider "github.com/foomo/sesamy-cli/pkg/provider/facebook" + googleadsprovider "github.com/foomo/sesamy-cli/pkg/provider/googleads" + googleanalyticsprovider "github.com/foomo/sesamy-cli/pkg/provider/googleanalytics" + googletagmanagerprovider "github.com/foomo/sesamy-cli/pkg/provider/googletagmanager" + microsoftadsprovider "github.com/foomo/sesamy-cli/pkg/provider/microsoftads" + tracifyprovider "github.com/foomo/sesamy-cli/pkg/provider/tracify" + umamiprovider "github.com/foomo/sesamy-cli/pkg/provider/umami" + "github.com/pterm/pterm" + "github.com/spf13/cobra" +) + +// NewTags represents the tags command +func NewTags(root *cobra.Command) *cobra.Command { + cmd := &cobra.Command{ + Use: "tags", + Short: "Print out all available tags", + RunE: func(cmd *cobra.Command, args []string) error { + // Define the data for the first table + data := pterm.TableData{ + {"Name", "Tag"}, + {conversionlinkerprovider.Name, conversionlinkerprovider.Tag}, + {criteoprovider.Name, criteoprovider.Tag}, + {emarsysprovider.Name, emarsysprovider.Tag}, + {facebookprovider.Name, facebookprovider.Tag}, + {googleadsprovider.Name, googleadsprovider.Tag}, + {googleanalyticsprovider.Name, googleanalyticsprovider.Tag}, + {googletagmanagerprovider.Name, googletagmanagerprovider.Tag}, + {microsoftadsprovider.Name, microsoftadsprovider.Tag}, + {tracifyprovider.Name, tracifyprovider.Tag}, + {umamiprovider.Name, umamiprovider.Tag}, + } + + return pterm.DefaultTable.WithHasHeader().WithData(data).Render() + }, + } + + root.AddCommand(cmd) + + return cmd +}