The consent mode is now determined dynamically by the visitor's country and its applicable regulation. The configured consent_mode column is dropped from cookie_banners and added to cookie_consent_records to persist the geo-derived mode at consent-recording time. When no regulation matches, the default is OPT_OUT. Signed-off-by: Émile Ré <emile@getprobo.com>
728 lines
18 KiB
GraphQL
728 lines
18 KiB
GraphQL
enum CookieBannerState
|
|
@goModel(model: "go.probo.inc/probo/pkg/coredata.CookieBannerState") {
|
|
ACTIVE
|
|
@goEnum(
|
|
value: "go.probo.inc/probo/pkg/coredata.CookieBannerStateActive"
|
|
)
|
|
INACTIVE
|
|
@goEnum(
|
|
value: "go.probo.inc/probo/pkg/coredata.CookieBannerStateInactive"
|
|
)
|
|
}
|
|
|
|
enum CookieConsentMode
|
|
@goModel(model: "go.probo.inc/probo/pkg/coredata.CookieConsentMode") {
|
|
OPT_IN
|
|
@goEnum(
|
|
value: "go.probo.inc/probo/pkg/coredata.CookieConsentModeOptIn"
|
|
)
|
|
OPT_OUT
|
|
@goEnum(
|
|
value: "go.probo.inc/probo/pkg/coredata.CookieConsentModeOptOut"
|
|
)
|
|
}
|
|
|
|
enum CookieSource
|
|
@goModel(model: "go.probo.inc/probo/pkg/coredata.CookieSource") {
|
|
SCRIPT
|
|
@goEnum(
|
|
value: "go.probo.inc/probo/pkg/coredata.CookieSourceScript"
|
|
)
|
|
PRE_EXISTING
|
|
@goEnum(
|
|
value: "go.probo.inc/probo/pkg/coredata.CookieSourcePreExisting"
|
|
)
|
|
}
|
|
|
|
enum TrackerType
|
|
@goModel(model: "go.probo.inc/probo/pkg/coredata.TrackerType") {
|
|
COOKIE
|
|
@goEnum(
|
|
value: "go.probo.inc/probo/pkg/coredata.TrackerTypeCookie"
|
|
)
|
|
LOCAL_STORAGE
|
|
@goEnum(
|
|
value: "go.probo.inc/probo/pkg/coredata.TrackerTypeLocalStorage"
|
|
)
|
|
SESSION_STORAGE
|
|
@goEnum(
|
|
value: "go.probo.inc/probo/pkg/coredata.TrackerTypeSessionStorage"
|
|
)
|
|
INDEXED_DB
|
|
@goEnum(
|
|
value: "go.probo.inc/probo/pkg/coredata.TrackerTypeIndexedDB"
|
|
)
|
|
CACHE_STORAGE
|
|
@goEnum(
|
|
value: "go.probo.inc/probo/pkg/coredata.TrackerTypeCacheStorage"
|
|
)
|
|
}
|
|
|
|
enum CookieBannerOrderField
|
|
@goModel(
|
|
model: "go.probo.inc/probo/pkg/coredata.CookieBannerOrderField"
|
|
) {
|
|
CREATED_AT
|
|
@goEnum(
|
|
value: "go.probo.inc/probo/pkg/coredata.CookieBannerOrderFieldCreatedAt"
|
|
)
|
|
}
|
|
|
|
enum CookieCategoryOrderField
|
|
@goModel(
|
|
model: "go.probo.inc/probo/pkg/coredata.CookieCategoryOrderField"
|
|
) {
|
|
RANK
|
|
@goEnum(
|
|
value: "go.probo.inc/probo/pkg/coredata.CookieCategoryOrderFieldRank"
|
|
)
|
|
}
|
|
|
|
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"
|
|
) {
|
|
direction: OrderDirection!
|
|
field: CookieBannerOrderField!
|
|
}
|
|
|
|
input CookieCategoryOrder
|
|
@goModel(
|
|
model: "go.probo.inc/probo/pkg/server/api/console/v1/types.CookieCategoryOrderBy"
|
|
) {
|
|
direction: OrderDirection!
|
|
field: CookieCategoryOrderField!
|
|
}
|
|
|
|
type CookieBanner implements Node {
|
|
id: ID!
|
|
name: String!
|
|
origin: String!
|
|
state: CookieBannerState!
|
|
privacyPolicyUrl: String
|
|
cookiePolicyUrl: String!
|
|
consentExpiryDays: Int!
|
|
showBranding: Boolean!
|
|
defaultLanguage: String!
|
|
|
|
organization: Organization @goField(forceResolver: true)
|
|
|
|
consentCategories(
|
|
first: Int
|
|
after: CursorKey
|
|
last: Int
|
|
before: CursorKey
|
|
orderBy: CookieCategoryOrder
|
|
): CookieCategoryConnection @goField(forceResolver: true)
|
|
|
|
translations: [CookieBannerTranslation!]! @goField(forceResolver: true)
|
|
|
|
latestVersion: CookieBannerVersion @goField(forceResolver: true)
|
|
|
|
consentRecords(
|
|
first: Int
|
|
after: CursorKey
|
|
last: Int
|
|
before: CursorKey
|
|
orderBy: CookieConsentRecordOrder
|
|
filter: CookieConsentRecordFilter
|
|
): CookieConsentRecordConnection @goField(forceResolver: true)
|
|
|
|
uncategorisedTrackerPatterns(
|
|
first: Int
|
|
after: CursorKey
|
|
last: Int
|
|
before: CursorKey
|
|
orderBy: TrackerPatternOrder
|
|
filter: TrackerPatternFilter
|
|
): TrackerPatternConnection @goField(forceResolver: true)
|
|
|
|
uncategorisedTrackerResources(
|
|
first: Int
|
|
after: CursorKey
|
|
last: Int
|
|
before: CursorKey
|
|
orderBy: TrackerResourceOrder
|
|
filter: TrackerResourceFilter
|
|
): TrackerResourceConnection @goField(forceResolver: true)
|
|
|
|
createdAt: Datetime!
|
|
updatedAt: Datetime!
|
|
|
|
permission(action: String!): Boolean! @goField(forceResolver: true)
|
|
}
|
|
|
|
type CookieBannerTranslation implements Node {
|
|
id: ID!
|
|
language: String!
|
|
translations: String!
|
|
createdAt: Datetime!
|
|
updatedAt: Datetime!
|
|
}
|
|
|
|
type CookieCategory implements Node {
|
|
id: ID!
|
|
cookieBanner: CookieBanner @goField(forceResolver: true)
|
|
name: String!
|
|
slug: String!
|
|
description: String!
|
|
kind: CookieCategoryKind!
|
|
rank: Int!
|
|
gcmConsentTypes: [String!]!
|
|
posthogConsent: Boolean!
|
|
|
|
trackerPatterns(
|
|
first: Int
|
|
after: CursorKey
|
|
last: Int
|
|
before: CursorKey
|
|
orderBy: TrackerPatternOrder
|
|
): TrackerPatternConnection @goField(forceResolver: true)
|
|
|
|
trackerResources(
|
|
first: Int
|
|
after: CursorKey
|
|
last: Int
|
|
before: CursorKey
|
|
orderBy: TrackerResourceOrder
|
|
): TrackerResourceConnection @goField(forceResolver: true)
|
|
|
|
createdAt: Datetime!
|
|
updatedAt: Datetime!
|
|
|
|
permission(action: String!): Boolean! @goField(forceResolver: true)
|
|
}
|
|
|
|
enum TrackerPatternMatchType
|
|
@goModel(
|
|
model: "go.probo.inc/probo/pkg/coredata.TrackerPatternMatchType"
|
|
) {
|
|
EXACT
|
|
@goEnum(
|
|
value: "go.probo.inc/probo/pkg/coredata.TrackerPatternMatchTypeExact"
|
|
)
|
|
GLOB
|
|
@goEnum(
|
|
value: "go.probo.inc/probo/pkg/coredata.TrackerPatternMatchTypeGlob"
|
|
)
|
|
}
|
|
|
|
enum TrackerPatternOrderField
|
|
@goModel(
|
|
model: "go.probo.inc/probo/pkg/coredata.TrackerPatternOrderField"
|
|
) {
|
|
CREATED_AT
|
|
@goEnum(
|
|
value: "go.probo.inc/probo/pkg/coredata.TrackerPatternOrderFieldCreatedAt"
|
|
)
|
|
NAME
|
|
@goEnum(
|
|
value: "go.probo.inc/probo/pkg/coredata.TrackerPatternOrderFieldName"
|
|
)
|
|
LAST_MATCHED_AT
|
|
@goEnum(
|
|
value: "go.probo.inc/probo/pkg/coredata.TrackerPatternOrderFieldLastMatchedAt"
|
|
)
|
|
UPDATED_AT
|
|
@goEnum(
|
|
value: "go.probo.inc/probo/pkg/coredata.TrackerPatternOrderFieldUpdatedAt"
|
|
)
|
|
SOURCE
|
|
@goEnum(
|
|
value: "go.probo.inc/probo/pkg/coredata.TrackerPatternOrderFieldSource"
|
|
)
|
|
}
|
|
|
|
type TrackerPattern implements Node {
|
|
id: ID!
|
|
cookieCategory: CookieCategory @goField(forceResolver: true)
|
|
trackerType: TrackerType!
|
|
pattern: String!
|
|
matchType: TrackerPatternMatchType!
|
|
displayName: String!
|
|
maxAgeSeconds: Int
|
|
description: String!
|
|
source: CookieSource
|
|
excluded: Boolean!
|
|
detectedCount: Int! @goField(forceResolver: true)
|
|
lastMatchedAt: Datetime
|
|
createdAt: Datetime!
|
|
updatedAt: Datetime!
|
|
|
|
permission(action: String!): Boolean! @goField(forceResolver: true)
|
|
}
|
|
|
|
type TrackerPatternConnection
|
|
@goModel(
|
|
model: "go.probo.inc/probo/pkg/server/api/console/v1/types.TrackerPatternConnection"
|
|
) {
|
|
totalCount: Int! @goField(forceResolver: true)
|
|
edges: [TrackerPatternEdge!]!
|
|
pageInfo: PageInfo!
|
|
}
|
|
|
|
type TrackerPatternEdge {
|
|
cursor: CursorKey!
|
|
node: TrackerPattern!
|
|
}
|
|
|
|
input TrackerPatternOrder
|
|
@goModel(
|
|
model: "go.probo.inc/probo/pkg/server/api/console/v1/types.TrackerPatternOrderBy"
|
|
) {
|
|
direction: OrderDirection!
|
|
field: TrackerPatternOrderField!
|
|
}
|
|
|
|
input TrackerPatternFilter
|
|
@goModel(
|
|
model: "go.probo.inc/probo/pkg/server/api/console/v1/types.TrackerPatternFilter"
|
|
) {
|
|
query: String
|
|
source: CookieSource
|
|
trackerType: TrackerType
|
|
}
|
|
|
|
enum TrackerResourceType
|
|
@goModel(model: "go.probo.inc/probo/pkg/coredata.TrackerResourceType") {
|
|
SCRIPT
|
|
@goEnum(
|
|
value: "go.probo.inc/probo/pkg/coredata.TrackerResourceTypeScript"
|
|
)
|
|
IFRAME
|
|
@goEnum(
|
|
value: "go.probo.inc/probo/pkg/coredata.TrackerResourceTypeIframe"
|
|
)
|
|
IMAGE
|
|
@goEnum(
|
|
value: "go.probo.inc/probo/pkg/coredata.TrackerResourceTypeImage"
|
|
)
|
|
STYLESHEET
|
|
@goEnum(
|
|
value: "go.probo.inc/probo/pkg/coredata.TrackerResourceTypeStylesheet"
|
|
)
|
|
FONT
|
|
@goEnum(
|
|
value: "go.probo.inc/probo/pkg/coredata.TrackerResourceTypeFont"
|
|
)
|
|
BEACON
|
|
@goEnum(
|
|
value: "go.probo.inc/probo/pkg/coredata.TrackerResourceTypeBeacon"
|
|
)
|
|
FETCH
|
|
@goEnum(
|
|
value: "go.probo.inc/probo/pkg/coredata.TrackerResourceTypeFetch"
|
|
)
|
|
MEDIA
|
|
@goEnum(
|
|
value: "go.probo.inc/probo/pkg/coredata.TrackerResourceTypeMedia"
|
|
)
|
|
SERVICE_WORKER
|
|
@goEnum(
|
|
value: "go.probo.inc/probo/pkg/coredata.TrackerResourceTypeServiceWorker"
|
|
)
|
|
}
|
|
|
|
enum TrackerResourceOrderField
|
|
@goModel(
|
|
model: "go.probo.inc/probo/pkg/coredata.TrackerResourceOrderField"
|
|
) {
|
|
CREATED_AT
|
|
@goEnum(
|
|
value: "go.probo.inc/probo/pkg/coredata.TrackerResourceOrderFieldCreatedAt"
|
|
)
|
|
LAST_DETECTED_AT
|
|
@goEnum(
|
|
value: "go.probo.inc/probo/pkg/coredata.TrackerResourceOrderFieldLastDetectedAt"
|
|
)
|
|
ORIGIN
|
|
@goEnum(
|
|
value: "go.probo.inc/probo/pkg/coredata.TrackerResourceOrderFieldOrigin"
|
|
)
|
|
UPDATED_AT
|
|
@goEnum(
|
|
value: "go.probo.inc/probo/pkg/coredata.TrackerResourceOrderFieldUpdatedAt"
|
|
)
|
|
}
|
|
|
|
type TrackerResource implements Node {
|
|
id: ID!
|
|
cookieCategory: CookieCategory @goField(forceResolver: true)
|
|
type: TrackerResourceType!
|
|
origin: String!
|
|
path: String!
|
|
displayName: String!
|
|
description: String!
|
|
excluded: Boolean!
|
|
lastDetectedAt: Datetime
|
|
createdAt: Datetime!
|
|
updatedAt: Datetime!
|
|
|
|
permission(action: String!): Boolean! @goField(forceResolver: true)
|
|
}
|
|
|
|
type TrackerResourceConnection
|
|
@goModel(
|
|
model: "go.probo.inc/probo/pkg/server/api/console/v1/types.TrackerResourceConnection"
|
|
) {
|
|
totalCount: Int! @goField(forceResolver: true)
|
|
edges: [TrackerResourceEdge!]!
|
|
pageInfo: PageInfo!
|
|
}
|
|
|
|
type TrackerResourceEdge {
|
|
cursor: CursorKey!
|
|
node: TrackerResource!
|
|
}
|
|
|
|
input TrackerResourceOrder
|
|
@goModel(
|
|
model: "go.probo.inc/probo/pkg/server/api/console/v1/types.TrackerResourceOrderBy"
|
|
) {
|
|
direction: OrderDirection!
|
|
field: TrackerResourceOrderField!
|
|
}
|
|
|
|
input TrackerResourceFilter
|
|
@goModel(
|
|
model: "go.probo.inc/probo/pkg/server/api/console/v1/types.TrackerResourceFilter"
|
|
) {
|
|
query: String
|
|
type: TrackerResourceType
|
|
}
|
|
|
|
type CookieBannerVersion implements Node {
|
|
id: ID!
|
|
version: Int!
|
|
state: String!
|
|
categories: [CookieBannerVersionCategory!]! @goField(forceResolver: true)
|
|
createdAt: Datetime!
|
|
updatedAt: Datetime!
|
|
}
|
|
|
|
type CookieBannerVersionCategory {
|
|
name: String!
|
|
slug: String!
|
|
description: String!
|
|
kind: CookieCategoryKind!
|
|
cookies: [CookieBannerVersionCookie!]!
|
|
}
|
|
|
|
type CookieBannerVersionCookie {
|
|
name: String!
|
|
maxAgeSeconds: Int
|
|
description: String!
|
|
}
|
|
|
|
type CookieBannerConnection
|
|
@goModel(
|
|
model: "go.probo.inc/probo/pkg/server/api/console/v1/types.CookieBannerConnection"
|
|
) {
|
|
totalCount: Int! @goField(forceResolver: true)
|
|
edges: [CookieBannerEdge!]!
|
|
pageInfo: PageInfo!
|
|
}
|
|
|
|
type CookieBannerEdge {
|
|
cursor: CursorKey!
|
|
node: CookieBanner!
|
|
}
|
|
|
|
type CookieCategoryConnection
|
|
@goModel(
|
|
model: "go.probo.inc/probo/pkg/server/api/console/v1/types.CookieCategoryConnection"
|
|
) {
|
|
totalCount: Int! @goField(forceResolver: true)
|
|
edges: [CookieCategoryEdge!]!
|
|
pageInfo: PageInfo!
|
|
}
|
|
|
|
type CookieCategoryEdge {
|
|
cursor: CursorKey!
|
|
node: CookieCategory!
|
|
}
|
|
|
|
extend type Mutation {
|
|
createCookieBanner(
|
|
input: CreateCookieBannerInput!
|
|
): CreateCookieBannerPayload!
|
|
updateCookieBanner(
|
|
input: UpdateCookieBannerInput!
|
|
): UpdateCookieBannerPayload!
|
|
deleteCookieBanner(
|
|
input: DeleteCookieBannerInput!
|
|
): DeleteCookieBannerPayload!
|
|
activateCookieBanner(
|
|
input: ActivateCookieBannerInput!
|
|
): ActivateCookieBannerPayload!
|
|
deactivateCookieBanner(
|
|
input: DeactivateCookieBannerInput!
|
|
): DeactivateCookieBannerPayload!
|
|
publishCookieBannerVersion(
|
|
input: PublishCookieBannerVersionInput!
|
|
): PublishCookieBannerVersionPayload!
|
|
createCookieCategory(
|
|
input: CreateCookieCategoryInput!
|
|
): CreateCookieCategoryPayload!
|
|
updateCookieCategory(
|
|
input: UpdateCookieCategoryInput!
|
|
): UpdateCookieCategoryPayload!
|
|
deleteCookieCategory(
|
|
input: DeleteCookieCategoryInput!
|
|
): DeleteCookieCategoryPayload!
|
|
reorderCookieCategory(
|
|
input: ReorderCookieCategoryInput!
|
|
): ReorderCookieCategoryPayload!
|
|
upsertCookieBannerTranslation(
|
|
input: UpsertCookieBannerTranslationInput!
|
|
): UpsertCookieBannerTranslationPayload!
|
|
createTrackerPattern(
|
|
input: CreateTrackerPatternInput!
|
|
): CreateTrackerPatternPayload!
|
|
updateTrackerPattern(
|
|
input: UpdateTrackerPatternInput!
|
|
): UpdateTrackerPatternPayload!
|
|
deleteTrackerPattern(
|
|
input: DeleteTrackerPatternInput!
|
|
): DeleteTrackerPatternPayload!
|
|
moveTrackerPatternToCategory(
|
|
input: MoveTrackerPatternToCategoryInput!
|
|
): MoveTrackerPatternToCategoryPayload!
|
|
createTrackerResource(
|
|
input: CreateTrackerResourceInput!
|
|
): CreateTrackerResourcePayload!
|
|
updateTrackerResource(
|
|
input: UpdateTrackerResourceInput!
|
|
): UpdateTrackerResourcePayload!
|
|
deleteTrackerResource(
|
|
input: DeleteTrackerResourceInput!
|
|
): DeleteTrackerResourcePayload!
|
|
moveTrackerResourceToCategory(
|
|
input: MoveTrackerResourceToCategoryInput!
|
|
): MoveTrackerResourceToCategoryPayload!
|
|
}
|
|
|
|
input CreateCookieBannerInput {
|
|
organizationId: ID!
|
|
name: String!
|
|
origin: String!
|
|
privacyPolicyUrl: String
|
|
cookiePolicyUrl: String!
|
|
consentExpiryDays: Int!
|
|
}
|
|
|
|
input UpdateCookieBannerInput {
|
|
cookieBannerId: ID!
|
|
name: String
|
|
privacyPolicyUrl: String
|
|
cookiePolicyUrl: String
|
|
consentExpiryDays: Int
|
|
defaultLanguage: String
|
|
}
|
|
|
|
input DeleteCookieBannerInput {
|
|
cookieBannerId: ID!
|
|
}
|
|
|
|
input ActivateCookieBannerInput {
|
|
cookieBannerId: ID!
|
|
}
|
|
|
|
input DeactivateCookieBannerInput {
|
|
cookieBannerId: ID!
|
|
}
|
|
|
|
input PublishCookieBannerVersionInput {
|
|
cookieBannerId: ID!
|
|
}
|
|
|
|
input CreateCookieCategoryInput {
|
|
cookieBannerId: ID!
|
|
name: String!
|
|
slug: String!
|
|
description: String!
|
|
rank: Int!
|
|
}
|
|
|
|
input UpdateCookieCategoryInput {
|
|
cookieCategoryId: ID!
|
|
name: String
|
|
slug: String
|
|
description: String
|
|
gcmConsentTypes: [String!]
|
|
posthogConsent: Boolean
|
|
}
|
|
|
|
input DeleteCookieCategoryInput {
|
|
cookieCategoryId: ID!
|
|
}
|
|
|
|
input ReorderCookieCategoryInput {
|
|
cookieCategoryId: ID!
|
|
rank: Int!
|
|
}
|
|
|
|
type CreateCookieBannerPayload {
|
|
cookieBannerEdge: CookieBannerEdge!
|
|
}
|
|
|
|
type UpdateCookieBannerPayload {
|
|
cookieBanner: CookieBanner!
|
|
}
|
|
|
|
type DeleteCookieBannerPayload {
|
|
deletedCookieBannerId: ID!
|
|
}
|
|
|
|
type ActivateCookieBannerPayload {
|
|
cookieBanner: CookieBanner!
|
|
}
|
|
|
|
type DeactivateCookieBannerPayload {
|
|
cookieBanner: CookieBanner!
|
|
}
|
|
|
|
type PublishCookieBannerVersionPayload {
|
|
cookieBannerVersion: CookieBannerVersion!
|
|
cookieBanner: CookieBanner!
|
|
}
|
|
|
|
type CreateCookieCategoryPayload {
|
|
cookieCategoryEdge: CookieCategoryEdge!
|
|
cookieBanner: CookieBanner!
|
|
}
|
|
|
|
type UpdateCookieCategoryPayload {
|
|
cookieCategory: CookieCategory!
|
|
cookieBanner: CookieBanner!
|
|
}
|
|
|
|
type DeleteCookieCategoryPayload {
|
|
deletedCookieCategoryId: ID!
|
|
cookieBanner: CookieBanner!
|
|
}
|
|
|
|
type ReorderCookieCategoryPayload {
|
|
cookieBanner: CookieBanner!
|
|
}
|
|
|
|
input UpsertCookieBannerTranslationInput {
|
|
cookieBannerId: ID!
|
|
language: String!
|
|
translations: String!
|
|
}
|
|
|
|
type UpsertCookieBannerTranslationPayload {
|
|
cookieBannerTranslation: CookieBannerTranslation!
|
|
cookieBanner: CookieBanner!
|
|
}
|
|
|
|
input CreateTrackerPatternInput {
|
|
cookieCategoryId: ID!
|
|
trackerType: TrackerType
|
|
pattern: String!
|
|
matchType: TrackerPatternMatchType!
|
|
displayName: String!
|
|
maxAgeSeconds: Int
|
|
description: String
|
|
}
|
|
|
|
input UpdateTrackerPatternInput {
|
|
trackerPatternId: ID!
|
|
maxAgeSeconds: Int @goField(omittable: true)
|
|
description: String
|
|
excluded: Boolean
|
|
}
|
|
|
|
input DeleteTrackerPatternInput {
|
|
trackerPatternId: ID!
|
|
}
|
|
|
|
input MoveTrackerPatternToCategoryInput {
|
|
trackerPatternId: ID!
|
|
targetCookieCategoryId: ID!
|
|
}
|
|
|
|
type CreateTrackerPatternPayload {
|
|
trackerPatternEdge: TrackerPatternEdge!
|
|
cookieBanner: CookieBanner!
|
|
}
|
|
|
|
type UpdateTrackerPatternPayload {
|
|
trackerPattern: TrackerPattern!
|
|
cookieBanner: CookieBanner!
|
|
}
|
|
|
|
type DeleteTrackerPatternPayload {
|
|
deletedTrackerPatternId: ID!
|
|
cookieBanner: CookieBanner!
|
|
}
|
|
|
|
type MoveTrackerPatternToCategoryPayload {
|
|
trackerPattern: TrackerPattern!
|
|
cookieBanner: CookieBanner!
|
|
}
|
|
|
|
input CreateTrackerResourceInput {
|
|
cookieCategoryId: ID!
|
|
type: TrackerResourceType!
|
|
origin: String!
|
|
path: String!
|
|
displayName: String!
|
|
description: String
|
|
}
|
|
|
|
input UpdateTrackerResourceInput {
|
|
trackerResourceId: ID!
|
|
displayName: String
|
|
description: String
|
|
excluded: Boolean
|
|
}
|
|
|
|
input DeleteTrackerResourceInput {
|
|
trackerResourceId: ID!
|
|
}
|
|
|
|
input MoveTrackerResourceToCategoryInput {
|
|
trackerResourceId: ID!
|
|
targetCookieCategoryId: ID!
|
|
}
|
|
|
|
type CreateTrackerResourcePayload {
|
|
trackerResourceEdge: TrackerResourceEdge!
|
|
cookieBanner: CookieBanner!
|
|
}
|
|
|
|
type UpdateTrackerResourcePayload {
|
|
trackerResource: TrackerResource!
|
|
cookieBanner: CookieBanner!
|
|
}
|
|
|
|
type DeleteTrackerResourcePayload {
|
|
deletedTrackerResourceId: ID!
|
|
cookieBanner: CookieBanner!
|
|
}
|
|
|
|
type MoveTrackerResourceToCategoryPayload {
|
|
trackerResource: TrackerResource!
|
|
cookieBanner: CookieBanner!
|
|
}
|