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,