Add cookie_policy_url field to cookie banners

Introduce a required cookie_policy_url alongside the existing
privacy_policy_url (now optional) so banners can link directly to a
dedicated cookie policy — a compliance best practice recommended by
CNIL, ICO, and the EDPB. Existing rows are seeded from their current
privacy_policy_url value.

Both {{cookie_policy_link}} and {{privacy_policy_link}} placeholders
are supported independently in banner description translations.

Signed-off-by: Émile Ré <emile@getprobo.com>
This commit is contained in:
Émile Ré
2026-04-24 18:04:05 +04:00
parent 4982cebb9c
commit 598c6b112c
15 changed files with 142 additions and 56 deletions

View File

@@ -235,6 +235,7 @@ func (r *mutationResolver) CreateCookieBanner(ctx context.Context, input types.C
Name: input.Name,
Origin: input.Origin,
PrivacyPolicyURL: input.PrivacyPolicyURL,
CookiePolicyURL: input.CookiePolicyURL,
ConsentExpiryDays: input.ConsentExpiryDays,
ConsentMode: input.ConsentMode,
},
@@ -270,6 +271,7 @@ func (r *mutationResolver) UpdateCookieBanner(ctx context.Context, input types.U
CookieBannerID: input.CookieBannerID,
Name: input.Name,
PrivacyPolicyURL: input.PrivacyPolicyURL,
CookiePolicyURL: input.CookiePolicyURL,
ConsentExpiryDays: input.ConsentExpiryDays,
ConsentMode: input.ConsentMode,
DefaultLanguage: input.DefaultLanguage,

View File

@@ -81,7 +81,8 @@ type CookieBanner implements Node {
name: String!
origin: String!
state: CookieBannerState!
privacyPolicyUrl: String!
privacyPolicyUrl: String
cookiePolicyUrl: String!
consentExpiryDays: Int!
consentMode: CookieConsentMode!
showBranding: Boolean!
@@ -266,7 +267,8 @@ input CreateCookieBannerInput {
organizationId: ID!
name: String!
origin: String!
privacyPolicyUrl: String!
privacyPolicyUrl: String
cookiePolicyUrl: String!
consentExpiryDays: Int!
consentMode: CookieConsentMode!
}
@@ -275,6 +277,7 @@ input UpdateCookieBannerInput {
cookieBannerId: ID!
name: String
privacyPolicyUrl: String
cookiePolicyUrl: String
consentExpiryDays: Int
consentMode: CookieConsentMode
defaultLanguage: String

View File

@@ -70,6 +70,7 @@ func NewCookieBanner(b *coredata.CookieBanner) *CookieBanner {
Origin: b.Origin,
State: b.State,
PrivacyPolicyURL: b.PrivacyPolicyURL,
CookiePolicyURL: b.CookiePolicyURL,
ConsentExpiryDays: b.ConsentExpiryDays,
ConsentMode: b.ConsentMode,
ShowBranding: b.ShowBranding,