From 98487953b9e28fbafab7633809f444e5633ef0f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89mile=20R=C3=A9?= Date: Tue, 21 Apr 2026 11:27:25 +0400 Subject: [PATCH] Fix review MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Émile Ré --- .../cookies/_components/CategorySection.tsx | 4 ++-- pkg/cookiebanner/errors.go | 1 + pkg/cookiebanner/service.go | 4 ++++ .../console/v1/graphql/cookie_banner.graphql | 20 ++++++++++++++++++- .../api/console/v1/types/cookie_category.go | 2 +- 5 files changed, 27 insertions(+), 4 deletions(-) diff --git a/apps/console/src/pages/organizations/cookie-banners/configuration/cookies/_components/CategorySection.tsx b/apps/console/src/pages/organizations/cookie-banners/configuration/cookies/_components/CategorySection.tsx index eca86048d..56ca4ee1d 100644 --- a/apps/console/src/pages/organizations/cookie-banners/configuration/cookies/_components/CategorySection.tsx +++ b/apps/console/src/pages/organizations/cookie-banners/configuration/cookies/_components/CategorySection.tsx @@ -357,7 +357,7 @@ export function CategorySection({ categoryKey, onDelete }: CategorySectionProps) editingCookieIndex === index ? ( ) : ( - + {cookie.name} diff --git a/pkg/cookiebanner/errors.go b/pkg/cookiebanner/errors.go index c3abea730..ecbcb2200 100644 --- a/pkg/cookiebanner/errors.go +++ b/pkg/cookiebanner/errors.go @@ -30,4 +30,5 @@ var ( ErrConsentNotFound = errors.New("consent record not found") ErrCookieNotFound = errors.New("cookie not found in source category") ErrCategoriesBannerMismatch = errors.New("source and target categories belong to different banners") + ErrSameCategoryMove = errors.New("source and target cookie categories must be different") ) diff --git a/pkg/cookiebanner/service.go b/pkg/cookiebanner/service.go index e1ac444ca..2782daa79 100644 --- a/pkg/cookiebanner/service.go +++ b/pkg/cookiebanner/service.go @@ -949,6 +949,10 @@ func (s *Service) MoveCookieToCategory( return fmt.Errorf("cannot load target cookie category: %w", err) } + if source.ID == target.ID { + return ErrSameCategoryMove + } + if source.CookieBannerID != target.CookieBannerID { return ErrCategoriesBannerMismatch } diff --git a/pkg/server/api/console/v1/graphql/cookie_banner.graphql b/pkg/server/api/console/v1/graphql/cookie_banner.graphql index 89f442d5d..92793a75b 100644 --- a/pkg/server/api/console/v1/graphql/cookie_banner.graphql +++ b/pkg/server/api/console/v1/graphql/cookie_banner.graphql @@ -42,6 +42,24 @@ enum CookieCategoryOrderField ) } +enum CookieCategoryKind + @goModel( + model: "go.probo.inc/probo/pkg/coredata.CookieCategoryKind" + ) { + NORMAL + @goEnum( + value: "go.probo.inc/probo/pkg/coredata.CookieCategoryKindNormal" + ) + NECESSARY + @goEnum( + value: "go.probo.inc/probo/pkg/coredata.CookieCategoryKindNecessary" + ) + UNCATEGORISED + @goEnum( + value: "go.probo.inc/probo/pkg/coredata.CookieCategoryKindUncategorised" + ) +} + input CookieBannerOrder @goModel( model: "go.probo.inc/probo/pkg/server/api/console/v1/types.CookieBannerOrderBy" @@ -90,7 +108,7 @@ type CookieCategory implements Node { cookieBanner: CookieBanner @goField(forceResolver: true) name: String! description: String! - kind: String! + kind: CookieCategoryKind! rank: Int! cookies: [CookieItem!]! createdAt: Datetime! diff --git a/pkg/server/api/console/v1/types/cookie_category.go b/pkg/server/api/console/v1/types/cookie_category.go index e9ef589cc..0e472163e 100644 --- a/pkg/server/api/console/v1/types/cookie_category.go +++ b/pkg/server/api/console/v1/types/cookie_category.go @@ -77,7 +77,7 @@ func NewCookieCategory(c *coredata.CookieCategory) *CookieCategory { }, Name: c.Name, Description: c.Description, - Kind: string(c.Kind), + Kind: c.Kind, Rank: c.Rank, Cookies: cookies, CreatedAt: c.CreatedAt,