From 3d1bccc3a06d70c5052347c51e4bb34865529727 Mon Sep 17 00:00:00 2001 From: mihir-4116 Date: Tue, 1 Aug 2023 15:11:55 +0530 Subject: [PATCH 01/11] fix(ga4): firebaseAppId config field issue --- .../destinations/ga4/schema.json | 151 +++++++++++++++--- .../destinations/ga4/ui-config.json | 2 +- test/data/validation/destinations/ga4.json | 5 +- 3 files changed, 134 insertions(+), 24 deletions(-) diff --git a/src/configurations/destinations/ga4/schema.json b/src/configurations/destinations/ga4/schema.json index 3bca645fc7..d9dd232a9d 100644 --- a/src/configurations/destinations/ga4/schema.json +++ b/src/configurations/destinations/ga4/schema.json @@ -1,26 +1,35 @@ { "configSchema": { "$schema": "http://json-schema.org/draft-07/schema#", - "required": ["apiSecret", "typesOfClient", "measurementId", "firebaseAppId"], + "required": [ + "apiSecret", + "typesOfClient" + ], "type": "object", "properties": { "apiSecret": { "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" }, - "typesOfClient": { "type": "string", "enum": ["gtag", "firebase"], "default": "gtag" }, - "measurementId": { + "typesOfClient": { "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(G-.{1,100})$|^$" + "enum": [ + "gtag", + "firebase" + ], + "default": "gtag" }, - "firebaseAppId": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + "debugMode": { + "type": "boolean", + "default": false }, - "debugMode": { "type": "boolean", "default": false }, "eventFilteringOption": { "type": "string", - "enum": ["disable", "whitelistedEvents", "blacklistedEvents"], + "enum": [ + "disable", + "whitelistedEvents", + "blacklistedEvents" + ], "default": "disable" }, "whitelistedEvents": { @@ -61,30 +70,130 @@ }, "capturePageView": { "type": "object", - "properties": { "web": { "type": "string", "enum": ["rs", "gtag"], "default": "rs" } } + "properties": { + "web": { + "type": "string", + "enum": [ + "rs", + "gtag" + ], + "default": "rs" + } + } + }, + "debugView": { + "type": "object", + "properties": { + "web": { + "type": "boolean" + } + } + }, + "extendPageViewParams": { + "type": "object", + "properties": { + "web": { + "type": "boolean" + } + } }, - "debugView": { "type": "object", "properties": { "web": { "type": "boolean" } } }, - "extendPageViewParams": { "type": "object", "properties": { "web": { "type": "boolean" } } }, "overrideClientAndSessionId": { "type": "object", - "properties": { "web": { "type": "boolean" } } + "properties": { + "web": { + "type": "boolean" + } + } }, "useNativeSDK": { "type": "object", "properties": { - "android": { "type": "boolean" }, - "ios": { "type": "boolean" }, - "web": { "type": "boolean" } + "android": { + "type": "boolean" + }, + "ios": { + "type": "boolean" + }, + "web": { + "type": "boolean" + } } }, "connectionMode": { "type": "object", "properties": { - "android": { "type": "string", "enum": ["cloud", "device"] }, - "ios": { "type": "string", "enum": ["cloud", "device"] }, - "web": { "type": "string", "enum": ["cloud", "device", "hybrid"] } + "android": { + "type": "string", + "enum": [ + "cloud", + "device" + ] + }, + "ios": { + "type": "string", + "enum": [ + "cloud", + "device" + ] + }, + "web": { + "type": "string", + "enum": [ + "cloud", + "device", + "hybrid" + ] + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "typesOfClient": { + "const": "gtag" + } + }, + "required": [ + "typesOfClient" + ] + }, + "then": { + "properties": { + "measurementId": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(G-.{1,100})$|^$" + } + }, + "required": [ + "measurementId" + ] + } + }, + { + "if": { + "properties": { + "typesOfClient": { + "const": "firebase" + } + }, + "required": [ + "typesOfClient" + ] + }, + "then": { + "properties": { + "firebaseAppId": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + } + }, + "required": [ + "firebaseAppId" + ] } } - } + ] } -} +} \ No newline at end of file diff --git a/src/configurations/destinations/ga4/ui-config.json b/src/configurations/destinations/ga4/ui-config.json index da8f4bb49e..e28a34143c 100644 --- a/src/configurations/destinations/ga4/ui-config.json +++ b/src/configurations/destinations/ga4/ui-config.json @@ -68,7 +68,7 @@ }, "label": "Firebase App Id", "configKey": "firebaseAppId", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", "regexErrorMessage": "Invalid Firebase App Id", "note": "Enter the ID associated with your stream. Find this under Admin > Data Streams > choose your stream > Firebase App ID", "placeholder": "e.g: 2:637908496727:web:a4284b4c99e329d5", diff --git a/test/data/validation/destinations/ga4.json b/test/data/validation/destinations/ga4.json index d2f0c35945..f924251515 100644 --- a/test/data/validation/destinations/ga4.json +++ b/test/data/validation/destinations/ga4.json @@ -81,7 +81,8 @@ }, "result": false, "err": [ - "measurementId must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(G-.{1,100})$|^$\"" + "measurementId must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(G-.{1,100})$|^$\"", + " must match \"then\" schema" ] }, { @@ -294,4 +295,4 @@ }, "result": true } -] +] \ No newline at end of file From 8331975bef214295c130713f2e7f7743ecf5ef10 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Tue, 1 Aug 2023 10:38:05 +0000 Subject: [PATCH 02/11] chore(release): 1.43.2 --- CHANGELOG.md | 7 +++++++ package-lock.json | 4 ++-- package.json | 2 +- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4bffc903f4..e2c6e6b8f7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,13 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. +### [1.43.2](https://github.com/rudderlabs/rudder-config-schema/compare/v1.43.1...v1.43.2) (2023-08-01) + + +### Bug Fixes + +* **ga4:** firebaseAppId config field issue ([3d1bccc](https://github.com/rudderlabs/rudder-config-schema/commit/3d1bccc3a06d70c5052347c51e4bb34865529727)) + ### [1.43.1](https://github.com/rudderlabs/rudder-config-schema/compare/v1.43.0...v1.43.1) (2023-07-28) ## [1.43.0](https://github.com/rudderlabs/rudder-config-schema/compare/v1.42.2...v1.43.0) (2023-07-24) diff --git a/package-lock.json b/package-lock.json index 22b73123ff..61e00364f6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "rudder-config-schema", - "version": "1.43.1", + "version": "1.43.2", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "rudder-config-schema", - "version": "1.43.1", + "version": "1.43.2", "license": "MIT", "dependencies": { "ajv": "^8.12.0", diff --git a/package.json b/package.json index 98312b6578..870b018b86 100755 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "rudder-config-schema", - "version": "1.43.1", + "version": "1.43.2", "description": "", "main": "src/index.ts", "private": true, From c68062b3e72594b9b878324a6ef749114adacc15 Mon Sep 17 00:00:00 2001 From: Anant Jain <62471433+anantjain45823@users.noreply.github.com> Date: Wed, 2 Aug 2023 10:05:45 +0530 Subject: [PATCH 03/11] feat: customerio option to send page name (#789) --- .../destinations/customerio/db-config.json | 2 +- .../destinations/customerio/schema.json | 35 ++++- .../destinations/customerio/ui-config.json | 9 +- .../validation/destinations/customerio.json | 143 +++++++++++++++--- 4 files changed, 158 insertions(+), 31 deletions(-) diff --git a/src/configurations/destinations/customerio/db-config.json b/src/configurations/destinations/customerio/db-config.json index b1c28b50ff..7f15f692a6 100644 --- a/src/configurations/destinations/customerio/db-config.json +++ b/src/configurations/destinations/customerio/db-config.json @@ -41,7 +41,7 @@ "eventFilteringOption", "oneTrustCookieCategories" ], - "web": ["useNativeSDK"] + "web": ["useNativeSDK", "sendPageNameInSDK"] }, "secretKeys": [] } diff --git a/src/configurations/destinations/customerio/schema.json b/src/configurations/destinations/customerio/schema.json index 4c496e046e..c0a5a28831 100644 --- a/src/configurations/destinations/customerio/schema.json +++ b/src/configurations/destinations/customerio/schema.json @@ -1,7 +1,10 @@ { "configSchema": { "$schema": "http://json-schema.org/draft-07/schema#", - "required": ["siteID", "apiKey"], + "required": [ + "siteID", + "apiKey" + ], "type": "object", "properties": { "siteID": { @@ -16,11 +19,33 @@ "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" }, - "datacenterEU": { "type": "boolean", "default": false }, - "useNativeSDK": { "type": "object", "properties": { "web": { "type": "boolean" } } }, + "datacenterEU": { + "type": "boolean", + "default": false + }, + "sendPageNameInSDK": { + "type": "object", + "properties": { + "web": { + "type": "boolean" + } + } + }, + "useNativeSDK": { + "type": "object", + "properties": { + "web": { + "type": "boolean" + } + } + }, "eventFilteringOption": { "type": "string", - "enum": ["disable", "whitelistedEvents", "blacklistedEvents"], + "enum": [ + "disable", + "whitelistedEvents", + "blacklistedEvents" + ], "default": "disable" }, "whitelistedEvents": { @@ -61,4 +86,4 @@ } } } -} +} \ No newline at end of file diff --git a/src/configurations/destinations/customerio/ui-config.json b/src/configurations/destinations/customerio/ui-config.json index ed1a2f987f..58ecda6b16 100644 --- a/src/configurations/destinations/customerio/ui-config.json +++ b/src/configurations/destinations/customerio/ui-config.json @@ -36,6 +36,13 @@ "value": "datacenterEU", "default": false, "footerNote": "Turn it ON if you want to send data to EU servers" + }, + { + "type": "checkbox", + "label": "Send Page Name in SDK mode", + "value": "sendPageNameInSDK", + "default": true, + "footerNote": "Turn it OFF if you don't want to send the page name when connected in device mode. If OFF page name will automatically be captured by CustomerIo." } ] }, @@ -125,4 +132,4 @@ ] } ] -} +} \ No newline at end of file diff --git a/test/data/validation/destinations/customerio.json b/test/data/validation/destinations/customerio.json index 4d2c584e9c..3e95eafc46 100644 --- a/test/data/validation/destinations/customerio.json +++ b/test/data/validation/destinations/customerio.json @@ -6,10 +6,27 @@ "deviceTokenEventName": "device_token_registered", "datacenterEU": false, "eventFilteringOption": "disable", - "whitelistedEvents": [{ "eventName": "eventmodel" }], - "blacklistedEvents": [{ "eventName": "taxmodel" }], - "useNativeSDK": { "web": false }, - "oneTrustCookieCategories": [{ "oneTrustCookieCategory": "Marketing" }] + "whitelistedEvents": [ + { + "eventName": "eventmodel" + } + ], + "blacklistedEvents": [ + { + "eventName": "taxmodel" + } + ], + "useNativeSDK": { + "web": false + }, + "sendPageNameInSDK": { + "web": true + }, + "oneTrustCookieCategories": [ + { + "oneTrustCookieCategory": "Marketing" + } + ] }, "result": true }, @@ -19,13 +36,32 @@ "deviceTokenEventName": "device_token_registered", "datacenterEU": false, "eventFilteringOption": "whitelistedEvents", - "whitelistedEvents": [{ "eventName": "eventmodel" }], - "blacklistedEvents": [{ "eventName": "taxmodel" }], - "useNativeSDK": { "web": false }, - "oneTrustCookieCategories": [{ "oneTrustCookieCategory": "" }] + "whitelistedEvents": [ + { + "eventName": "eventmodel" + } + ], + "blacklistedEvents": [ + { + "eventName": "taxmodel" + } + ], + "useNativeSDK": { + "web": false + }, + "sendPageNameInSDK": { + "web": false + }, + "oneTrustCookieCategories": [ + { + "oneTrustCookieCategory": "" + } + ] }, "result": false, - "err": [" must have required property 'siteID'"] + "err": [ + " must have required property 'siteID'" + ] }, { "config": { @@ -33,10 +69,27 @@ "apiKey": "95bd1330072974f0ff9b", "deviceTokenEventName": "device_location_registered", "datacenterEU": true, - "whitelistedEvents": [{ "eventName": "practice" }], - "blacklistedEvents": [{ "eventName": "spam_listings" }], - "useNativeSDK": { "web": false }, - "oneTrustCookieCategories": [{ "oneTrustCookieCategory": "Sales" }] + "whitelistedEvents": [ + { + "eventName": "practice" + } + ], + "blacklistedEvents": [ + { + "eventName": "spam_listings" + } + ], + "useNativeSDK": { + "web": false + }, + "sendPageNameInSDK": { + "web": false + }, + "oneTrustCookieCategories": [ + { + "oneTrustCookieCategory": "Sales" + } + ] }, "result": true }, @@ -47,13 +100,35 @@ "deviceTokenEventName": "device_id_removed", "datacenterEU": false, "eventFilteringOption": "disable", - "whitelistedEvents": [{ "eventName": ["e1", "v1"] }], - "blacklistedEvents": [{ "eventName": "taxmodel" }], - "useNativeSDK": { "web": false }, - "oneTrustCookieCategories": [{ "oneTrustCookieCategory": "Pitch" }] + "whitelistedEvents": [ + { + "eventName": [ + "e1", + "v1" + ] + } + ], + "blacklistedEvents": [ + { + "eventName": "taxmodel" + } + ], + "useNativeSDK": { + "web": false + }, + "sendPageNameInSDK": { + "web": true + }, + "oneTrustCookieCategories": [ + { + "oneTrustCookieCategory": "Pitch" + } + ] }, "result": false, - "err": ["whitelistedEvents.0.eventName must be string"] + "err": [ + "whitelistedEvents.0.eventName must be string" + ] }, { "config": { @@ -62,11 +137,22 @@ "deviceTokenEventName": "device_token_registered", "datacenterEU": "Germany", "eventFilteringOption": "disable", - "useNativeSDK": { "web": false }, - "oneTrustCookieCategories": [{ "oneTrustCookieCategory": "Marketing" }] + "useNativeSDK": { + "web": false + }, + "sendPageNameInSDK": { + "web": false + }, + "oneTrustCookieCategories": [ + { + "oneTrustCookieCategory": "Marketing" + } + ] }, "result": false, - "err": ["datacenterEU must be boolean"] + "err": [ + "datacenterEU must be boolean" + ] }, { "config": { @@ -75,12 +161,21 @@ "deviceTokenEventName": "qwsafpmznjhbfjhchdgeiuudhwgvdfkzxuiookaghhrytedhgfgjslalapooiqnbvemixuhevvsjklodjdokhuijghqwnvzxccdwsalkijediwhfwibkjnkji", "datacenterEU": true, "eventFilteringOption": "disable", - "useNativeSDK": { "web": false }, - "oneTrustCookieCategories": [{ "oneTrustCookieCategory": "Marketing" }] + "useNativeSDK": { + "web": false + }, + "sendPageNameInSDK": { + "web": false + }, + "oneTrustCookieCategories": [ + { + "oneTrustCookieCategory": "Marketing" + } + ] }, "result": false, "err": [ "deviceTokenEventName must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$\"" ] } -] +] \ No newline at end of file From a7b3159c55f8016a1cf6ebefb75f4896907f686a Mon Sep 17 00:00:00 2001 From: Anant Jain <62471433+anantjain45823@users.noreply.github.com> Date: Thu, 3 Aug 2023 10:23:50 +0530 Subject: [PATCH 04/11] fix: include sendPageNameInSDK in includeKeys array (#809) --- src/configurations/destinations/customerio/db-config.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/configurations/destinations/customerio/db-config.json b/src/configurations/destinations/customerio/db-config.json index 7f15f692a6..1ecd2f41b7 100644 --- a/src/configurations/destinations/customerio/db-config.json +++ b/src/configurations/destinations/customerio/db-config.json @@ -14,7 +14,8 @@ "blacklistedEvents", "whitelistedEvents", "oneTrustCookieCategories", - "eventFilteringOption" + "eventFilteringOption", + "sendPageNameInSDK" ], "excludeKeys": [], "supportedSourceTypes": [ From c0475c3f0d3c29dc8d1c3d8394ed9f4f4e7061ae Mon Sep 17 00:00:00 2001 From: Anant Jain <62471433+anantjain45823@users.noreply.github.com> Date: Fri, 4 Aug 2023 11:23:34 +0530 Subject: [PATCH 05/11] feat: new source type shopify changes (#729) Co-authored-by: Ujjwal Abhishek <63387036+ujjwal-ab@users.noreply.github.com> --- .../active_campaign/db-config.json | 3 +- .../destinations/adj/db-config.json | 25 ++++++--- .../adobe_analytics/db-config.json | 3 +- .../destinations/af/db-config.json | 3 +- .../destinations/airship/db-config.json | 3 +- .../destinations/algolia/db-config.json | 3 +- .../destinations/am/db-config.json | 3 +- .../destinations/appcues/db-config.json | 3 +- .../destinations/attentive_tag/db-config.json | 3 +- .../destinations/attribution/db-config.json | 3 +- .../destinations/autopilot/db-config.json | 3 +- .../destinations/awin/db-config.json | 3 +- .../destinations/azure_blob/db-config.json | 3 +- .../azure_datalake/db-config.json | 3 +- .../azure_event_hub/db-config.json | 3 +- .../destinations/azure_synapse/db-config.json | 3 +- .../bingads_audience/db-config.json | 2 +- .../destinations/blueshift/db-config.json | 31 ++++++++--- .../destinations/bq/db-config.json | 3 +- .../destinations/bqstream/db-config.json | 3 +- .../destinations/branch/db-config.json | 3 +- .../destinations/braze/db-config.json | 3 +- .../campaign_manager/db-config.json | 3 +- .../destinations/candu/db-config.json | 3 +- .../destinations/canny/db-config.json | 3 +- .../destinations/clevertap/db-config.json | 3 +- .../destinations/clickhouse/db-config.json | 3 +- .../destinations/clickup/db-config.json | 3 +- .../confluent_cloud/db-config.json | 3 +- .../destinations/courier/db-config.json | 3 +- .../criteo_audience/db-config.json | 2 +- .../destinations/custify/db-config.json | 3 +- .../destinations/customerio/db-config.json | 3 +- .../dcm_floodlight/db-config.json | 2 +- .../destinations/delighted/db-config.json | 3 +- .../destinations/deltalake/db-config.json | 3 +- .../digital_ocean_spaces/db-config.json | 3 +- .../destinations/discord/db-config.json | 3 +- .../destinations/drip/db-config.json | 3 +- .../destinations/dynamic_yield/db-config.json | 3 +- .../destinations/engage/db-config.json | 3 +- .../destinations/eventbridge/db-config.json | 3 +- .../db-config.json | 3 +- .../facebook_pixel/db-config.json | 3 +- .../destinations/factorsai/db-config.json | 3 +- .../destinations/fb/db-config.json | 3 +- .../fb_custom_audience/db-config.json | 2 +- .../destinations/firehose/db-config.json | 3 +- .../destinations/freshmarketer/db-config.json | 3 +- .../destinations/freshsales/db-config.json | 3 +- .../destinations/ga/db-config.json | 3 +- .../destinations/ga360/db-config.json | 3 +- .../destinations/ga4/db-config.json | 54 +++++++++++++++---- .../destinations/gainsight/db-config.json | 3 +- .../destinations/gainsight_px/db-config.json | 3 +- .../destinations/gcs/db-config.json | 3 +- .../destinations/gcs_datalake/db-config.json | 3 +- .../db-config.json | 3 +- .../db-config.json | 3 +- .../db-config.json | 2 +- .../google_cloud_function/db-config.json | 3 +- .../destinations/googleads/db-config.json | 4 +- .../destinations/googlepubsub/db-config.json | 3 +- .../destinations/googlesheets/db-config.json | 3 +- .../destinations/heap/db-config.json | 3 +- .../destinations/hs/db-config.json | 3 +- .../destinations/impact/db-config.json | 3 +- .../destinations/indicative/db-config.json | 3 +- .../destinations/intercom/db-config.json | 3 +- .../destinations/iterable/db-config.json | 3 +- .../destinations/june/db-config.json | 3 +- .../destinations/kafka/db-config.json | 3 +- .../destinations/keen/db-config.json | 3 +- .../destinations/kinesis/db-config.json | 3 +- .../destinations/kissmetrics/db-config.json | 3 +- .../destinations/klaviyo/db-config.json | 3 +- .../destinations/kochava/db-config.json | 3 +- .../destinations/kustomer/db-config.json | 3 +- .../destinations/lambda/db-config.json | 3 +- .../destinations/leanplum/db-config.json | 3 +- .../destinations/lemnisk/db-config.json | 3 +- .../destinations/lytics/db-config.json | 3 +- .../destinations/mailchimp/db-config.json | 3 +- .../destinations/mailjet/db-config.json | 3 +- .../destinations/mailmodo/db-config.json | 3 +- .../destinations/marketo/db-config.json | 3 +- .../marketo_bulk_upload/db-config.json | 3 +- .../marketo_static_list/db-config.json | 2 +- .../destinations/mautic/db-config.json | 3 +- .../destinations/minio/db-config.json | 3 +- .../destinations/moengage/db-config.json | 3 +- .../destinations/monday/db-config.json | 3 +- .../destinations/monetate/db-config.json | 3 +- .../destinations/mp/db-config.json | 3 +- .../destinations/mssql/db-config.json | 3 +- .../destinations/new_relic/db-config.json | 3 +- .../destinations/ometria/db-config.json | 3 +- .../destinations/one_signal/db-config.json | 3 +- .../optimizely_fullstack/db-config.json | 3 +- .../destinations/pagerduty/db-config.json | 3 +- .../destinations/pardot/db-config.json | 3 +- .../destinations/persistiq/db-config.json | 3 +- .../destinations/personalize/db-config.json | 3 +- .../destinations/pinterest_tag/db-config.json | 3 +- .../destinations/pipedream/db-config.json | 3 +- .../destinations/pipedrive/db-config.json | 3 +- .../destinations/postgres/db-config.json | 3 +- .../destinations/posthog/db-config.json | 3 +- .../destinations/profitwell/db-config.json | 3 +- .../destinations/redis/db-config.json | 3 +- .../destinations/refiner/db-config.json | 3 +- .../destinations/revenue_cat/db-config.json | 3 +- .../destinations/rockerbox/db-config.json | 6 ++- .../destinations/rs/db-config.json | 3 +- .../destinations/s3/db-config.json | 3 +- .../destinations/s3_datalake/db-config.json | 3 +- .../destinations/salesforce/db-config.json | 3 +- .../destinations/segment/db-config.json | 3 +- .../destinations/sendgrid/db-config.json | 3 +- .../destinations/sendinblue/db-config.json | 3 +- .../destinations/serenytics/db-config.json | 3 +- .../destinations/sfmc/db-config.json | 3 +- .../destinations/shynet/db-config.json | 3 +- .../destinations/signl4/db-config.json | 3 +- .../destinations/singular/db-config.json | 3 +- .../destinations/slack/db-config.json | 3 +- .../snapchat_conversion/db-config.json | 3 +- .../snapchat_custom_audience/db-config.json | 31 ++++++++--- .../destinations/snowflake/db-config.json | 3 +- .../destinations/splitio/db-config.json | 3 +- .../destinations/statsig/db-config.json | 3 +- .../destinations/stormly/db-config.json | 7 +-- .../tiktok_ads_offline_events/db-config.json | 3 +- .../destinations/trengo/db-config.json | 3 +- .../destinations/twitter_ads/db-config.json | 3 +- .../destinations/user/db-config.json | 3 +- .../destinations/userlist/db-config.json | 3 +- .../destinations/variance/db-config.json | 3 +- .../destinations/vero/db-config.json | 3 +- .../destinations/vitally/db-config.json | 3 +- .../destinations/webengage/db-config.json | 3 +- .../destinations/webhook/db-config.json | 3 +- .../destinations/woopra/db-config.json | 3 +- .../destinations/wootric/db-config.json | 3 +- .../destinations/yahoo_dsp/db-config.json | 2 +- .../destinations/zapier/db-config.json | 3 +- .../destinations/zendesk/db-config.json | 3 +- .../sources/shopify/db-config.json | 2 +- src/validator/index.ts | 1 + 149 files changed, 396 insertions(+), 178 deletions(-) diff --git a/src/configurations/destinations/active_campaign/db-config.json b/src/configurations/destinations/active_campaign/db-config.json index 4bfa3fbbb0..21d932cc18 100644 --- a/src/configurations/destinations/active_campaign/db-config.json +++ b/src/configurations/destinations/active_campaign/db-config.json @@ -18,7 +18,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["identify", "page", "screen", "track"], "destConfig": { diff --git a/src/configurations/destinations/adj/db-config.json b/src/configurations/destinations/adj/db-config.json index 9f7bc74ff7..495ca2f2a8 100644 --- a/src/configurations/destinations/adj/db-config.json +++ b/src/configurations/destinations/adj/db-config.json @@ -23,9 +23,12 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" + ], + "supportedMessageTypes": [ + "track" ], - "supportedMessageTypes": ["track"], "destConfig": { "defaultConfig": [ "appToken", @@ -38,11 +41,19 @@ "partnerParamsKeys", "oneTrustCookieCategories" ], - "android": ["useNativeSDK"], - "ios": ["useNativeSDK"], - "flutter": ["useNativeSDK"], - "unity": ["useNativeSDK"] + "android": [ + "useNativeSDK" + ], + "ios": [ + "useNativeSDK" + ], + "flutter": [ + "useNativeSDK" + ], + "unity": [ + "useNativeSDK" + ] }, "secretKeys": [] } -} +} \ No newline at end of file diff --git a/src/configurations/destinations/adobe_analytics/db-config.json b/src/configurations/destinations/adobe_analytics/db-config.json index 2fc58cad52..9036eb97d8 100644 --- a/src/configurations/destinations/adobe_analytics/db-config.json +++ b/src/configurations/destinations/adobe_analytics/db-config.json @@ -51,7 +51,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedConnectionModes": { "web": ["cloud", "device"], diff --git a/src/configurations/destinations/af/db-config.json b/src/configurations/destinations/af/db-config.json index fc480f30e1..52e34cdc3a 100644 --- a/src/configurations/destinations/af/db-config.json +++ b/src/configurations/destinations/af/db-config.json @@ -25,7 +25,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["track", "screen", "page"], "destConfig": { diff --git a/src/configurations/destinations/airship/db-config.json b/src/configurations/destinations/airship/db-config.json index e7a8a3fa6c..1b0f9478ef 100644 --- a/src/configurations/destinations/airship/db-config.json +++ b/src/configurations/destinations/airship/db-config.json @@ -17,7 +17,8 @@ "reactnative", "flutter", "cordova", - "warehouse" + "warehouse", + "shopify" ], "supportedMessageTypes": ["identify", "track", "group"], "destConfig": { diff --git a/src/configurations/destinations/algolia/db-config.json b/src/configurations/destinations/algolia/db-config.json index 264b9ac42a..22e5362923 100644 --- a/src/configurations/destinations/algolia/db-config.json +++ b/src/configurations/destinations/algolia/db-config.json @@ -18,7 +18,8 @@ "reactnative", "flutter", "cordova", - "warehouse" + "warehouse", + "shopify" ], "supportedMessageTypes": ["track"], "destConfig": { diff --git a/src/configurations/destinations/am/db-config.json b/src/configurations/destinations/am/db-config.json index 405b9995ea..6b538aee0b 100644 --- a/src/configurations/destinations/am/db-config.json +++ b/src/configurations/destinations/am/db-config.json @@ -56,7 +56,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["alias", "group", "identify", "page", "screen", "track"], "supportedConnectionModes": { diff --git a/src/configurations/destinations/appcues/db-config.json b/src/configurations/destinations/appcues/db-config.json index 415c3a200a..097d29aa01 100644 --- a/src/configurations/destinations/appcues/db-config.json +++ b/src/configurations/destinations/appcues/db-config.json @@ -23,7 +23,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["identify", "page", "screen", "track"], "destConfig": { diff --git a/src/configurations/destinations/attentive_tag/db-config.json b/src/configurations/destinations/attentive_tag/db-config.json index b847e26226..edc155a745 100644 --- a/src/configurations/destinations/attentive_tag/db-config.json +++ b/src/configurations/destinations/attentive_tag/db-config.json @@ -17,7 +17,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["identify", "track"], "destConfig": { "defaultConfig": ["apiKey", "signUpSourceId", "oneTrustCookieCategories"] }, diff --git a/src/configurations/destinations/attribution/db-config.json b/src/configurations/destinations/attribution/db-config.json index 588587b0a6..99140a613d 100644 --- a/src/configurations/destinations/attribution/db-config.json +++ b/src/configurations/destinations/attribution/db-config.json @@ -17,7 +17,8 @@ "reactnative", "warehouse", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["alias", "group", "identify", "page", "screen", "track"], "destConfig": { "defaultConfig": ["writeKey", "oneTrustCookieCategories"], "web": [] }, diff --git a/src/configurations/destinations/autopilot/db-config.json b/src/configurations/destinations/autopilot/db-config.json index beb370560f..6703989551 100644 --- a/src/configurations/destinations/autopilot/db-config.json +++ b/src/configurations/destinations/autopilot/db-config.json @@ -18,7 +18,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["identify", "track"], "destConfig": { "defaultConfig": ["apiKey", "triggerId", "oneTrustCookieCategories"] }, diff --git a/src/configurations/destinations/awin/db-config.json b/src/configurations/destinations/awin/db-config.json index 899261ee57..20c9a779a2 100644 --- a/src/configurations/destinations/awin/db-config.json +++ b/src/configurations/destinations/awin/db-config.json @@ -17,7 +17,8 @@ "reactnative", "flutter", "cordova", - "warehouse" + "warehouse", + "shopify" ], "supportedMessageTypes": ["track"], "destConfig": { diff --git a/src/configurations/destinations/azure_blob/db-config.json b/src/configurations/destinations/azure_blob/db-config.json index 09e2322f21..3c6e4cb016 100644 --- a/src/configurations/destinations/azure_blob/db-config.json +++ b/src/configurations/destinations/azure_blob/db-config.json @@ -17,7 +17,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "destConfig": { "defaultConfig": [ diff --git a/src/configurations/destinations/azure_datalake/db-config.json b/src/configurations/destinations/azure_datalake/db-config.json index 6d0142d419..dea2f9e750 100644 --- a/src/configurations/destinations/azure_datalake/db-config.json +++ b/src/configurations/destinations/azure_datalake/db-config.json @@ -18,7 +18,8 @@ "reactnative", "cloudSource", "flutter", - "cordova" + "cordova", + "shopify" ], "destConfig": { "defaultConfig": [ diff --git a/src/configurations/destinations/azure_event_hub/db-config.json b/src/configurations/destinations/azure_event_hub/db-config.json index 33fe2caadc..12a3664693 100644 --- a/src/configurations/destinations/azure_event_hub/db-config.json +++ b/src/configurations/destinations/azure_event_hub/db-config.json @@ -17,7 +17,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "destConfig": { "defaultConfig": [ diff --git a/src/configurations/destinations/azure_synapse/db-config.json b/src/configurations/destinations/azure_synapse/db-config.json index e3549b9a86..722a78e4a6 100644 --- a/src/configurations/destinations/azure_synapse/db-config.json +++ b/src/configurations/destinations/azure_synapse/db-config.json @@ -18,7 +18,8 @@ "reactnative", "cloudSource", "flutter", - "cordova" + "cordova", + "shopify" ], "destConfig": { "defaultConfig": [ diff --git a/src/configurations/destinations/bingads_audience/db-config.json b/src/configurations/destinations/bingads_audience/db-config.json index 439883b76e..87857bedaa 100644 --- a/src/configurations/destinations/bingads_audience/db-config.json +++ b/src/configurations/destinations/bingads_audience/db-config.json @@ -12,7 +12,7 @@ "saveDestinationResponse": true, "includeKeys": ["oneTrustCookieCategories"], "excludeKeys": [], - "supportedSourceTypes": ["cloud", "warehouse"], + "supportedSourceTypes": ["cloud", "warehouse", "shopify"], "supportedMessageTypes": ["audiencelist"], "syncBehaviours": [ "mirror" diff --git a/src/configurations/destinations/blueshift/db-config.json b/src/configurations/destinations/blueshift/db-config.json index 2e6e6ee7a0..67b193108a 100644 --- a/src/configurations/destinations/blueshift/db-config.json +++ b/src/configurations/destinations/blueshift/db-config.json @@ -5,13 +5,32 @@ "transformAt": "router", "transformAtV1": "router", "saveDestinationResponse": true, - "includeKeys": ["oneTrustCookieCategories"], + "includeKeys": [ + "oneTrustCookieCategories" + ], "excludeKeys": [], - "supportedSourceTypes": ["web", "cloud", "mobile"], - "supportedMessageTypes": ["identify", "track", "group"], + "supportedSourceTypes": [ + "web", + "cloud", + "mobile", + "shopify" + ], + "supportedMessageTypes": [ + "identify", + "track", + "group" + ], "destConfig": { - "defaultConfig": ["eventApiKey", "usersApiKey", "dataCenter", "oneTrustCookieCategories"] + "defaultConfig": [ + "eventApiKey", + "usersApiKey", + "dataCenter", + "oneTrustCookieCategories" + ] }, - "secretKeys": ["eventApiKey", "usersApiKey"] + "secretKeys": [ + "eventApiKey", + "usersApiKey" + ] } -} +} \ No newline at end of file diff --git a/src/configurations/destinations/bq/db-config.json b/src/configurations/destinations/bq/db-config.json index ac403c4325..9ff46f92f7 100644 --- a/src/configurations/destinations/bq/db-config.json +++ b/src/configurations/destinations/bq/db-config.json @@ -18,7 +18,8 @@ "reactnative", "cloudSource", "flutter", - "cordova" + "cordova", + "shopify" ], "destConfig": { "defaultConfig": [ diff --git a/src/configurations/destinations/bqstream/db-config.json b/src/configurations/destinations/bqstream/db-config.json index 3b7f77ade8..2966cc7746 100644 --- a/src/configurations/destinations/bqstream/db-config.json +++ b/src/configurations/destinations/bqstream/db-config.json @@ -18,7 +18,8 @@ "reactnative", "flutter", "cordova", - "warehouse" + "warehouse", + "shopify" ], "destConfig": { "defaultConfig": [ diff --git a/src/configurations/destinations/branch/db-config.json b/src/configurations/destinations/branch/db-config.json index 50e3b4964c..5370deaf30 100644 --- a/src/configurations/destinations/branch/db-config.json +++ b/src/configurations/destinations/branch/db-config.json @@ -23,7 +23,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["identify", "track"], "destConfig": { diff --git a/src/configurations/destinations/braze/db-config.json b/src/configurations/destinations/braze/db-config.json index 4037c1d560..4037af6dde 100644 --- a/src/configurations/destinations/braze/db-config.json +++ b/src/configurations/destinations/braze/db-config.json @@ -32,7 +32,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedConnectionModes": { "android": ["cloud", "device", "hybrid"], diff --git a/src/configurations/destinations/campaign_manager/db-config.json b/src/configurations/destinations/campaign_manager/db-config.json index e87dd93427..73284608ac 100644 --- a/src/configurations/destinations/campaign_manager/db-config.json +++ b/src/configurations/destinations/campaign_manager/db-config.json @@ -22,7 +22,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "destConfig": { "defaultConfig": [ diff --git a/src/configurations/destinations/candu/db-config.json b/src/configurations/destinations/candu/db-config.json index cbc80c397f..7f80448983 100644 --- a/src/configurations/destinations/candu/db-config.json +++ b/src/configurations/destinations/candu/db-config.json @@ -17,7 +17,8 @@ "reactnative", "flutter", "cordova", - "warehouse" + "warehouse", + "shopify" ], "supportedMessageTypes": ["identify", "track"], "destConfig": { "defaultConfig": ["apiKey", "oneTrustCookieCategories"] }, diff --git a/src/configurations/destinations/canny/db-config.json b/src/configurations/destinations/canny/db-config.json index f58b0f0ccc..2e1df93f1c 100644 --- a/src/configurations/destinations/canny/db-config.json +++ b/src/configurations/destinations/canny/db-config.json @@ -17,7 +17,8 @@ "reactnative", "flutter", "cordova", - "warehouse" + "warehouse", + "shopify" ], "supportedMessageTypes": ["identify", "track"], "destConfig": { "defaultConfig": ["apiKey", "eventsToEvents", "oneTrustCookieCategories"] }, diff --git a/src/configurations/destinations/clevertap/db-config.json b/src/configurations/destinations/clevertap/db-config.json index b0c0f48256..baf9768d42 100644 --- a/src/configurations/destinations/clevertap/db-config.json +++ b/src/configurations/destinations/clevertap/db-config.json @@ -28,7 +28,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["identify", "page", "screen", "track", "alias"], "destConfig": { diff --git a/src/configurations/destinations/clickhouse/db-config.json b/src/configurations/destinations/clickhouse/db-config.json index 95b87a18bc..42f4c2a0f6 100644 --- a/src/configurations/destinations/clickhouse/db-config.json +++ b/src/configurations/destinations/clickhouse/db-config.json @@ -18,7 +18,8 @@ "reactnative", "cloudSource", "flutter", - "cordova" + "cordova", + "shopify" ], "destConfig": { "defaultConfig": [ diff --git a/src/configurations/destinations/clickup/db-config.json b/src/configurations/destinations/clickup/db-config.json index 8733973022..45c8058bb3 100644 --- a/src/configurations/destinations/clickup/db-config.json +++ b/src/configurations/destinations/clickup/db-config.json @@ -23,7 +23,8 @@ "reactnative", "flutter", "cordova", - "warehouse" + "warehouse", + "shopify" ], "supportedMessageTypes": ["track"], "destConfig": { diff --git a/src/configurations/destinations/confluent_cloud/db-config.json b/src/configurations/destinations/confluent_cloud/db-config.json index c0690994f8..0ab538c132 100644 --- a/src/configurations/destinations/confluent_cloud/db-config.json +++ b/src/configurations/destinations/confluent_cloud/db-config.json @@ -17,7 +17,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "destConfig": { "defaultConfig": [ diff --git a/src/configurations/destinations/courier/db-config.json b/src/configurations/destinations/courier/db-config.json index cf8a99f046..c682a3e7c2 100644 --- a/src/configurations/destinations/courier/db-config.json +++ b/src/configurations/destinations/courier/db-config.json @@ -17,7 +17,8 @@ "reactnative", "flutter", "cordova", - "warehouse" + "warehouse", + "shopify" ], "supportedMessageTypes": ["identify", "track"], "destConfig": { "defaultConfig": ["apiKey", "oneTrustCookieCategories"] }, diff --git a/src/configurations/destinations/criteo_audience/db-config.json b/src/configurations/destinations/criteo_audience/db-config.json index 701ba0fa21..84a26b6ad4 100644 --- a/src/configurations/destinations/criteo_audience/db-config.json +++ b/src/configurations/destinations/criteo_audience/db-config.json @@ -14,7 +14,7 @@ "saveDestinationResponse": true, "includeKeys": ["oneTrustCookieCategories"], "excludeKeys": [], - "supportedSourceTypes": ["cloud", "warehouse"], + "supportedSourceTypes": ["cloud", "warehouse", "shopify"], "syncBehaviours": ["mirror"], "supportedMessageTypes": ["audiencelist"], "destConfig": { diff --git a/src/configurations/destinations/custify/db-config.json b/src/configurations/destinations/custify/db-config.json index 39e1c2a5fe..ad0078abcd 100644 --- a/src/configurations/destinations/custify/db-config.json +++ b/src/configurations/destinations/custify/db-config.json @@ -17,7 +17,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["identify", "group", "track"], "destConfig": { "defaultConfig": ["apiKey", "sendAnonymousId", "oneTrustCookieCategories"] } diff --git a/src/configurations/destinations/customerio/db-config.json b/src/configurations/destinations/customerio/db-config.json index 1ecd2f41b7..b1ae5e6bf3 100644 --- a/src/configurations/destinations/customerio/db-config.json +++ b/src/configurations/destinations/customerio/db-config.json @@ -28,7 +28,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["identify", "page", "screen", "track", "alias", "group"], "destConfig": { diff --git a/src/configurations/destinations/dcm_floodlight/db-config.json b/src/configurations/destinations/dcm_floodlight/db-config.json index 82bd84d0f2..f7bea50cf5 100644 --- a/src/configurations/destinations/dcm_floodlight/db-config.json +++ b/src/configurations/destinations/dcm_floodlight/db-config.json @@ -33,7 +33,7 @@ "flutter", "cordova", "warehouse", - "web" + "shopify" ], "supportedMessageTypes": ["track", "page"], "destConfig": { diff --git a/src/configurations/destinations/delighted/db-config.json b/src/configurations/destinations/delighted/db-config.json index bbc6f79eca..47a2832766 100644 --- a/src/configurations/destinations/delighted/db-config.json +++ b/src/configurations/destinations/delighted/db-config.json @@ -17,7 +17,8 @@ "reactnative", "flutter", "cordova", - "warehouse" + "warehouse", + "shopify" ], "supportedMessageTypes": ["alias", "identify", "track"], "destConfig": { diff --git a/src/configurations/destinations/deltalake/db-config.json b/src/configurations/destinations/deltalake/db-config.json index 81f4de94b0..64d8f87801 100644 --- a/src/configurations/destinations/deltalake/db-config.json +++ b/src/configurations/destinations/deltalake/db-config.json @@ -18,7 +18,8 @@ "reactnative", "cloudSource", "flutter", - "cordova" + "cordova", + "shopify" ], "destConfig": { "defaultConfig": [ diff --git a/src/configurations/destinations/digital_ocean_spaces/db-config.json b/src/configurations/destinations/digital_ocean_spaces/db-config.json index 69627ed031..b397b05d40 100644 --- a/src/configurations/destinations/digital_ocean_spaces/db-config.json +++ b/src/configurations/destinations/digital_ocean_spaces/db-config.json @@ -17,7 +17,8 @@ "cordova", "warehouse", "reactnative", - "flutter" + "flutter", + "shopify" ], "destConfig": { "defaultConfig": [ diff --git a/src/configurations/destinations/discord/db-config.json b/src/configurations/destinations/discord/db-config.json index 67137c004f..9d70586fd3 100644 --- a/src/configurations/destinations/discord/db-config.json +++ b/src/configurations/destinations/discord/db-config.json @@ -17,7 +17,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["identify", "track"], "destConfig": { diff --git a/src/configurations/destinations/drip/db-config.json b/src/configurations/destinations/drip/db-config.json index ba68418d9e..125e996f2d 100644 --- a/src/configurations/destinations/drip/db-config.json +++ b/src/configurations/destinations/drip/db-config.json @@ -24,7 +24,8 @@ "reactnative", "flutter", "cordova", - "warehouse" + "warehouse", + "shopify" ], "supportedMessageTypes": ["identify", "track"], "destConfig": { diff --git a/src/configurations/destinations/dynamic_yield/db-config.json b/src/configurations/destinations/dynamic_yield/db-config.json index 4111453bb1..e10f7a04a0 100644 --- a/src/configurations/destinations/dynamic_yield/db-config.json +++ b/src/configurations/destinations/dynamic_yield/db-config.json @@ -18,7 +18,8 @@ "reactnative", "flutter", "cordova", - "warehouse" + "warehouse", + "shopify" ], "supportedConnectionModes": [], "supportedMessageTypes": ["identify", "track"], diff --git a/src/configurations/destinations/engage/db-config.json b/src/configurations/destinations/engage/db-config.json index 562a451092..c70a028b89 100644 --- a/src/configurations/destinations/engage/db-config.json +++ b/src/configurations/destinations/engage/db-config.json @@ -25,7 +25,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["identify", "track", "page", "group"], "destConfig": { diff --git a/src/configurations/destinations/eventbridge/db-config.json b/src/configurations/destinations/eventbridge/db-config.json index 0e7034fa83..35d83325ee 100644 --- a/src/configurations/destinations/eventbridge/db-config.json +++ b/src/configurations/destinations/eventbridge/db-config.json @@ -18,7 +18,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "destConfig": { "defaultConfig": [ diff --git a/src/configurations/destinations/facebook_offline_conversions/db-config.json b/src/configurations/destinations/facebook_offline_conversions/db-config.json index fcf8cbe491..39654f6f83 100644 --- a/src/configurations/destinations/facebook_offline_conversions/db-config.json +++ b/src/configurations/destinations/facebook_offline_conversions/db-config.json @@ -24,7 +24,8 @@ "reactnative", "flutter", "cordova", - "warehouse" + "warehouse", + "shopify" ], "supportedMessageTypes": ["track"], "destConfig": { diff --git a/src/configurations/destinations/facebook_pixel/db-config.json b/src/configurations/destinations/facebook_pixel/db-config.json index eab01939cc..459ab86e57 100644 --- a/src/configurations/destinations/facebook_pixel/db-config.json +++ b/src/configurations/destinations/facebook_pixel/db-config.json @@ -33,7 +33,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["identify", "page", "screen", "track"], "destConfig": { diff --git a/src/configurations/destinations/factorsai/db-config.json b/src/configurations/destinations/factorsai/db-config.json index 71938718f0..2f2e1bd366 100644 --- a/src/configurations/destinations/factorsai/db-config.json +++ b/src/configurations/destinations/factorsai/db-config.json @@ -17,7 +17,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["identify", "track", "group", "page"], "destConfig": { "defaultConfig": ["factorsAIApiKey", "oneTrustCookieCategories"] }, diff --git a/src/configurations/destinations/fb/db-config.json b/src/configurations/destinations/fb/db-config.json index a5a5bacac2..970e3beb44 100644 --- a/src/configurations/destinations/fb/db-config.json +++ b/src/configurations/destinations/fb/db-config.json @@ -25,7 +25,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["page", "screen", "track"], "destConfig": { diff --git a/src/configurations/destinations/fb_custom_audience/db-config.json b/src/configurations/destinations/fb_custom_audience/db-config.json index d85744128d..c3d3e13d6d 100644 --- a/src/configurations/destinations/fb_custom_audience/db-config.json +++ b/src/configurations/destinations/fb_custom_audience/db-config.json @@ -11,7 +11,7 @@ "saveDestinationResponse": true, "includeKeys": ["oneTrustCookieCategories"], "excludeKeys": [], - "supportedSourceTypes": ["cloud", "warehouse"], + "supportedSourceTypes": ["cloud", "warehouse", "shopify"], "supportedMessageTypes": ["audiencelist"], "isAudienceSupported": true, "destConfig": { diff --git a/src/configurations/destinations/firehose/db-config.json b/src/configurations/destinations/firehose/db-config.json index 80904ed9c1..61f1d1fa67 100644 --- a/src/configurations/destinations/firehose/db-config.json +++ b/src/configurations/destinations/firehose/db-config.json @@ -17,7 +17,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "destConfig": { "defaultConfig": [ diff --git a/src/configurations/destinations/freshmarketer/db-config.json b/src/configurations/destinations/freshmarketer/db-config.json index afd43aafb1..2a7d26d2bb 100644 --- a/src/configurations/destinations/freshmarketer/db-config.json +++ b/src/configurations/destinations/freshmarketer/db-config.json @@ -17,7 +17,8 @@ "reactnative", "unity", "warehouse", - "web" + "web", + "shopify" ], "supportedMessageTypes": ["identify", "track", "group"], "destConfig": { diff --git a/src/configurations/destinations/freshsales/db-config.json b/src/configurations/destinations/freshsales/db-config.json index 8f6e4838aa..9bdd75e0d0 100644 --- a/src/configurations/destinations/freshsales/db-config.json +++ b/src/configurations/destinations/freshsales/db-config.json @@ -17,7 +17,8 @@ "reactnative", "unity", "warehouse", - "web" + "web", + "shopify" ], "supportedMessageTypes": ["identify", "track", "group"], "destConfig": { diff --git a/src/configurations/destinations/ga/db-config.json b/src/configurations/destinations/ga/db-config.json index b2cd06ead8..55821422e1 100644 --- a/src/configurations/destinations/ga/db-config.json +++ b/src/configurations/destinations/ga/db-config.json @@ -53,7 +53,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["identify", "page", "screen", "track"], "destConfig": { diff --git a/src/configurations/destinations/ga360/db-config.json b/src/configurations/destinations/ga360/db-config.json index 09891e66e3..c493940dec 100644 --- a/src/configurations/destinations/ga360/db-config.json +++ b/src/configurations/destinations/ga360/db-config.json @@ -44,7 +44,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["identify", "page", "screen", "track"], "destConfig": { diff --git a/src/configurations/destinations/ga4/db-config.json b/src/configurations/destinations/ga4/db-config.json index 0ae6f28e75..361bac6626 100644 --- a/src/configurations/destinations/ga4/db-config.json +++ b/src/configurations/destinations/ga4/db-config.json @@ -29,17 +29,35 @@ "reactnative", "flutter", "cordova", - "warehouse" + "warehouse", + "shopify" + ], + "supportedMessageTypes": [ + "track", + "group", + "page" ], - "supportedMessageTypes": ["track", "group", "page"], "supportedConnectionModes": { - "android": ["cloud", "device"], - "web": ["cloud", "device", "hybrid"], - "ios": ["cloud", "device"] + "android": [ + "cloud", + "device" + ], + "web": [ + "cloud", + "device", + "hybrid" + ], + "ios": [ + "cloud", + "device" + ] }, "hybridModeCloudEventsFilter": { "web": { - "messageType": ["track", "group"] + "messageType": [ + "track", + "group" + ] } }, "destConfig": { @@ -63,12 +81,28 @@ "extendPageViewParams", "overrideClientAndSessionId" ], - "android": ["useNativeSDK", "connectionMode"], - "ios": ["useNativeSDK", "connectionMode"] + "android": [ + "useNativeSDK", + "connectionMode" + ], + "shopify": [ + "useNativeSDK", + "connectionMode", + "capturePageView", + "useNativeSDKToSend", + "extendPageViewParams", + "overrideClientAndSessionId" + ], + "ios": [ + "useNativeSDK", + "connectionMode" + ] }, - "secretKeys": ["apiSecret"] + "secretKeys": [ + "apiSecret" + ] }, "options": { "isBeta": true } -} +} \ No newline at end of file diff --git a/src/configurations/destinations/gainsight/db-config.json b/src/configurations/destinations/gainsight/db-config.json index 824030e6d9..d68e035ab3 100644 --- a/src/configurations/destinations/gainsight/db-config.json +++ b/src/configurations/destinations/gainsight/db-config.json @@ -17,7 +17,8 @@ "reactnative", "flutter", "cordova", - "warehouse" + "warehouse", + "shopify" ], "supportedMessageTypes": ["group", "identify", "track"], "destConfig": { diff --git a/src/configurations/destinations/gainsight_px/db-config.json b/src/configurations/destinations/gainsight_px/db-config.json index 53827f04ce..53170e3616 100644 --- a/src/configurations/destinations/gainsight_px/db-config.json +++ b/src/configurations/destinations/gainsight_px/db-config.json @@ -17,7 +17,8 @@ "reactnative", "flutter", "cordova", - "warehouse" + "warehouse", + "shopify" ], "supportedMessageTypes": ["group", "identify", "track"], "destConfig": { diff --git a/src/configurations/destinations/gcs/db-config.json b/src/configurations/destinations/gcs/db-config.json index cd95ff3ee1..9a9dd0408a 100644 --- a/src/configurations/destinations/gcs/db-config.json +++ b/src/configurations/destinations/gcs/db-config.json @@ -17,7 +17,8 @@ "reactnative", "flutter", "cordova", - "warehouse" + "warehouse", + "shopify" ], "destConfig": { "defaultConfig": ["bucketName", "prefix", "credentials", "oneTrustCookieCategories"] diff --git a/src/configurations/destinations/gcs_datalake/db-config.json b/src/configurations/destinations/gcs_datalake/db-config.json index 7d7e400143..11d12b56bc 100644 --- a/src/configurations/destinations/gcs_datalake/db-config.json +++ b/src/configurations/destinations/gcs_datalake/db-config.json @@ -18,7 +18,8 @@ "reactnative", "cloudSource", "flutter", - "cordova" + "cordova", + "shopify" ], "destConfig": { "defaultConfig": [ diff --git a/src/configurations/destinations/google_adwords_enhanced_conversions/db-config.json b/src/configurations/destinations/google_adwords_enhanced_conversions/db-config.json index 7d54f3c672..fb375be785 100644 --- a/src/configurations/destinations/google_adwords_enhanced_conversions/db-config.json +++ b/src/configurations/destinations/google_adwords_enhanced_conversions/db-config.json @@ -24,7 +24,8 @@ "reactnative", "flutter", "cordova", - "warehouse" + "warehouse", + "shopify" ], "destConfig": { "defaultConfig": [ diff --git a/src/configurations/destinations/google_adwords_offline_conversions/db-config.json b/src/configurations/destinations/google_adwords_offline_conversions/db-config.json index 37db035626..29227645f3 100644 --- a/src/configurations/destinations/google_adwords_offline_conversions/db-config.json +++ b/src/configurations/destinations/google_adwords_offline_conversions/db-config.json @@ -25,7 +25,8 @@ "reactnative", "flutter", "cordova", - "warehouse" + "warehouse", + "shopify" ], "supportedMessageTypes": [ "track" diff --git a/src/configurations/destinations/google_adwords_remarketing_lists/db-config.json b/src/configurations/destinations/google_adwords_remarketing_lists/db-config.json index 1c846387cc..b3757c84d5 100644 --- a/src/configurations/destinations/google_adwords_remarketing_lists/db-config.json +++ b/src/configurations/destinations/google_adwords_remarketing_lists/db-config.json @@ -13,7 +13,7 @@ "saveDestinationResponse": true, "includeKeys": ["oneTrustCookieCategories"], "excludeKeys": [], - "supportedSourceTypes": ["cloud", "warehouse"], + "supportedSourceTypes": ["cloud", "warehouse", "shopify"], "syncBehaviours": ["mirror"], "disableJsonMapper": true, "supportsVisualMapper": true, diff --git a/src/configurations/destinations/google_cloud_function/db-config.json b/src/configurations/destinations/google_cloud_function/db-config.json index 9f2be459a2..e99ddbb768 100644 --- a/src/configurations/destinations/google_cloud_function/db-config.json +++ b/src/configurations/destinations/google_cloud_function/db-config.json @@ -24,7 +24,8 @@ "reactnative", "unity", "warehouse", - "web" + "web", + "shopify" ], "supportedMessageTypes": ["identify", "page", "screen", "track", "alias", "group"], "destConfig": { diff --git a/src/configurations/destinations/googleads/db-config.json b/src/configurations/destinations/googleads/db-config.json index 2b82312bda..a1932f94b3 100644 --- a/src/configurations/destinations/googleads/db-config.json +++ b/src/configurations/destinations/googleads/db-config.json @@ -29,9 +29,7 @@ "enableConversionLabel" ], "excludeKeys": [], - "supportedSourceTypes": [ - "web" - ], + "supportedSourceTypes": ["web"], "destConfig": { "defaultConfig": [ "conversionID", diff --git a/src/configurations/destinations/googlepubsub/db-config.json b/src/configurations/destinations/googlepubsub/db-config.json index 7b9d3d4341..c195ac82f3 100644 --- a/src/configurations/destinations/googlepubsub/db-config.json +++ b/src/configurations/destinations/googlepubsub/db-config.json @@ -17,7 +17,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "destConfig": { "defaultConfig": [ diff --git a/src/configurations/destinations/googlesheets/db-config.json b/src/configurations/destinations/googlesheets/db-config.json index f0c6c2eba1..b451996e3f 100644 --- a/src/configurations/destinations/googlesheets/db-config.json +++ b/src/configurations/destinations/googlesheets/db-config.json @@ -17,7 +17,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "destConfig": { "defaultConfig": [ diff --git a/src/configurations/destinations/heap/db-config.json b/src/configurations/destinations/heap/db-config.json index 89872ffd2b..dabed48982 100644 --- a/src/configurations/destinations/heap/db-config.json +++ b/src/configurations/destinations/heap/db-config.json @@ -25,7 +25,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["identify", "track"], "destConfig": { diff --git a/src/configurations/destinations/hs/db-config.json b/src/configurations/destinations/hs/db-config.json index b30a335ebc..c80bb58fa4 100644 --- a/src/configurations/destinations/hs/db-config.json +++ b/src/configurations/destinations/hs/db-config.json @@ -25,7 +25,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["identify", "track"], "destConfig": { diff --git a/src/configurations/destinations/impact/db-config.json b/src/configurations/destinations/impact/db-config.json index 58fc87fb24..3ddbfe91ef 100644 --- a/src/configurations/destinations/impact/db-config.json +++ b/src/configurations/destinations/impact/db-config.json @@ -17,7 +17,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["identify", "track", "page", "screen"], "destConfig": { diff --git a/src/configurations/destinations/indicative/db-config.json b/src/configurations/destinations/indicative/db-config.json index fa93aece81..c4d966a0aa 100644 --- a/src/configurations/destinations/indicative/db-config.json +++ b/src/configurations/destinations/indicative/db-config.json @@ -17,7 +17,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["alias", "identify", "page", "screen", "track"], "destConfig": { "defaultConfig": ["apiKey", "oneTrustCookieCategories"] }, diff --git a/src/configurations/destinations/intercom/db-config.json b/src/configurations/destinations/intercom/db-config.json index 389474f14f..8b941737a5 100644 --- a/src/configurations/destinations/intercom/db-config.json +++ b/src/configurations/destinations/intercom/db-config.json @@ -28,7 +28,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["identify", "track", "group"], "destConfig": { diff --git a/src/configurations/destinations/iterable/db-config.json b/src/configurations/destinations/iterable/db-config.json index 0c040ce677..e5695149d8 100644 --- a/src/configurations/destinations/iterable/db-config.json +++ b/src/configurations/destinations/iterable/db-config.json @@ -44,7 +44,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["identify", "page", "screen", "track", "alias"], "destConfig": { diff --git a/src/configurations/destinations/june/db-config.json b/src/configurations/destinations/june/db-config.json index 7921ad4534..2b651508d7 100644 --- a/src/configurations/destinations/june/db-config.json +++ b/src/configurations/destinations/june/db-config.json @@ -23,7 +23,8 @@ "reactnative", "flutter", "cordova", - "warehouse" + "warehouse", + "shopify" ], "supportedMessageTypes": ["page", "identify", "track", "group"], "destConfig": { diff --git a/src/configurations/destinations/kafka/db-config.json b/src/configurations/destinations/kafka/db-config.json index abd9592911..ce4b1206a6 100644 --- a/src/configurations/destinations/kafka/db-config.json +++ b/src/configurations/destinations/kafka/db-config.json @@ -18,7 +18,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "destConfig": { "defaultConfig": [ diff --git a/src/configurations/destinations/keen/db-config.json b/src/configurations/destinations/keen/db-config.json index 31c1cdcb5f..4fd80710fb 100644 --- a/src/configurations/destinations/keen/db-config.json +++ b/src/configurations/destinations/keen/db-config.json @@ -28,7 +28,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["page", "track"], "destConfig": { diff --git a/src/configurations/destinations/kinesis/db-config.json b/src/configurations/destinations/kinesis/db-config.json index 2726c91d9f..60ee000a7f 100644 --- a/src/configurations/destinations/kinesis/db-config.json +++ b/src/configurations/destinations/kinesis/db-config.json @@ -17,7 +17,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "destConfig": { "defaultConfig": [ diff --git a/src/configurations/destinations/kissmetrics/db-config.json b/src/configurations/destinations/kissmetrics/db-config.json index 05073e60a2..6b86f83a8d 100644 --- a/src/configurations/destinations/kissmetrics/db-config.json +++ b/src/configurations/destinations/kissmetrics/db-config.json @@ -24,7 +24,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["alias", "identify", "page", "screen", "track"], "destConfig": { diff --git a/src/configurations/destinations/klaviyo/db-config.json b/src/configurations/destinations/klaviyo/db-config.json index dd57ab037d..96befb6732 100644 --- a/src/configurations/destinations/klaviyo/db-config.json +++ b/src/configurations/destinations/klaviyo/db-config.json @@ -28,7 +28,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedConnectionModes": { "web": ["cloud", "device"] diff --git a/src/configurations/destinations/kochava/db-config.json b/src/configurations/destinations/kochava/db-config.json index fe000efb5b..6e6c590c23 100644 --- a/src/configurations/destinations/kochava/db-config.json +++ b/src/configurations/destinations/kochava/db-config.json @@ -26,7 +26,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["screen", "track"], "destConfig": { diff --git a/src/configurations/destinations/kustomer/db-config.json b/src/configurations/destinations/kustomer/db-config.json index aa9e8c1b00..b623deb98e 100644 --- a/src/configurations/destinations/kustomer/db-config.json +++ b/src/configurations/destinations/kustomer/db-config.json @@ -17,7 +17,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["identify", "page", "screen", "track"], "destConfig": { diff --git a/src/configurations/destinations/lambda/db-config.json b/src/configurations/destinations/lambda/db-config.json index 448ad7ba7c..53ffdf2ee4 100644 --- a/src/configurations/destinations/lambda/db-config.json +++ b/src/configurations/destinations/lambda/db-config.json @@ -17,7 +17,8 @@ "reactnative", "unity", "warehouse", - "web" + "web", + "shopify" ], "supportedMessageTypes": ["identify", "page", "screen", "track", "alias", "group"], "destConfig": { diff --git a/src/configurations/destinations/leanplum/db-config.json b/src/configurations/destinations/leanplum/db-config.json index 867cd43222..33800c6cf1 100644 --- a/src/configurations/destinations/leanplum/db-config.json +++ b/src/configurations/destinations/leanplum/db-config.json @@ -27,7 +27,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedConnectionModes": { "android": ["cloud", "device", "hybrid"], diff --git a/src/configurations/destinations/lemnisk/db-config.json b/src/configurations/destinations/lemnisk/db-config.json index 55af55d567..bd28589f86 100644 --- a/src/configurations/destinations/lemnisk/db-config.json +++ b/src/configurations/destinations/lemnisk/db-config.json @@ -32,7 +32,8 @@ "reactnative", "flutter", "cordova", - "warehouse" + "warehouse", + "shopify" ], "supportedMessageTypes": ["track", "identify", "page"], "destConfig": { diff --git a/src/configurations/destinations/lytics/db-config.json b/src/configurations/destinations/lytics/db-config.json index 35b6342bbd..418b21bb47 100644 --- a/src/configurations/destinations/lytics/db-config.json +++ b/src/configurations/destinations/lytics/db-config.json @@ -28,7 +28,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["identify", "page", "screen", "track"], "destConfig": { diff --git a/src/configurations/destinations/mailchimp/db-config.json b/src/configurations/destinations/mailchimp/db-config.json index 4424196b36..83fe29cb21 100644 --- a/src/configurations/destinations/mailchimp/db-config.json +++ b/src/configurations/destinations/mailchimp/db-config.json @@ -19,7 +19,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["identify", "track"], "destConfig": { diff --git a/src/configurations/destinations/mailjet/db-config.json b/src/configurations/destinations/mailjet/db-config.json index 2b6db30d02..158fcfbbc0 100644 --- a/src/configurations/destinations/mailjet/db-config.json +++ b/src/configurations/destinations/mailjet/db-config.json @@ -23,7 +23,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["identify"], "destConfig": { diff --git a/src/configurations/destinations/mailmodo/db-config.json b/src/configurations/destinations/mailmodo/db-config.json index 491599ac13..d4d5aa7004 100644 --- a/src/configurations/destinations/mailmodo/db-config.json +++ b/src/configurations/destinations/mailmodo/db-config.json @@ -17,7 +17,8 @@ "reactnative", "flutter", "cordova", - "warehouse" + "warehouse", + "shopify" ], "supportedMessageTypes": ["identify", "track"], "destConfig": { "defaultConfig": ["apiKey", "listName", "oneTrustCookieCategories"] }, diff --git a/src/configurations/destinations/marketo/db-config.json b/src/configurations/destinations/marketo/db-config.json index b9852bf36f..2f41a3333f 100644 --- a/src/configurations/destinations/marketo/db-config.json +++ b/src/configurations/destinations/marketo/db-config.json @@ -19,7 +19,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["identify", "track"], "destConfig": { diff --git a/src/configurations/destinations/marketo_bulk_upload/db-config.json b/src/configurations/destinations/marketo_bulk_upload/db-config.json index 8ed47e6876..62b0918bb7 100644 --- a/src/configurations/destinations/marketo_bulk_upload/db-config.json +++ b/src/configurations/destinations/marketo_bulk_upload/db-config.json @@ -17,7 +17,8 @@ "reactnative", "flutter", "cordova", - "warehouse" + "warehouse", + "shopify" ], "destConfig": { "defaultConfig": [ diff --git a/src/configurations/destinations/marketo_static_list/db-config.json b/src/configurations/destinations/marketo_static_list/db-config.json index d2eeebb1f0..cf94d3922e 100644 --- a/src/configurations/destinations/marketo_static_list/db-config.json +++ b/src/configurations/destinations/marketo_static_list/db-config.json @@ -13,7 +13,7 @@ "oneTrustCookieCategories" ], "excludeKeys": [], - "supportedSourceTypes": ["cloud", "warehouse"], + "supportedSourceTypes": ["cloud", "warehouse", "shopify"], "supportedMessageTypes": ["audiencelist"], "destConfig": { "defaultConfig": [ diff --git a/src/configurations/destinations/mautic/db-config.json b/src/configurations/destinations/mautic/db-config.json index c50f7de24a..8e09180f8b 100644 --- a/src/configurations/destinations/mautic/db-config.json +++ b/src/configurations/destinations/mautic/db-config.json @@ -25,7 +25,8 @@ "reactnative", "flutter", "cordova", - "warehouse" + "warehouse", + "shopify" ], "supportedMessageTypes": ["identify", "group"], "destConfig": { diff --git a/src/configurations/destinations/minio/db-config.json b/src/configurations/destinations/minio/db-config.json index e91ce43ab6..d57f9da1d9 100644 --- a/src/configurations/destinations/minio/db-config.json +++ b/src/configurations/destinations/minio/db-config.json @@ -17,7 +17,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "destConfig": { "defaultConfig": [ diff --git a/src/configurations/destinations/moengage/db-config.json b/src/configurations/destinations/moengage/db-config.json index 22826183fd..07833d6d03 100644 --- a/src/configurations/destinations/moengage/db-config.json +++ b/src/configurations/destinations/moengage/db-config.json @@ -25,7 +25,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["identify", "track", "alias"], "destConfig": { diff --git a/src/configurations/destinations/monday/db-config.json b/src/configurations/destinations/monday/db-config.json index 8e7e23ea2c..13a32e53f0 100644 --- a/src/configurations/destinations/monday/db-config.json +++ b/src/configurations/destinations/monday/db-config.json @@ -17,7 +17,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["track"], "destConfig": { diff --git a/src/configurations/destinations/monetate/db-config.json b/src/configurations/destinations/monetate/db-config.json index 99427046d2..70302ad778 100644 --- a/src/configurations/destinations/monetate/db-config.json +++ b/src/configurations/destinations/monetate/db-config.json @@ -15,7 +15,8 @@ "unity", "amp", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["page", "screen", "track"], "destConfig": { diff --git a/src/configurations/destinations/mp/db-config.json b/src/configurations/destinations/mp/db-config.json index d7e3fe30e8..e2f4d340a6 100644 --- a/src/configurations/destinations/mp/db-config.json +++ b/src/configurations/destinations/mp/db-config.json @@ -41,7 +41,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["alias", "group", "identify", "page", "screen", "track"], "destConfig": { diff --git a/src/configurations/destinations/mssql/db-config.json b/src/configurations/destinations/mssql/db-config.json index f078e43076..a6659523af 100644 --- a/src/configurations/destinations/mssql/db-config.json +++ b/src/configurations/destinations/mssql/db-config.json @@ -18,7 +18,8 @@ "reactnative", "cloudSource", "flutter", - "cordova" + "cordova", + "shopify" ], "destConfig": { "defaultConfig": [ diff --git a/src/configurations/destinations/new_relic/db-config.json b/src/configurations/destinations/new_relic/db-config.json index af9cd94129..4b6de0770c 100644 --- a/src/configurations/destinations/new_relic/db-config.json +++ b/src/configurations/destinations/new_relic/db-config.json @@ -26,7 +26,8 @@ "reactnative", "flutter", "cordova", - "warehouse" + "warehouse", + "shopify" ], "supportedMessageTypes": ["track"], "destConfig": { diff --git a/src/configurations/destinations/ometria/db-config.json b/src/configurations/destinations/ometria/db-config.json index 11e4d49866..2018a7199f 100644 --- a/src/configurations/destinations/ometria/db-config.json +++ b/src/configurations/destinations/ometria/db-config.json @@ -17,7 +17,8 @@ "reactnative", "flutter", "cordova", - "warehouse" + "warehouse", + "shopify" ], "supportedMessageTypes": ["identify", "track"], "destConfig": { diff --git a/src/configurations/destinations/one_signal/db-config.json b/src/configurations/destinations/one_signal/db-config.json index f8113cb882..ca5ac17a3a 100644 --- a/src/configurations/destinations/one_signal/db-config.json +++ b/src/configurations/destinations/one_signal/db-config.json @@ -17,7 +17,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["identify", "track", "group"], "destConfig": { diff --git a/src/configurations/destinations/optimizely_fullstack/db-config.json b/src/configurations/destinations/optimizely_fullstack/db-config.json index feded48cbf..98bcaa47ab 100644 --- a/src/configurations/destinations/optimizely_fullstack/db-config.json +++ b/src/configurations/destinations/optimizely_fullstack/db-config.json @@ -28,7 +28,8 @@ "reactnative", "flutter", "cordova", - "warehouse" + "warehouse", + "shopify" ], "supportedConnectionModes": { "android": ["cloud", "device"], diff --git a/src/configurations/destinations/pagerduty/db-config.json b/src/configurations/destinations/pagerduty/db-config.json index dc626096c8..4e4bf4d92b 100644 --- a/src/configurations/destinations/pagerduty/db-config.json +++ b/src/configurations/destinations/pagerduty/db-config.json @@ -18,7 +18,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["track"], "destConfig": { diff --git a/src/configurations/destinations/pardot/db-config.json b/src/configurations/destinations/pardot/db-config.json index 912d311c4e..679deb6ea1 100644 --- a/src/configurations/destinations/pardot/db-config.json +++ b/src/configurations/destinations/pardot/db-config.json @@ -18,7 +18,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "destConfig": { "defaultConfig": [ diff --git a/src/configurations/destinations/persistiq/db-config.json b/src/configurations/destinations/persistiq/db-config.json index cb1536a3bc..6efe478337 100644 --- a/src/configurations/destinations/persistiq/db-config.json +++ b/src/configurations/destinations/persistiq/db-config.json @@ -18,7 +18,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["identify", "group"], "destConfig": { diff --git a/src/configurations/destinations/personalize/db-config.json b/src/configurations/destinations/personalize/db-config.json index a665c25e45..499a5cb877 100644 --- a/src/configurations/destinations/personalize/db-config.json +++ b/src/configurations/destinations/personalize/db-config.json @@ -17,7 +17,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "destConfig": { "defaultConfig": [ diff --git a/src/configurations/destinations/pinterest_tag/db-config.json b/src/configurations/destinations/pinterest_tag/db-config.json index 643052024f..495881103a 100644 --- a/src/configurations/destinations/pinterest_tag/db-config.json +++ b/src/configurations/destinations/pinterest_tag/db-config.json @@ -32,7 +32,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "destConfig": { "defaultConfig": [ diff --git a/src/configurations/destinations/pipedream/db-config.json b/src/configurations/destinations/pipedream/db-config.json index ba9fbcaeae..ad51f0a961 100644 --- a/src/configurations/destinations/pipedream/db-config.json +++ b/src/configurations/destinations/pipedream/db-config.json @@ -17,7 +17,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "destConfig": { "defaultConfig": ["pipedreamUrl", "pipedreamMethod", "headers", "oneTrustCookieCategories"] diff --git a/src/configurations/destinations/pipedrive/db-config.json b/src/configurations/destinations/pipedrive/db-config.json index 3564ad97f4..b4b222198f 100644 --- a/src/configurations/destinations/pipedrive/db-config.json +++ b/src/configurations/destinations/pipedrive/db-config.json @@ -16,7 +16,8 @@ "cloud", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "destConfig": { "defaultConfig": [ diff --git a/src/configurations/destinations/postgres/db-config.json b/src/configurations/destinations/postgres/db-config.json index b04259ddd7..f7fb1aac97 100644 --- a/src/configurations/destinations/postgres/db-config.json +++ b/src/configurations/destinations/postgres/db-config.json @@ -18,7 +18,8 @@ "reactnative", "cloudSource", "flutter", - "cordova" + "cordova", + "shopify" ], "destConfig": { "defaultConfig": [ diff --git a/src/configurations/destinations/posthog/db-config.json b/src/configurations/destinations/posthog/db-config.json index 0163975daf..e5bcae8db1 100644 --- a/src/configurations/destinations/posthog/db-config.json +++ b/src/configurations/destinations/posthog/db-config.json @@ -31,7 +31,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["alias", "group", "identify", "page", "screen", "track"], "destConfig": { diff --git a/src/configurations/destinations/profitwell/db-config.json b/src/configurations/destinations/profitwell/db-config.json index b58f84dded..8efa59063b 100644 --- a/src/configurations/destinations/profitwell/db-config.json +++ b/src/configurations/destinations/profitwell/db-config.json @@ -24,7 +24,8 @@ "reactnative", "flutter", "cordova", - "warehouse" + "warehouse", + "shopify" ], "supportedMessageTypes": ["identify"], "destConfig": { diff --git a/src/configurations/destinations/redis/db-config.json b/src/configurations/destinations/redis/db-config.json index 6b181a5a2f..a2eba22ec7 100644 --- a/src/configurations/destinations/redis/db-config.json +++ b/src/configurations/destinations/redis/db-config.json @@ -18,7 +18,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["identify"], "destConfig": { diff --git a/src/configurations/destinations/refiner/db-config.json b/src/configurations/destinations/refiner/db-config.json index c05177b4aa..6c5010969c 100644 --- a/src/configurations/destinations/refiner/db-config.json +++ b/src/configurations/destinations/refiner/db-config.json @@ -27,7 +27,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["identify", "track", "group", "page"], "destConfig": { diff --git a/src/configurations/destinations/revenue_cat/db-config.json b/src/configurations/destinations/revenue_cat/db-config.json index 70d8b2c610..4bfad825e1 100644 --- a/src/configurations/destinations/revenue_cat/db-config.json +++ b/src/configurations/destinations/revenue_cat/db-config.json @@ -18,7 +18,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["identify", "track"], "destConfig": { "defaultConfig": ["apiKey", "xPlatform", "oneTrustCookieCategories"] } diff --git a/src/configurations/destinations/rockerbox/db-config.json b/src/configurations/destinations/rockerbox/db-config.json index 4093aaa222..e4766d04f1 100644 --- a/src/configurations/destinations/rockerbox/db-config.json +++ b/src/configurations/destinations/rockerbox/db-config.json @@ -29,11 +29,13 @@ "reactnative", "unity", "warehouse", - "web" + "web", + "shopify" ], "supportedMessageTypes": ["identify", "track", "page"], "supportedConnectionModes": { - "web": ["cloud", "device", "hybrid"] + "web": ["cloud", "device", "hybrid"], + "shopify": ["cloud"] }, "destConfig": { "defaultConfig": [ diff --git a/src/configurations/destinations/rs/db-config.json b/src/configurations/destinations/rs/db-config.json index c16933063e..6311ac5102 100644 --- a/src/configurations/destinations/rs/db-config.json +++ b/src/configurations/destinations/rs/db-config.json @@ -18,7 +18,8 @@ "reactnative", "cloudSource", "flutter", - "cordova" + "cordova", + "shopify" ], "destConfig": { "defaultConfig": [ diff --git a/src/configurations/destinations/s3/db-config.json b/src/configurations/destinations/s3/db-config.json index 5f3ed5399e..743a05a8c5 100644 --- a/src/configurations/destinations/s3/db-config.json +++ b/src/configurations/destinations/s3/db-config.json @@ -17,7 +17,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "destConfig": { "defaultConfig": [ diff --git a/src/configurations/destinations/s3_datalake/db-config.json b/src/configurations/destinations/s3_datalake/db-config.json index a60b199ac1..f8027b4035 100644 --- a/src/configurations/destinations/s3_datalake/db-config.json +++ b/src/configurations/destinations/s3_datalake/db-config.json @@ -18,7 +18,8 @@ "reactnative", "cloudSource", "flutter", - "cordova" + "cordova", + "shopify" ], "destConfig": { "defaultConfig": [ diff --git a/src/configurations/destinations/salesforce/db-config.json b/src/configurations/destinations/salesforce/db-config.json index 7a9a7e12a5..48a024d3eb 100644 --- a/src/configurations/destinations/salesforce/db-config.json +++ b/src/configurations/destinations/salesforce/db-config.json @@ -19,7 +19,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["identify"], "destConfig": { diff --git a/src/configurations/destinations/segment/db-config.json b/src/configurations/destinations/segment/db-config.json index a3c1f375eb..4f681fe04e 100644 --- a/src/configurations/destinations/segment/db-config.json +++ b/src/configurations/destinations/segment/db-config.json @@ -17,7 +17,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "destConfig": { "defaultConfig": ["writeKey", "oneTrustCookieCategories"] }, "secretKeys": [] diff --git a/src/configurations/destinations/sendgrid/db-config.json b/src/configurations/destinations/sendgrid/db-config.json index f3ab91637a..55b74cc35c 100644 --- a/src/configurations/destinations/sendgrid/db-config.json +++ b/src/configurations/destinations/sendgrid/db-config.json @@ -18,7 +18,8 @@ "reactnative", "flutter", "cordova", - "warehouse" + "warehouse", + "shopify" ], "supportedMessageTypes": ["track", "identify"], "destConfig": { diff --git a/src/configurations/destinations/sendinblue/db-config.json b/src/configurations/destinations/sendinblue/db-config.json index 2bc41d7fe6..5ea56dec52 100644 --- a/src/configurations/destinations/sendinblue/db-config.json +++ b/src/configurations/destinations/sendinblue/db-config.json @@ -29,7 +29,8 @@ "reactnative", "flutter", "cordova", - "warehouse" + "warehouse", + "shopify" ], "supportedMessageTypes": ["track", "identify", "page"], "destConfig": { diff --git a/src/configurations/destinations/serenytics/db-config.json b/src/configurations/destinations/serenytics/db-config.json index 614358c522..19421bc7ac 100644 --- a/src/configurations/destinations/serenytics/db-config.json +++ b/src/configurations/destinations/serenytics/db-config.json @@ -17,7 +17,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["identify", "track", "group", "page", "screen", "alias"], "destConfig": { diff --git a/src/configurations/destinations/sfmc/db-config.json b/src/configurations/destinations/sfmc/db-config.json index 848e6d0ca6..32d81a54ad 100644 --- a/src/configurations/destinations/sfmc/db-config.json +++ b/src/configurations/destinations/sfmc/db-config.json @@ -17,7 +17,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["identify", "track"], "destConfig": { diff --git a/src/configurations/destinations/shynet/db-config.json b/src/configurations/destinations/shynet/db-config.json index cf9c0f1259..a9d6adf6f6 100644 --- a/src/configurations/destinations/shynet/db-config.json +++ b/src/configurations/destinations/shynet/db-config.json @@ -24,7 +24,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["page"], "destConfig": { diff --git a/src/configurations/destinations/signl4/db-config.json b/src/configurations/destinations/signl4/db-config.json index 80cffb2570..60ad5b319c 100644 --- a/src/configurations/destinations/signl4/db-config.json +++ b/src/configurations/destinations/signl4/db-config.json @@ -17,7 +17,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["track"], "destConfig": { diff --git a/src/configurations/destinations/singular/db-config.json b/src/configurations/destinations/singular/db-config.json index 532d524d5d..9d6cb2c4eb 100644 --- a/src/configurations/destinations/singular/db-config.json +++ b/src/configurations/destinations/singular/db-config.json @@ -24,7 +24,8 @@ "web", "amp", "cloud", - "warehouse" + "warehouse", + "shopify" ], "destConfig": { "defaultConfig": [ diff --git a/src/configurations/destinations/slack/db-config.json b/src/configurations/destinations/slack/db-config.json index 54d6a1d192..317b7585f3 100644 --- a/src/configurations/destinations/slack/db-config.json +++ b/src/configurations/destinations/slack/db-config.json @@ -17,7 +17,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["identify", "track"], "destConfig": { diff --git a/src/configurations/destinations/snapchat_conversion/db-config.json b/src/configurations/destinations/snapchat_conversion/db-config.json index 488b5c3ea9..41a8ce084d 100644 --- a/src/configurations/destinations/snapchat_conversion/db-config.json +++ b/src/configurations/destinations/snapchat_conversion/db-config.json @@ -17,7 +17,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["track"], "destConfig": { diff --git a/src/configurations/destinations/snapchat_custom_audience/db-config.json b/src/configurations/destinations/snapchat_custom_audience/db-config.json index 01162d2f13..59f58beb15 100644 --- a/src/configurations/destinations/snapchat_custom_audience/db-config.json +++ b/src/configurations/destinations/snapchat_custom_audience/db-config.json @@ -2,14 +2,31 @@ "name": "SNAPCHAT_CUSTOM_AUDIENCE", "displayName": "Snapchat Custom Audience", "config": { - "auth": { "type": "OAuth", "role": "snapchat_custom_audience", "rudderScopes": ["delivery"] }, + "auth": { + "type": "OAuth", + "role": "snapchat_custom_audience", + "rudderScopes": [ + "delivery" + ] + }, "transformAt": "router", "transformAtV1": "router", "saveDestinationResponse": true, - "includeKeys": ["segmentId", "schema", "disableHashing", "oneTrustCookieCategories"], + "includeKeys": [ + "segmentId", + "schema", + "disableHashing", + "oneTrustCookieCategories" + ], "excludeKeys": [], - "supportedSourceTypes": ["cloud", "warehouse"], - "supportedMessageTypes": ["audiencelist"], + "supportedSourceTypes": [ + "cloud", + "warehouse", + "shopify" + ], + "supportedMessageTypes": [ + "audiencelist" + ], "destConfig": { "defaultConfig": [ "rudderAccountId", @@ -19,6 +36,8 @@ "oneTrustCookieCategories" ] }, - "secretKeys": ["segmentId"] + "secretKeys": [ + "segmentId" + ] } -} +} \ No newline at end of file diff --git a/src/configurations/destinations/snowflake/db-config.json b/src/configurations/destinations/snowflake/db-config.json index 80cec74c4e..cc5400f88f 100644 --- a/src/configurations/destinations/snowflake/db-config.json +++ b/src/configurations/destinations/snowflake/db-config.json @@ -18,7 +18,8 @@ "reactnative", "cloudSource", "flutter", - "cordova" + "cordova", + "shopify" ], "destConfig": { "defaultConfig": [ diff --git a/src/configurations/destinations/splitio/db-config.json b/src/configurations/destinations/splitio/db-config.json index 06699f7a51..7efffcc000 100644 --- a/src/configurations/destinations/splitio/db-config.json +++ b/src/configurations/destinations/splitio/db-config.json @@ -17,7 +17,8 @@ "reactnative", "flutter", "cordova", - "warehouse" + "warehouse", + "shopify" ], "supportedMessageTypes": ["group", "identify", "page", "screen", "track"], "destConfig": { diff --git a/src/configurations/destinations/statsig/db-config.json b/src/configurations/destinations/statsig/db-config.json index 3c1d021bfb..623110ea6f 100644 --- a/src/configurations/destinations/statsig/db-config.json +++ b/src/configurations/destinations/statsig/db-config.json @@ -18,7 +18,8 @@ "reactnative", "flutter", "cordova", - "warehouse" + "warehouse", + "shopify" ], "supportedMessageTypes": ["alias", "group", "identify", "page", "screen", "track"], "destConfig": { "defaultConfig": ["secretKey", "oneTrustCookieCategories"] }, diff --git a/src/configurations/destinations/stormly/db-config.json b/src/configurations/destinations/stormly/db-config.json index 874067cd43..53acd74cc7 100644 --- a/src/configurations/destinations/stormly/db-config.json +++ b/src/configurations/destinations/stormly/db-config.json @@ -17,11 +17,12 @@ "reactnative", "flutter", "cordova", - "warehouse" + "warehouse", + "shopify" ], "supportedMessageTypes": ["group", "identify", "track"], "destConfig": { "defaultConfig": ["apiKey", "oneTrustCookieCategories"] }, "secretKeys": ["apiKey"] - }, + }, "options": { "isBeta": true } -} + } diff --git a/src/configurations/destinations/tiktok_ads_offline_events/db-config.json b/src/configurations/destinations/tiktok_ads_offline_events/db-config.json index 1d21c56e89..a53f3ef09b 100644 --- a/src/configurations/destinations/tiktok_ads_offline_events/db-config.json +++ b/src/configurations/destinations/tiktok_ads_offline_events/db-config.json @@ -17,7 +17,8 @@ "reactnative", "unity", "warehouse", - "web" + "web", + "shopify" ], "supportedMessageTypes": ["track"], "destConfig": { diff --git a/src/configurations/destinations/trengo/db-config.json b/src/configurations/destinations/trengo/db-config.json index 1c86323747..de2bad5559 100644 --- a/src/configurations/destinations/trengo/db-config.json +++ b/src/configurations/destinations/trengo/db-config.json @@ -17,7 +17,8 @@ "reactnative", "flutter", "cordova", - "warehouse" + "warehouse", + "shopify" ], "supportedMessageTypes": ["identify", "track"], "destConfig": { diff --git a/src/configurations/destinations/twitter_ads/db-config.json b/src/configurations/destinations/twitter_ads/db-config.json index 668d0ced19..a2c572da7d 100644 --- a/src/configurations/destinations/twitter_ads/db-config.json +++ b/src/configurations/destinations/twitter_ads/db-config.json @@ -20,7 +20,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "destConfig": { "defaultConfig": [ diff --git a/src/configurations/destinations/user/db-config.json b/src/configurations/destinations/user/db-config.json index 135f09ed5e..150b0a958d 100644 --- a/src/configurations/destinations/user/db-config.json +++ b/src/configurations/destinations/user/db-config.json @@ -27,7 +27,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["track", "identify", "group", "page"], "destConfig": { diff --git a/src/configurations/destinations/userlist/db-config.json b/src/configurations/destinations/userlist/db-config.json index 19901c048e..dd4481a775 100644 --- a/src/configurations/destinations/userlist/db-config.json +++ b/src/configurations/destinations/userlist/db-config.json @@ -18,7 +18,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["group", "identify", "track"], "destConfig": { "defaultConfig": ["pushKey", "oneTrustCookieCategories"] }, diff --git a/src/configurations/destinations/variance/db-config.json b/src/configurations/destinations/variance/db-config.json index 4b8bc7921b..a13e374fd6 100644 --- a/src/configurations/destinations/variance/db-config.json +++ b/src/configurations/destinations/variance/db-config.json @@ -18,7 +18,8 @@ "reactnative", "flutter", "cordova", - "warehouse" + "warehouse", + "shopify" ], "destConfig": { "defaultConfig": ["webhookUrl", "authHeader", "oneTrustCookieCategories"] }, "secretKeys": ["authHeader"] diff --git a/src/configurations/destinations/vero/db-config.json b/src/configurations/destinations/vero/db-config.json index ffd7b26f4d..7c6029a41c 100644 --- a/src/configurations/destinations/vero/db-config.json +++ b/src/configurations/destinations/vero/db-config.json @@ -24,7 +24,8 @@ "reactnative", "unity", "warehouse", - "web" + "web", + "shopify" ], "supportedMessageTypes": ["identify", "track", "page", "screen", "alias"], "destConfig": { diff --git a/src/configurations/destinations/vitally/db-config.json b/src/configurations/destinations/vitally/db-config.json index 912f9df900..5908282386 100644 --- a/src/configurations/destinations/vitally/db-config.json +++ b/src/configurations/destinations/vitally/db-config.json @@ -17,7 +17,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["identify", "track", "group"], "destConfig": { "defaultConfig": ["apiKeyVitally", "oneTrustCookieCategories"] }, diff --git a/src/configurations/destinations/webengage/db-config.json b/src/configurations/destinations/webengage/db-config.json index 7f02a7671f..d600217613 100644 --- a/src/configurations/destinations/webengage/db-config.json +++ b/src/configurations/destinations/webengage/db-config.json @@ -18,7 +18,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["identify", "track", "page", "screen"], "destConfig": { diff --git a/src/configurations/destinations/webhook/db-config.json b/src/configurations/destinations/webhook/db-config.json index 764fa2bf53..eb5d5642c0 100644 --- a/src/configurations/destinations/webhook/db-config.json +++ b/src/configurations/destinations/webhook/db-config.json @@ -19,7 +19,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "destConfig": { "defaultConfig": ["webhookUrl", "webhookMethod", "headers", "oneTrustCookieCategories"] diff --git a/src/configurations/destinations/woopra/db-config.json b/src/configurations/destinations/woopra/db-config.json index bbda298988..eeb741da83 100644 --- a/src/configurations/destinations/woopra/db-config.json +++ b/src/configurations/destinations/woopra/db-config.json @@ -33,7 +33,8 @@ "reactnative", "flutter", "cordova", - "warehouse" + "warehouse", + "shopify" ], "supportedMessageTypes": ["identify", "track", "page"], "destConfig": { diff --git a/src/configurations/destinations/wootric/db-config.json b/src/configurations/destinations/wootric/db-config.json index bd9c19e9fd..897c875aa9 100644 --- a/src/configurations/destinations/wootric/db-config.json +++ b/src/configurations/destinations/wootric/db-config.json @@ -17,7 +17,8 @@ "reactnative", "flutter", "cordova", - "warehouse" + "warehouse", + "shopify" ], "supportedMessageTypes": ["identify", "track"], "destConfig": { diff --git a/src/configurations/destinations/yahoo_dsp/db-config.json b/src/configurations/destinations/yahoo_dsp/db-config.json index 3315935f61..4718fb69bf 100644 --- a/src/configurations/destinations/yahoo_dsp/db-config.json +++ b/src/configurations/destinations/yahoo_dsp/db-config.json @@ -7,7 +7,7 @@ "saveDestinationResponse": true, "includeKeys": ["oneTrustCookieCategories"], "excludeKeys": [], - "supportedSourceTypes": ["cloud", "warehouse"], + "supportedSourceTypes": ["cloud", "warehouse", "shopify"], "syncBehaviours": [], "supportedMessageTypes": ["audiencelist"], "destConfig": { diff --git a/src/configurations/destinations/zapier/db-config.json b/src/configurations/destinations/zapier/db-config.json index e71508e5d5..d6388fe0b2 100644 --- a/src/configurations/destinations/zapier/db-config.json +++ b/src/configurations/destinations/zapier/db-config.json @@ -23,7 +23,8 @@ "reactnative", "flutter", "cordova", - "warehouse" + "warehouse", + "shopify" ], "supportedMessageTypes": ["track", "page", "screen"], "destConfig": { diff --git a/src/configurations/destinations/zendesk/db-config.json b/src/configurations/destinations/zendesk/db-config.json index 5596c55f05..e3955fd2fc 100644 --- a/src/configurations/destinations/zendesk/db-config.json +++ b/src/configurations/destinations/zendesk/db-config.json @@ -17,7 +17,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["group", "identify", "track"], "destConfig": { diff --git a/src/configurations/sources/shopify/db-config.json b/src/configurations/sources/shopify/db-config.json index e6779d7f48..beceeae750 100644 --- a/src/configurations/sources/shopify/db-config.json +++ b/src/configurations/sources/shopify/db-config.json @@ -6,5 +6,5 @@ "isBeta": false, "hidden": false }, - "type": "cloud" + "type": "shopify" } diff --git a/src/validator/index.ts b/src/validator/index.ts index 884cec790f..1f50bd8660 100644 --- a/src/validator/index.ts +++ b/src/validator/index.ts @@ -160,6 +160,7 @@ export function validateSourceType(sourceDefinition: any) { 'amp', 'flutter', 'cordova', + 'shopify', ]; return validSourceTypes.includes(sourceDefinition?.type); } From 51b77b79f196854acf3455b83c6a010ccf8aec5a Mon Sep 17 00:00:00 2001 From: Anant Jain <62471433+anantjain45823@users.noreply.github.com> Date: Fri, 4 Aug 2023 14:10:33 +0530 Subject: [PATCH 06/11] feat: enhancement adding purchase event for track call (#810) --- src/configurations/destinations/googleads/schema.json | 5 +++-- src/configurations/destinations/googleads/ui-config.json | 4 ++++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/configurations/destinations/googleads/schema.json b/src/configurations/destinations/googleads/schema.json index 2a818041a1..bb0613903e 100644 --- a/src/configurations/destinations/googleads/schema.json +++ b/src/configurations/destinations/googleads/schema.json @@ -28,6 +28,7 @@ "Checkout", "Search", "AddToCart", + "purchase", "" ] } @@ -138,7 +139,7 @@ "properties": { "trackConversions": { "const": true }, "enableConversionEventsFiltering": { "const": true } - }, + }, "required": ["trackConversions", "enableConversionEventsFiltering"] }, "then": { @@ -176,7 +177,7 @@ "properties": { "trackDynamicRemarketing": { "const": true }, "enableDynamicRemarketingEventsFiltering": { "const": true } - }, + }, "required": ["trackDynamicRemarketing", "enableDynamicRemarketingEventsFiltering"] }, "then": { diff --git a/src/configurations/destinations/googleads/ui-config.json b/src/configurations/destinations/googleads/ui-config.json index a2afb63548..bf451b9373 100644 --- a/src/configurations/destinations/googleads/ui-config.json +++ b/src/configurations/destinations/googleads/ui-config.json @@ -55,6 +55,10 @@ { "name": "AddToCart", "value": "AddToCart" + }, + { + "name": "Purchase", + "value": "purchase" } ] } From ee47ed76bec4b4e71d9910e553d84d7042ae657c Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Mon, 7 Aug 2023 13:41:27 +0000 Subject: [PATCH 07/11] chore(release): 1.44.0 --- CHANGELOG.md | 16 ++++++++++++++++ package-lock.json | 4 ++-- package.json | 2 +- 3 files changed, 19 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e2c6e6b8f7..fbf9304f93 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,22 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. +## [1.44.0](https://github.com/rudderlabs/rudder-config-schema/compare/v1.43.2...v1.44.0) (2023-08-07) + + +### Features + +* create config generator script for os contribution ([#742](https://github.com/rudderlabs/rudder-config-schema/issues/742)) ([4d65441](https://github.com/rudderlabs/rudder-config-schema/commit/4d6544160dd14fdcb17806ba8f619d54e87a0fd0)) +* customerio option to send page name ([#789](https://github.com/rudderlabs/rudder-config-schema/issues/789)) ([c68062b](https://github.com/rudderlabs/rudder-config-schema/commit/c68062b3e72594b9b878324a6ef749114adacc15)) +* enhancement adding purchase event for track call ([#810](https://github.com/rudderlabs/rudder-config-schema/issues/810)) ([51b77b7](https://github.com/rudderlabs/rudder-config-schema/commit/51b77b79f196854acf3455b83c6a010ccf8aec5a)) +* new source type shopify changes ([#729](https://github.com/rudderlabs/rudder-config-schema/issues/729)) ([c0475c3](https://github.com/rudderlabs/rudder-config-schema/commit/c0475c3f0d3c29dc8d1c3d8394ed9f4f4e7061ae)) +* update klaviyo ui to new UI layout ([#493](https://github.com/rudderlabs/rudder-config-schema/issues/493)) ([97b6b8f](https://github.com/rudderlabs/rudder-config-schema/commit/97b6b8fd7e48cc8ea92d0a618075dd5e4fd91828)) + + +### Bug Fixes + +* include sendPageNameInSDK in includeKeys array ([#809](https://github.com/rudderlabs/rudder-config-schema/issues/809)) ([a7b3159](https://github.com/rudderlabs/rudder-config-schema/commit/a7b3159c55f8016a1cf6ebefb75f4896907f686a)) + ### [1.43.2](https://github.com/rudderlabs/rudder-config-schema/compare/v1.43.1...v1.43.2) (2023-08-01) diff --git a/package-lock.json b/package-lock.json index 61e00364f6..c45283d2bd 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "rudder-config-schema", - "version": "1.43.2", + "version": "1.44.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "rudder-config-schema", - "version": "1.43.2", + "version": "1.44.0", "license": "MIT", "dependencies": { "ajv": "^8.12.0", diff --git a/package.json b/package.json index 870b018b86..b2b9abef82 100755 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "rudder-config-schema", - "version": "1.43.2", + "version": "1.44.0", "description": "", "main": "src/index.ts", "private": true, From 6f6984ef991520f3edd36c00d7fa76b2e78c590b Mon Sep 17 00:00:00 2001 From: Yashasvi Bajpai <33063622+yashasvibajpai@users.noreply.github.com> Date: Tue, 8 Aug 2023 12:03:36 +0530 Subject: [PATCH 08/11] fix: increase keen's write key size constraint to 250 (#814) --- src/configurations/destinations/keen/ui-config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/configurations/destinations/keen/ui-config.json b/src/configurations/destinations/keen/ui-config.json index f5eceeb4c8..57fc6c541b 100644 --- a/src/configurations/destinations/keen/ui-config.json +++ b/src/configurations/destinations/keen/ui-config.json @@ -16,7 +16,7 @@ "type": "textInput", "label": "Write Key", "value": "writeKey", - "regex": "^(.{0,100})$", + "regex": "^(.{0,250})$", "regexErrorMessage": "Invalid Write Key", "required": true } From ceac681f34dc74ea148cd67c702ae2e5cd0bfddc Mon Sep 17 00:00:00 2001 From: Ujjwal Abhishek <63387036+ujjwal-ab@users.noreply.github.com> Date: Tue, 8 Aug 2023 19:37:40 +0530 Subject: [PATCH 09/11] fix: remove validation for sendPageAsTrack & additionalPageInfo fields (#816) --- src/configurations/destinations/klaviyo/schema.json | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/configurations/destinations/klaviyo/schema.json b/src/configurations/destinations/klaviyo/schema.json index 64cb6be22b..f5d19e2e26 100644 --- a/src/configurations/destinations/klaviyo/schema.json +++ b/src/configurations/destinations/klaviyo/schema.json @@ -66,8 +66,6 @@ } } }, - "sendPageAsTrack": { "type": "object", "properties": { "web": { "type": "boolean" } } }, - "additionalPageInfo": { "type": "object", "properties": { "web": { "type": "boolean" } } }, "useNativeSDK": { "type": "object", "properties": { "web": { "type": "boolean" } } }, "connectionMode": { "type": "object", From 1d57dadde2cd08d4752ae5c58861e8129835cede Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Tue, 8 Aug 2023 14:08:55 +0000 Subject: [PATCH 10/11] chore(release): 1.44.1 --- CHANGELOG.md | 7 +++++++ package-lock.json | 4 ++-- package.json | 2 +- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fbf9304f93..b518457d52 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,13 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. +### [1.44.1](https://github.com/rudderlabs/rudder-config-schema/compare/v1.44.0...v1.44.1) (2023-08-08) + + +### Bug Fixes + +* remove validation for sendPageAsTrack & additionalPageInfo fields ([#816](https://github.com/rudderlabs/rudder-config-schema/issues/816)) ([ceac681](https://github.com/rudderlabs/rudder-config-schema/commit/ceac681f34dc74ea148cd67c702ae2e5cd0bfddc)) + ## [1.44.0](https://github.com/rudderlabs/rudder-config-schema/compare/v1.43.2...v1.44.0) (2023-08-07) diff --git a/package-lock.json b/package-lock.json index c45283d2bd..a1e1f8ed29 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "rudder-config-schema", - "version": "1.44.0", + "version": "1.44.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "rudder-config-schema", - "version": "1.44.0", + "version": "1.44.1", "license": "MIT", "dependencies": { "ajv": "^8.12.0", diff --git a/package.json b/package.json index b2b9abef82..ca44ae6b91 100755 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "rudder-config-schema", - "version": "1.44.0", + "version": "1.44.1", "description": "", "main": "src/index.ts", "private": true, From b7f12730a3d459ded9d9129d107604ddbcdb3c4d Mon Sep 17 00:00:00 2001 From: ujjwal-ab Date: Wed, 9 Aug 2023 16:53:55 +0530 Subject: [PATCH 11/11] Revert "Revert "fix: schema inconsistency (#761)"" This reverts commit 782e283d9c175463bfd117e557866c4e71baefed. --- scripts/schemaGenerator.py | 5 +- .../destinations/hs/schema.json | 137 ++++++++----- .../destinations/hs/ui-config.json | 12 +- .../destinations/pinterest_tag/schema.json | 113 +++++++---- .../destinations/pinterest_tag/ui-config.json | 11 +- .../destinations/pipedream/schema.json | 9 +- .../destinations/pipedream/ui-config.json | 1 + .../destinations/podsights/schema.json | 7 +- .../destinations/podsights/ui-config.json | 2 +- .../destinations/postgres/schema.json | 2 +- .../destinations/qualaroo/schema.json | 86 ++++++-- .../destinations/qualaroo/ui-config.json | 7 +- .../destinations/quora_pixel/schema.json | 19 +- .../destinations/quora_pixel/ui-config.json | 5 +- .../destinations/redis/schema.json | 45 +++-- .../destinations/redis/ui-config.json | 11 +- .../destinations/refiner/schema.json | 9 +- .../destinations/refiner/ui-config.json | 7 +- .../destinations/revenue_cat/schema.json | 5 +- .../destinations/revenue_cat/ui-config.json | 3 +- .../destinations/rockerbox/schema.json | 68 ++++--- .../destinations/rockerbox/ui-config.json | 6 +- .../destinations/rollbar/schema.json | 21 +- .../destinations/rollbar/ui-config.json | 9 +- .../destinations/rs/schema.json | 107 ++++++---- .../destinations/rs/ui-config.json | 28 +-- .../destinations/s3/schema.json | 51 ++++- .../destinations/s3/ui-config.json | 8 +- .../destinations/s3_datalake/schema.json | 60 ++++-- .../destinations/s3_datalake/ui-config.json | 12 +- .../destinations/salesforce/schema.json | 8 +- .../destinations/salesforce/ui-config.json | 1 + .../destinations/satismeter/schema.json | 88 +++++--- .../destinations/satismeter/ui-config.json | 5 +- .../destinations/sendinblue/schema.json | 41 ++-- .../destinations/sendinblue/ui-config.json | 11 +- .../destinations/sentry/schema.json | 47 ++++- .../destinations/sentry/ui-config.json | 9 +- .../destinations/serenytics/schema.json | 41 ++-- .../destinations/serenytics/ui-config.json | 13 +- .../destinations/shynet/schema.json | 9 +- .../destinations/shynet/ui-config.json | 7 +- .../destinations/signl4/schema.json | 17 +- .../destinations/signl4/ui-config.json | 19 +- .../destinations/singular/schema.json | 30 ++- .../destinations/singular/ui-config.json | 8 +- .../destinations/slack/schema.json | 20 +- .../destinations/slack/ui-config.json | 10 +- .../snapchat_conversion/schema.json | 72 ++++++- .../snapchat_conversion/ui-config.json | 10 +- .../snapchat_custom_audience/schema.json | 6 +- .../snapchat_custom_audience/ui-config.json | 3 +- .../destinations/snapengage/schema.json | 74 +++++-- .../destinations/snapengage/ui-config.json | 5 +- .../destinations/snowflake/schema.json | 190 ++++++++---------- .../destinations/snowflake/ui-config.json | 50 ++--- .../destinations/tiktok_ads/schema.json | 60 +++--- .../destinations/tiktok_ads/ui-config.json | 9 +- .../tiktok_ads_offline_events/schema.json | 6 +- .../tiktok_ads_offline_events/ui-config.json | 3 +- .../destinations/user/schema.json | 4 +- .../destinations/user/ui-config.json | 5 +- .../destinations/vero/schema.json | 14 +- .../destinations/vero/ui-config.json | 5 +- .../destinations/vitally/ui-config.json | 3 +- .../destinations/vwo/schema.json | 31 +-- .../destinations/vwo/ui-config.json | 9 +- .../destinations/webengage/schema.json | 7 +- .../destinations/webengage/ui-config.json | 6 +- .../destinations/webhook/schema.json | 9 +- .../destinations/webhook/ui-config.json | 2 + .../destinations/woopra/schema.json | 46 +++-- .../destinations/woopra/ui-config.json | 11 +- .../destinations/wootric/schema.json | 4 +- .../destinations/wootric/ui-config.json | 7 +- .../destinations/yahoo_dsp/schema.json | 31 ++- .../destinations/yahoo_dsp/ui-config.json | 9 +- .../destinations/yandex_metrica/schema.json | 26 ++- .../yandex_metrica/ui-config.json | 9 +- .../destinations/zapier/schema.json | 2 +- .../destinations/zapier/ui-config.json | 3 +- .../destinations/zendesk/schema.json | 16 +- .../destinations/zendesk/ui-config.json | 7 +- .../destinations/pinterest_tag.json | 30 ++- .../validation/destinations/quora_pixel.json | 12 +- test/data/validation/destinations/rs.json | 21 +- test/data/validation/destinations/s3.json | 6 + .../validation/destinations/s3_datalake.json | 10 +- .../validation/destinations/sendinblue.json | 14 +- test/data/validation/destinations/shynet.json | 2 +- .../validation/destinations/snowflake.json | 39 +++- .../tiktok_ads_offline_events.json | 12 +- test/data/validation/destinations/vero.json | 2 +- test/data/validation/destinations/woopra.json | 4 +- .../validation/destinations/yahoo_dsp.json | 9 +- .../destinations/yandex_metrica.json | 5 +- 96 files changed, 1401 insertions(+), 769 deletions(-) diff --git a/scripts/schemaGenerator.py b/scripts/schemaGenerator.py index 7a196bca8f..280809a65b 100644 --- a/scripts/schemaGenerator.py +++ b/scripts/schemaGenerator.py @@ -17,6 +17,8 @@ CONFIG_DIR = 'src/configurations' +EXCLUDED_DEST = ['postgres'] + class FieldTypeEnum(Enum): STRING = "string" OBJECT = "object" @@ -1002,7 +1004,8 @@ def get_schema_diff(name, selector): uiConfig = file_content.get("uiConfig") schema = file_content.get("configSchema") dbConfig = file_content.get("config") - validate_config_consistency(name, selector, uiConfig, dbConfig, schema) + if name not in EXCLUDED_DEST: + validate_config_consistency(name, selector, uiConfig, dbConfig, schema) if __name__ == '__main__': diff --git a/src/configurations/destinations/hs/schema.json b/src/configurations/destinations/hs/schema.json index fdb5997ad3..0a6a565284 100644 --- a/src/configurations/destinations/hs/schema.json +++ b/src/configurations/destinations/hs/schema.json @@ -1,68 +1,24 @@ { "configSchema": { "$schema": "http://json-schema.org/draft-07/schema#", + "required": [], "type": "object", "properties": { - "authorizationType": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(legacyApiKey|newPrivateAppApi)$" - }, "hubID": { "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" }, - "apiKey": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "accessToken": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "apiVersion": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(legacyApi|newApi)$" - }, - "lookupField": { + "authorizationType": { "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "hubspotEvents": { - "type": "array", - "items": { - "type": "object", - "properties": { - "rsEventName": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "hubspotEventName": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "eventProperties": { - "type": "array", - "items": { - "type": "object", - "properties": { - "from": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "to": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - } - } - } + "enum": ["legacyApiKey", "newPrivateAppApi"], + "default": "legacyApiKey" }, + "apiVersion": { "type": "string", "enum": ["legacyApi", "newApi"], "default": "legacyApi" }, "useNativeSDK": { "type": "object", "properties": { "web": { "type": "boolean" } } }, "eventFilteringOption": { "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(disable|whitelistedEvents|blacklistedEvents)$" + "enum": ["disable", "whitelistedEvents", "blacklistedEvents"], + "default": "disable" }, "whitelistedEvents": { "type": "array", @@ -100,6 +56,83 @@ } } } - } + }, + "allOf": [ + { + "if": { + "properties": { "authorizationType": { "const": "legacyApiKey" } }, + "required": ["authorizationType"] + }, + "then": { + "properties": { + "apiKey": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + } + }, + "required": ["apiKey"] + } + }, + { + "if": { + "properties": { "authorizationType": { "const": "newPrivateAppApi" } }, + "required": ["authorizationType"] + }, + "then": { + "properties": { + "accessToken": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + } + }, + "required": ["accessToken"] + } + }, + { + "if": { "properties": { "apiVersion": { "const": "newApi" } }, "required": ["apiVersion"] }, + "then": { + "properties": { + "lookupField": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + }, + "doAssociation": { "type": "boolean", "default": false }, + "hubspotEvents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "rsEventName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "hubspotEventName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "eventProperties": { + "type": "array", + "items": { + "type": "object", + "properties": { + "from": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "to": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + } + } + } + }, + "required": ["lookupField"] + } + } + ] } } diff --git a/src/configurations/destinations/hs/ui-config.json b/src/configurations/destinations/hs/ui-config.json index fb1b734c1b..d02ab3e551 100644 --- a/src/configurations/destinations/hs/ui-config.json +++ b/src/configurations/destinations/hs/ui-config.json @@ -7,7 +7,7 @@ "type": "textInput", "label": "Hub ID", "value": "hubID", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "regexErrorMessage": "Invalid Hub ID", "required": false, "placeholder": "e.g: 748991", @@ -39,7 +39,7 @@ }, "label": "API Key", "value": "apiKey", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", "regexErrorMessage": "Invalid API Key", "required": true, "placeholder": "e.g: 05afa518-132c-40db-830a-de0f688902f7", @@ -53,7 +53,7 @@ }, "label": "Access Token", "value": "accessToken", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", "regexErrorMessage": "Invalid Access Token", "required": true, "placeholder": "e.g: pat-eu1-kjg875ya-9de4-98uu-8171-62875ht847r9", @@ -85,7 +85,7 @@ }, "label": "Hubspot property name to be used as lookup field", "value": "lookupField", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", "regexErrorMessage": "Invalid Property Name", "required": true, "placeholder": "e.g: lookupField", @@ -114,7 +114,7 @@ "type": "textInput", "label": "RudderStack Event Name", "value": "rsEventName", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "required": false, "placeholder": "e.g Products Searched", "footerNote": "Enter the RudderStack event name you want to map" @@ -123,7 +123,7 @@ "type": "textInput", "label": "HubSpot Event Name", "value": "hubspotEventName", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "required": false, "placeholder": "e.g Search", "footerNote": "Enter the corresponding Hubspot event name you want to map" diff --git a/src/configurations/destinations/pinterest_tag/schema.json b/src/configurations/destinations/pinterest_tag/schema.json index 9e278fad23..6b71c78777 100644 --- a/src/configurations/destinations/pinterest_tag/schema.json +++ b/src/configurations/destinations/pinterest_tag/schema.json @@ -1,66 +1,61 @@ { "configSchema": { "$schema": "http://json-schema.org/draft-07/schema#", + "required": [], "type": "object", "properties": { "tagId": { "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^[0-9]*$" }, - "advertiserId": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^[0-9]*$" - }, "appId": { "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^[0-9]*$" }, - "apiVersion": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(legacyApi|newApi)$" - }, - "adAccountId": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^[0-9]*$" - }, - "conversionToken": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,101})$" - }, - "sendingUnHashedData": { "type": "boolean" }, - "enableDeduplication": { "type": "boolean" }, - "deduplicationKey": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "enhancedMatch": { "type": "boolean" }, - "sendExternalId": { "type": "boolean" }, - "sendAsCustomEvent": { "type": "boolean" }, - "eventsMapping": { + "apiVersion": { "type": "string", "enum": ["legacyApi", "newApi"], "default": "legacyApi" }, + "sendingUnHashedData": { "type": "boolean", "default": true }, + "enableDeduplication": { "type": "boolean", "default": false }, + "enhancedMatch": { "type": "boolean", "default": true }, + "sendExternalId": { "type": "boolean", "default": false }, + "sendAsCustomEvent": { "type": "boolean", "default": false }, + "customProperties": { "type": "array", "items": { "type": "object", "properties": { - "from": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "to": { + "properties": { "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" } } } }, - "customProperties": { + "eventsMapping": { "type": "array", "items": { "type": "object", "properties": { - "properties": { + "from": { "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "to": { + "type": "string", + "enum": [ + "Lead", + "PageVisit", + "ViewCategory", + "Signup", + "WatchVideo", + "Checkout", + "Search", + "AddToCart", + "Custom", + "" + ] } } } }, + "useNativeSDK": { "type": "object", "properties": { "web": { "type": "boolean" } } }, "eventFilteringOption": { "type": "string", - "pattern": "(^env[.].+)|^(disable|whitelistedEvents|blacklistedEvents)$" + "enum": ["disable", "whitelistedEvents", "blacklistedEvents"], + "default": "disable" }, "whitelistedEvents": { "type": "array", @@ -98,6 +93,54 @@ } } } - } + }, + "allOf": [ + { + "if": { + "properties": { "apiVersion": { "const": "legacyApi" } }, + "required": ["apiVersion"] + }, + "then": { + "properties": { + "advertiserId": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^[0-9]*$" + } + }, + "required": [] + } + }, + { + "if": { "properties": { "apiVersion": { "const": "newApi" } }, "required": ["apiVersion"] }, + "then": { + "properties": { + "adAccountId": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^[0-9]*$" + }, + "conversionToken": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,101})$" + } + }, + "required": ["adAccountId", "conversionToken"] + } + }, + { + "if": { + "properties": { "enableDeduplication": { "const": true } }, + "required": ["enableDeduplication"] + }, + "then": { + "properties": { + "deduplicationKey": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + } + }, + "required": ["deduplicationKey"] + } + } + ] } } diff --git a/src/configurations/destinations/pinterest_tag/ui-config.json b/src/configurations/destinations/pinterest_tag/ui-config.json index 35ddf68d32..67fe4e3790 100644 --- a/src/configurations/destinations/pinterest_tag/ui-config.json +++ b/src/configurations/destinations/pinterest_tag/ui-config.json @@ -7,6 +7,7 @@ "type": "textInput", "label": "TAG ID", "value": "tagId", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^[0-9]*$", "required": false, "placeholder": "e.g: 123456789", "secret": true @@ -15,6 +16,7 @@ "type": "textInput", "label": "App Store App ID", "value": "appId", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^[0-9]*$", "required": false, "placeholder": "e.g: 429047995", "secret": false, @@ -63,7 +65,7 @@ "value": "adAccountId", "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^[0-9]*$", "regexErrorMessage": "Invalid Ad Account ID", - "required": false, + "required": true, "placeholder": "e.g: 549935085302", "secret": true, "footerNote": "Required field for cloud mode integration. For more information about how to get ad account id refer docs" @@ -76,9 +78,9 @@ }, "label": "Conversion Token", "value": "conversionToken", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,101})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,101})$", "regexErrorMessage": "Invalid Conversion Token", - "required": false, + "required": true, "placeholder": "e.g: pina_A98DB973KWL8XP1LZ94KJF0BMA5PEZ8C6490FWEI01QJMN32YU", "secret": true, "footerNote": "Required field for cloud mode integration. For more information about how to get conversion token refer docs" @@ -113,7 +115,8 @@ "label": "Deduplication Key", "value": "deduplicationKey", "placeholder": "e.g: messageId", - "required": false, + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", + "required": true, "footerNote": "Rudderstack will send this key-value from payload as an event deduplication key" }, { diff --git a/src/configurations/destinations/pipedream/schema.json b/src/configurations/destinations/pipedream/schema.json index 49f7bcf938..6e99701b65 100644 --- a/src/configurations/destinations/pipedream/schema.json +++ b/src/configurations/destinations/pipedream/schema.json @@ -1,8 +1,8 @@ { "configSchema": { "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", "required": ["pipedreamUrl"], + "type": "object", "properties": { "pipedreamUrl": { "type": "string", @@ -10,7 +10,8 @@ }, "pipedreamMethod": { "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(^(POST|PUT|PATCH|GET|DELETE)$)" + "enum": ["POST", "PUT", "PATCH", "GET", "DELETE"], + "default": "POST" }, "headers": { "type": "array", @@ -19,11 +20,11 @@ "properties": { "from": { "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,1000})$" }, "to": { "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100000})$" + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,1000})$" } } } diff --git a/src/configurations/destinations/pipedream/ui-config.json b/src/configurations/destinations/pipedream/ui-config.json index 6e128845bc..88bc6b5692 100644 --- a/src/configurations/destinations/pipedream/ui-config.json +++ b/src/configurations/destinations/pipedream/ui-config.json @@ -32,6 +32,7 @@ "labelRight": "Value", "keyLeft": "from", "keyRight": "to", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,1000})$", "placeholderLeft": "content-type", "placeholderRight": "application/json", "value": "headers" diff --git a/src/configurations/destinations/podsights/schema.json b/src/configurations/destinations/podsights/schema.json index 5094693670..8552c28a34 100644 --- a/src/configurations/destinations/podsights/schema.json +++ b/src/configurations/destinations/podsights/schema.json @@ -1,8 +1,8 @@ { "configSchema": { "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", "required": ["pixelId"], + "type": "object", "properties": { "pixelId": { "type": "string", @@ -19,7 +19,7 @@ }, "to": { "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + "enum": ["lead", "product", "addtocart", "checkout", "purchase", ""] } } } @@ -27,7 +27,8 @@ "enableAliasCall": { "type": "boolean", "default": false }, "eventFilteringOption": { "type": "string", - "pattern": "(^env[.].+)|^(disable|whitelistedEvents|blacklistedEvents)$" + "enum": ["disable", "whitelistedEvents", "blacklistedEvents"], + "default": "disable" }, "whitelistedEvents": { "type": "array", diff --git a/src/configurations/destinations/podsights/ui-config.json b/src/configurations/destinations/podsights/ui-config.json index 03b773c0f1..c9894466d2 100644 --- a/src/configurations/destinations/podsights/ui-config.json +++ b/src/configurations/destinations/podsights/ui-config.json @@ -7,7 +7,7 @@ "type": "textInput", "label": "Pixel ID", "value": "pixelId", - "regex": "^(.{0,100})$", + "regex": "^(.{1,100})$", "regexErrorMessage": "Invalid Pixel ID", "required": true, "placeholder": "e.g. dzq1p89h2bnp1ubi9x65hyx2hf5q1k3v", diff --git a/src/configurations/destinations/postgres/schema.json b/src/configurations/destinations/postgres/schema.json index 625558306f..d62cbd63bd 100644 --- a/src/configurations/destinations/postgres/schema.json +++ b/src/configurations/destinations/postgres/schema.json @@ -58,7 +58,7 @@ "sshHost": { "type": "string", "pattern": "(^env[.].+)|^(.{1,255})$" }, "sshPort": { "type": "string", "pattern": "(^env[.].+)|^(.{1,255})$" }, "sshUser": { "type": "string", "pattern": "(^env[.].+)|^(.{1,255})$" }, - "sshPublicKey": { "type": "string", "pattern": "(^env[.].+)|^(.{1,10000})$" } + "sshPublicKey": { "type": "string", "pattern": "(^env[.].+)|^(.{1,1000})$" } }, "required": ["sshHost", "sshPort", "sshUser", "sshPublicKey"] } diff --git a/src/configurations/destinations/qualaroo/schema.json b/src/configurations/destinations/qualaroo/schema.json index e712ad15b8..85125b149a 100644 --- a/src/configurations/destinations/qualaroo/schema.json +++ b/src/configurations/destinations/qualaroo/schema.json @@ -1,8 +1,8 @@ { "configSchema": { "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", "required": ["customerId", "siteToken"], + "type": "object", "properties": { "customerId": { "type": "string", @@ -12,27 +12,12 @@ "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" }, - "recordQualarooEvents": { "type": "boolean" }, - "updateEventNames": { "type": "boolean" }, - "eventsToStandard": { - "type": "array", - "items": { - "type": "object", - "properties": { - "from": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "to": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, + "useNativeSDK": { "type": "object", "properties": { "web": { "type": "boolean" } } }, + "recordQualarooEvents": { "type": "boolean", "default": false }, "eventFilteringOption": { "type": "string", - "pattern": "(^env[.].+)|^(disable|whitelistedEvents|blacklistedEvents)$" + "enum": ["disable", "whitelistedEvents", "blacklistedEvents"], + "default": "disable" }, "whitelistedEvents": { "type": "array", @@ -58,7 +43,6 @@ } } }, - "useNativeSDK": { "type": "object", "properties": { "web": { "type": "boolean" } } }, "oneTrustCookieCategories": { "type": "array", "items": { @@ -71,6 +55,64 @@ } } } - } + }, + "allOf": [ + { + "if": { + "properties": { "recordQualarooEvents": { "const": true } }, + "required": ["recordQualarooEvents"] + }, + "then": { + "properties": { + "eventsList": { + "type": "array", + "items": { "type": "string", "enum": ["show", "close", "submit", "noTargetMatch"] }, + "default": ["show"] + } + }, + "required": [] + } + }, + { + "if": { + "properties": { "recordQualarooEvents": { "const": true } }, + "required": ["recordQualarooEvents"] + }, + "then": { + "properties": { "updateEventNames": { "type": "boolean", "default": false } }, + "required": [] + } + }, + { + "if": { + "properties": { + "recordQualarooEvents": { "const": true }, + "updateEventNames": { "const": true } + }, + "required": ["recordQualarooEvents", "updateEventNames"] + }, + "then": { + "properties": { + "eventsToStandard": { + "type": "array", + "items": { + "type": "object", + "properties": { + "from": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "to": { + "type": "string", + "enum": ["show", "close", "submit", "noTargetMatch", ""] + } + } + } + } + }, + "required": [] + } + } + ] } } diff --git a/src/configurations/destinations/qualaroo/ui-config.json b/src/configurations/destinations/qualaroo/ui-config.json index c0bbecab14..7b67c94a38 100644 --- a/src/configurations/destinations/qualaroo/ui-config.json +++ b/src/configurations/destinations/qualaroo/ui-config.json @@ -7,7 +7,7 @@ "type": "textInput", "label": "Customer ID", "value": "customerId", - "regex": "^(.{1,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", "regexErrorMessage": "Invalid Customer ID", "required": true, "placeholder": "e.g. 92102", @@ -18,7 +18,7 @@ "type": "textInput", "label": "Site Token", "value": "siteToken", - "regex": "^(.{1,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", "regexErrorMessage": "Invalid Site Token", "required": true, "placeholder": "e.g. j8N", @@ -171,6 +171,7 @@ { "type": "textInput", "value": "eventName", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "required": false, "placeholder": "e.g: Anonymous Page Visit" } @@ -184,6 +185,7 @@ { "type": "textInput", "value": "eventName", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "required": false, "placeholder": "e.g: Credit Card Added" } @@ -203,6 +205,7 @@ "type": "textInput", "placeholder": "Marketing", "value": "oneTrustCookieCategory", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "label": "Category Name/ID", "required": false } diff --git a/src/configurations/destinations/quora_pixel/schema.json b/src/configurations/destinations/quora_pixel/schema.json index 00e9256573..4f4641ec65 100644 --- a/src/configurations/destinations/quora_pixel/schema.json +++ b/src/configurations/destinations/quora_pixel/schema.json @@ -1,8 +1,8 @@ { "configSchema": { "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", "required": ["pixelId"], + "type": "object", "properties": { "pixelId": { "type": "string", @@ -19,14 +19,27 @@ }, "to": { "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + "enum": [ + "Generic", + "Purchase", + "GenerateLead", + "CompleteRegistration", + "AddPaymentInfo", + "AddToCart", + "AddToWishlist", + "InitiateCheckout", + "Search", + "Custom", + "" + ] } } } }, "eventFilteringOption": { "type": "string", - "pattern": "(^env[.].+)|^(disable|whitelistedEvents|blacklistedEvents)$" + "enum": ["disable", "whitelistedEvents", "blacklistedEvents"], + "default": "disable" }, "whitelistedEvents": { "type": "array", diff --git a/src/configurations/destinations/quora_pixel/ui-config.json b/src/configurations/destinations/quora_pixel/ui-config.json index 8a7004b310..67488df1b0 100644 --- a/src/configurations/destinations/quora_pixel/ui-config.json +++ b/src/configurations/destinations/quora_pixel/ui-config.json @@ -7,7 +7,7 @@ "type": "textInput", "label": "PIXEL ID", "value": "pixelId", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", "regexErrorMessage": "Invalid PIXEL ID", "required": true, "placeholder": "e.g. d2bnp1ubi9x6zq1p89h5hyx2hf5q1k3v", @@ -110,6 +110,7 @@ { "type": "textInput", "value": "eventName", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "required": false, "placeholder": "e.g: Anonymous Page Visit" } @@ -123,6 +124,7 @@ { "type": "textInput", "value": "eventName", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "required": false, "placeholder": "e.g: Credit Card Added" } @@ -153,6 +155,7 @@ "type": "textInput", "placeholder": "Marketing", "value": "oneTrustCookieCategory", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "label": "Category Name/ID", "required": false } diff --git a/src/configurations/destinations/redis/schema.json b/src/configurations/destinations/redis/schema.json index bf6542350a..6690107604 100644 --- a/src/configurations/destinations/redis/schema.json +++ b/src/configurations/destinations/redis/schema.json @@ -1,30 +1,20 @@ { "configSchema": { "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, "required": ["address"], + "type": "object", "properties": { "address": { "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{0,100})$" }, "password": { "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|.*" }, - "clusterMode": { "type": "boolean" }, - "secure": { "type": "boolean" }, + "clusterMode": { "type": "boolean", "default": true }, + "secure": { "type": "boolean", "default": false }, "prefix": { "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" }, - "database": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "caCertificate": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|.*" - }, - "skipVerify": { "type": "boolean" }, "oneTrustCookieCategories": { "type": "array", "items": { @@ -37,6 +27,33 @@ } } } - } + }, + "allOf": [ + { + "if": { "properties": { "clusterMode": { "const": false } }, "required": ["clusterMode"] }, + "then": { + "properties": { + "database": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + }, + "required": [] + } + }, + { + "if": { "properties": { "secure": { "const": true } }, "required": ["secure"] }, + "then": { + "properties": { + "skipVerify": { "type": "boolean", "default": false }, + "caCertificate": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|.*" + } + }, + "required": [] + } + } + ] } } diff --git a/src/configurations/destinations/redis/ui-config.json b/src/configurations/destinations/redis/ui-config.json index 8a4e586e4d..91809575e1 100644 --- a/src/configurations/destinations/redis/ui-config.json +++ b/src/configurations/destinations/redis/ui-config.json @@ -7,7 +7,7 @@ "type": "textInput", "label": "Address", "value": "address", - "regex": "(?!.*\\.ngrok\\.io)^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{0,100})$", "regexErrorMessage": "Invalid Address", "required": true, "placeholder": "e.g: localhost:6379" @@ -16,7 +16,7 @@ "type": "textInput", "label": "Password", "value": "password", - "regex": ".*", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|.*", "required": false, "placeholder": "", "secret": true @@ -25,7 +25,7 @@ "type": "textInput", "label": "Database", "value": "database", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "regexErrorMessage": "Invalid Database", "required": false, "placeholder": "", @@ -46,7 +46,7 @@ "preRequisiteField": { "name": "secure", "selectedValue": true }, "label": "CA certificate", "value": "caCertificate", - "regex": ".*", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|.*", "required": false, "placeholder": "CA Certificate", "footerNote": "Can be skipped for CA's that can be verified with any client (eg. Elasticache)" @@ -55,7 +55,7 @@ "type": "textInput", "label": "Prefix", "value": "prefix", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "regexErrorMessage": "Invalid Prefix", "required": false, "placeholder": "" @@ -74,6 +74,7 @@ "type": "textInput", "placeholder": "Marketing", "value": "oneTrustCookieCategory", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "label": "Category Name/ID", "required": false } diff --git a/src/configurations/destinations/refiner/schema.json b/src/configurations/destinations/refiner/schema.json index 098ec124f3..e1ccb45522 100644 --- a/src/configurations/destinations/refiner/schema.json +++ b/src/configurations/destinations/refiner/schema.json @@ -1,8 +1,8 @@ { "configSchema": { "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", "required": ["apiKey", "webClientApiKey"], + "type": "object", "properties": { "apiKey": { "type": "string", @@ -44,6 +44,12 @@ } } }, + "useNativeSDK": { "type": "object", "properties": { "web": { "type": "boolean" } } }, + "eventFilteringOption": { + "type": "string", + "enum": ["disable", "whitelistedEvents", "blacklistedEvents"], + "default": "disable" + }, "whitelistedEvents": { "type": "array", "items": { @@ -68,7 +74,6 @@ } } }, - "useNativeSDK": { "type": "object", "properties": { "web": { "type": "boolean" } } }, "oneTrustCookieCategories": { "type": "array", "items": { diff --git a/src/configurations/destinations/refiner/ui-config.json b/src/configurations/destinations/refiner/ui-config.json index 058377a109..294a129078 100644 --- a/src/configurations/destinations/refiner/ui-config.json +++ b/src/configurations/destinations/refiner/ui-config.json @@ -7,7 +7,7 @@ "type": "textInput", "label": "Refiner REST API Key", "value": "apiKey", - "regex": "^(.{1,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", "required": true, "placeholder": "e.g. da70156h-05a3-4fa6-bb1g-da757fd036b4", "secret": true, @@ -17,7 +17,7 @@ "type": "textInput", "label": "Refiner Web Client API Key", "value": "webClientApiKey", - "regex": "^(.{1,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", "required": true, "placeholder": "e.g. 0d8759e0-401c-11ed-8dbd-9757h4929b55", "secret": true, @@ -100,6 +100,7 @@ { "type": "textInput", "value": "eventName", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "required": false, "placeholder": "e.g: Anonymous Page Visit" } @@ -113,6 +114,7 @@ { "type": "textInput", "value": "eventName", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "required": false, "placeholder": "e.g: Credit Card Added" } @@ -132,6 +134,7 @@ "type": "textInput", "placeholder": "Marketing", "value": "oneTrustCookieCategory", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "label": "Category Name/ID", "required": false } diff --git a/src/configurations/destinations/revenue_cat/schema.json b/src/configurations/destinations/revenue_cat/schema.json index ef312897e5..1aff6af154 100644 --- a/src/configurations/destinations/revenue_cat/schema.json +++ b/src/configurations/destinations/revenue_cat/schema.json @@ -1,8 +1,8 @@ { "configSchema": { "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", "required": ["apiKey"], + "type": "object", "properties": { "apiKey": { "type": "string", @@ -10,7 +10,8 @@ }, "xPlatform": { "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(ios|android|amazon|macos|stripe|uikitformac)$" + "enum": ["ios", "android", "amazon", "macos", "stripe", "uikitformac"], + "default": "stripe" }, "oneTrustCookieCategories": { "type": "array", diff --git a/src/configurations/destinations/revenue_cat/ui-config.json b/src/configurations/destinations/revenue_cat/ui-config.json index 241acd6923..3326fea480 100644 --- a/src/configurations/destinations/revenue_cat/ui-config.json +++ b/src/configurations/destinations/revenue_cat/ui-config.json @@ -7,7 +7,7 @@ "type": "textInput", "label": "Public API Key", "value": "apiKey", - "regex": "^(.{1,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", "required": true, "placeholder": "e.g. b4a29aba5e75d99c8a18acd920ec1e2e", "secret": true, @@ -41,6 +41,7 @@ "type": "textInput", "placeholder": "Marketing", "value": "oneTrustCookieCategory", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "label": "Category Name/ID", "required": false } diff --git a/src/configurations/destinations/rockerbox/schema.json b/src/configurations/destinations/rockerbox/schema.json index 2f19855743..210a1021cc 100644 --- a/src/configurations/destinations/rockerbox/schema.json +++ b/src/configurations/destinations/rockerbox/schema.json @@ -1,37 +1,31 @@ { "configSchema": { "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", "required": ["advertiserId"], + "type": "object", "properties": { - "advertiserId": { "type": "string" }, - "clientAuthId": { "type": "object", "properties": { "web": { "type": "string" } } }, - "customDomain": { - "type": "object", - "properties": { "web": { "type": "string", "pattern": "^(?!.*\\.ngrok\\.io).*$" } } + "advertiserId": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" }, - "enableCookieSync": { "type": "object", "properties": { "web": { "type": "boolean" } } }, - "eventsMap": { + "eventFilteringOption": { + "type": "string", + "enum": ["disable", "whitelistedEvents", "blacklistedEvents"], + "default": "disable" + }, + "whitelistedEvents": { "type": "array", "items": { "type": "object", "properties": { - "from": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "to": { + "eventName": { "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" } } } }, - "eventFilteringOption": { - "type": "string", - "pattern": "(^env[.].+)|^(disable|whitelistedEvents|blacklistedEvents)$" - }, - "whitelistedEvents": { + "blacklistedEvents": { "type": "array", "items": { "type": "object", @@ -43,31 +37,57 @@ } } }, - "blacklistedEvents": { + "oneTrustCookieCategories": { "type": "array", "items": { "type": "object", "properties": { - "eventName": { + "oneTrustCookieCategory": { "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" } } } }, - "useNativeSDK": { "type": "object", "properties": { "web": { "type": "boolean" } } }, - "useNativeSDKToSend": { "type": "object", "properties": { "web": { "type": "boolean" } } }, - "oneTrustCookieCategories": { + "eventsMap": { "type": "array", "items": { "type": "object", "properties": { - "oneTrustCookieCategory": { + "from": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "to": { "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" } } } + }, + "clientAuthId": { + "type": "object", + "properties": { + "web": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + }, + "customDomain": { + "type": "object", + "properties": { + "web": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(?!.*\\.ngrok\\.io).*$" + } + } + }, + "enableCookieSync": { "type": "object", "properties": { "web": { "type": "boolean" } } }, + "useNativeSDK": { "type": "object", "properties": { "web": { "type": "boolean" } } }, + "connectionMode": { + "type": "object", + "properties": { "web": { "type": "string", "enum": ["cloud", "device", "hybrid"] } } } } } diff --git a/src/configurations/destinations/rockerbox/ui-config.json b/src/configurations/destinations/rockerbox/ui-config.json index cfc95c8763..a850e3a8b9 100644 --- a/src/configurations/destinations/rockerbox/ui-config.json +++ b/src/configurations/destinations/rockerbox/ui-config.json @@ -17,7 +17,7 @@ "label": "Advertiser Id", "note": "Enter you Advertiser Id. If you don't have this, contact your RockerBox account manager", "configKey": "advertiserId", - "regex": "^(.{1,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", "regexErrorMessage": "Invalid Advertiser Id", "placeholder": "e.g: MOx2ZmMwLNE2A2IdNKL0N2VhN2I3ZGY1MTVmMzA1ODk0YmIkN" } @@ -202,7 +202,7 @@ "label": "Client Auth ID", "note": "Set you Client Auth ID here", "configKey": "clientAuthId", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "regexErrorMessage": "Length of API Key must be below 50 characters.", "placeholder": "e.g: 755fc11162r14c41ar7e7df232f305984bb021a1" }, @@ -211,7 +211,7 @@ "label": "Custom Domain", "note": "Load pixel from a custom specific domain", "configKey": "customDomain", - "regex": "^(?!.*\\.ngrok\\.io).*$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(?!.*\\.ngrok\\.io).*$", "regexErrorMessage": "Invalid Custom Domain", "placeholder": "customdomain.com" }, diff --git a/src/configurations/destinations/rollbar/schema.json b/src/configurations/destinations/rollbar/schema.json index 94f4c0e0d8..4f0b4708bc 100644 --- a/src/configurations/destinations/rollbar/schema.json +++ b/src/configurations/destinations/rollbar/schema.json @@ -8,30 +8,36 @@ "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" }, - "captureUncaughtException": { "type": "boolean" }, - "captureUnhandledRejections": { "type": "boolean" }, - "guessUncaughtFrames": { "type": "boolean" }, + "useNativeSDK": { "type": "object", "properties": { "web": { "type": "boolean" } } }, + "captureUncaughtException": { "type": "boolean", "default": true }, + "captureUnhandledRejections": { "type": "boolean", "default": false }, + "guessUncaughtFrames": { "type": "boolean", "default": false }, "codeVersion": { "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" }, "environment": { "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" }, "ignoredMessages": { "type": "array", "items": { "type": "object", "properties": { - "eventName": { + "singleIgnoredMessage": { "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" } } } }, - "sourceMapEnabled": { "type": "boolean" }, + "sourceMapEnabled": { "type": "boolean", "default": false }, + "eventFilteringOption": { + "type": "string", + "enum": ["disable", "whitelistedEvents", "blacklistedEvents"], + "default": "disable" + }, "whitelistedEvents": { "type": "array", "items": { @@ -56,7 +62,6 @@ } } }, - "useNativeSDK": { "type": "object", "properties": { "web": { "type": "boolean" } } }, "oneTrustCookieCategories": { "type": "array", "items": { diff --git a/src/configurations/destinations/rollbar/ui-config.json b/src/configurations/destinations/rollbar/ui-config.json index 02201c8f2a..413ebe2408 100644 --- a/src/configurations/destinations/rollbar/ui-config.json +++ b/src/configurations/destinations/rollbar/ui-config.json @@ -7,7 +7,7 @@ "type": "textInput", "label": "Access Token", "value": "accessToken", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", "regexErrorMessage": "Invalid Access Token", "required": true, "placeholder": "e.g: 96d96af0cdb847f4b1a4e7cc13255705", @@ -55,7 +55,7 @@ "type": "textInput", "label": "Code Version", "value": "codeVersion", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "regexErrorMessage": "Invalid ", "required": false, "placeholder": "e.g. 1.1.1", @@ -66,7 +66,7 @@ "type": "textInput", "label": "Environment", "value": "environment", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "regexErrorMessage": "Invalid ", "required": false, "placeholder": "e.g. production", @@ -131,6 +131,7 @@ { "type": "textInput", "value": "eventName", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "required": false, "placeholder": "e.g: Anonymous Page Visit" } @@ -144,6 +145,7 @@ { "type": "textInput", "value": "eventName", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "required": false, "placeholder": "e.g: Credit Card Added" } @@ -163,6 +165,7 @@ "type": "textInput", "placeholder": "Marketing", "value": "oneTrustCookieCategory", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "label": "Category Name/ID", "required": false } diff --git a/src/configurations/destinations/rs/schema.json b/src/configurations/destinations/rs/schema.json index e9332052c8..4e5b3ee280 100644 --- a/src/configurations/destinations/rs/schema.json +++ b/src/configurations/destinations/rs/schema.json @@ -1,7 +1,6 @@ { "configSchema": { - "$schema": "http://json-schema.org/draft-07/schema", - "type": "object", + "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "host", "port", @@ -11,35 +10,48 @@ "syncFrequency", "useRudderStorage" ], + "type": "object", "properties": { - "host": { "type": "string", "pattern": "(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{1,255})$" }, - "port": { "type": "string", "pattern": "(^env[.].+)|^(.{1,100})$" }, - "database": { "type": "string", "pattern": "(^env[.].+)|^(.{1,100})$" }, - "user": { "type": "string", "pattern": "(^env[.].+)|^(.{1,100})$" }, - "password": { "type": "string", "pattern": "(^env[.].+)|.+" }, - "namespace": { "type": "string", "pattern": "(^env[.].*)|^((?!pg_|PG_|pG_|Pg_).{0,64})$" }, + "host": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{1,255})$" + }, + "port": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + }, + "database": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + }, + "user": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + }, + "password": { "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|.*" }, + "namespace": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^((?!pg_|PG_|pG_|Pg_).{0,64})$" + }, "syncFrequency": { "type": "string", - "pattern": "^(30|60|180|360|720|1440)$", + "enum": ["30", "60", "180", "360", "720", "1440"], "default": "30" }, "syncStartAt": { "type": "string" }, "excludeWindow": { "type": "object", - "required": ["excludeWindowStartTime", "excludeWindowEndTime"], "properties": { "excludeWindowStartTime": { "type": "string" }, "excludeWindowEndTime": { "type": "string" } - } + }, + "required": ["excludeWindowStartTime", "excludeWindowEndTime"] + }, + "jsonPaths": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.*)$" }, - "jsonPaths": { "type": "string", "pattern": "(^env[.].*)|.*" }, "useRudderStorage": { "type": "boolean", "default": false }, - "prefix": { "type": "string", "pattern": "(^env[.].*)|^(.{0,100})$" }, - "iamRoleARN": { "type": "string" }, - "roleBasedAuth": { "type": "boolean" }, - "accessKeyID": { "type": "string", "pattern": "(^env[.].*)|^(.{0,100})$" }, - "accessKey": { "type": "string", "pattern": "(^env[.].*)|^(.{0,100})$" }, - "enableSSE": { "type": "boolean" }, "oneTrustCookieCategories": { "type": "array", "items": { @@ -54,18 +66,6 @@ } }, "allOf": [ - { - "if": { "properties": { "useSSH": { "const": true } }, "required": ["useSSH"] }, - "then": { - "properties": { - "sshHost": { "type": "string", "pattern": "(^env[.].+)|^(.{1,255})$" }, - "sshPort": { "type": "string", "pattern": "(^env[.].+)|^(.{1,255})$" }, - "sshUser": { "type": "string", "pattern": "(^env[.].+)|^(.{1,255})$" }, - "sshPublicKey": { "type": "string", "pattern": "(^env[.].+)|^(.{1,10000})$" } - }, - "required": ["sshHost", "sshPort", "sshUser", "sshPublicKey"] - } - }, { "if": { "properties": { "useRudderStorage": { "const": false } }, @@ -75,22 +75,53 @@ "properties": { "bucketName": { "type": "string", - "pattern": "(^env[.].+)|^((?!^xn--)(?!.*\\.\\..*)(?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$|(^\\{\\{.+\\}\\}$)" - } + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^((?!^xn--)(?!.*\\.\\..*)(?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$|(^\\{\\{.+\\}\\}$)" + }, + "prefix": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^([^\\s]{0,100})$" + }, + "enableSSE": { "type": "boolean", "default": false } }, - "required": ["bucketName"] + "required": ["bucketName"], + "anyOf": [ + { + "properties": { + "accessKeyID": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "accessKey": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "roleBasedAuth": { "const": false } + }, + "required": [] + }, + { + "properties": { + "iamRoleARN": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "roleBasedAuth": { "const": true } + }, + "required": ["iamRoleARN", "roleBasedAuth"] + } + ] } }, { "if": { - "properties": { "roleBasedAuth": { "const": true } }, - "required": ["roleBasedAuth"] + "properties": { "useRudderStorage": { "const": false } }, + "required": ["useRudderStorage"] }, "then": { - "required": ["iamRoleARN"] + "properties": { "roleBasedAuth": { "type": "boolean", "default": true } }, + "required": [] } } - ], - "additionalProperties": true + ] } } diff --git a/src/configurations/destinations/rs/ui-config.json b/src/configurations/destinations/rs/ui-config.json index d0939e37dc..dbc7e0db45 100644 --- a/src/configurations/destinations/rs/ui-config.json +++ b/src/configurations/destinations/rs/ui-config.json @@ -7,7 +7,7 @@ "type": "textInput", "label": "Host", "value": "host", - "regex": "(?!.*\\.ngrok\\.io)^(.{0,255})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{1,255})$", "regexErrorMessage": "Invalid Host", "placeholder": "redshift.mydomain.com", "required": true @@ -16,7 +16,7 @@ "type": "textInput", "label": "Port", "value": "port", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", "regexErrorMessage": "Invalid Port", "placeholder": "5439", "required": true @@ -25,7 +25,7 @@ "type": "textInput", "label": "Database", "value": "database", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", "regexErrorMessage": "Invalid Database", "placeholder": "e.g: warehouse", "required": true @@ -34,7 +34,7 @@ "type": "textInput", "label": "User", "value": "user", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", "regexErrorMessage": "Invalid User", "placeholder": "e.g: warehouseuser", "required": true @@ -43,7 +43,7 @@ "type": "textInput", "label": "Password", "value": "password", - "regex": ".*", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|.*", "placeholder": "e.g: warehousepassword", "required": true, "secret": true @@ -53,7 +53,7 @@ "label": "Namespace", "labelNote": "Schema name for the warehouse where the tables are created", "value": "namespace", - "regex": "^((?!pg_|PG_|pG_|Pg_).{0,64})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^((?!pg_|PG_|pG_|Pg_).{0,64})$", "regexErrorMessage": "Invalid Namespace", "required": false, "placeholder": "e.g: iosSource", @@ -72,7 +72,7 @@ { "name": "Every 24 hours", "value": "1440" } ], "defaultOption": { "name": "Every 30 minutes", "value": "30" }, - "required": false + "required": true }, { "type": "timePicker", @@ -97,7 +97,7 @@ "label": "JSON columns (Optional)", "labelNote": "Specify required JSON properties in dot notation separated by commas", "value": "jsonPaths", - "regex": "^(.*)$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.*)$", "placeholder": "e.g: testMap.nestedMap, testArray", "required": false, "footerURL": { @@ -114,6 +114,7 @@ "type": "checkbox", "label": "Use RudderStack managed object storage", "value": "useRudderStorage", + "required": true, "default": false, "footerNote": "Note: Only available for Rudderstack managed data planes" }, @@ -122,7 +123,7 @@ "label": "Staging S3 Storage Bucket Name", "labelNote": "S3 Bucket to store data before loading into Redshift", "value": "bucketName", - "regex": "^((?!^xn--)(?!.*\\.\\..*)(?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$|(^\\{\\{.+\\}\\}$)", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^((?!^xn--)(?!.*\\.\\..*)(?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$|(^\\{\\{.+\\}\\}$)", "regexErrorMessage": "Invalid Bucket name", "required": true, "placeholder": "e.g: event-bucket", @@ -133,7 +134,7 @@ "type": "textInput", "label": "Prefix", "value": "prefix", - "regex": "^([^\\s]{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^([^\\s]{0,100})$", "regexErrorMessage": "Invalid Prefix", "required": false, "placeholder": "e.g: rudder", @@ -154,7 +155,7 @@ ], "label": "IAM Role ARN", "value": "iamRoleARN", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "regexErrorMessage": "Invalid Role ARN", "required": true, "placeholder": "e.g: arn:aws:iam::123456789012:role/S3Access", @@ -167,7 +168,7 @@ "type": "textInput", "label": "AWS Access Key ID", "value": "accessKeyID", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "regexErrorMessage": "Invalid AWS Access Key ID", "required": false, "placeholder": "e.g: access-key-id", @@ -181,7 +182,7 @@ "type": "textInput", "label": "AWS Secret Access Key", "value": "accessKey", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "regexErrorMessage": "Invalid AWS Secret Access Key", "required": false, "placeholder": "e.g: secret-access-key", @@ -212,6 +213,7 @@ "type": "textInput", "placeholder": "Marketing", "value": "oneTrustCookieCategory", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "label": "Category Name/ID", "required": false } diff --git a/src/configurations/destinations/s3/schema.json b/src/configurations/destinations/s3/schema.json index 6e226362cd..4f4be35d90 100644 --- a/src/configurations/destinations/s3/schema.json +++ b/src/configurations/destinations/s3/schema.json @@ -1,8 +1,8 @@ { "configSchema": { "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", "required": ["bucketName"], + "type": "object", "properties": { "bucketName": { "type": "string", @@ -12,13 +12,8 @@ "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" }, - "iamRoleARN": { "type": "string" }, - "roleBasedAuth": { "type": "boolean" }, - "accessKeyID": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "enableSSE": { "type": "boolean" }, + "roleBasedAuth": { "type": "boolean", "default": true }, + "enableSSE": { "type": "boolean", "default": false }, "oneTrustCookieCategories": { "type": "array", "items": { @@ -31,6 +26,44 @@ } } } - } + }, + "allOf": [ + { + "if": { + "properties": { "roleBasedAuth": { "const": true } }, + "required": ["roleBasedAuth"] + }, + "then": { + "properties": { + "iamRoleARN": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "roleBasedAuth": { "const": true } + }, + "required": ["roleBasedAuth"] + } + }, + { + "if": { + "properties": { "roleBasedAuth": { "const": false } }, + "required": ["roleBasedAuth"] + }, + "then": { + "properties": { + "accessKeyID": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "accessKey": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "roleBasedAuth": { "const": false } + }, + "required": [] + } + } + ] } } diff --git a/src/configurations/destinations/s3/ui-config.json b/src/configurations/destinations/s3/ui-config.json index 920e9f0afc..cb6043aa28 100644 --- a/src/configurations/destinations/s3/ui-config.json +++ b/src/configurations/destinations/s3/ui-config.json @@ -7,7 +7,7 @@ "type": "textInput", "label": "S3 Bucket Name", "value": "bucketName", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", "regexErrorMessage": "Invalid S3 Bucket Name", "required": true, "placeholder": "e.g: s3-event-logs" @@ -32,7 +32,7 @@ "preRequisiteField": { "name": "roleBasedAuth", "selectedValue": true }, "label": "IAM Role ARN", "value": "iamRoleARN", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "regexErrorMessage": "Invalid Role ARN", "required": false, "placeholder": "e.g: arn:aws:iam::123456789012:role/S3Access", @@ -46,7 +46,7 @@ "preRequisiteField": { "name": "roleBasedAuth", "selectedValue": false }, "label": "AWS Access Key ID", "value": "accessKeyID", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "regexErrorMessage": "Invalid AWS Access Key ID", "required": false, "placeholder": "e.g: access-key-id", @@ -57,7 +57,7 @@ "preRequisiteField": { "name": "roleBasedAuth", "selectedValue": false }, "label": "AWS Secret Access Key", "value": "accessKey", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "regexErrorMessage": "Invalid AWS Secret Access Key", "required": false, "placeholder": "e.g: secret-access-key", diff --git a/src/configurations/destinations/s3_datalake/schema.json b/src/configurations/destinations/s3_datalake/schema.json index 277893a3dd..11fa124a09 100644 --- a/src/configurations/destinations/s3_datalake/schema.json +++ b/src/configurations/destinations/s3_datalake/schema.json @@ -1,24 +1,24 @@ { "configSchema": { - "$schema": "http://json-schema.org/draft-07/schema", + "$schema": "http://json-schema.org/draft-07/schema#", + "required": ["bucketName"], "type": "object", - "required": ["bucketName", "useGlue", "syncFrequency"], "properties": { "bucketName": { "type": "string", - "pattern": "(^env[.].+)|^((?!^xn--)(?!.*\\.\\..*)(?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$" + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^((?!^xn--)(?!.*\\.\\..*)(?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$" }, - "useGlue": { "type": "boolean" }, - "prefix": { "type": "string", "pattern": "(^env[.].*)|.*" }, - "namespace": { "type": "string", "pattern": "(^env[.].*)|^((?!pg_|PG_|pG_|Pg_).{0,64})$" }, - "iamRoleARN": { "type": "string" }, - "roleBasedAuth": { "type": "boolean" }, - "accessKeyID": { "type": "string", "pattern": "(^env[.].*)|.*" }, - "accessKey": { "type": "string", "pattern": "(^env[.].*)|.*" }, - "enableSSE": { "type": "boolean" }, + "useGlue": { "type": "boolean", "default": false }, + "prefix": { "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|.*" }, + "namespace": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^((?!pg_|PG_|pG_|Pg_).{0,64})$" + }, + "roleBasedAuth": { "type": "boolean", "default": true }, + "enableSSE": { "type": "boolean", "default": false }, "syncFrequency": { "type": "string", - "pattern": "^(30|60|180|360|720|1440)$", + "enum": ["30", "60", "180", "360", "720", "1440"], "default": "30" }, "syncStartAt": { "type": "string" }, @@ -39,7 +39,9 @@ { "if": { "properties": { "useGlue": { "const": true } }, "required": ["useGlue"] }, "then": { - "properties": { "region": { "type": "string", "pattern": "(^env[.].+)|.+" } }, + "properties": { + "region": { "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|.*" } + }, "required": ["region"] } }, @@ -49,10 +51,36 @@ "required": ["roleBasedAuth"] }, "then": { - "required": ["iamRoleARN"] + "properties": { + "iamRoleARN": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + }, + "roleBasedAuth": { "const": true } + }, + "required": ["iamRoleARN", "roleBasedAuth"] + } + }, + { + "if": { + "properties": { "roleBasedAuth": { "const": false } }, + "required": ["roleBasedAuth"] + }, + "then": { + "properties": { + "accessKeyID": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|.*" + }, + "accessKey": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|.*" + }, + "roleBasedAuth": { "const": false } + }, + "required": [] } } - ], - "additionalProperties": true + ] } } diff --git a/src/configurations/destinations/s3_datalake/ui-config.json b/src/configurations/destinations/s3_datalake/ui-config.json index 440e82bdd3..fe8ba591f8 100644 --- a/src/configurations/destinations/s3_datalake/ui-config.json +++ b/src/configurations/destinations/s3_datalake/ui-config.json @@ -8,7 +8,7 @@ "label": "S3 Storage Bucket Name", "labelNote": "S3 Bucket to store your event data", "value": "bucketName", - "regex": "^((?!^xn--)(?!.*\\.\\..*)(?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^((?!^xn--)(?!.*\\.\\..*)(?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$", "required": true, "footerNote": "Please make sure the bucket exists in your S3" }, @@ -24,7 +24,7 @@ "label": "AWS Glue Region", "labelNote": "Your AWS Glue region.Ex-For N.Virginia, this field's value would be 'us-east-1'", "value": "region", - "regex": ".*", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|.*", "required": true, "preRequisiteField": { "name": "useGlue", "selectedValue": true } }, @@ -42,7 +42,7 @@ "label": "Namespace", "value": "namespace", "labelNote": "Defaults to source name.", - "regex": "^((?!pg_|PG_|pG_|Pg_).{0,64})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^((?!pg_|PG_|pG_|Pg_).{0,64})$", "required": false, "footerNote": "All data for the destination would be pushed to s3:////rudder-datalake/.If glue is enabled, all table definitions are created in a database with name set to namespace." }, @@ -57,7 +57,7 @@ "preRequisiteField": [{ "name": "roleBasedAuth", "selectedValue": true }], "label": "IAM Role ARN", "value": "iamRoleARN", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", "regexErrorMessage": "Invalid Role ARN", "required": true, "placeholder": "e.g: arn:aws:iam::123456789012:role/S3Access", @@ -71,7 +71,7 @@ "preRequisiteField": [{ "name": "roleBasedAuth", "selectedValue": false }], "label": "AWS Access Key ID", "value": "accessKeyID", - "regex": ".*", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|.*", "required": false, "placeholder": "e.g: access-key-id", "secret": true @@ -81,7 +81,7 @@ "preRequisiteField": [{ "name": "roleBasedAuth", "selectedValue": false }], "label": "AWS Secret Access Key", "value": "accessKey", - "regex": ".*", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|.*", "required": false, "placeholder": "e.g: secret-access-key", "secret": true diff --git a/src/configurations/destinations/salesforce/schema.json b/src/configurations/destinations/salesforce/schema.json index 79ea036d19..9e0395b4a7 100644 --- a/src/configurations/destinations/salesforce/schema.json +++ b/src/configurations/destinations/salesforce/schema.json @@ -1,8 +1,8 @@ { "configSchema": { "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", "required": ["userName", "password", "initialAccessToken"], + "type": "object", "properties": { "userName": { "type": "string", @@ -16,9 +16,9 @@ "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" }, - "mapProperties": { "type": "boolean" }, - "sandbox": { "type": "boolean" }, - "useContactId": { "type": "boolean" }, + "mapProperties": { "type": "boolean", "default": true }, + "sandbox": { "type": "boolean", "default": false }, + "useContactId": { "type": "boolean", "default": false }, "oneTrustCookieCategories": { "type": "array", "items": { diff --git a/src/configurations/destinations/salesforce/ui-config.json b/src/configurations/destinations/salesforce/ui-config.json index 499f0d13c3..94815d649c 100644 --- a/src/configurations/destinations/salesforce/ui-config.json +++ b/src/configurations/destinations/salesforce/ui-config.json @@ -64,6 +64,7 @@ "type": "textInput", "placeholder": "Marketing", "value": "oneTrustCookieCategory", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "label": "Category Name/ID", "required": false } diff --git a/src/configurations/destinations/satismeter/schema.json b/src/configurations/destinations/satismeter/schema.json index 3e4eb4bdaa..6b0f368d34 100644 --- a/src/configurations/destinations/satismeter/schema.json +++ b/src/configurations/destinations/satismeter/schema.json @@ -1,35 +1,20 @@ { "configSchema": { "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", "required": ["writeKey"], + "type": "object", "properties": { "writeKey": { "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" }, - "identifyAnonymousUsers": { "type": "boolean" }, - "recordSatismeterEvents": { "type": "boolean" }, - "updateEventNames": { "type": "boolean" }, - "eventsToStandard": { - "type": "array", - "items": { - "type": "object", - "properties": { - "from": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "to": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, + "useNativeSDK": { "type": "object", "properties": { "web": { "type": "boolean" } } }, + "identifyAnonymousUsers": { "type": "boolean", "default": false }, + "recordSatismeterEvents": { "type": "boolean", "default": false }, "eventFilteringOption": { "type": "string", - "pattern": "(^env[.].+)|^(disable|whitelistedEvents|blacklistedEvents)$" + "enum": ["disable", "whitelistedEvents", "blacklistedEvents"], + "default": "disable" }, "whitelistedEvents": { "type": "array", @@ -55,7 +40,6 @@ } } }, - "useNativeSDK": { "type": "object", "properties": { "web": { "type": "boolean" } } }, "oneTrustCookieCategories": { "type": "array", "items": { @@ -68,6 +52,64 @@ } } } - } + }, + "allOf": [ + { + "if": { + "properties": { "recordSatismeterEvents": { "const": true } }, + "required": ["recordSatismeterEvents"] + }, + "then": { + "properties": { + "eventsList": { + "type": "array", + "items": { "type": "string", "enum": ["display", "dismiss", "progress", "complete"] }, + "default": ["display"] + } + }, + "required": [] + } + }, + { + "if": { + "properties": { "recordSatismeterEvents": { "const": true } }, + "required": ["recordSatismeterEvents"] + }, + "then": { + "properties": { "updateEventNames": { "type": "boolean", "default": false } }, + "required": [] + } + }, + { + "if": { + "properties": { + "recordSatismeterEvents": { "const": true }, + "updateEventNames": { "const": true } + }, + "required": ["recordSatismeterEvents", "updateEventNames"] + }, + "then": { + "properties": { + "eventsToStandard": { + "type": "array", + "items": { + "type": "object", + "properties": { + "from": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "to": { + "type": "string", + "enum": ["display", "dismiss", "progress", "complete", ""] + } + } + } + } + }, + "required": [] + } + } + ] } } diff --git a/src/configurations/destinations/satismeter/ui-config.json b/src/configurations/destinations/satismeter/ui-config.json index d025d64841..671446d010 100644 --- a/src/configurations/destinations/satismeter/ui-config.json +++ b/src/configurations/destinations/satismeter/ui-config.json @@ -7,7 +7,7 @@ "type": "textInput", "label": "Write Key", "value": "writeKey", - "regex": "^(.{1,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", "regexErrorMessage": "Invalid Write Key.", "required": true, "placeholder": "e.g. 8ebfu2tr2833r08gfb", @@ -167,6 +167,7 @@ { "type": "textInput", "value": "eventName", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "required": false, "placeholder": "e.g: Anonymous Page Visit" } @@ -180,6 +181,7 @@ { "type": "textInput", "value": "eventName", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "required": false, "placeholder": "e.g: Credit Card Added" } @@ -199,6 +201,7 @@ "type": "textInput", "placeholder": "Marketing", "value": "oneTrustCookieCategory", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "label": "Category Name/ID", "required": false } diff --git a/src/configurations/destinations/sendinblue/schema.json b/src/configurations/destinations/sendinblue/schema.json index 2c5bf83fec..291ed7ba19 100644 --- a/src/configurations/destinations/sendinblue/schema.json +++ b/src/configurations/destinations/sendinblue/schema.json @@ -1,8 +1,8 @@ { "configSchema": { "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", "required": ["apiKey", "clientKey"], + "type": "object", "properties": { "apiKey": { "type": "string", @@ -12,16 +12,10 @@ "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" }, - "doi": { "type": "boolean" }, - "templateId": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*?)\\}\\}$)|(^env[.].+)|^[0-9]+$|^$" - }, - "redirectionUrl": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(?:http(s)?:\\/\\/)?[\\w.-]+(?:\\.[\\w\\.-]+)+[\\w\\-\\._~:/?#[\\]@!\\$&'\\(\\)\\*\\+,;=.]+$|^$" - }, - "keyToContactAttributeMapping": { + "useNativeSDK": { "type": "object", "properties": { "web": { "type": "boolean" } } }, + "doi": { "type": "boolean", "default": false }, + "sendTraitsInTrack": { "type": "boolean", "default": false }, + "contactAttributeMapping": { "type": "array", "items": { "type": "object", @@ -37,10 +31,10 @@ } } }, - "sendTraitsInTrack": { "type": "boolean" }, "eventFilteringOption": { "type": "string", - "pattern": "(^env[.].+)|^(disable|whitelistedEvents|blacklistedEvents)$" + "enum": ["disable", "whitelistedEvents", "blacklistedEvents"], + "default": "disable" }, "whitelistedEvents": { "type": "array", @@ -66,7 +60,6 @@ } } }, - "useNativeSDK": { "type": "object", "properties": { "web": { "type": "boolean" } } }, "oneTrustCookieCategories": { "type": "array", "items": { @@ -79,6 +72,24 @@ } } } - } + }, + "anyOf": [ + { + "if": { "properties": { "doi": { "const": true } }, "required": ["doi"] }, + "then": { + "properties": { + "templateId": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^[0-9]+$" + }, + "redirectionUrl": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(?:http(s)?:\\/\\/)?[\\w.-]+(?:\\.[\\w\\.-]+)+[\\w\\-\\._~:/?#[\\]@!\\$&'\\(\\)\\*\\+,;=.]+$" + } + }, + "required": ["redirectionUrl"] + } + } + ] } } diff --git a/src/configurations/destinations/sendinblue/ui-config.json b/src/configurations/destinations/sendinblue/ui-config.json index 47821e9974..1593c50bf5 100644 --- a/src/configurations/destinations/sendinblue/ui-config.json +++ b/src/configurations/destinations/sendinblue/ui-config.json @@ -7,7 +7,7 @@ "type": "textInput", "label": "API Key", "value": "apiKey", - "regex": "^(.{1,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", "regexErrorMessage": "Invalid API Key", "required": true, "placeholder": "e.g. xkeysib-cI7d098201bW5acf0453FY1b64fsej32da3f8ae01d7c8f9b78L43153d814td000020eb9-1e4M595C0", @@ -18,7 +18,7 @@ "type": "textInput", "label": "Client Key", "value": "clientKey", - "regex": "^(.{1,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", "regexErrorMessage": "Invalid Client Key", "required": true, "placeholder": "e.g. 1vd0i6w1al7q38ap5kucurfy", @@ -52,7 +52,7 @@ "type": "textInput", "label": "Template ID", "value": "templateId", - "regex": "^[0-9]+$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^[0-9]+$", "regexErrorMessage": "Invalid Template ID", "placeholder": "e.g. 2", "footerNote": "Your DOI template ID from Automation tab", @@ -65,7 +65,7 @@ "type": "textInput", "label": "Redirection Url", "value": "redirectionUrl", - "regex": "(?!.*\\.ngrok\\.io)^(?:http(s)?:\\/\\/)?[\\w.-]+(?:\\.[\\w\\.-]+)+[\\w\\-\\._~:/?#[\\]@!\\$&'\\(\\)\\*\\+,;=.]+$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(?:http(s)?:\\/\\/)?[\\w.-]+(?:\\.[\\w\\.-]+)+[\\w\\-\\._~:/?#[\\]@!\\$&'\\(\\)\\*\\+,;=.]+$", "regexErrorMessage": "Invalid Redirection Url", "required": true, "placeholder": "e.g. https://my.sendinblue.com/", @@ -131,6 +131,7 @@ { "type": "textInput", "value": "eventName", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "required": false, "placeholder": "e.g: Anonymous Page Visit" } @@ -144,6 +145,7 @@ { "type": "textInput", "value": "eventName", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "required": false, "placeholder": "e.g: Credit Card Added" } @@ -163,6 +165,7 @@ "type": "textInput", "placeholder": "Marketing", "value": "oneTrustCookieCategory", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "label": "Category Name/ID", "required": false } diff --git a/src/configurations/destinations/sentry/schema.json b/src/configurations/destinations/sentry/schema.json index 8cfa744eed..be30ceecf6 100644 --- a/src/configurations/destinations/sentry/schema.json +++ b/src/configurations/destinations/sentry/schema.json @@ -1,9 +1,8 @@ { "configSchema": { "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, "required": ["dsn"], + "type": "object", "properties": { "dsn": { "type": "string" }, "environment": { "type": "string" }, @@ -11,32 +10,60 @@ "release": { "type": "string" }, "serverName": { "type": "string" }, "logger": { "type": "string" }, - "debugMode": { "type": "boolean" }, "ignoreErrors": { "type": "array", - "items": { "type": "object", "properties": { "ignoreErrors": { "type": "string" } } } + "items": { + "type": "object", + "properties": { + "ignoreErrors": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } }, "includePaths": { "type": "array", - "items": { "type": "object", "properties": { "includePaths": { "type": "string" } } } + "items": { + "type": "object", + "properties": { + "includePaths": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } }, "allowUrls": { "type": "array", "items": { "type": "object", - "properties": { "allowUrls": { "type": "string", "pattern": "^(?!.*\\.ngrok\\.io).*$" } } + "properties": { + "allowUrls": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(?!.*\\.ngrok\\.io).*$" + } + } } }, "denyUrls": { "type": "array", "items": { "type": "object", - "properties": { "denyUrls": { "type": "string", "pattern": "^(?!.*\\.ngrok\\.io).*$" } } + "properties": { + "denyUrls": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(?!.*\\.ngrok\\.io).*$" + } + } } }, + "debugMode": { "type": "boolean", "default": false }, + "useNativeSDK": { "type": "object", "properties": { "web": { "type": "boolean" } } }, "eventFilteringOption": { "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(disable|whitelistedEvents|blacklistedEvents)$" + "enum": ["disable", "whitelistedEvents", "blacklistedEvents"], + "default": "disable" }, "whitelistedEvents": { "type": "array", @@ -62,7 +89,6 @@ } } }, - "useNativeSDK": { "type": "object", "properties": { "web": { "type": "boolean" } } }, "oneTrustCookieCategories": { "type": "array", "items": { @@ -75,6 +101,7 @@ } } } - } + }, + "additionalProperties": false } } diff --git a/src/configurations/destinations/sentry/ui-config.json b/src/configurations/destinations/sentry/ui-config.json index e0c2cc0c1f..bcb4223221 100644 --- a/src/configurations/destinations/sentry/ui-config.json +++ b/src/configurations/destinations/sentry/ui-config.json @@ -54,6 +54,7 @@ "type": "textInput", "placeholder": "e.g. TYPE_ERROR", "value": "ignoreErrors", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "label": "Ignore Errors", "required": false } @@ -67,6 +68,7 @@ "type": "textInput", "placeholder": "e.g. abc/", "value": "includePaths", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "label": "Include Paths", "required": false } @@ -79,7 +81,7 @@ { "type": "textInput", "placeholder": "e.g. https://example.com/", - "regex": "^(?!.*\\.ngrok\\.io).*$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(?!.*\\.ngrok\\.io).*$", "value": "allowUrls", "label": "Allow URLs", "required": false @@ -93,7 +95,7 @@ { "type": "textInput", "placeholder": "e.g. https://example.com/", - "regex": "^(?!.*\\.ngrok\\.io).*$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(?!.*\\.ngrok\\.io).*$", "value": "denyUrls", "label": "Deny URLs", "required": false @@ -154,6 +156,7 @@ { "type": "textInput", "value": "eventName", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "required": false, "placeholder": "e.g: Anonymous Page Visit" } @@ -167,6 +170,7 @@ { "type": "textInput", "value": "eventName", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "required": false, "placeholder": "e.g: Credit Card Added" } @@ -186,6 +190,7 @@ "type": "textInput", "placeholder": "Marketing", "value": "oneTrustCookieCategory", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "label": "Category Name/ID", "required": false } diff --git a/src/configurations/destinations/serenytics/schema.json b/src/configurations/destinations/serenytics/schema.json index ac886d20fc..a55f775063 100644 --- a/src/configurations/destinations/serenytics/schema.json +++ b/src/configurations/destinations/serenytics/schema.json @@ -1,31 +1,16 @@ { "configSchema": { "$schema": "http://json-schema.org/draft-07/schema#", + "required": [], "type": "object", "properties": { "storageUrlIdentify": { "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{0,200})$" + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{1,200})$" }, "storageUrlTrack": { "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{0,200})$" - }, - "storageUrlGroup": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{0,200})$" - }, - "storageUrlAlias": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{0,200})$" - }, - "storageUrlPage": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{0,200})$" - }, - "storageUrlScreen": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{0,200})$" + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{1,200})$" }, "eventToStorageUrlMap": { "type": "array", @@ -34,15 +19,31 @@ "properties": { "from": { "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,200})$" + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" }, "to": { "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,200})$" + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" } } } }, + "storageUrlGroup": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{1,200})$" + }, + "storageUrlAlias": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{1,200})$" + }, + "storageUrlPage": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{1,200})$" + }, + "storageUrlScreen": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{1,200})$" + }, "oneTrustCookieCategories": { "type": "array", "items": { diff --git a/src/configurations/destinations/serenytics/ui-config.json b/src/configurations/destinations/serenytics/ui-config.json index 0eb753f6ef..61bcc8845d 100644 --- a/src/configurations/destinations/serenytics/ui-config.json +++ b/src/configurations/destinations/serenytics/ui-config.json @@ -7,7 +7,7 @@ "type": "textInput", "label": "Data Source Storage Url for Identify", "value": "storageUrlIdentify", - "regex": "(?!.*\\.ngrok\\.io)^(.{1,200})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{1,200})$", "required": false, "placeholder": "e.g. https://api.serenytics.com/api/data_source/7e0670-8cd1-40da-93a3-10a5/push/f06274c43f8904735b9a06c3ae917" }, @@ -15,7 +15,7 @@ "type": "textInput", "label": "Data Source Storage Url for Track", "value": "storageUrlTrack", - "regex": "(?!.*\\.ngrok\\.io)^(.{1,200})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{1,200})$", "required": false, "placeholder": "e.g. https://api.serenytics.com/api/data_source/7e0670-8cd1-40da-93a3-10a5/push/f06274c43f8904735b9a06c3ae917" }, @@ -35,7 +35,7 @@ "type": "textInput", "label": "Data Source Storage Url for Group", "value": "storageUrlGroup", - "regex": "(?!.*\\.ngrok\\.io)^(.{1,200})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{1,200})$", "required": false, "placeholder": "e.g. https://api.serenytics.com/api/data_source/7e0670-8cd1-40da-93a3-10a5/push/f06274c43f8904735b9a06c3ae917" }, @@ -43,7 +43,7 @@ "type": "textInput", "label": "Data Source Storage Url for Alias", "value": "storageUrlAlias", - "regex": "(?!.*\\.ngrok\\.io)^(.{1,200})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{1,200})$", "required": false, "placeholder": "e.g. https://api.serenytics.com/api/data_source/7e0670-8cd1-40da-93a3-10a5/push/f06274c43f8904735b9a06c3ae917" }, @@ -51,7 +51,7 @@ "type": "textInput", "label": "Data Source Storage Url for Page", "value": "storageUrlPage", - "regex": "(?!.*\\.ngrok\\.io)^(.{1,200})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{1,200})$", "required": false, "placeholder": "e.g. https://api.serenytics.com/api/data_source/7e0670-8cd1-40da-93a3-10a5/push/f06274c43f8904735b9a06c3ae917" }, @@ -59,7 +59,7 @@ "type": "textInput", "label": "Data Source Storage Url for Screen", "value": "storageUrlScreen", - "regex": "(?!.*\\.ngrok\\.io)^(.{1,200})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{1,200})$", "required": false, "placeholder": "e.g. https://api.serenytics.com/api/data_source/7e0670-8cd1-40da-93a3-10a5/push/f06274c43f8904735b9a06c3ae917" } @@ -77,6 +77,7 @@ "type": "textInput", "placeholder": "Marketing", "value": "oneTrustCookieCategory", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "label": "Category Name/ID", "required": false } diff --git a/src/configurations/destinations/shynet/schema.json b/src/configurations/destinations/shynet/schema.json index ac74b09da8..cdb150b847 100644 --- a/src/configurations/destinations/shynet/schema.json +++ b/src/configurations/destinations/shynet/schema.json @@ -10,13 +10,14 @@ }, "shynetServiceUrl": { "type": "string", - "pattern": "^(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{1,300})$" + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{1,300})$" }, + "useNativeSDK": { "type": "object", "properties": { "web": { "type": "boolean" } } }, "eventFilteringOption": { "type": "string", - "pattern": "(^env[.].+)|^(disable|whitelistedEvents|blacklistedEvents)$" + "enum": ["disable", "whitelistedEvents", "blacklistedEvents"], + "default": "disable" }, - "useNativeSDK": { "type": "object", "properties": { "web": { "type": "boolean" } } }, "whitelistedEvents": { "type": "array", "items": { @@ -36,7 +37,7 @@ "properties": { "eventName": { "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,300})$" + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" } } } diff --git a/src/configurations/destinations/shynet/ui-config.json b/src/configurations/destinations/shynet/ui-config.json index 39b2fc1463..ec3460172f 100644 --- a/src/configurations/destinations/shynet/ui-config.json +++ b/src/configurations/destinations/shynet/ui-config.json @@ -7,7 +7,7 @@ "type": "textInput", "label": "Heart Beat", "value": "heartBeatFrequencyInMs", - "regex": "^(.{0,10})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,10})$", "regexErrorMessage": "Length of Heart Beat must be below 10 characters.", "required": false, "secret": false, @@ -17,7 +17,7 @@ "type": "textInput", "label": "Shynet Script URL", "value": "shynetServiceUrl", - "regex": "(?!.*\\.ngrok\\.io)^(.{1,300})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{1,300})$", "regexErrorMessage": "Length of URL must be below 300 characters.", "required": true, "secret": false, @@ -71,6 +71,7 @@ { "type": "textInput", "value": "eventName", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "required": false, "placeholder": "e.g: Anonymous Page Visit" } @@ -84,6 +85,7 @@ { "type": "textInput", "value": "eventName", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "required": false, "placeholder": "e.g: Credit Card Added" } @@ -103,6 +105,7 @@ "type": "textInput", "placeholder": "Marketing", "value": "oneTrustCookieCategory", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "label": "Category Name/ID", "required": false } diff --git a/src/configurations/destinations/signl4/schema.json b/src/configurations/destinations/signl4/schema.json index 3fdc232007..dda4e9f9e0 100644 --- a/src/configurations/destinations/signl4/schema.json +++ b/src/configurations/destinations/signl4/schema.json @@ -1,12 +1,12 @@ { "configSchema": { "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", "required": ["apiKey"], + "type": "object", "properties": { "apiKey": { "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,300})$" }, "s4ServiceValue": { "type": "string", @@ -26,7 +26,8 @@ }, "s4AlertingScenarioValue": { "type": "string", - "pattern": "^(single_ack|multi_ack|emergency)$" + "enum": ["single_ack", "multi_ack", "emergency"], + "default": "single_ack" }, "s4AlertingScenarioProperty": { "type": "string", @@ -40,13 +41,17 @@ "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" }, - "s4StatusValue": { "type": "string", "pattern": "^(new|acknowledged|resolved)$" }, + "s4StatusValue": { + "type": "string", + "enum": ["new", "acknowledged", "resolved"], + "default": "new" + }, "s4StatusProperty": { "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" }, - "s4Filter": { "type": "boolean" }, - "columnToPropertyMapping": { + "s4Filter": { "type": "boolean", "default": false }, + "eventToTitleMapping": { "type": "array", "items": { "type": "object", diff --git a/src/configurations/destinations/signl4/ui-config.json b/src/configurations/destinations/signl4/ui-config.json index fbc06c8854..fcacf967d6 100644 --- a/src/configurations/destinations/signl4/ui-config.json +++ b/src/configurations/destinations/signl4/ui-config.json @@ -7,7 +7,7 @@ "type": "textInput", "label": "API Key", "value": "apiKey", - "regex": "^(.{1,300})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,300})$", "regexErrorMessage": "Invalid API Key", "required": true, "placeholder": "e.g. gi11aat8xy", @@ -23,7 +23,7 @@ "type": "textInput", "label": "Default Value", "value": "s4ServiceValue", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "regexErrorMessage": "Invalid X-S4-Service Value", "required": false, "placeholder": "e.g. Security", @@ -33,7 +33,7 @@ "type": "textInput", "label": "RudderStack property name", "value": "s4ServiceProperty", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "regexErrorMessage": "Invalid property name", "required": false, "placeholder": "e.g. service", @@ -49,7 +49,7 @@ "type": "textInput", "label": "Default Value", "value": "s4LocationValue", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "regexErrorMessage": "Invalid X-S4-Location Value", "required": false, "placeholder": "e.g. 40.6413111,-73.7781391", @@ -59,7 +59,7 @@ "type": "textInput", "label": "RudderStack property name", "value": "s4LocationProperty", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "regexErrorMessage": "Invalid property name", "required": false, "placeholder": "e.g. location", @@ -86,7 +86,7 @@ "type": "textInput", "label": "RudderStack property name", "value": "s4AlertingScenarioProperty", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "regexErrorMessage": "Invalid property name", "required": false, "placeholder": "e.g. alertingScenario", @@ -102,7 +102,7 @@ "type": "textInput", "label": "Default Value", "value": "s4ExternalIDValue", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "regexErrorMessage": "Invalid X-S4-ExternalID", "required": false, "placeholder": "e.g. INC091210", @@ -112,7 +112,7 @@ "type": "textInput", "label": "RudderStack property name", "value": "s4ExternalIDProperty", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "regexErrorMessage": "Invalid property name", "required": false, "placeholder": "e.g. externalId", @@ -140,7 +140,7 @@ "type": "textInput", "label": "RudderStack property name", "value": "s4StatusProperty", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "regexErrorMessage": "Invalid property name", "required": false, "placeholder": "e.g. status", @@ -189,6 +189,7 @@ "type": "textInput", "placeholder": "Marketing", "value": "oneTrustCookieCategory", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "label": "Category Name/ID", "required": false } diff --git a/src/configurations/destinations/singular/schema.json b/src/configurations/destinations/singular/schema.json index da39462132..2582c434f8 100644 --- a/src/configurations/destinations/singular/schema.json +++ b/src/configurations/destinations/singular/schema.json @@ -1,26 +1,42 @@ { "configSchema": { "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", "required": ["apiKey"], + "type": "object", "properties": { - "apiKey": { "type": "string" }, - "apiSecret": { "type": "string" }, + "apiKey": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^[a-zA-Z0-9_]*$" + }, + "apiSecret": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^[a-zA-Z0-9]*$" + }, "sessionEventList": { "type": "array", "items": { "type": "object", "properties": { - "eventName": { + "sessionEventName": { "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" } } } }, + "useNativeSDK": { + "type": "object", + "properties": { + "android": { "type": "boolean" }, + "ios": { "type": "boolean" }, + "reactnative": { "type": "boolean" }, + "cordova": { "type": "boolean" } + } + }, "eventFilteringOption": { "type": "string", - "pattern": "(^env[.].+)|^(disable|whitelistedEvents|blacklistedEvents)$" + "enum": ["disable", "whitelistedEvents", "blacklistedEvents"], + "default": "disable" }, "whitelistedEvents": { "type": "array", @@ -46,10 +62,6 @@ } } }, - "useNativeSDK": { - "type": "object", - "properties": { "android": { "type": "boolean" }, "ios": { "type": "boolean" } } - }, "oneTrustCookieCategories": { "type": "array", "items": { diff --git a/src/configurations/destinations/singular/ui-config.json b/src/configurations/destinations/singular/ui-config.json index fb55a94392..b7eed9eae9 100644 --- a/src/configurations/destinations/singular/ui-config.json +++ b/src/configurations/destinations/singular/ui-config.json @@ -7,7 +7,7 @@ "type": "textInput", "label": "API Key", "value": "apiKey", - "regex": "^[a-zA-Z0-9_]*$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^[a-zA-Z0-9_]*$", "regexErrorMessage": "Invalid API Key", "required": true, "placeholder": "e.g: abcd_456e5678", @@ -17,7 +17,7 @@ "type": "textInput", "label": "Secret", "value": "apiSecret", - "regex": "^[a-zA-Z0-9]*$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^[a-zA-Z0-9]*$", "regexErrorMessage": "Invalid Secret Key", "required": false, "placeholder": "e.g: r344c6e48c0r87y6iio567b67ad61324", @@ -32,6 +32,7 @@ { "type": "textInput", "value": "sessionEventName", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "required": false, "placeholder": "e.g: Session Event Name" } @@ -85,6 +86,7 @@ { "type": "textInput", "value": "eventName", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "required": false, "placeholder": "e.g: Anonymous Page Visit" } @@ -98,6 +100,7 @@ { "type": "textInput", "value": "eventName", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "required": false, "placeholder": "e.g: Credit Card Added" } @@ -117,6 +120,7 @@ "type": "textInput", "placeholder": "Marketing", "value": "oneTrustCookieCategory", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "label": "Category Name/ID", "required": false } diff --git a/src/configurations/destinations/slack/schema.json b/src/configurations/destinations/slack/schema.json index 40063cfd6f..2da9b1f055 100644 --- a/src/configurations/destinations/slack/schema.json +++ b/src/configurations/destinations/slack/schema.json @@ -1,13 +1,9 @@ { "configSchema": { "$schema": "http://json-schema.org/draft-07/schema#", + "required": ["webhookUrl"], "type": "object", "properties": { - "webhookUrl": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{0,100})" - }, - "identifyTemplate": { "type": "string" }, "eventChannelSettings": { "type": "array", "items": { @@ -21,10 +17,14 @@ "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" }, - "eventRegex": { "type": "boolean" } + "eventRegex": { "type": "boolean", "default": false } } } }, + "identifyTemplate": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,1000})$" + }, "eventTemplateSettings": { "type": "array", "items": { @@ -38,10 +38,14 @@ "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,1000})$" }, - "eventRegex": { "type": "boolean" } + "eventRegex": { "type": "boolean", "default": false } } } }, + "webhookUrl": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{0,100})$" + }, "whitelistedTraitsSettings": { "type": "array", "items": { @@ -49,7 +53,7 @@ "properties": { "trait": { "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})" + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" } } } diff --git a/src/configurations/destinations/slack/ui-config.json b/src/configurations/destinations/slack/ui-config.json index c6382bc513..6c4f8fc4c0 100644 --- a/src/configurations/destinations/slack/ui-config.json +++ b/src/configurations/destinations/slack/ui-config.json @@ -11,7 +11,7 @@ "type": "textInput", "label": "Event Name", "value": "eventName", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "regexErrorMessage": "Invalid Event Name", "required": false, "placeholder": "e.g: ABCDEFG" @@ -20,7 +20,7 @@ "type": "textInput", "label": "Event Channel", "value": "eventChannel", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "regexErrorMessage": "Invalid Event Channel", "required": false, "placeholder": "e.g: ABCDEFG" @@ -42,7 +42,7 @@ "type": "textInput", "label": "Identify Template", "value": "identifyTemplate", - "regex": "^(.{0,1000})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,1000})$", "regexErrorMessage": "Invalid Identify Template", "required": false, "placeholder": "e.g: ABCDEFG" @@ -60,7 +60,7 @@ "type": "textInput", "label": "Event Name", "value": "eventName", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "regexErrorMessage": "Invalid Event Name", "required": false, "placeholder": "e.g: ABCDEFG" @@ -69,7 +69,7 @@ "type": "textInput", "label": "Event Template", "value": "eventTemplate", - "regex": "^(.{0,1000})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,1000})$", "regexErrorMessage": "Invalid Event Template", "required": false, "placeholder": "e.g: ABCDEFG" diff --git a/src/configurations/destinations/snapchat_conversion/schema.json b/src/configurations/destinations/snapchat_conversion/schema.json index be8efcca79..e3ffe35d95 100644 --- a/src/configurations/destinations/snapchat_conversion/schema.json +++ b/src/configurations/destinations/snapchat_conversion/schema.json @@ -1,8 +1,8 @@ { "configSchema": { "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", "required": ["apiKey"], + "type": "object", "properties": { "apiKey": { "type": "string", @@ -12,8 +12,14 @@ "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" }, - "snapAppId": { "type": "string" }, - "appId": { "type": "string" }, + "snapAppId": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "appId": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, "rudderEventsToSnapEvents": { "type": "array", "items": { @@ -25,16 +31,45 @@ }, "to": { "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + "enum": [ + "products_searched", + "product_list_viewed", + "promotion_viewed", + "promotion_clicked", + "product_viewed", + "checkout_started", + "payment_info_entered", + "order_completed", + "product_added", + "product_added_to_wishlist", + "sign_up", + "app_open", + "save", + "subscribe", + "complete_tutorial", + "invite", + "login", + "share", + "reserve", + "achievement_unlocked", + "spent_credits", + "rate", + "start_trial", + "list_view", + "page_view", + "app_install", + "custom_event_1", + "custom_event_2", + "custom_event_3", + "custom_event_4", + "custom_event_5", + "" + ] } } } }, - "enableDeduplication": { "type": "boolean" }, - "deduplicationKey": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" - }, + "enableDeduplication": { "type": "boolean", "default": false }, "oneTrustCookieCategories": { "type": "array", "items": { @@ -47,6 +82,23 @@ } } } - } + }, + "anyOf": [ + { + "if": { + "properties": { "enableDeduplication": { "const": true } }, + "required": ["enableDeduplication"] + }, + "then": { + "properties": { + "deduplicationKey": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + } + }, + "required": ["deduplicationKey"] + } + } + ] } } diff --git a/src/configurations/destinations/snapchat_conversion/ui-config.json b/src/configurations/destinations/snapchat_conversion/ui-config.json index 676103aff4..8811db5af0 100644 --- a/src/configurations/destinations/snapchat_conversion/ui-config.json +++ b/src/configurations/destinations/snapchat_conversion/ui-config.json @@ -7,7 +7,7 @@ "type": "textInput", "label": "API Token", "value": "apiKey", - "regex": "^(.{1,500})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,500})$", "required": true, "placeholder": "e.g. MTp6WHZyNbJXZVNMMm11AlJ1R1BXeVVBOkk0dFk5dkEybUVEWAw5NHk5dXBYUjBIdWp6QzZCNC1TMEFGU9QwYVdnUjg", "secret": true, @@ -17,7 +17,7 @@ "type": "textInput", "label": "Pixel ID", "value": "pixelId", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "regexErrorMessage": "Invalid Pixel ID", "required": false, "placeholder": "e.g: 836d6231-aad6-4e41-9cbb-5854565cad8e", @@ -29,6 +29,7 @@ "label": "Snap App ID", "value": "snapAppId", "required": false, + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "placeholder": "e.g: 836d6231-aad6-4e41-9cbb-5854565cad8e", "secret": true, "footerNote": "Your Snap App ID" @@ -38,6 +39,7 @@ "label": "App ID", "value": "appId", "required": false, + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "placeholder": "e.g: 836d6231-aad6-4e41-9cbb-5854565cad8e", "secret": true, "footerNote": "Your App ID" @@ -107,8 +109,9 @@ "preRequisiteField": [{ "name": "enableDeduplication", "selectedValue": true }], "label": "Deduplication Key", "value": "deduplicationKey", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", "placeholder": "e.g: messageId", - "required": false, + "required": true, "footerNote": "RudderStack will use this field for deduplication. If nothing is specified, messageId field will be used." } ] @@ -125,6 +128,7 @@ "type": "textInput", "placeholder": "Marketing", "value": "oneTrustCookieCategory", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "label": "Category Name/ID", "required": false } diff --git a/src/configurations/destinations/snapchat_custom_audience/schema.json b/src/configurations/destinations/snapchat_custom_audience/schema.json index 75b492a28d..e3f6aa58b9 100644 --- a/src/configurations/destinations/snapchat_custom_audience/schema.json +++ b/src/configurations/destinations/snapchat_custom_audience/schema.json @@ -1,15 +1,15 @@ { "configSchema": { "$schema": "http://json-schema.org/draft-07/schema#", + "required": ["segmentId", "schema"], "type": "object", - "required": ["segmentId"], "properties": { "segmentId": { "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" }, - "schema": { "type": "string", "pattern": "^(email|phone|mobileAdId)$" }, - "disableHashing": { "type": "boolean" }, + "schema": { "type": "string", "enum": ["email", "phone", "mobileAdId"], "default": "email" }, + "disableHashing": { "type": "boolean", "default": false }, "oneTrustCookieCategories": { "type": "array", "items": { diff --git a/src/configurations/destinations/snapchat_custom_audience/ui-config.json b/src/configurations/destinations/snapchat_custom_audience/ui-config.json index 64846d94c8..cc9bc3de9a 100644 --- a/src/configurations/destinations/snapchat_custom_audience/ui-config.json +++ b/src/configurations/destinations/snapchat_custom_audience/ui-config.json @@ -7,7 +7,7 @@ "type": "textInput", "label": "Segment Id", "value": "segmentId", - "regex": "^(.{1,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", "regexErrorMessage": "Invalid Segment Id", "required": true, "placeholder": "e.g. 4996042382964722", @@ -52,6 +52,7 @@ "type": "textInput", "placeholder": "Marketing", "value": "oneTrustCookieCategory", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "label": "Category Name/ID", "required": false } diff --git a/src/configurations/destinations/snapengage/schema.json b/src/configurations/destinations/snapengage/schema.json index 4715b4896e..c3fdbeac3c 100644 --- a/src/configurations/destinations/snapengage/schema.json +++ b/src/configurations/destinations/snapengage/schema.json @@ -8,27 +8,12 @@ "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" }, - "recordLiveChatEvents": { "type": "boolean" }, - "updateEventNames": { "type": "boolean" }, - "eventsToStandard": { - "type": "array", - "items": { - "type": "object", - "properties": { - "from": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "to": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, + "useNativeSDK": { "type": "object", "properties": { "web": { "type": "boolean" } } }, + "recordLiveChatEvents": { "type": "boolean", "default": false }, "eventFilteringOption": { "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(disable|whitelistedEvents|blacklistedEvents)$" + "enum": ["disable", "whitelistedEvents", "blacklistedEvents"], + "default": "disable" }, "whitelistedEvents": { "type": "array", @@ -66,6 +51,55 @@ } } } - } + }, + "allOf": [ + { + "if": { + "properties": { "recordLiveChatEvents": { "const": true } }, + "required": ["recordLiveChatEvents"] + }, + "then": { + "properties": { "updateEventNames": { "type": "boolean", "default": false } }, + "required": [] + } + }, + { + "if": { + "properties": { + "recordLiveChatEvents": { "const": true }, + "updateEventNames": { "const": true } + }, + "required": ["recordLiveChatEvents", "updateEventNames"] + }, + "then": { + "properties": { + "eventsToStandard": { + "type": "array", + "items": { + "type": "object", + "properties": { + "from": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "to": { + "type": "string", + "enum": [ + "startChat", + "close", + "chatMessageSent", + "chatMessageReceived", + "inlineButtonClicked", + "" + ] + } + } + } + } + }, + "required": [] + } + } + ] } } diff --git a/src/configurations/destinations/snapengage/ui-config.json b/src/configurations/destinations/snapengage/ui-config.json index cfb45b5735..1a1bed04a3 100644 --- a/src/configurations/destinations/snapengage/ui-config.json +++ b/src/configurations/destinations/snapengage/ui-config.json @@ -7,7 +7,7 @@ "type": "textInput", "label": "Widget ID", "value": "widgetId", - "regex": "^(.{1,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", "regexErrorMessage": "Widget ID length should be less than 100 characters", "required": true, "placeholder": "e.g: 0c739ebb-2016-44a0-b1da-a5b5eb272474", @@ -129,6 +129,7 @@ { "type": "textInput", "value": "eventName", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "required": false, "placeholder": "e.g: Anonymous Page Visit" } @@ -142,6 +143,7 @@ { "type": "textInput", "value": "eventName", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "required": false, "placeholder": "e.g: Credit Card Added" } @@ -161,6 +163,7 @@ "type": "textInput", "placeholder": "Marketing", "value": "oneTrustCookieCategory", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "label": "Category Name/ID", "required": false } diff --git a/src/configurations/destinations/snowflake/schema.json b/src/configurations/destinations/snowflake/schema.json index 597116dbd2..36b185cbaa 100644 --- a/src/configurations/destinations/snowflake/schema.json +++ b/src/configurations/destinations/snowflake/schema.json @@ -1,7 +1,6 @@ { "configSchema": { - "$schema": "http://json-schema.org/draft-07/schema", - "type": "object", + "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "account", "database", @@ -11,67 +10,52 @@ "syncFrequency", "useRudderStorage" ], + "type": "object", "properties": { "account": { "type": "string", - "pattern": "(^env[.].+)|^(.{1,100})$" + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" }, "database": { "type": "string", - "pattern": "(^env[.].+)|^(.{1,100})$" + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" }, "warehouse": { "type": "string", - "pattern": "(^env[.].+)|^(.{1,100})$" + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" }, "user": { "type": "string", - "pattern": "(^env[.].+)|^(.{1,100})$" + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" }, "role": { "type": "string", - "pattern": "(^env[.].*)|^(.{0,100})$" - }, - "password": { - "type": "string", - "pattern": "(^env[.].+)|.+" + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" }, + "password": { "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|.*" }, "namespace": { "type": "string", - "pattern": "(^env[.].*)|^((?!pg_|PG_|pG_|Pg_).{0,64})$" + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^((?!pg_|PG_|pG_|Pg_).{0,64})$" }, "syncFrequency": { "type": "string", - "pattern": "^(30|60|180|360|720|1440)$", + "enum": ["30", "60", "180", "360", "720", "1440"], "default": "30" }, - "syncStartAt": { - "type": "string" - }, + "syncStartAt": { "type": "string" }, "excludeWindow": { "type": "object", - "required": ["excludeWindowStartTime", "excludeWindowEndTime"], "properties": { - "excludeWindowStartTime": { - "type": "string" - }, - "excludeWindowEndTime": { - "type": "string" - } - } + "excludeWindowStartTime": { "type": "string" }, + "excludeWindowEndTime": { "type": "string" } + }, + "required": ["excludeWindowStartTime", "excludeWindowEndTime"] }, "jsonPaths": { "type": "string", - "pattern": "(^env[.].*)|.*" - }, - "useRudderStorage": { - "type": "boolean", - "default": false - }, - "cloudProvider": { - "type": "string", - "pattern": "^(AWS|GCP|AZURE)$" + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.*)$" }, + "useRudderStorage": { "type": "boolean", "default": false }, "oneTrustCookieCategories": { "type": "array", "items": { @@ -83,61 +67,41 @@ } } } - } - }, - "ketchConsentPurposes": { - "type": "array", - "items": { - "type": "object", - "properties": { - "purpose": { - "type": "string", - "pattern": "^(.{0,100})$" - } + }, + "ketchConsentPurposes": { + "type": "array", + "items": { + "type": "object", + "properties": { "purpose": { "type": "string", "pattern": "^(.{0,100})$" } } } } }, "allOf": [ { "if": { - "properties": { - "useRudderStorage": { - "const": false - } - }, - "required": ["useRudderStorage"] - }, - "then": { - "required": ["cloudProvider"] - } - }, - { - "if": { - "properties": { - "useRudderStorage": { - "const": false - } - }, + "properties": { "useRudderStorage": { "const": false } }, "required": ["useRudderStorage"] }, "then": { "properties": { + "cloudProvider": { + "type": "string", + "enum": ["AWS", "GCP", "AZURE"], + "default": "AWS" + }, "prefix": { "type": "string", - "pattern": "(^env[.].*)|^(.{0,100})$" + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" } - } + }, + "required": ["cloudProvider"] } }, { "if": { "properties": { - "cloudProvider": { - "const": "AWS" - }, - "useRudderStorage": { - "const": false - } + "cloudProvider": { "const": "AWS" }, + "useRudderStorage": { "const": false } }, "required": ["cloudProvider", "useRudderStorage"] }, @@ -145,26 +109,37 @@ "properties": { "bucketName": { "type": "string", - "pattern": "(^env[.].+)|^((?!^xn--)(?!.*\\.\\..*)(?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$" + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^((?!^xn--)(?!.*\\.\\..*)(?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$" }, - "enableSSE": { - "type": "boolean" - } + "storageIntegration": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "roleBasedAuth": { "type": "boolean", "default": true }, + "enableSSE": { "type": "boolean", "default": false } }, "required": ["bucketName"], "anyOf": [ { - "type": "object", "properties": { - "accessKeyID": { "type": "string", "pattern": "(^env[.].+)|^(.{0,100})$" }, - "accessKey": { "type": "string", "pattern": "(^env[.].+)|^(.{0,100})$" } + "accessKeyID": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + }, + "accessKey": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + }, + "roleBasedAuth": { "const": false } }, "required": ["accessKeyID", "accessKey"] }, { - "type": "object", "properties": { - "iamRoleARN": { "type": "string" }, + "iamRoleARN": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + }, "roleBasedAuth": { "const": true } }, "required": ["iamRoleARN", "roleBasedAuth"] @@ -175,12 +150,8 @@ { "if": { "properties": { - "cloudProvider": { - "const": "GCP" - }, - "useRudderStorage": { - "const": false - } + "cloudProvider": { "const": "GCP" }, + "useRudderStorage": { "const": false } }, "required": ["cloudProvider", "useRudderStorage"] }, @@ -188,28 +159,25 @@ "properties": { "bucketName": { "type": "string", - "pattern": "(^env[.].+)|^((?!goog)(?!.*google.*)(?!^(\\d+(\\.|$)){4}$)(?!.*\\.\\..*)[a-z0-9][a-z0-9-._]{1,61}[a-z0-9])$" + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^((?!goog)(?!.*google.*)(?!^(\\d+(\\.|$)){4}$)(?!.*\\.\\..*)[a-z0-9][a-z0-9-._]{1,61}[a-z0-9])$" }, - "credentials": { + "storageIntegration": { "type": "string", - "pattern": "(^env[.].+)|.+" + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" }, - "storageIntegration": { + "credentials": { "type": "string", - "pattern": "(^env[.].+)|^(.{1,100})$" + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|.*" } - } + }, + "required": ["bucketName", "storageIntegration", "credentials"] } }, { "if": { "properties": { - "cloudProvider": { - "const": "AZURE" - }, - "useRudderStorage": { - "const": false - } + "cloudProvider": { "const": "AZURE" }, + "useRudderStorage": { "const": false } }, "required": ["cloudProvider", "useRudderStorage"] }, @@ -217,24 +185,27 @@ "properties": { "containerName": { "type": "string", - "pattern": "(^env[.].+)|^(?=.{3,63}$)[a-z0-9]+(-[a-z0-9]+)*$" + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(?=.{3,63}$)[a-z0-9]+(-[a-z0-9]+)*$" }, - "accountName": { + "storageIntegration": { "type": "string", - "pattern": "(^env[.].+)|^(.{1,100})$" + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" }, - "storageIntegration": { + "accountName": { "type": "string", - "pattern": "(^env[.].+)|^(.{1,100})$" - } + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + }, + "useSASTokens": { "type": "boolean", "default": false } }, + "required": ["containerName", "storageIntegration", "accountName"], "anyOf": [ { "properties": { "accountKey": { "type": "string", - "pattern": "(^env[.].+)|^(.{1,100})$" - } + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + }, + "useSASTokens": { "const": false } }, "required": ["accountKey"] }, @@ -242,18 +213,15 @@ "properties": { "sasToken": { "type": "string", - "pattern": "(^env[.].+)|^(.+)$" + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.+)$" }, - "useSASTokens": { - "const": true - } + "useSASTokens": { "const": true } }, "required": ["sasToken", "useSASTokens"] } ] } } - ], - "additionalProperties": true + ] } } diff --git a/src/configurations/destinations/snowflake/ui-config.json b/src/configurations/destinations/snowflake/ui-config.json index b72c156169..c55ae41fc6 100644 --- a/src/configurations/destinations/snowflake/ui-config.json +++ b/src/configurations/destinations/snowflake/ui-config.json @@ -7,7 +7,7 @@ "type": "textInput", "label": "Account", "value": "account", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", "regexErrorMessage": "Invalid Account", "placeholder": "e.g: qya54180.us-east-1", "required": true @@ -16,7 +16,7 @@ "type": "textInput", "label": "Database", "value": "database", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", "regexErrorMessage": "Invalid Database", "placeholder": "e.g: RUDDER_EVENTS", "required": true @@ -25,7 +25,7 @@ "type": "textInput", "label": "Warehouse", "value": "warehouse", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", "regexErrorMessage": "Invalid Database", "placeholder": "e.g: RUDDER_WAREHOUSE", "required": true @@ -34,7 +34,7 @@ "type": "textInput", "label": "User", "value": "user", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", "regexErrorMessage": "Invalid User", "placeholder": "e.g: RUDDER_USER", "required": true @@ -43,7 +43,7 @@ "type": "textInput", "label": "Role", "value": "role", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "regexErrorMessage": "Invalid Role", "placeholder": "e.g: RUDDER_ROLE", "required": false @@ -52,7 +52,7 @@ "type": "textInput", "label": "Password", "value": "password", - "regex": ".*", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|.*", "placeholder": "e.g: RUDDER_PASSWORD", "required": true, "secret": true @@ -62,7 +62,7 @@ "label": "Namespace", "labelNote": "Schema name for the warehouse where the tables are created", "value": "namespace", - "regex": "^((?!pg_|PG_|pG_|Pg_).{0,64})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^((?!pg_|PG_|pG_|Pg_).{0,64})$", "regexErrorMessage": "Invalid Namespace", "required": false, "placeholder": "e.g: RUDDER_NAMESPACE", @@ -102,7 +102,7 @@ "name": "Every 30 minutes", "value": "30" }, - "required": false + "required": true }, { "type": "timePicker", @@ -139,7 +139,7 @@ "label": "JSON columns (Optional)", "labelNote": "Specify required JSON properties in dot notation separated by commas", "value": "jsonPaths", - "regex": "^(.*)$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.*)$", "placeholder": "e.g: testMap.nestedMap, testArray", "required": false, "footerURL": { @@ -157,7 +157,8 @@ "label": "Use RudderStack managed object storage", "value": "useRudderStorage", "default": false, - "footerNote": "Note: Only available for RudderStack managed data planes" + "footerNote": "Note: Only available for RudderStack managed data planes", + "required": true }, { "type": "singleSelect", @@ -202,7 +203,7 @@ "label": "Staging S3 Storage Bucket Name", "labelNote": "S3 Bucket to store data before loading into Snowflake", "value": "bucketName", - "regex": "^((?!^xn--)(?!.*\\.\\..*)(?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^((?!^xn--)(?!.*\\.\\..*)(?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$", "regexErrorMessage": "Invalid Staging S3 Storage Bucket Name", "placeholder": "e.g: s3-event-logs", "required": true, @@ -223,7 +224,7 @@ "label": "Staging GCS Object Storage Bucket Name", "labelNote": "GCS Bucket to store data before loading into Snowflake", "value": "bucketName", - "regex": "^((?!goog)(?!.*google.*)(?!^(\\d+(\\.|$)){4}$)(?!.*\\.\\..*)[a-z0-9][a-z0-9-._]{1,61}[a-z0-9])$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^((?!goog)(?!.*google.*)(?!^(\\d+(\\.|$)){4}$)(?!.*\\.\\..*)[a-z0-9][a-z0-9-._]{1,61}[a-z0-9])$", "regexErrorMessage": "Invalid Staging GCS Object Storage Bucket Name", "required": true, "placeholder": "e.g: gcs-event-logs", @@ -244,7 +245,7 @@ "label": "Staging Azure Blob Storage Container Name", "labelNote": "Container to store data before loading into Snowflake", "value": "containerName", - "regex": "^(?=.{3,63}$)[a-z0-9]+(-[a-z0-9]+)*$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(?=.{3,63}$)[a-z0-9]+(-[a-z0-9]+)*$", "regexErrorMessage": "Invalid Staging Azure Blob Storage Container Name", "required": true, "placeholder": "e.g: azure-event-logs", @@ -254,7 +255,7 @@ "type": "textInput", "label": "Prefix", "value": "prefix", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "regexErrorMessage": "Invalid Prefix", "required": false, "placeholder": "e.g: rudder", @@ -277,7 +278,7 @@ ], "label": "Storage Integration", "value": "storageIntegration", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "regexErrorMessage": "Invalid Storage Integration", "placeholder": "e.g: aws_int", "footerURL": { @@ -299,7 +300,7 @@ ], "label": "Storage Integration", "value": "storageIntegration", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", "regexErrorMessage": "Invalid Storage Integration", "required": true, "placeholder": "e.g: gcs_int", @@ -322,7 +323,7 @@ ], "label": "Storage Integration", "value": "storageIntegration", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", "regexErrorMessage": "Invalid Storage Integration", "required": true, "placeholder": "e.g: azure_int", @@ -365,7 +366,7 @@ ], "label": "IAM Role ARN", "value": "iamRoleARN", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", "regexErrorMessage": "Invalid Role ARN", "required": true, "placeholder": "e.g: arn:aws:iam::123456789012:role/S3Access", @@ -392,7 +393,7 @@ ], "label": "AWS Access Key ID", "value": "accessKeyID", - "regex": "^(.{0,100})$", + "regex": "^(.{1,100})$", "regexErrorMessage": "Invalid AWS Access Key ID", "required": true, "placeholder": "e.g: access-key-id", @@ -416,7 +417,7 @@ ], "label": "AWS Secret Access Key", "value": "accessKey", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", "regexErrorMessage": "Invalid AWS Secret Access Key", "required": true, "placeholder": "e.g: secret-access-key", @@ -452,7 +453,7 @@ ], "label": "Azure Blob Storage Account Name", "value": "accountName", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", "regexErrorMessage": "Invalid Azure Blob Storage Account Name", "required": true, "placeholder": "e.g: account-name" @@ -475,7 +476,7 @@ ], "label": "Azure Blob Storage Account Key", "value": "accountKey", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", "regexErrorMessage": "Invalid Azure Blob Storage Account Key", "required": true, "secret": true, @@ -499,7 +500,7 @@ ], "label": "Azure Blob Storage SAS Token", "value": "sasToken", - "regex": "^(.+)$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.+)$", "regexErrorMessage": "Invalid Azure Blob Storage SAS Token", "required": true, "placeholder": "e.g: sas-token", @@ -537,7 +538,7 @@ "label": "Credentials", "labelNote": "GCP Service Account credentials JSON for RudderStack to use in loading data into your Google Cloud Storage", "value": "credentials", - "regex": ".*", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|.*", "required": true, "footerNote": "Create a service account in your GCP Project for RudderStack with roles of 'storage.objectCreator'" } @@ -555,6 +556,7 @@ "type": "textInput", "placeholder": "Marketing", "value": "oneTrustCookieCategory", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "label": "Category Name/ID", "required": false } diff --git a/src/configurations/destinations/tiktok_ads/schema.json b/src/configurations/destinations/tiktok_ads/schema.json index 210a713458..f677b0b104 100644 --- a/src/configurations/destinations/tiktok_ads/schema.json +++ b/src/configurations/destinations/tiktok_ads/schema.json @@ -1,36 +1,52 @@ { "configSchema": { "$schema": "http://json-schema.org/draft-07/schema#", + "required": ["pixelCode"], "type": "object", - "required": [ - "pixelCode" - ], "properties": { - "accessToken": { - "type": "string", - "pattern": ".*" - }, + "accessToken": { "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|.*" }, "pixelCode": { "type": "string", - "pattern": "^(.{0,100})$" - }, - "hashUserProperties": { - "type": "boolean" + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" }, + "hashUserProperties": { "type": "boolean", "default": true }, "eventsToStandard": { "type": "array", "items": { "type": "object", "properties": { "from": { - "type": "string" + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" }, "to": { - "type": "string" + "type": "string", + "enum": [ + "AddPaymentInfo", + "AddToCart", + "AddToWishlist", + "ClickButton", + "CompletePayment", + "CompleteRegistration", + "Contact", + "Download", + "InitiateCheckout", + "PlaceAnOrder", + "Search", + "SubmitForm", + "Subscribe", + "ViewContent", + "" + ] } } } }, + "eventFilteringOption": { + "type": "string", + "enum": ["disable", "whitelistedEvents", "blacklistedEvents"], + "default": "disable" + }, "whitelistedEvents": { "type": "array", "items": { @@ -55,14 +71,7 @@ } } }, - "useNativeSDK": { - "type": "object", - "properties": { - "web": { - "type": "boolean" - } - } - }, + "useNativeSDK": { "type": "object", "properties": { "web": { "type": "boolean" } } }, "oneTrustCookieCategories": { "type": "array", "items": { @@ -79,14 +88,9 @@ "type": "array", "items": { "type": "object", - "properties": { - "purpose": { - "type": "string", - "pattern": "^(.{0,100})$" - } - } + "properties": { "purpose": { "type": "string", "pattern": "^(.{0,100})$" } } } } } } -} \ No newline at end of file +} diff --git a/src/configurations/destinations/tiktok_ads/ui-config.json b/src/configurations/destinations/tiktok_ads/ui-config.json index 34dd91e214..fac9a79574 100644 --- a/src/configurations/destinations/tiktok_ads/ui-config.json +++ b/src/configurations/destinations/tiktok_ads/ui-config.json @@ -7,7 +7,7 @@ "type": "textInput", "label": "Access Token", "value": "accessToken", - "regex": ".*", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|.*", "required": false, "placeholder": "e.g. 1234ac663758946dfea3520b394bbac611b371f7", "secret": true, @@ -17,7 +17,7 @@ "type": "textInput", "label": "Pixel Code", "value": "pixelCode", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", "regexErrorMessage": "Invalid Pixel Code", "required": true, "placeholder": "e.g: A1T8T4UYGVIQA8ORZMX9", @@ -142,6 +142,7 @@ { "type": "textInput", "value": "eventName", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "required": false, "placeholder": "e.g: Anonymous Page Visit" } @@ -155,6 +156,7 @@ { "type": "textInput", "value": "eventName", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "required": false, "placeholder": "e.g: Credit Card Added" } @@ -185,6 +187,7 @@ "type": "textInput", "placeholder": "Marketing", "value": "oneTrustCookieCategory", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "label": "Category Name/ID", "required": false } @@ -208,4 +211,4 @@ ] } ] -} \ No newline at end of file +} diff --git a/src/configurations/destinations/tiktok_ads_offline_events/schema.json b/src/configurations/destinations/tiktok_ads_offline_events/schema.json index ac474fc1a5..9b0a46788c 100644 --- a/src/configurations/destinations/tiktok_ads_offline_events/schema.json +++ b/src/configurations/destinations/tiktok_ads_offline_events/schema.json @@ -1,8 +1,8 @@ { "configSchema": { "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", "required": ["accessToken"], + "type": "object", "properties": { "accessToken": { "type": "string", @@ -19,12 +19,12 @@ }, "to": { "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + "enum": ["CompletePayment", "Contact", "SubmitForm", "Subscribe", ""] } } } }, - "hashUserProperties": { "type": "boolean" }, + "hashUserProperties": { "type": "boolean", "default": true }, "oneTrustCookieCategories": { "type": "array", "items": { diff --git a/src/configurations/destinations/tiktok_ads_offline_events/ui-config.json b/src/configurations/destinations/tiktok_ads_offline_events/ui-config.json index 97e7d167f0..55528b091f 100644 --- a/src/configurations/destinations/tiktok_ads_offline_events/ui-config.json +++ b/src/configurations/destinations/tiktok_ads_offline_events/ui-config.json @@ -7,7 +7,7 @@ "type": "textInput", "label": "Access Token", "value": "accessToken", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "required": true, "placeholder": "e.g. 1234ac663758946dfea3520b394bbac611b371f7", "secret": true, @@ -61,6 +61,7 @@ "type": "textInput", "placeholder": "Marketing", "value": "oneTrustCookieCategory", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "label": "Category Name/ID", "required": false } diff --git a/src/configurations/destinations/user/schema.json b/src/configurations/destinations/user/schema.json index 21e56be5b0..de051e1241 100644 --- a/src/configurations/destinations/user/schema.json +++ b/src/configurations/destinations/user/schema.json @@ -1,12 +1,12 @@ { "configSchema": { "$schema": "http://json-schema.org/draft-07/schema#", + "required": ["apiKey", "appSubdomain"], "type": "object", - "required": ["apiKey"], "properties": { "apiKey": { "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,500})$" + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" }, "appSubdomain": { "type": "string", diff --git a/src/configurations/destinations/user/ui-config.json b/src/configurations/destinations/user/ui-config.json index d940af1ecb..3c1031cc77 100644 --- a/src/configurations/destinations/user/ui-config.json +++ b/src/configurations/destinations/user/ui-config.json @@ -7,7 +7,7 @@ "type": "textInput", "label": "Public REST API Key", "value": "apiKey", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", "regexErrorMessage": "Invalid API Key", "required": true, "placeholder": "e.g: 1d6583b196d34de28a3g19ahadde4b0z" @@ -16,7 +16,7 @@ "type": "textInput", "label": "Your App Subdomain", "value": "appSubdomain", - "regex": "^(.{0,500})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,500})$", "regexErrorMessage": "Invalid App Subdomain", "required": true, "placeholder": "e.g: commander" @@ -100,6 +100,7 @@ "type": "textInput", "placeholder": "Marketing", "value": "oneTrustCookieCategory", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "label": "Category Name/ID", "required": false } diff --git a/src/configurations/destinations/vero/schema.json b/src/configurations/destinations/vero/schema.json index 8770afda4b..7980232ecb 100644 --- a/src/configurations/destinations/vero/schema.json +++ b/src/configurations/destinations/vero/schema.json @@ -1,9 +1,13 @@ { "configSchema": { "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", "required": [], + "type": "object", "properties": { + "authToken": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,150})$" + }, "apiKey": { "type": "object", "properties": { @@ -13,7 +17,12 @@ } } }, - "authToken": { "type": "string" }, + "useNativeSDK": { "type": "object", "properties": { "web": { "type": "boolean" } } }, + "eventFilteringOption": { + "type": "string", + "enum": ["disable", "whitelistedEvents", "blacklistedEvents"], + "default": "disable" + }, "whitelistedEvents": { "type": "array", "items": { @@ -38,7 +47,6 @@ } } }, - "useNativeSDK": { "type": "object", "properties": { "web": { "type": "boolean" } } }, "oneTrustCookieCategories": { "type": "array", "items": { diff --git a/src/configurations/destinations/vero/ui-config.json b/src/configurations/destinations/vero/ui-config.json index 01e7ab2dfa..e915fdebd0 100644 --- a/src/configurations/destinations/vero/ui-config.json +++ b/src/configurations/destinations/vero/ui-config.json @@ -7,7 +7,7 @@ "type": "textInput", "label": "Authentication Token", "value": "authToken", - "regex": "^(.{0,150})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,150})$", "regexErrorMessage": "Length of Authentication Token must be below 150 characters.", "required": false, "secret": true, @@ -17,7 +17,7 @@ "type": "textInput", "label": "API Key", "value": "apiKey", - "regex": "^(.{0,50})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "regexErrorMessage": "Length of API Key must be below 50 characters.", "required": false, "secret": true, @@ -103,6 +103,7 @@ "type": "textInput", "placeholder": "Marketing", "value": "oneTrustCookieCategory", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "label": "Category Name/ID", "required": false } diff --git a/src/configurations/destinations/vitally/ui-config.json b/src/configurations/destinations/vitally/ui-config.json index dd934784cd..994f0908ca 100644 --- a/src/configurations/destinations/vitally/ui-config.json +++ b/src/configurations/destinations/vitally/ui-config.json @@ -7,7 +7,7 @@ "type": "textInput", "label": "API KEY", "value": "apiKeyVitally", - "regex": "^(.{1,500})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,500})$", "regexErrorMessage": "Length of API KEY must be below 200 characters.", "required": true, "secret": true, @@ -27,6 +27,7 @@ "type": "textInput", "placeholder": "Marketing", "value": "oneTrustCookieCategory", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "label": "Category Name/ID", "required": false } diff --git a/src/configurations/destinations/vwo/schema.json b/src/configurations/destinations/vwo/schema.json index 8883584772..33a0819d8e 100644 --- a/src/configurations/destinations/vwo/schema.json +++ b/src/configurations/destinations/vwo/schema.json @@ -1,28 +1,21 @@ { "configSchema": { "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", "required": ["accountId"], + "type": "object", "properties": { "accountId": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" - }, - "isSPA": { "type": "boolean" }, - "sendExperimentTrack": { "type": "boolean" }, - "sendExperimentIdentify": { "type": "boolean" }, - "libraryTolerance": { "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" }, - "settingsTolerance": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "useExistingJquery": { "type": "boolean" }, + "isSPA": { "type": "boolean", "default": false }, + "sendExperimentTrack": { "type": "boolean", "default": false }, + "sendExperimentIdentify": { "type": "boolean", "default": false }, + "useNativeSDK": { "type": "object", "properties": { "web": { "type": "boolean" } } }, "eventFilteringOption": { "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(^(disable|whitelistedEvents|blacklistedEvents)$)" + "enum": ["disable", "whitelistedEvents", "blacklistedEvents"], + "default": "disable" }, "whitelistedEvents": { "type": "array", @@ -48,7 +41,15 @@ } } }, - "useNativeSDK": { "type": "object", "properties": { "web": { "type": "boolean" } } }, + "libraryTolerance": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "settingsTolerance": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "useExistingJquery": { "type": "boolean", "default": false }, "oneTrustCookieCategories": { "type": "array", "items": { diff --git a/src/configurations/destinations/vwo/ui-config.json b/src/configurations/destinations/vwo/ui-config.json index 5f2af54373..b9ee61051d 100644 --- a/src/configurations/destinations/vwo/ui-config.json +++ b/src/configurations/destinations/vwo/ui-config.json @@ -7,7 +7,7 @@ "type": "textInput", "label": "Account Id", "value": "accountId", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "regexErrorMessage": "Invalid Account Id", "required": true, "placeholder": "e.g: 410057" @@ -78,6 +78,7 @@ { "type": "textInput", "value": "eventName", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "required": false, "placeholder": "e.g: Anonymous Page Visit" } @@ -91,6 +92,7 @@ { "type": "textInput", "value": "eventName", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "required": false, "placeholder": "e.g: Credit Card Added" } @@ -105,7 +107,7 @@ "type": "textInput", "label": "Library Tolerance", "value": "libraryTolerance", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "regexErrorMessage": "Invalid Library Tolerance", "placeholder": "e.g: 2000", "default": "2500" @@ -114,7 +116,7 @@ "type": "textInput", "label": "Setting Tolerance", "value": "settingsTolerance", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "regexErrorMessage": "Invalid Setting Tolerance", "placeholder": "e.g: 2000", "default": "2000" @@ -139,6 +141,7 @@ "type": "textInput", "placeholder": "Marketing", "value": "oneTrustCookieCategory", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "label": "Category Name/ID", "required": false } diff --git a/src/configurations/destinations/webengage/schema.json b/src/configurations/destinations/webengage/schema.json index 4fcc40fdfa..d1c0418608 100644 --- a/src/configurations/destinations/webengage/schema.json +++ b/src/configurations/destinations/webengage/schema.json @@ -1,8 +1,8 @@ { "configSchema": { "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", "required": ["licenseCode", "apiKey", "dataCenter"], + "type": "object", "properties": { "licenseCode": { "type": "string", @@ -12,10 +12,7 @@ "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" }, - "dataCenter": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(standard|ind)$" - }, + "dataCenter": { "type": "string", "enum": ["standard", "ind"], "default": "standard" }, "oneTrustCookieCategories": { "type": "array", "items": { diff --git a/src/configurations/destinations/webengage/ui-config.json b/src/configurations/destinations/webengage/ui-config.json index d1e78326f1..2bc0c8d864 100644 --- a/src/configurations/destinations/webengage/ui-config.json +++ b/src/configurations/destinations/webengage/ui-config.json @@ -7,7 +7,7 @@ "type": "textInput", "label": "License Code", "value": "licenseCode", - "regex": "^(.{1,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", "required": true, "placeholder": "e.g. b4a29aba", "secret": true @@ -16,7 +16,7 @@ "type": "textInput", "label": "Api Key", "value": "apiKey", - "regex": "^(.{1,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", "required": true, "placeholder": "e.g. b4a29aba17jmbad7b6c1a5asjghj", "secret": true @@ -25,6 +25,7 @@ "type": "singleSelect", "label": "Data Center", "value": "dataCenter", + "required": true, "options": [ { "name": "Standard", "value": "standard" }, { "name": "IND", "value": "ind" } @@ -45,6 +46,7 @@ "type": "textInput", "placeholder": "Marketing", "value": "oneTrustCookieCategory", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "label": "Category Name/ID", "required": false } diff --git a/src/configurations/destinations/webhook/schema.json b/src/configurations/destinations/webhook/schema.json index b9bf8b7aa5..6cf73802b7 100644 --- a/src/configurations/destinations/webhook/schema.json +++ b/src/configurations/destinations/webhook/schema.json @@ -1,8 +1,8 @@ { "configSchema": { "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", "required": ["webhookUrl"], + "type": "object", "properties": { "webhookUrl": { "type": "string", @@ -10,7 +10,8 @@ }, "webhookMethod": { "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(^(POST|PUT|PATCH|GET|DELETE)$)" + "enum": ["POST", "PUT", "PATCH", "GET", "DELETE"], + "default": "POST" }, "headers": { "type": "array", @@ -19,11 +20,11 @@ "properties": { "from": { "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,1000})$" }, "to": { "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100000})$" + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,1000})$" } } } diff --git a/src/configurations/destinations/webhook/ui-config.json b/src/configurations/destinations/webhook/ui-config.json index 59409991db..c24be28711 100644 --- a/src/configurations/destinations/webhook/ui-config.json +++ b/src/configurations/destinations/webhook/ui-config.json @@ -31,6 +31,7 @@ "labelLeft": "Key", "labelRight": "Value", "keyLeft": "from", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,1000})$", "keyRight": "to", "placeholderLeft": "content-type", "placeholderRight": "application/json", @@ -50,6 +51,7 @@ "type": "textInput", "placeholder": "Marketing", "value": "oneTrustCookieCategory", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "label": "Category Name/ID", "required": false } diff --git a/src/configurations/destinations/woopra/schema.json b/src/configurations/destinations/woopra/schema.json index fdfb411c98..9e36b7f907 100644 --- a/src/configurations/destinations/woopra/schema.json +++ b/src/configurations/destinations/woopra/schema.json @@ -1,20 +1,41 @@ { "configSchema": { "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", "required": ["projectName"], + "type": "object", "properties": { - "projectName": { "type": "string", "pattern": "^(([a-z0-9]+[.])+[a-z]{1,})$" }, - "cookieName": { "type": "string" }, - "cookieDomain": { "type": "string" }, - "clickTracking": { "type": "boolean" }, - "cookiePath": { "type": "string" }, - "downloadTracking": { "type": "boolean" }, - "hideCampaign": { "type": "boolean" }, - "idleTimeout": { "type": "string" }, - "ignoreQueryUrl": { "type": "boolean" }, - "outgoingIgnoreSubdomain": { "type": "boolean" }, - "outgoingTracking": { "type": "boolean" }, + "projectName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(([a-z0-9]+[.])+[a-z]{1,})$" + }, + "cookieName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "cookieDomain": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "clickTracking": { "type": "boolean", "default": false }, + "cookiePath": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "downloadTracking": { "type": "boolean", "default": true }, + "hideCampaign": { "type": "boolean", "default": false }, + "idleTimeout": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^([0-9]+)$" + }, + "ignoreQueryUrl": { "type": "boolean", "default": true }, + "outgoingIgnoreSubdomain": { "type": "boolean", "default": true }, + "outgoingTracking": { "type": "boolean", "default": false }, + "useNativeSDK": { "type": "object", "properties": { "web": { "type": "boolean" } } }, + "eventFilteringOption": { + "type": "string", + "enum": ["disable", "whitelistedEvents", "blacklistedEvents"], + "default": "disable" + }, "whitelistedEvents": { "type": "array", "items": { @@ -39,7 +60,6 @@ } } }, - "useNativeSDK": { "type": "object", "properties": { "web": { "type": "boolean" } } }, "oneTrustCookieCategories": { "type": "array", "items": { diff --git a/src/configurations/destinations/woopra/ui-config.json b/src/configurations/destinations/woopra/ui-config.json index d0ad274451..a1386e760e 100644 --- a/src/configurations/destinations/woopra/ui-config.json +++ b/src/configurations/destinations/woopra/ui-config.json @@ -8,7 +8,7 @@ "label": "Project Name", "value": "projectName", "required": true, - "regex": "^(([a-z0-9]+[.])+[a-z]{1,})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(([a-z0-9]+[.])+[a-z]{1,})$", "regexErrorMessage": "Project Name should be a Domain.", "placeholder": "e.g: myproject.com", "footerNote": "Enter The name of your project in Woopra. This would be used as fallback value if not provided inside integrations object of payload." @@ -23,6 +23,7 @@ "type": "textInput", "label": "Cookie Name", "value": "cookieName", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "default": "wooTracker", "required": false, "placeholder": "e.g: wpTracker", @@ -32,6 +33,7 @@ "type": "textInput", "label": "Cookie Domain", "value": "cookieDomain", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "required": false, "placeholder": "e.g: test", "footerNote": "Domain scope of the Woopra cookie. Default: Website domain." @@ -40,6 +42,7 @@ "type": "checkbox", "label": "Click Tracking", "value": "clickTracking", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "required": false, "default": false, "footerNote": "Tracks user click interactions with links and buttons. Default: False." @@ -48,6 +51,7 @@ "type": "textInput", "label": "Cookie Path", "value": "cookiePath", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "required": false, "placeholder": "e.g: newFolder/test", "default": "/", @@ -74,7 +78,7 @@ "label": "Idle Timeout", "value": "idleTimeout", "required": false, - "regex": "^([0-9]+)$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^([0-9]+)$", "regexErrorMessage": "Idle Timeout should be a number.", "default": "300000", "placeholder": "20000000", @@ -152,6 +156,7 @@ { "type": "textInput", "value": "eventName", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "required": false, "placeholder": "e.g: Anonymous Page Visit" } @@ -165,6 +170,7 @@ { "type": "textInput", "value": "eventName", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "required": false, "placeholder": "e.g: Credit Card Added" } @@ -184,6 +190,7 @@ "type": "textInput", "placeholder": "Marketing", "value": "oneTrustCookieCategory", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "label": "Category Name/ID", "required": false } diff --git a/src/configurations/destinations/wootric/schema.json b/src/configurations/destinations/wootric/schema.json index c4c5ac68c3..0647ad77d5 100644 --- a/src/configurations/destinations/wootric/schema.json +++ b/src/configurations/destinations/wootric/schema.json @@ -1,14 +1,14 @@ { "configSchema": { "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", "required": ["username", "password", "accountToken"], + "type": "object", "properties": { "username": { "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" }, - "password": { "type": "string", "pattern": "(^env[.].+)|.+" }, + "password": { "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|.*" }, "accountToken": { "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" diff --git a/src/configurations/destinations/wootric/ui-config.json b/src/configurations/destinations/wootric/ui-config.json index 93bf13437a..cdc8584cfa 100644 --- a/src/configurations/destinations/wootric/ui-config.json +++ b/src/configurations/destinations/wootric/ui-config.json @@ -7,7 +7,7 @@ "type": "textInput", "label": "Username", "value": "username", - "regex": "^(.{1,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", "regexErrorMessage": "Invalid User", "required": true, "placeholder": "e.g. test@gmail.com", @@ -17,7 +17,7 @@ "type": "textInput", "label": "Password", "value": "password", - "regex": ".*", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|.*", "required": true, "placeholder": "e.g. password@123", "secret": true @@ -26,7 +26,7 @@ "type": "textInput", "label": "Account Token", "value": "accountToken", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", "regexErrorMessage": "Invalid Account Token", "required": true, "placeholder": "e.g. NPS-123456", @@ -46,6 +46,7 @@ "type": "textInput", "placeholder": "Marketing", "value": "oneTrustCookieCategory", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "label": "Category Name/ID", "required": false } diff --git a/src/configurations/destinations/yahoo_dsp/schema.json b/src/configurations/destinations/yahoo_dsp/schema.json index ca1b90f7c1..cb3230eab8 100644 --- a/src/configurations/destinations/yahoo_dsp/schema.json +++ b/src/configurations/destinations/yahoo_dsp/schema.json @@ -1,8 +1,8 @@ { "configSchema": { "$schema": "http://json-schema.org/draft-07/schema#", + "required": ["clientId", "clientSecret", "accountId", "audienceType", "audienceId"], "type": "object", - "required": ["clientId", "clientSecret", "audienceId", "accountId"], "properties": { "clientId": { "type": "string", @@ -12,17 +12,20 @@ "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" }, - "audienceId": { + "accountId": { "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^[0-9]+$" }, - "accountId": { + "audienceType": { + "type": "string", + "enum": ["EMAIL", "DEVICE_ID", "IP_ADDRESS"], + "default": "EMAIL" + }, + "audienceId": { "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^[0-9]+$" }, - "audienceType": { "type": "string", "pattern": "^(EMAIL|DEVICE_ID|IP_ADDRESS)$" }, - "seedListType": { "type": "string", "pattern": "^(GPADVID|IDFA)$" }, - "hashRequired": { "type": "boolean" }, + "hashRequired": { "type": "boolean", "default": true }, "oneTrustCookieCategories": { "type": "array", "items": { @@ -35,6 +38,20 @@ } } } - } + }, + "anyOf": [ + { + "if": { + "properties": { "audienceType": { "const": "DEVICE_ID" } }, + "required": ["audienceType"] + }, + "then": { + "properties": { + "seedListType": { "type": "string", "enum": ["GPADVID", "IDFA"], "default": "GPADVID" } + }, + "required": ["seedListType"] + } + } + ] } } diff --git a/src/configurations/destinations/yahoo_dsp/ui-config.json b/src/configurations/destinations/yahoo_dsp/ui-config.json index 94866cca11..3337b7edae 100644 --- a/src/configurations/destinations/yahoo_dsp/ui-config.json +++ b/src/configurations/destinations/yahoo_dsp/ui-config.json @@ -7,7 +7,7 @@ "type": "textInput", "label": "Client Id", "value": "clientId", - "regex": "^(.{1,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", "regexErrorMessage": "Invalid Client Id", "required": true, "placeholder": "e.g. b05ebeb8-a223-3cd6-z4c5-9512d3d66d431", @@ -18,7 +18,7 @@ "type": "textInput", "label": "Client Secret", "value": "clientSecret", - "regex": "^(.{1,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", "regexErrorMessage": "Invalid Client Secret", "required": true, "placeholder": "e.g: XpewiPsz3yc9LrADR43f9h53jADLccXTykHCcA6eEoFR4rXQ", @@ -34,7 +34,7 @@ "type": "textInput", "label": "Account Id", "value": "accountId", - "regex": "^[0-9]+$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^[0-9]+$", "regexErrorMessage": "Invalid Account Id", "required": true, "placeholder": "e.g. 84223", @@ -77,7 +77,7 @@ "type": "textInput", "label": "Audience Id", "value": "audienceId", - "regex": "^[0-9]+$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^[0-9]+$", "regexErrorMessage": "Invalid Audience Id", "required": true, "placeholder": "e.g. 53213445", @@ -110,6 +110,7 @@ "type": "textInput", "placeholder": "Marketing", "value": "oneTrustCookieCategory", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "label": "Category Name/ID", "required": false } diff --git a/src/configurations/destinations/yandex_metrica/schema.json b/src/configurations/destinations/yandex_metrica/schema.json index 2c77637c9f..4d3723dc08 100644 --- a/src/configurations/destinations/yandex_metrica/schema.json +++ b/src/configurations/destinations/yandex_metrica/schema.json @@ -1,17 +1,17 @@ { "configSchema": { "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", "required": ["tagId"], + "type": "object", "properties": { "tagId": { "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" }, - "clickMap": { "type": "boolean" }, - "trackLinks": { "type": "boolean" }, - "trackBounce": { "type": "boolean" }, - "webvisor": { "type": "boolean" }, + "clickMap": { "type": "boolean", "default": false }, + "trackLinks": { "type": "boolean", "default": false }, + "trackBounce": { "type": "boolean", "default": false }, + "webvisor": { "type": "boolean", "default": false }, "containerName": { "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" @@ -25,21 +25,20 @@ "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" }, - "to": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } + "to": { "type": "string", "enum": ["detail", "add", "remove", "purchase", ""] } } } }, - "eventFilteringOption": { - "type": "string", - "pattern": "(^env[.].+)|^(disable|whitelistedEvents|blacklistedEvents)$" - }, "goalId": { "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^[0-9]+$" }, + "useNativeSDK": { "type": "object", "properties": { "web": { "type": "boolean" } } }, + "eventFilteringOption": { + "type": "string", + "enum": ["disable", "whitelistedEvents", "blacklistedEvents"], + "default": "disable" + }, "whitelistedEvents": { "type": "array", "items": { @@ -64,7 +63,6 @@ } } }, - "useNativeSDK": { "type": "object", "properties": { "web": { "type": "boolean" } } }, "oneTrustCookieCategories": { "type": "array", "items": { diff --git a/src/configurations/destinations/yandex_metrica/ui-config.json b/src/configurations/destinations/yandex_metrica/ui-config.json index c2828d2b2b..831c5ec4a9 100644 --- a/src/configurations/destinations/yandex_metrica/ui-config.json +++ b/src/configurations/destinations/yandex_metrica/ui-config.json @@ -7,7 +7,7 @@ "type": "textInput", "label": "Tag ID", "value": "tagId", - "regex": "^(.{1,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", "regexErrorMessage": "Invalid Tag ID, example value 56252632", "required": true, "placeholder": "e.g. 56252632", @@ -51,7 +51,7 @@ "type": "textInput", "label": "Container name", "value": "containerName", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "regexErrorMessage": "Invalid Container name", "required": false, "placeholder": "e.g. dataLayer", @@ -91,7 +91,7 @@ "type": "textInput", "label": "Goal ID", "value": "goalId", - "regex": "^[0-9]+$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^[0-9]+$", "regexErrorMessage": "Invalid Goal ID", "required": false, "placeholder": "e.g. 263922671", @@ -146,6 +146,7 @@ { "type": "textInput", "value": "eventName", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "required": false, "placeholder": "e.g: Anonymous Page Visit" } @@ -159,6 +160,7 @@ { "type": "textInput", "value": "eventName", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "required": false, "placeholder": "e.g: Credit Card Added" } @@ -178,6 +180,7 @@ "type": "textInput", "placeholder": "Marketing", "value": "oneTrustCookieCategory", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "label": "Category Name/ID", "required": false } diff --git a/src/configurations/destinations/zapier/schema.json b/src/configurations/destinations/zapier/schema.json index 02affeed90..bdf30bde7f 100644 --- a/src/configurations/destinations/zapier/schema.json +++ b/src/configurations/destinations/zapier/schema.json @@ -1,8 +1,8 @@ { "configSchema": { "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", "required": ["zapUrl"], + "type": "object", "properties": { "zapUrl": { "type": "string", diff --git a/src/configurations/destinations/zapier/ui-config.json b/src/configurations/destinations/zapier/ui-config.json index 868295f791..4532fb85ca 100644 --- a/src/configurations/destinations/zapier/ui-config.json +++ b/src/configurations/destinations/zapier/ui-config.json @@ -7,7 +7,7 @@ "type": "textInput", "label": "Zap URL", "value": "zapUrl", - "regex": "(?!.*\\.ngrok\\.io)^(.{1,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{1,100})$", "regexErrorMessage": "Invalid Zap URL", "required": true, "placeholder": "e.g. https://hooks.zapier.com/hooks/catch/123456/abcdefg/", @@ -54,6 +54,7 @@ "type": "textInput", "placeholder": "Marketing", "value": "oneTrustCookieCategory", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "label": "Category Name/ID", "required": false } diff --git a/src/configurations/destinations/zendesk/schema.json b/src/configurations/destinations/zendesk/schema.json index 47acc678ad..0857dc53cf 100644 --- a/src/configurations/destinations/zendesk/schema.json +++ b/src/configurations/destinations/zendesk/schema.json @@ -1,26 +1,26 @@ { "configSchema": { "$schema": "http://json-schema.org/draft-07/schema#", + "required": ["email", "apiToken", "domain"], "type": "object", "additionalProperties": false, - "required": ["email", "apiToken", "domain"], "properties": { "email": { "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" }, "apiToken": { "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" }, "domain": { "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" }, - "createUsersAsVerified": { "type": "boolean" }, - "sendGroupCallsWithoutUserId": { "type": "boolean" }, - "removeUsersFromOrganization": { "type": "boolean" }, - "searchByExternalId": { "type": "boolean" }, + "createUsersAsVerified": { "type": "boolean", "default": false }, + "sendGroupCallsWithoutUserId": { "type": "boolean", "default": false }, + "removeUsersFromOrganization": { "type": "boolean", "default": false }, + "searchByExternalId": { "type": "boolean", "default": false }, "oneTrustCookieCategories": { "type": "array", "items": { diff --git a/src/configurations/destinations/zendesk/ui-config.json b/src/configurations/destinations/zendesk/ui-config.json index 4a61ed7919..1c8db35bf9 100644 --- a/src/configurations/destinations/zendesk/ui-config.json +++ b/src/configurations/destinations/zendesk/ui-config.json @@ -7,7 +7,7 @@ "type": "textInput", "label": "Email", "value": "email", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", "regexErrorMessage": "Invalid Email Address", "required": true, "placeholder": "e.g: abc@xyz.com" @@ -16,7 +16,7 @@ "type": "textInput", "label": "API Token", "value": "apiToken", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", "regexErrorMessage": "Invalid API Token", "required": true, "placeholder": "API Token for Zendesk login", @@ -26,7 +26,7 @@ "type": "textInput", "label": "Zendesk Subdomain", "value": "domain", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", "regexErrorMessage": "Invalid Zendesk Subdomain", "required": true, "placeholder": "Subdomain only not including .zendesk.com" @@ -70,6 +70,7 @@ "type": "textInput", "placeholder": "Marketing", "value": "oneTrustCookieCategory", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "label": "Category Name/ID", "required": false } diff --git a/test/data/validation/destinations/pinterest_tag.json b/test/data/validation/destinations/pinterest_tag.json index b8ba4513c1..5cd470bd66 100644 --- a/test/data/validation/destinations/pinterest_tag.json +++ b/test/data/validation/destinations/pinterest_tag.json @@ -21,7 +21,7 @@ "eventsMapping": [ { "from": "Track Ping", - "to": "ping" + "to": "Lead" } ] }, @@ -47,7 +47,7 @@ "eventsMapping": [ { "from": "Track Ping", - "to": "ping" + "to": "Lead" } ] }, @@ -74,12 +74,15 @@ "eventsMapping": [ { "from": "Track Ping", - "to": "ping" + "to": "Lead" } ] }, "result": false, - "err": ["advertiserId must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^[0-9]*$\""] + "err": [ + "advertiserId must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^[0-9]*$\"", + " must match \"then\" schema" + ] }, { "config": { @@ -100,7 +103,7 @@ "eventsMapping": [ { "from": "Track Ping", - "to": "ping" + "to": "Lead" } ] }, @@ -127,13 +130,14 @@ "eventsMapping": [ { "from": "Track Ping", - "to": "ping" + "to": "Lead" } ] }, "result": false, "err": [ - "deduplicationKey must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$\"" + "deduplicationKey must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$\"", + " must match \"then\" schema" ] }, { @@ -159,12 +163,15 @@ "eventsMapping": [ { "from": "Track Ping", - "to": "ping" + "to": "Lead" } ] }, "result": false, - "err": ["adAccountId must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^[0-9]*$\""] + "err": [ + "adAccountId must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^[0-9]*$\"", + " must match \"then\" schema" + ] }, { "config": { @@ -189,13 +196,14 @@ "eventsMapping": [ { "from": "Track Ping", - "to": "ping" + "to": "Lead" } ] }, "result": false, "err": [ - "conversionToken must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,101})$\"" + "conversionToken must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,101})$\"", + " must match \"then\" schema" ] } ] diff --git a/test/data/validation/destinations/quora_pixel.json b/test/data/validation/destinations/quora_pixel.json index 162099b452..33e3371555 100644 --- a/test/data/validation/destinations/quora_pixel.json +++ b/test/data/validation/destinations/quora_pixel.json @@ -5,7 +5,7 @@ "eventsToQPEvents": [ { "from": "Order Completed", - "to": "Initiate Checkout" + "to": "InitiateCheckout" } ], "eventFilteringOption": "disable", @@ -30,7 +30,7 @@ "eventsToQPEvents": [ { "from": "Order Completed", - "to": "Initiate Checkout" + "to": "InitiateCheckout" }, { "from": "Anonymous Page Visit", @@ -38,7 +38,7 @@ }, { "from": "Credit Card Added", - "to": "Add Payment Info" + "to": "AddPaymentInfo" } ], "eventFilteringOption": "whitelistedEvents", @@ -53,7 +53,7 @@ "eventsToQPEvents": [ { "from": "Order Completed", - "to": "Initiate Checkout" + "to": "InitiateCheckout" } ], "eventFilteringOption": "disable", @@ -69,7 +69,7 @@ "eventsToQPEvents": [ { "from": "Order Completed", - "to": "Initiate Checkout" + "to": "InitiateCheckout" } ], "eventFilteringOption": "disable", @@ -84,7 +84,7 @@ "eventsToQPEvents": [ { "from": "Order Completed", - "to": "Initiate Checkout" + "to": "InitiateCheckout" } ], "eventFilteringOption": "disable", diff --git a/test/data/validation/destinations/rs.json b/test/data/validation/destinations/rs.json index 364cc27eb4..0e70b6fec6 100644 --- a/test/data/validation/destinations/rs.json +++ b/test/data/validation/destinations/rs.json @@ -12,6 +12,7 @@ "useRudderStorage": false, "useSTSTokens": false, "bucketName": "test-bucket", + "roleBasedAuth": false, "accessKeyID": "", "accessKey": "" }, @@ -28,10 +29,12 @@ "syncFrequency": "30", "enableSSE": false, "useRudderStorage": false, + "roleBasedAuth": true, "useSTSTokens": false, "bucketName": "test-bucket", "accessKeyID": "test-access-key-id", - "accessKey": "test-access-key" + "accessKey": "test-access-key", + "iamRoleARN": "fdsf" }, "result": true }, @@ -69,7 +72,12 @@ "roleBasedAuth": true }, "result": false, - "err": [" must have required property 'iamRoleARN'", " must match \"then\" schema"] + "err": [ + "roleBasedAuth must be equal to constant", + " must have required property 'iamRoleARN'", + " must match a schema in anyOf", + " must match \"then\" schema" + ] }, { "config": { @@ -84,12 +92,13 @@ "useRudderStorage": false, "useSTSTokens": false, "bucketName": "{{}}", + "roleBasedAuth": false, "accessKeyID": "test-access-key-id", "accessKey": "test-access-key" }, "result": false, "err": [ - "bucketName must match pattern \"(^env[.].+)|^((?!^xn--)(?!.*\\.\\..*)(?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$|(^\\{\\{.+\\}\\}$)\"", + "bucketName must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^((?!^xn--)(?!.*\\.\\..*)(?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$|(^\\{\\{.+\\}\\}$)\"", " must match \"then\" schema" ] }, @@ -106,6 +115,7 @@ "useRudderStorage": false, "useSTSTokens": false, "bucketName": "{{ TEST_BUCKET }}", + "roleBasedAuth": false, "accessKeyID": "test-access-key-id", "accessKey": "test-access-key" }, @@ -124,13 +134,14 @@ "useRudderStorage": false, "useSTSTokens": false, "syncFrequency": "30", + "roleBasedAuth": false, "bucketName": "ab..ab", "accessKeyID": "test-access-key-id", "accessKey": "test-access-key" }, "result": false, "err": [ - "bucketName must match pattern \"(^env[.].+)|^((?!^xn--)(?!.*\\.\\..*)(?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$|(^\\{\\{.+\\}\\}$)\"", + "bucketName must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^((?!^xn--)(?!.*\\.\\..*)(?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$|(^\\{\\{.+\\}\\}$)\"", " must match \"then\" schema" ] }, @@ -149,6 +160,7 @@ "useRudderStorage": false, "bucketName": "{{ TEST_BUCKET }}", "prefix": "rudder", + "roleBasedAuth": false, "accessKeyID": "test-access-key-id", "accessKey": "test-access-key", "useSTSTokens": false @@ -174,6 +186,7 @@ "useRudderStorage": false, "bucketName": "{{ TEST_BUCKET }}", "prefix": "rudder", + "roleBasedAuth": false, "accessKeyID": "test-access-key-id", "accessKey": "test-access-key", "useSTSTokens": false diff --git a/test/data/validation/destinations/s3.json b/test/data/validation/destinations/s3.json index a0778242dc..b152afda29 100644 --- a/test/data/validation/destinations/s3.json +++ b/test/data/validation/destinations/s3.json @@ -5,6 +5,7 @@ "prefix": "load-GA", "accessKeyID": "test-access-key-id", "accessKey": "test-access-key", + "roleBasedAuth": false, "enableSSE": false }, "result": true @@ -16,6 +17,7 @@ "accessKey": "test-access-key", "enableSSE": true, "testConnection": false, + "roleBasedAuth": false, "testConnectionTS": 1627655059687 }, "result": false, @@ -26,6 +28,7 @@ "bucketName": "iqw.btex.deltalake.production", "accessKeyID": "test-access-key-id", "accessKey": "test-access-key", + "roleBasedAuth": false, "enableSSE": true }, "result": true @@ -34,6 +37,7 @@ "config": { "bucketName": "iqw.btex.deltalake.production", "prefix": "tashforcenonsse/app_events/", + "roleBasedAuth": false, "accessKeyID": "test-access-key-id", "accessKey": "test-access-key" }, @@ -44,6 +48,7 @@ "bucketName": "iqw.btex.deltalake.production", "prefix": ["p1", "p2"], "accessKeyID": "test-access-key-id", + "roleBasedAuth": false, "accessKey": "test-access-key", "enableSSE": false }, @@ -57,6 +62,7 @@ "p1qpqowoeujdjhfsjcbcnfhhruthgdhdhffpoahwbseytxyideodjfwoefhdwofwbqbckjqowjhdbsjhdhdbfdefbvbswdbswvdwvuqvqooiwqdwcwewef", "p2" ], + "roleBasedAuth": false, "accessKeyID": "test-access-key-id", "accessKey": "test-access-key", "enableSSE": false diff --git a/test/data/validation/destinations/s3_datalake.json b/test/data/validation/destinations/s3_datalake.json index f35dd384ee..50477f6f31 100644 --- a/test/data/validation/destinations/s3_datalake.json +++ b/test/data/validation/destinations/s3_datalake.json @@ -64,7 +64,7 @@ }, "result": false, "err": [ - "bucketName must match pattern \"(^env[.].+)|^((?!^xn--)(?!.*\\.\\..*)(?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$\"" + "bucketName must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^((?!^xn--)(?!.*\\.\\..*)(?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$\"" ] }, { @@ -93,7 +93,7 @@ }, "result": false, "err": [ - "bucketName must match pattern \"(^env[.].+)|^((?!^xn--)(?!.*\\.\\..*)(?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$\"" + "bucketName must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^((?!^xn--)(?!.*\\.\\..*)(?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$\"" ] }, { @@ -109,7 +109,7 @@ }, "result": false, "err": [ - "bucketName must match pattern \"(^env[.].+)|^((?!^xn--)(?!.*\\.\\..*)(?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$\"" + "bucketName must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^((?!^xn--)(?!.*\\.\\..*)(?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$\"" ] }, { @@ -125,7 +125,7 @@ }, "result": false, "err": [ - "bucketName must match pattern \"(^env[.].+)|^((?!^xn--)(?!.*\\.\\..*)(?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$\"" + "bucketName must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^((?!^xn--)(?!.*\\.\\..*)(?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$\"" ] }, { @@ -141,7 +141,7 @@ }, "result": false, "err": [ - "bucketName must match pattern \"(^env[.].+)|^((?!^xn--)(?!.*\\.\\..*)(?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$\"" + "bucketName must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^((?!^xn--)(?!.*\\.\\..*)(?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$\"" ] } ] diff --git a/test/data/validation/destinations/sendinblue.json b/test/data/validation/destinations/sendinblue.json index 708b9fd2f6..136d25b6a8 100644 --- a/test/data/validation/destinations/sendinblue.json +++ b/test/data/validation/destinations/sendinblue.json @@ -83,7 +83,9 @@ }, "result": false, "err": [ - "templateId must match pattern \"(^\\{\\{.*\\|\\|(.*?)\\}\\}$)|(^env[.].+)|^[0-9]+$|^$\"" + "templateId must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^[0-9]+$\"", + " must match \"then\" schema", + " must match a schema in anyOf" ] }, { @@ -95,7 +97,11 @@ "redirectionUrl": "https://my.sendinblue.com/" }, "result": false, - "err": ["templateId must be string"] + "err": [ + "templateId must be string", + " must match \"then\" schema", + " must match a schema in anyOf" + ] }, { "config": { @@ -107,7 +113,9 @@ }, "result": false, "err": [ - "redirectionUrl must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(?:http(s)?:\\/\\/)?[\\w.-]+(?:\\.[\\w\\.-]+)+[\\w\\-\\._~:/?#[\\]@!\\$&'\\(\\)\\*\\+,;=.]+$|^$\"" + "redirectionUrl must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(?:http(s)?:\\/\\/)?[\\w.-]+(?:\\.[\\w\\.-]+)+[\\w\\-\\._~:/?#[\\]@!\\$&'\\(\\)\\*\\+,;=.]+$\"", + " must match \"then\" schema", + " must match a schema in anyOf" ] } ] diff --git a/test/data/validation/destinations/shynet.json b/test/data/validation/destinations/shynet.json index ab7eedf518..3096f67e5c 100644 --- a/test/data/validation/destinations/shynet.json +++ b/test/data/validation/destinations/shynet.json @@ -29,7 +29,7 @@ "shynetServiceUrl": "" }, "err": [ - "shynetServiceUrl must match pattern \"^(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{1,300})$\"" + "shynetServiceUrl must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{1,300})$\"" ] } ] diff --git a/test/data/validation/destinations/snowflake.json b/test/data/validation/destinations/snowflake.json index 59efeb44c9..be514ee0fb 100644 --- a/test/data/validation/destinations/snowflake.json +++ b/test/data/validation/destinations/snowflake.json @@ -10,6 +10,7 @@ "syncFrequency": "30", "enableSSE": false, "useRudderStorage": false, + "roleBasedAuth": false, "prefix": "test-prefix", "useSTSTokens": false, "bucketName": "test-bucket", @@ -48,6 +49,7 @@ "syncFrequency": "30", "enableSSE": false, "useRudderStorage": false, + "roleBasedAuth": false, "prefix": "test-prefix", "useSTSTokens": false, "bucketName": "test-bucket" @@ -57,7 +59,7 @@ " must have required property 'accessKeyID'", " must have required property 'accessKey'", " must have required property 'iamRoleARN'", - " must have required property 'roleBasedAuth'", + "roleBasedAuth must be equal to constant", " must match a schema in anyOf", " must match \"then\" schema" ] @@ -73,6 +75,7 @@ "syncFrequency": "30", "enableSSE": false, "useRudderStorage": false, + "roleBasedAuth": false, "prefix": "test-prefix", "useSTSTokens": false, "bucketName": "test-bucket", @@ -82,7 +85,7 @@ "err": [ " must have required property 'accessKey'", " must have required property 'iamRoleARN'", - " must have required property 'roleBasedAuth'", + "roleBasedAuth must be equal to constant", " must match a schema in anyOf", " must match \"then\" schema" ] @@ -107,6 +110,7 @@ "err": [ " must have required property 'accessKeyID'", " must have required property 'accessKey'", + "roleBasedAuth must be equal to constant", " must have required property 'iamRoleARN'", " must match a schema in anyOf", " must match \"then\" schema" @@ -124,6 +128,7 @@ "syncFrequency": "30", "enableSSE": false, "useRudderStorage": false, + "roleBasedAuth": false, "prefix": "test-prefix", "useSTSTokens": false, "bucketName": "test-bucket", @@ -142,6 +147,8 @@ "sslMode": "disable", "syncFrequency": "30", "useRudderStorage": false, + "roleBasedAuth": false, + "storageIntegration": "gcp_int", "prefix": "", "cloudProvider": "GCP", "bucketName": "test-bucket", @@ -166,6 +173,10 @@ "sslMode": "disable", "syncFrequency": "30", "useRudderStorage": false, + "roleBasedAuth": false, + "sasToken": "sas-token", + "useSASTokens": false, + "storageIntegration": "gcp_int", "cloudProvider": "AZURE", "containerName": "test-container", "accountName": "test-account-name", @@ -184,7 +195,9 @@ "sslMode": "disable", "syncFrequency": "30", "useRudderStorage": false, + "roleBasedAuth": false, "cloudProvider": "AZURE", + "storageIntegration": "gcp_int", "containerName": "test-container", "accountName": "test-account-name", "accountKey": "test-azure-account-key", @@ -204,7 +217,9 @@ "sslMode": "disable", "syncFrequency": "30", "useRudderStorage": false, + "roleBasedAuth": false, "cloudProvider": "AZURE", + "storageIntegration": "gcp_int", "containerName": "test-container", "accountName": "test-account-name", "accountKey": "", @@ -224,7 +239,9 @@ "sslMode": "disable", "syncFrequency": "30", "useRudderStorage": false, + "roleBasedAuth": false, "cloudProvider": "AZURE", + "storageIntegration": "gcp_int", "containerName": "test-container", "accountName": "test-account-name", "accountKey": "test-azure-account-key", @@ -244,6 +261,8 @@ "sslMode": "disable", "syncFrequency": "30", "useRudderStorage": false, + "roleBasedAuth": false, + "storageIntegration": "gcp_int", "cloudProvider": "AZURE", "containerName": "test-container", "accountName": "test-account-name", @@ -264,6 +283,8 @@ "sslMode": "disable", "syncFrequency": "30", "useRudderStorage": false, + "roleBasedAuth": false, + "storageIntegration": "gcp_int", "cloudProvider": "AZURE", "containerName": "test-container", "accountName": "test-account-name", @@ -289,6 +310,8 @@ "cloudProvider": "AWS", "enableSSE": false, "useRudderStorage": false, + "roleBasedAuth": false, + "storageIntegration": "gcp_int", "prefix": "test-prefix", "useSTSTokens": false, "syncFrequency": "30", @@ -298,7 +321,7 @@ }, "result": false, "err": [ - "bucketName must match pattern \"(^env[.].+)|^((?!^xn--)(?!.*\\.\\..*)(?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$\"", + "bucketName must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^((?!^xn--)(?!.*\\.\\..*)(?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$\"", " must match \"then\" schema" ] }, @@ -312,9 +335,11 @@ "sslMode": "disable", "syncFrequency": "30", "useRudderStorage": false, + "roleBasedAuth": false, "prefix": "test-prefix", "cloudProvider": "GCP", "bucketName": "test..bucket", + "storageIntegration": "gcp_int", "endPoint": "", "useSSL": true, "credentials": "{}", @@ -326,7 +351,7 @@ }, "result": false, "err": [ - "bucketName must match pattern \"(^env[.].+)|^((?!goog)(?!.*google.*)(?!^(\\d+(\\.|$)){4}$)(?!.*\\.\\..*)[a-z0-9][a-z0-9-._]{1,61}[a-z0-9])$\"", + "bucketName must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^((?!goog)(?!.*google.*)(?!^(\\d+(\\.|$)){4}$)(?!.*\\.\\..*)[a-z0-9][a-z0-9-._]{1,61}[a-z0-9])$\"", " must match \"then\" schema" ] }, @@ -340,16 +365,20 @@ "sslMode": "disable", "syncFrequency": "30", "useRudderStorage": false, + "roleBasedAuth": false, "prefix": "test-prefix", "cloudProvider": "AZURE", "containerName": "test--container", "accountName": "test-account-name", + "useSASTokens": true, + "storageIntegration": "gcp_int", + "sasToken": "sas-token", "accountKey": "test-azure-account-key", "useSSL": true }, "result": false, "err": [ - "containerName must match pattern \"(^env[.].+)|^(?=.{3,63}$)[a-z0-9]+(-[a-z0-9]+)*$\"", + "containerName must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(?=.{3,63}$)[a-z0-9]+(-[a-z0-9]+)*$\"", " must match \"then\" schema" ] } diff --git a/test/data/validation/destinations/tiktok_ads_offline_events.json b/test/data/validation/destinations/tiktok_ads_offline_events.json index c01687f35d..0b26387f3d 100644 --- a/test/data/validation/destinations/tiktok_ads_offline_events.json +++ b/test/data/validation/destinations/tiktok_ads_offline_events.json @@ -6,15 +6,15 @@ "eventsToStandard": [ { "from": "a", - "to": "a" + "to": "Subscribe" }, { "from": "b", - "to": "b" + "to": "Subscribe" }, { "from": "c", - "to": "c" + "to": "Subscribe" } ] }, @@ -26,15 +26,15 @@ "eventsToStandard": [ { "from": "a", - "to": "a" + "to": "Subscribe" }, { "from": "b", - "to": "b" + "to": "Subscribe" }, { "from": "c", - "to": "c" + "to": "Subscribe" } ] }, diff --git a/test/data/validation/destinations/vero.json b/test/data/validation/destinations/vero.json index 41147699c7..75be927e55 100644 --- a/test/data/validation/destinations/vero.json +++ b/test/data/validation/destinations/vero.json @@ -8,7 +8,7 @@ "web": [{ "eventName": "Pin Generated" }, { "eventName": "Pin Expired" }] }, "whitelistedEvents": { "web": [{ "eventName": "" }] }, - "eventFilteringOption": { "web": "blacklistedEvents" }, + "eventFilteringOption": "blacklistedEvents", "oneTrustCookieCategories": [ { "oneTrustCookieCategory": "Sales" }, { "oneTrustCookieCategory": "Marketing" } diff --git a/test/data/validation/destinations/woopra.json b/test/data/validation/destinations/woopra.json index 61ea5ae7dd..3deb0705e1 100644 --- a/test/data/validation/destinations/woopra.json +++ b/test/data/validation/destinations/woopra.json @@ -30,6 +30,8 @@ "outgoingTracking": true }, "result": false, - "err": ["projectName must match pattern \"^(([a-z0-9]+[.])+[a-z]{1,})$\""] + "err": [ + "projectName must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(([a-z0-9]+[.])+[a-z]{1,})$\"" + ] } ] diff --git a/test/data/validation/destinations/yahoo_dsp.json b/test/data/validation/destinations/yahoo_dsp.json index 79eafedfc2..75a6889447 100644 --- a/test/data/validation/destinations/yahoo_dsp.json +++ b/test/data/validation/destinations/yahoo_dsp.json @@ -71,7 +71,7 @@ "hashRequired": false }, "result": false, - "err": ["audienceType must match pattern \"^(EMAIL|DEVICE_ID|IP_ADDRESS)$\""] + "err": ["audienceType must be equal to one of the allowed values"] }, { "config": { @@ -84,7 +84,11 @@ "hashRequired": false }, "result": false, - "err": ["seedListType must match pattern \"^(GPADVID|IDFA)$\""] + "err": [ + "seedListType must be equal to one of the allowed values", + " must match \"then\" schema", + " must match a schema in anyOf" + ] }, { "config": { @@ -93,6 +97,7 @@ "audienceId": "138383", "accountId": "53421", "audienceType": "DEVICE_ID", + "seedListType": "GPADVID", "hashRequired": "" }, "result": false, diff --git a/test/data/validation/destinations/yandex_metrica.json b/test/data/validation/destinations/yandex_metrica.json index ba8b7ef727..44907ed0a2 100644 --- a/test/data/validation/destinations/yandex_metrica.json +++ b/test/data/validation/destinations/yandex_metrica.json @@ -158,7 +158,10 @@ "useNativeSDK": { "web": false } }, "result": false, - "err": ["eventFilteringOption must be string"] + "err": [ + "eventFilteringOption must be string", + "eventFilteringOption must be equal to one of the allowed values" + ] }, { "config": {