From d133d5ba1dcc8208ec65fa302021624c904e5e6c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89mile=20R=C3=A9?= Date: Fri, 1 May 2026 15:38:43 +0400 Subject: [PATCH] Fix PR review comments and rename versions to latest-version MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Validate __typename in all list command pagination callbacks - Serialize PostHogConsent=false as explicit false (not nil) - Fix maxAgeSeconds factory to only include when value is an int - Rename cookie-banner versions to latest-version subcommand Signed-off-by: Émile Ré --- e2e/internal/factory/factory.go | 8 ++++---- pkg/cmd/consent-record/list/list.go | 3 +++ pkg/cmd/cookie-banner/cookie_banner.go | 4 ++-- .../versions.go => latestversion/latest_version.go} | 9 ++++----- pkg/cmd/cookie-banner/list/list.go | 3 +++ pkg/cmd/cookie-category/list/list.go | 3 +++ pkg/cmd/cookie-pattern/list/list.go | 3 +++ pkg/server/api/mcp/v1/types/cookie_category.go | 6 +----- 8 files changed, 23 insertions(+), 16 deletions(-) rename pkg/cmd/cookie-banner/{versions/versions.go => latestversion/latest_version.go} (93%) diff --git a/e2e/internal/factory/factory.go b/e2e/internal/factory/factory.go index f4b7923d0..2f65c106c 100644 --- a/e2e/internal/factory/factory.go +++ b/e2e/internal/factory/factory.go @@ -1368,10 +1368,10 @@ func CreateCookiePattern(c *testutil.Client, categoryID string, attrs ...Attrs) "displayName": a.getString("displayName", SafeName("Pattern")), "description": a.getString("description", "Test cookie pattern"), } - if maxAge := a.getStringPtr("maxAgeSeconds"); maxAge != nil { - input["maxAgeSeconds"] = a.getInt("maxAgeSeconds", 0) - } else if _, ok := a["maxAgeSeconds"]; ok { - input["maxAgeSeconds"] = a.getInt("maxAgeSeconds", 0) + if _, ok := a["maxAgeSeconds"]; ok { + if v, ok := a["maxAgeSeconds"].(int); ok { + input["maxAgeSeconds"] = v + } } var result struct { diff --git a/pkg/cmd/consent-record/list/list.go b/pkg/cmd/consent-record/list/list.go index 1cf999b92..d88f7df74 100644 --- a/pkg/cmd/consent-record/list/list.go +++ b/pkg/cmd/consent-record/list/list.go @@ -129,6 +129,9 @@ func NewCmdList(f *cmdutil.Factory) *cobra.Command { if resp.Node == nil { return nil, fmt.Errorf("cookie banner %s not found", flagBannerID) } + if resp.Node.Typename != "CookieBanner" { + return nil, fmt.Errorf("expected CookieBanner node, got %s", resp.Node.Typename) + } return &resp.Node.ConsentRecords, nil }, ) diff --git a/pkg/cmd/cookie-banner/cookie_banner.go b/pkg/cmd/cookie-banner/cookie_banner.go index e63f2cece..2f6e93585 100644 --- a/pkg/cmd/cookie-banner/cookie_banner.go +++ b/pkg/cmd/cookie-banner/cookie_banner.go @@ -25,7 +25,7 @@ import ( "go.probo.inc/probo/pkg/cmd/cookie-banner/publish" "go.probo.inc/probo/pkg/cmd/cookie-banner/translate" "go.probo.inc/probo/pkg/cmd/cookie-banner/update" - "go.probo.inc/probo/pkg/cmd/cookie-banner/versions" + "go.probo.inc/probo/pkg/cmd/cookie-banner/latestversion" "go.probo.inc/probo/pkg/cmd/cookie-banner/view" ) @@ -44,7 +44,7 @@ func NewCmdCookieBanner(f *cmdutil.Factory) *cobra.Command { cmd.AddCommand(deactivate.NewCmdDeactivate(f)) cmd.AddCommand(publish.NewCmdPublish(f)) cmd.AddCommand(translate.NewCmdTranslate(f)) - cmd.AddCommand(versions.NewCmdVersions(f)) + cmd.AddCommand(latestversion.NewCmdLatestVersion(f)) return cmd } diff --git a/pkg/cmd/cookie-banner/versions/versions.go b/pkg/cmd/cookie-banner/latestversion/latest_version.go similarity index 93% rename from pkg/cmd/cookie-banner/versions/versions.go rename to pkg/cmd/cookie-banner/latestversion/latest_version.go index 8dfe6e226..fad805152 100644 --- a/pkg/cmd/cookie-banner/versions/versions.go +++ b/pkg/cmd/cookie-banner/latestversion/latest_version.go @@ -12,7 +12,7 @@ // OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR // PERFORMANCE OF THIS SOFTWARE. -package versions +package latestversion import ( "encoding/json" @@ -48,13 +48,12 @@ type versionInfo struct { UpdatedAt string `json:"updatedAt"` } -func NewCmdVersions(f *cmdutil.Factory) *cobra.Command { +func NewCmdLatestVersion(f *cmdutil.Factory) *cobra.Command { var flagOutput *string cmd := &cobra.Command{ - Use: "versions ", - Short: "List versions for a cookie banner", - Aliases: []string{"ver"}, + Use: "latest-version ", + Short: "Show the latest version of a cookie banner", Args: cobra.ExactArgs(1), RunE: func(cmd *cobra.Command, args []string) error { if err := cmdutil.ValidateOutputFlag(flagOutput); err != nil { diff --git a/pkg/cmd/cookie-banner/list/list.go b/pkg/cmd/cookie-banner/list/list.go index 01d75a806..0560e0169 100644 --- a/pkg/cmd/cookie-banner/list/list.go +++ b/pkg/cmd/cookie-banner/list/list.go @@ -119,6 +119,9 @@ func NewCmdList(f *cmdutil.Factory) *cobra.Command { if resp.Node == nil { return nil, fmt.Errorf("organization %s not found", flagOrg) } + if resp.Node.Typename != "Organization" { + return nil, fmt.Errorf("expected Organization node, got %s", resp.Node.Typename) + } return &resp.Node.CookieBanners, nil }, ) diff --git a/pkg/cmd/cookie-category/list/list.go b/pkg/cmd/cookie-category/list/list.go index 712741906..dd0892231 100644 --- a/pkg/cmd/cookie-category/list/list.go +++ b/pkg/cmd/cookie-category/list/list.go @@ -116,6 +116,9 @@ func NewCmdList(f *cmdutil.Factory) *cobra.Command { if resp.Node == nil { return nil, fmt.Errorf("cookie banner %s not found", flagBannerID) } + if resp.Node.Typename != "CookieBanner" { + return nil, fmt.Errorf("expected CookieBanner node, got %s", resp.Node.Typename) + } return &resp.Node.Categories, nil }, ) diff --git a/pkg/cmd/cookie-pattern/list/list.go b/pkg/cmd/cookie-pattern/list/list.go index ade861455..e92edcabf 100644 --- a/pkg/cmd/cookie-pattern/list/list.go +++ b/pkg/cmd/cookie-pattern/list/list.go @@ -112,6 +112,9 @@ func NewCmdList(f *cmdutil.Factory) *cobra.Command { if resp.Node == nil { return nil, fmt.Errorf("cookie category %s not found", flagCategoryID) } + if resp.Node.Typename != "CookieCategory" { + return nil, fmt.Errorf("expected CookieCategory node, got %s", resp.Node.Typename) + } return &resp.Node.CookiePatterns, nil }, ) diff --git a/pkg/server/api/mcp/v1/types/cookie_category.go b/pkg/server/api/mcp/v1/types/cookie_category.go index 4ae290d5e..b40a0bd55 100644 --- a/pkg/server/api/mcp/v1/types/cookie_category.go +++ b/pkg/server/api/mcp/v1/types/cookie_category.go @@ -20,11 +20,7 @@ import ( ) func NewCookieCategory(c *coredata.CookieCategory) *CookieCategory { - var posthogConsent *bool - if c.PostHogConsent { - v := true - posthogConsent = &v - } + posthogConsent := &c.PostHogConsent return &CookieCategory{ ID: c.ID,