diff --git a/.pnp.cjs b/.pnp.cjs index dbff307..c80f1d6 100755 --- a/.pnp.cjs +++ b/.pnp.cjs @@ -28,7 +28,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { [null, {\ "packageLocation": "./",\ "packageDependencies": [\ - ["@transcend-io/cli", "npm:4.74.0"],\ + ["@transcend-io/cli", "npm:4.75.0"],\ ["@types/node", "npm:18.15.11"],\ ["@types/yargs-parser", "npm:21.0.0"],\ ["@typescript-eslint/eslint-plugin", "virtual:e4701b21c57d668a9f32792ae09af91ca2c9e5974303d21566e13f8d54df4a5ce05dd13aad1d58186b7def49e78e73a9ada2410c866b42710b4e27d4b231fa97#npm:5.58.0"],\ @@ -43,7 +43,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["eslint-plugin-import", "virtual:e4701b21c57d668a9f32792ae09af91ca2c9e5974303d21566e13f8d54df4a5ce05dd13aad1d58186b7def49e78e73a9ada2410c866b42710b4e27d4b231fa97#npm:2.27.5"],\ ["eslint-plugin-jsdoc", "virtual:e4701b21c57d668a9f32792ae09af91ca2c9e5974303d21566e13f8d54df4a5ce05dd13aad1d58186b7def49e78e73a9ada2410c866b42710b4e27d4b231fa97#npm:41.1.1"],\ ["fp-ts", "npm:2.11.8"],\ - ["io-ts", "virtual:226a4ab90e837eb7abd23d9ef0b9db8653509671c3c09773a9fa46dcfb8ea57821c618c73130b5274d522c1eda4fe900ca409a0b4c7deaee3a75c46428ed4509#npm:2.2.16"],\ + ["io-ts", "virtual:9b07e3a8323ea57b0e6e08f6efc408b42c65ea8fc43a8a23f265f1c2ee4856980e564e5ff62ffb29cb2bfaeec5db459ccff8dda13de9897b352798a00c4bdc81#npm:2.2.16"],\ ["prettier", "npm:2.8.7"],\ ["ts-node", "virtual:e4701b21c57d668a9f32792ae09af91ca2c9e5974303d21566e13f8d54df4a5ce05dd13aad1d58186b7def49e78e73a9ada2410c866b42710b4e27d4b231fa97#npm:10.9.1"],\ ["typescript", "patch:typescript@npm%3A5.0.4#~builtin::version=5.0.4&hash=85af82"],\ @@ -335,10 +335,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ],\ "linkType": "SOFT"\ }],\ - ["virtual:c0b9c3f9f3a01914e9b0412d8b8c712c1d40aa5e70efc9e9eed90c18c7689d933e47fdef402f1e5848ebe9a217d0c3f39efcd59bf663f45133afc0aed52d91a9#npm:3.2.0", {\ - "packageLocation": "./.yarn/__virtual__/@graphql-typed-document-node-core-virtual-458937c650/0/cache/@graphql-typed-document-node-core-npm-3.2.0-505adb1e90-fa44443acc.zip/node_modules/@graphql-typed-document-node/core/",\ + ["virtual:d63df32a2c8f58c1d64d59ea4c1b59edd8c12d2e92373783b773c32f19758df0967e94ea34e0b5439831dd4ebbf53611ad07c6d668cf57bbb7fbdef6d9adce0e#npm:3.2.0", {\ + "packageLocation": "./.yarn/__virtual__/@graphql-typed-document-node-core-virtual-61e286a549/0/cache/@graphql-typed-document-node-core-npm-3.2.0-505adb1e90-fa44443acc.zip/node_modules/@graphql-typed-document-node/core/",\ "packageDependencies": [\ - ["@graphql-typed-document-node/core", "virtual:c0b9c3f9f3a01914e9b0412d8b8c712c1d40aa5e70efc9e9eed90c18c7689d933e47fdef402f1e5848ebe9a217d0c3f39efcd59bf663f45133afc0aed52d91a9#npm:3.2.0"],\ + ["@graphql-typed-document-node/core", "virtual:d63df32a2c8f58c1d64d59ea4c1b59edd8c12d2e92373783b773c32f19758df0967e94ea34e0b5439831dd4ebbf53611ad07c6d668cf57bbb7fbdef6d9adce0e#npm:3.2.0"],\ ["@types/graphql", null],\ ["graphql", "npm:16.7.1"]\ ],\ @@ -517,10 +517,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["@transcend-io/cli", [\ - ["npm:4.74.0", {\ - "packageLocation": "./.yarn/cache/@transcend-io-cli-npm-4.74.0-226a4ab90e-39395ab86c.zip/node_modules/@transcend-io/cli/",\ + ["npm:4.75.0", {\ + "packageLocation": "./.yarn/cache/@transcend-io-cli-npm-4.75.0-9b07e3a832-e8995db235.zip/node_modules/@transcend-io/cli/",\ "packageDependencies": [\ - ["@transcend-io/cli", "npm:4.74.0"],\ + ["@transcend-io/cli", "npm:4.75.0"],\ ["@transcend-io/airgap.js-types", "npm:9.6.0"],\ ["@transcend-io/internationalization", "npm:1.6.0"],\ ["@transcend-io/persisted-state", "npm:1.0.2"],\ @@ -537,10 +537,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["global-agent", "npm:3.0.0"],\ ["got", "npm:11.8.6"],\ ["graphql", "npm:16.7.1"],\ - ["graphql-request", "virtual:226a4ab90e837eb7abd23d9ef0b9db8653509671c3c09773a9fa46dcfb8ea57821c618c73130b5274d522c1eda4fe900ca409a0b4c7deaee3a75c46428ed4509#npm:5.2.0"],\ + ["graphql-request", "virtual:9b07e3a8323ea57b0e6e08f6efc408b42c65ea8fc43a8a23f265f1c2ee4856980e564e5ff62ffb29cb2bfaeec5db459ccff8dda13de9897b352798a00c4bdc81#npm:5.2.0"],\ ["inquirer", "npm:7.3.3"],\ - ["inquirer-autocomplete-prompt", "virtual:226a4ab90e837eb7abd23d9ef0b9db8653509671c3c09773a9fa46dcfb8ea57821c618c73130b5274d522c1eda4fe900ca409a0b4c7deaee3a75c46428ed4509#npm:1.3.0"],\ - ["io-ts", "virtual:226a4ab90e837eb7abd23d9ef0b9db8653509671c3c09773a9fa46dcfb8ea57821c618c73130b5274d522c1eda4fe900ca409a0b4c7deaee3a75c46428ed4509#npm:2.2.16"],\ + ["inquirer-autocomplete-prompt", "virtual:9b07e3a8323ea57b0e6e08f6efc408b42c65ea8fc43a8a23f265f1c2ee4856980e564e5ff62ffb29cb2bfaeec5db459ccff8dda13de9897b352798a00c4bdc81#npm:1.3.0"],\ + ["io-ts", "virtual:9b07e3a8323ea57b0e6e08f6efc408b42c65ea8fc43a8a23f265f1c2ee4856980e564e5ff62ffb29cb2bfaeec5db459ccff8dda13de9897b352798a00c4bdc81#npm:2.2.16"],\ ["js-yaml", "npm:4.1.0"],\ ["lodash", "npm:4.17.21"],\ ["undici", "npm:5.23.0"],\ @@ -598,7 +598,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "packageLocation": "./",\ "packageDependencies": [\ ["@transcend-io/vz-cli", "workspace:."],\ - ["@transcend-io/cli", "npm:4.74.0"],\ + ["@transcend-io/cli", "npm:4.75.0"],\ ["@types/node", "npm:18.15.11"],\ ["@types/yargs-parser", "npm:21.0.0"],\ ["@typescript-eslint/eslint-plugin", "virtual:e4701b21c57d668a9f32792ae09af91ca2c9e5974303d21566e13f8d54df4a5ce05dd13aad1d58186b7def49e78e73a9ada2410c866b42710b4e27d4b231fa97#npm:5.58.0"],\ @@ -613,7 +613,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["eslint-plugin-import", "virtual:e4701b21c57d668a9f32792ae09af91ca2c9e5974303d21566e13f8d54df4a5ce05dd13aad1d58186b7def49e78e73a9ada2410c866b42710b4e27d4b231fa97#npm:2.27.5"],\ ["eslint-plugin-jsdoc", "virtual:e4701b21c57d668a9f32792ae09af91ca2c9e5974303d21566e13f8d54df4a5ce05dd13aad1d58186b7def49e78e73a9ada2410c866b42710b4e27d4b231fa97#npm:41.1.1"],\ ["fp-ts", "npm:2.11.8"],\ - ["io-ts", "virtual:226a4ab90e837eb7abd23d9ef0b9db8653509671c3c09773a9fa46dcfb8ea57821c618c73130b5274d522c1eda4fe900ca409a0b4c7deaee3a75c46428ed4509#npm:2.2.16"],\ + ["io-ts", "virtual:9b07e3a8323ea57b0e6e08f6efc408b42c65ea8fc43a8a23f265f1c2ee4856980e564e5ff62ffb29cb2bfaeec5db459ccff8dda13de9897b352798a00c4bdc81#npm:2.2.16"],\ ["prettier", "npm:2.8.7"],\ ["ts-node", "virtual:e4701b21c57d668a9f32792ae09af91ca2c9e5974303d21566e13f8d54df4a5ce05dd13aad1d58186b7def49e78e73a9ada2410c866b42710b4e27d4b231fa97#npm:10.9.1"],\ ["typescript", "patch:typescript@npm%3A5.0.4#~builtin::version=5.0.4&hash=85af82"],\ @@ -3445,11 +3445,11 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ],\ "linkType": "SOFT"\ }],\ - ["virtual:226a4ab90e837eb7abd23d9ef0b9db8653509671c3c09773a9fa46dcfb8ea57821c618c73130b5274d522c1eda4fe900ca409a0b4c7deaee3a75c46428ed4509#npm:5.2.0", {\ - "packageLocation": "./.yarn/__virtual__/graphql-request-virtual-c0b9c3f9f3/0/cache/graphql-request-npm-5.2.0-31dd65ab47-a8aa378163.zip/node_modules/graphql-request/",\ + ["virtual:9b07e3a8323ea57b0e6e08f6efc408b42c65ea8fc43a8a23f265f1c2ee4856980e564e5ff62ffb29cb2bfaeec5db459ccff8dda13de9897b352798a00c4bdc81#npm:5.2.0", {\ + "packageLocation": "./.yarn/__virtual__/graphql-request-virtual-d63df32a2c/0/cache/graphql-request-npm-5.2.0-31dd65ab47-a8aa378163.zip/node_modules/graphql-request/",\ "packageDependencies": [\ - ["graphql-request", "virtual:226a4ab90e837eb7abd23d9ef0b9db8653509671c3c09773a9fa46dcfb8ea57821c618c73130b5274d522c1eda4fe900ca409a0b4c7deaee3a75c46428ed4509#npm:5.2.0"],\ - ["@graphql-typed-document-node/core", "virtual:c0b9c3f9f3a01914e9b0412d8b8c712c1d40aa5e70efc9e9eed90c18c7689d933e47fdef402f1e5848ebe9a217d0c3f39efcd59bf663f45133afc0aed52d91a9#npm:3.2.0"],\ + ["graphql-request", "virtual:9b07e3a8323ea57b0e6e08f6efc408b42c65ea8fc43a8a23f265f1c2ee4856980e564e5ff62ffb29cb2bfaeec5db459ccff8dda13de9897b352798a00c4bdc81#npm:5.2.0"],\ + ["@graphql-typed-document-node/core", "virtual:d63df32a2c8f58c1d64d59ea4c1b59edd8c12d2e92373783b773c32f19758df0967e94ea34e0b5439831dd4ebbf53611ad07c6d668cf57bbb7fbdef6d9adce0e#npm:3.2.0"],\ ["@types/graphql", null],\ ["cross-fetch", "npm:3.1.8"],\ ["extract-files", "npm:9.0.0"],\ @@ -3743,10 +3743,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ],\ "linkType": "SOFT"\ }],\ - ["virtual:226a4ab90e837eb7abd23d9ef0b9db8653509671c3c09773a9fa46dcfb8ea57821c618c73130b5274d522c1eda4fe900ca409a0b4c7deaee3a75c46428ed4509#npm:1.3.0", {\ - "packageLocation": "./.yarn/__virtual__/inquirer-autocomplete-prompt-virtual-c242727cf3/0/cache/inquirer-autocomplete-prompt-npm-1.3.0-f725e67565-355f0ad3bd.zip/node_modules/inquirer-autocomplete-prompt/",\ + ["virtual:9b07e3a8323ea57b0e6e08f6efc408b42c65ea8fc43a8a23f265f1c2ee4856980e564e5ff62ffb29cb2bfaeec5db459ccff8dda13de9897b352798a00c4bdc81#npm:1.3.0", {\ + "packageLocation": "./.yarn/__virtual__/inquirer-autocomplete-prompt-virtual-fd63e9bb1e/0/cache/inquirer-autocomplete-prompt-npm-1.3.0-f725e67565-355f0ad3bd.zip/node_modules/inquirer-autocomplete-prompt/",\ "packageDependencies": [\ - ["inquirer-autocomplete-prompt", "virtual:226a4ab90e837eb7abd23d9ef0b9db8653509671c3c09773a9fa46dcfb8ea57821c618c73130b5274d522c1eda4fe900ca409a0b4c7deaee3a75c46428ed4509#npm:1.3.0"],\ + ["inquirer-autocomplete-prompt", "virtual:9b07e3a8323ea57b0e6e08f6efc408b42c65ea8fc43a8a23f265f1c2ee4856980e564e5ff62ffb29cb2bfaeec5db459ccff8dda13de9897b352798a00c4bdc81#npm:1.3.0"],\ ["@types/inquirer", null],\ ["ansi-escapes", "npm:4.3.2"],\ ["chalk", "npm:4.1.2"],\ @@ -3809,12 +3809,12 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ],\ "linkType": "SOFT"\ }],\ - ["virtual:226a4ab90e837eb7abd23d9ef0b9db8653509671c3c09773a9fa46dcfb8ea57821c618c73130b5274d522c1eda4fe900ca409a0b4c7deaee3a75c46428ed4509#npm:2.2.16", {\ - "packageLocation": "./.yarn/__virtual__/io-ts-virtual-b1deffb5f7/0/cache/io-ts-npm-2.2.16-b76df10271-1b5855682e.zip/node_modules/io-ts/",\ + ["virtual:2ef3c1e7b258ce8cfb78664027ebcccb72430c4e706784010fa67dd0831459c2015ba349a8900665ed832d55ba1a9ec4ef98d44bda1eafdd5cd601ef1c36f37a#npm:2.2.20", {\ + "packageLocation": "./.yarn/__virtual__/io-ts-virtual-12fe391896/0/cache/io-ts-npm-2.2.20-734099d523-72517bf72a.zip/node_modules/io-ts/",\ "packageDependencies": [\ - ["io-ts", "virtual:226a4ab90e837eb7abd23d9ef0b9db8653509671c3c09773a9fa46dcfb8ea57821c618c73130b5274d522c1eda4fe900ca409a0b4c7deaee3a75c46428ed4509#npm:2.2.16"],\ + ["io-ts", "virtual:2ef3c1e7b258ce8cfb78664027ebcccb72430c4e706784010fa67dd0831459c2015ba349a8900665ed832d55ba1a9ec4ef98d44bda1eafdd5cd601ef1c36f37a#npm:2.2.20"],\ ["@types/fp-ts", null],\ - ["fp-ts", "npm:2.11.8"]\ + ["fp-ts", "npm:2.16.1"]\ ],\ "packagePeers": [\ "@types/fp-ts",\ @@ -3822,12 +3822,12 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ],\ "linkType": "HARD"\ }],\ - ["virtual:2ef3c1e7b258ce8cfb78664027ebcccb72430c4e706784010fa67dd0831459c2015ba349a8900665ed832d55ba1a9ec4ef98d44bda1eafdd5cd601ef1c36f37a#npm:2.2.20", {\ - "packageLocation": "./.yarn/__virtual__/io-ts-virtual-12fe391896/0/cache/io-ts-npm-2.2.20-734099d523-72517bf72a.zip/node_modules/io-ts/",\ + ["virtual:9b07e3a8323ea57b0e6e08f6efc408b42c65ea8fc43a8a23f265f1c2ee4856980e564e5ff62ffb29cb2bfaeec5db459ccff8dda13de9897b352798a00c4bdc81#npm:2.2.16", {\ + "packageLocation": "./.yarn/__virtual__/io-ts-virtual-3add3aaab3/0/cache/io-ts-npm-2.2.16-b76df10271-1b5855682e.zip/node_modules/io-ts/",\ "packageDependencies": [\ - ["io-ts", "virtual:2ef3c1e7b258ce8cfb78664027ebcccb72430c4e706784010fa67dd0831459c2015ba349a8900665ed832d55ba1a9ec4ef98d44bda1eafdd5cd601ef1c36f37a#npm:2.2.20"],\ + ["io-ts", "virtual:9b07e3a8323ea57b0e6e08f6efc408b42c65ea8fc43a8a23f265f1c2ee4856980e564e5ff62ffb29cb2bfaeec5db459ccff8dda13de9897b352798a00c4bdc81#npm:2.2.16"],\ ["@types/fp-ts", null],\ - ["fp-ts", "npm:2.16.1"]\ + ["fp-ts", "npm:2.11.8"]\ ],\ "packagePeers": [\ "@types/fp-ts",\ diff --git a/.vscode/settings.json b/.vscode/settings.json index c0cef58..16f0da0 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -70,7 +70,8 @@ "Upserting", "uspapi", "yaml", - "yarnpkg" + "yarnpkg", + "YMLS" ], "javascript.preferences.importModuleSpecifier": "relative", "typescript.preferences.importModuleSpecifier": "relative" diff --git a/.yarn/cache/@transcend-io-cli-npm-4.74.0-226a4ab90e-39395ab86c.zip b/.yarn/cache/@transcend-io-cli-npm-4.75.0-9b07e3a832-e8995db235.zip similarity index 82% rename from .yarn/cache/@transcend-io-cli-npm-4.74.0-226a4ab90e-39395ab86c.zip rename to .yarn/cache/@transcend-io-cli-npm-4.75.0-9b07e3a832-e8995db235.zip index 3c3b3d9..397cfaa 100644 Binary files a/.yarn/cache/@transcend-io-cli-npm-4.74.0-226a4ab90e-39395ab86c.zip and b/.yarn/cache/@transcend-io-cli-npm-4.75.0-9b07e3a832-e8995db235.zip differ diff --git a/README.md b/README.md index 7435817..e7f5b5a 100644 --- a/README.md +++ b/README.md @@ -20,8 +20,6 @@ - [Arguments](#arguments-1) - [Usage](#usage-1) - [vz-transform-from-parent-for-children](#vz-transform-from-parent-for-children) - - [vz-derive-integrations-from-data-flows](#vz-derive-integrations-from-data-flows) - - [vz-derive-per-instance-integrations-from-data-flows](#vz-derive-per-instance-integrations-from-data-flows) - [Useful Commands](#useful-commands) - [A) Combine Legal CSV with Transcend Data Flows and Cookies](#a-combine-legal-csv-with-transcend-data-flows-and-cookies) - [Required Environment Variables](#required-environment-variables) @@ -90,6 +88,10 @@ yarn vz-combine-legal-csv-data-flows \ --legalCsv=/Users/test/Desktop/legal.csv \ --dataFlowExportCsv=/Users/test/Desktop/data-flows.csv \ --output=/Users/test/Desktop/output.csv +yarn vz-combine-legal-csv-cookies \ + --legalCsv=/Users/test/Desktop/legal.csv \ + --dataFlowExportCsv=/Users/test/Desktop/cookies.csv \ + --output=/Users/test/Desktop/output.csv yarn vz-transcend-from-parent-for-children --file=./transcend.yml # transcend cli commands available within @transcend-io/cli @@ -103,6 +105,10 @@ yarn tr-upload-cookies-from-csv --auth=$TRANSCEND_API_KEY --file=./approved-flow yarn tr-generate-api-keys --auth=$TRANSCEND_API_KEY --email=test@transcend.io --password=$TRANSCEND_PASSWORD \ --scopes="View Email Templates,View Data Map" --apiKeyTitle="CLI Usage Cross Instance Sync" -file=./working/auth.json yarn tr-build-xdi-sync-endpoint --auth=$TRANSCEND_API_KEY --xdiLocation=https://cdn.your-site.com/xdi.js +yarn tr-derive-data-silos-from-data-flows --auth=$TRANSCEND_API_KEY --dataFlowsYmlFolder=./working/data-flows/ \ + --dataSilosYmlFolder=./working/data-silos/ --ignoreYmls="0 - Data Mapping.yml" +yarn tr-derive-data-silos-from-data-flows-cross-instance --auth=$TRANSCEND_API_KEY + --dataFlowsYmlFolder=./working/data-flows/ --output=./transcend.yml ``` _The cli-commands default to using the EU Transcend backend. To use these commands with the US backend, you will need to use the flag You can also set the environment variable `TRANSCEND_API_URL=https://api.us.transcend.io`_ @@ -179,14 +185,6 @@ Remove data from the `0 - Data Mapping` `transcend.yml` output that should not b yarn vz-transcend-from-parent-for-children --file=./transcend.yml ``` -### vz-derive-integrations-from-data-flows - -FIXME - -### vz-derive-per-instance-integrations-from-data-flows - -FIXME - ## Useful Commands ### A) Combine Legal CSV with Transcend Data Flows and Cookies @@ -333,7 +331,7 @@ export TRANSCEND_YAML_FOLDER=./working/output/ export TRANSCEND_API_KEYS_PATH=./working/api-keys.json rm -rf $TRANSCEND_YAML_FOLDER yarn tr-pull --auth=$TRANSCEND_API_KEYS_PATH --file=$TRANSCEND_YAML_FOLDER --resources=consentManager -yarn vz-consent-manager-configuration-to-summary --transcendYmlFolder=$TRANSCEND_YAML_FOLDER --output=$COMBINED_TRANSCEND_BUSINESS_ENTITIES +yarn tr-consent-managers-to-business-entities --transcendYmlFolder=$TRANSCEND_YAML_FOLDER --output=$COMBINED_TRANSCEND_BUSINESS_ENTITIES yarn tr-push --auth=$TRANSCEND_API_KEY --file=$COMBINED_TRANSCEND_BUSINESS_ENTITIES ``` @@ -375,10 +373,29 @@ Create a single export of ad tech and site tech across all Transcend instances. 3. Produce a single `transcend.yml` file with the full set of all Data Silos found from each data flow and cookie 4. Load the `transcend.yml` into the `0 - Data Mapping` Transcend instance. -FIXME +```sh +export TRANSCEND_API_URL=https://api.us.transcend.io +export TRANSCEND_API_KEYS_PATH=./working/api-keys.json +export TRANSCEND_DATA_FLOWS_YAML_FOLDER=./working/data-flows/ +export TRANSCEND_DATA_SILOS_YAML_FILE=./working/data-silos.yml +export TRANSCEND_IGNORE_YMLS="0 - Data Mapping.yml" +export TRANSCEND_API_KEY=SECRET_FILL_ME +yarn tr-pull --auth=$TRANSCEND_API_KEYS_PATH --file=$TRANSCEND_DATA_FLOWS_YAML_FOLDER --resources=dataFlows --trackerStatuses=LIVE +yarn tr-derive-data-silos-from-data-flows-cross-instance --auth=$TRANSCEND_API_KEY --dataFlowsYmlFolder=$TRANSCEND_DATA_FLOWS_YAML_FOLDER --output=$TRANSCEND_DATA_SILOS_YAML_FILE --ignoreYmls=$TRANSCEND_IGNORE_YMLS +yarn tr-push --auth=$TRANSCEND_API_KEY --file=$TRANSCEND_DATA_SILOS_YAML_FOLDER +``` #### Required Environment Variables +| Argument | Description | Type | Is Secret | +| ---------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------- | -------------------------------------------------------- | +| `TRANSCEND_API_URL` | Transcend backend URL | string - url | false | +| `TRANSCEND_API_KEYS_PATH` | Path to the JSON file holding the API keys for each instance. This file can be created in section "Generate API keys to Synchronize Cross-Account Data" | string - file-path | false - file contents are secret (should be git-ignored) | +| `TRANSCEND_DATA_FLOWS_YAML_FOLDER` | The folder to write the set of data flow configurations | string - folder-path | false | +| `TRANSCEND_DATA_SILOS_YAML_FILE` | The file to write the set of data silo configurations to | string - file-path | false | +| `TRANSCEND_IGNORE_YMLS` | The yml files that should not be synced | string[] | false | +| `TRANSCEND_API_KEY` | Transcend API key with `Manage Data Map` permission for the instance to upload the `TRANSCEND_DATA_SILOS_YAML_FILE` file to | string - api-key | true | + ### I) Generate Per-Instance List of Ad Tech Data Silos 1. Pull down the data flows and cookies across all instances @@ -386,10 +403,29 @@ FIXME 3. Produce a new `transcend.yml` file containing the full set of all Data Silos found from in each instance 4. Load each `transcend.yml` into each respective Transcend instance -FIXME +```sh +export TRANSCEND_API_URL=https://api.us.transcend.io +export TRANSCEND_API_KEYS_PATH=./working/api-keys.json +export TRANSCEND_DATA_FLOWS_YAML_FOLDER=./working/data-flows/ +export TRANSCEND_DATA_SILOS_YAML_FOLDER=./working/data-silos/ +export TRANSCEND_IGNORE_YMLS="0 - Data Mapping.yml" +export TRANSCEND_API_KEY=SECRET_FILL_ME +yarn tr-pull --auth=$TRANSCEND_API_KEYS_PATH --file=$TRANSCEND_DATA_FLOWS_YAML_FOLDER --resources=dataFlows --trackerStatuses=LIVE +yarn tr-derive-data-silos-from-data-flows --auth=$TRANSCEND_API_KEY --dataFlowsYmlFolder=$TRANSCEND_DATA_FLOWS_YAML_FOLDER --dataSilosYmlFolder=$TRANSCEND_DATA_SILOS_YAML_FOLDER --ignoreYmls=$TRANSCEND_IGNORE_YMLS +yarn tr-push --auth=$TRANSCEND_API_KEYS_PATH --file=$TRANSCEND_DATA_SILOS_YAML_FOLDER +``` #### Required Environment Variables +| Argument | Description | Type | Is Secret | +| ---------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------- | -------------------------------------------------------- | +| `TRANSCEND_API_URL` | Transcend backend URL | string - url | false | +| `TRANSCEND_API_KEYS_PATH` | Path to the JSON file holding the API keys for each instance. This file can be created in section "Generate API keys to Synchronize Cross-Account Data" | string - file-path | false - file contents are secret (should be git-ignored) | +| `TRANSCEND_DATA_FLOWS_YAML_FOLDER` | The folder to write the set of data flow configurations | string - folder-path | false | +| `TRANSCEND_DATA_SILOS_YAML_FOLDER` | The folder to write the set of data silo configurations | string - folder-path | false | +| `TRANSCEND_IGNORE_YMLS` | The yml files that should not be synced | string[] | false | +| `TRANSCEND_API_KEY` | Any Transcend API key across any instance. No scope required | string - api-key | true | + ### J) Update the Consent Manager to Latest Cross-Instance Use this command to update each consent manager to the latest version, and deploy all active changes. Please be careful using this command, as it will deploy any outstanding changes since the last deploy. diff --git a/package.json b/package.json index 67c01dc..29be35c 100644 --- a/package.json +++ b/package.json @@ -46,7 +46,7 @@ }, "packageManager": "yarn@3.5.0", "dependencies": { - "@transcend-io/cli": "^4.74.0", + "@transcend-io/cli": "^4.75.0", "colors": "^1.4.0", "fp-ts": "=2.11.8", "io-ts": "=2.2.16", diff --git a/yarn.lock b/yarn.lock index f5af185..6ae9963 100644 --- a/yarn.lock +++ b/yarn.lock @@ -397,9 +397,9 @@ __metadata: languageName: node linkType: hard -"@transcend-io/cli@npm:^4.74.0": - version: 4.74.0 - resolution: "@transcend-io/cli@npm:4.74.0" +"@transcend-io/cli@npm:^4.75.0": + version: 4.75.0 + resolution: "@transcend-io/cli@npm:4.75.0" dependencies: "@transcend-io/airgap.js-types": ^9.2.0 "@transcend-io/internationalization": ^1.6.0 @@ -430,6 +430,8 @@ __metadata: tr-consent-managers-to-business-entities: cli-consent-managers-to-business-entities.ts tr-cron-mark-identifiers-completed: ./build/cli-cron-mark-identifiers-completed.js tr-cron-pull-identifiers: ./build/cli-cron-pull-identifiers.js + tr-derive-data-silos-from-data-flows: ./build/cli-derive-data-silos-from-data-flows.js + tr-derive-data-silos-from-data-flows-cross-instance: ./build/cli-derive-data-silos-from-data-flows-cross-instance.js tr-discover-silos: ./build/cli-discover-silos.js tr-generate-api-keys: ./build/cli-generate-cross-account-api-keys.js tr-manual-enrichment-pull-identifiers: ./build/cli-manual-enrichment-pull-identifiers.js @@ -448,7 +450,7 @@ __metadata: tr-update-consent-manager: ./build/cli-update-consent-manager-to-latest.js tr-upload-cookies-from-csv: ./build/cli-upload-cookies-from-csv.js tr-upload-data-flows-from-csv: ./build/cli-upload-data-flows-from-csv.js - checksum: 39395ab86cc37a01cbcc81cee15b14e82a3e8af8ac70b6910d450dae87bae09e713c3f4988fc2828492a8ebabe9f42c75e6822836c8f5f0f7af347b3a9d73e7b + checksum: e8995db235e994e651224096b83475d66e3768ab44307dbaee8adbe7f0189f9dcb602fa59548927dc3b4f4891775c839df125bd76faa1d7c9cc09d1fa3ef5d0e languageName: node linkType: hard @@ -495,7 +497,7 @@ __metadata: version: 0.0.0-use.local resolution: "@transcend-io/vz-cli@workspace:." dependencies: - "@transcend-io/cli": ^4.74.0 + "@transcend-io/cli": ^4.75.0 "@types/node": ^18.15.11 "@types/yargs-parser": ^21 "@typescript-eslint/eslint-plugin": ^5.58.0