@transcend-io/cli 4.49.0 → 4.51.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.yarn/sdks/eslint/package.json +1 -1
- package/.yarn/sdks/prettier/package.json +1 -1
- package/.yarn/sdks/typescript/package.json +1 -1
- package/README.md +13 -11
- package/build/api-keys/index.js +5 -1
- package/build/api-keys/index.js.map +1 -1
- package/build/api-keys/validateTranscendAuth.js +5 -1
- package/build/api-keys/validateTranscendAuth.js.map +1 -1
- package/build/cli-pull.js +15 -1
- package/build/cli-pull.js.map +1 -1
- package/build/codecs.d.ts +18360 -24
- package/build/codecs.d.ts.map +1 -1
- package/build/codecs.js +46 -2
- package/build/codecs.js.map +1 -1
- package/build/consent-manager/index.js +5 -1
- package/build/consent-manager/index.js.map +1 -1
- package/build/cron/index.js +5 -1
- package/build/cron/index.js.map +1 -1
- package/build/cron/markCronIdentifierCompleted.d.ts +1 -1
- package/build/cron/markCronIdentifierCompleted.d.ts.map +1 -1
- package/build/cron/markCronIdentifierCompleted.js +5 -1
- package/build/cron/markCronIdentifierCompleted.js.map +1 -1
- package/build/cron/markRequestDataSiloIdsCompleted.js +5 -1
- package/build/cron/markRequestDataSiloIdsCompleted.js.map +1 -1
- package/build/cron/pullCronPageOfIdentifiers.d.ts +1 -1
- package/build/cron/pullCronPageOfIdentifiers.d.ts.map +1 -1
- package/build/cron/pullCronPageOfIdentifiers.js +5 -1
- package/build/cron/pullCronPageOfIdentifiers.js.map +1 -1
- package/build/cron/writeCsv.js +5 -1
- package/build/cron/writeCsv.js.map +1 -1
- package/build/graphql/createSombraGotInstance.d.ts.map +1 -1
- package/build/graphql/createSombraGotInstance.js.map +1 -1
- package/build/graphql/fetchAllActions.d.ts.map +1 -1
- package/build/graphql/fetchAllActions.js.map +1 -1
- package/build/graphql/fetchAllBusinessEntities.d.ts.map +1 -1
- package/build/graphql/fetchAllBusinessEntities.js.map +1 -1
- package/build/graphql/fetchAllRequestEnrichers.d.ts.map +1 -1
- package/build/graphql/fetchAllRequestEnrichers.js.map +1 -1
- package/build/graphql/fetchAllRequestIdentifiers.d.ts.map +1 -1
- package/build/graphql/fetchAllRequestIdentifiers.js.map +1 -1
- package/build/graphql/fetchAllRequests.d.ts +1 -1
- package/build/graphql/fetchAllRequests.d.ts.map +1 -1
- package/build/graphql/fetchAllRequests.js +5 -1
- package/build/graphql/fetchAllRequests.js.map +1 -1
- package/build/graphql/fetchApiKeys.d.ts.map +1 -1
- package/build/graphql/fetchApiKeys.js.map +1 -1
- package/build/graphql/fetchConsentManagerId.d.ts +48 -3
- package/build/graphql/fetchConsentManagerId.d.ts.map +1 -1
- package/build/graphql/fetchConsentManagerId.js +29 -3
- package/build/graphql/fetchConsentManagerId.js.map +1 -1
- package/build/graphql/fetchDataSubjects.d.ts.map +1 -1
- package/build/graphql/fetchDataSubjects.js.map +1 -1
- package/build/graphql/fetchIdentifiers.d.ts.map +1 -1
- package/build/graphql/fetchIdentifiers.js.map +1 -1
- package/build/graphql/fetchRequestDataSilo.d.ts.map +1 -1
- package/build/graphql/fetchRequestDataSilo.js.map +1 -1
- package/build/graphql/gqls/consentManager.d.ts +1 -0
- package/build/graphql/gqls/consentManager.d.ts.map +1 -1
- package/build/graphql/gqls/consentManager.js +27 -1
- package/build/graphql/gqls/consentManager.js.map +1 -1
- package/build/graphql/gqls/index.js +5 -1
- package/build/graphql/gqls/index.js.map +1 -1
- package/build/graphql/index.js +5 -1
- package/build/graphql/index.js.map +1 -1
- package/build/graphql/pullTranscendConfiguration.d.ts +4 -1
- package/build/graphql/pullTranscendConfiguration.d.ts.map +1 -1
- package/build/graphql/pullTranscendConfiguration.js +37 -6
- package/build/graphql/pullTranscendConfiguration.js.map +1 -1
- package/build/index.js +5 -1
- package/build/index.js.map +1 -1
- package/build/manual-enrichment/enrichPrivacyRequest.d.ts +1 -1
- package/build/manual-enrichment/enrichPrivacyRequest.d.ts.map +1 -1
- package/build/manual-enrichment/enrichPrivacyRequest.js +5 -1
- package/build/manual-enrichment/enrichPrivacyRequest.js.map +1 -1
- package/build/manual-enrichment/index.js +5 -1
- package/build/manual-enrichment/index.js.map +1 -1
- package/build/plugins/constants.d.ts +1 -1
- package/build/plugins/constants.d.ts.map +1 -1
- package/build/plugins/index.js +5 -1
- package/build/plugins/index.js.map +1 -1
- package/build/plugins/integrations/index.js +5 -1
- package/build/plugins/integrations/index.js.map +1 -1
- package/build/plugins/types.d.ts +1 -1
- package/build/plugins/types.d.ts.map +1 -1
- package/build/requests/bulkRestartRequests.js +5 -1
- package/build/requests/bulkRestartRequests.js.map +1 -1
- package/build/requests/constants.d.ts +3 -3
- package/build/requests/constants.d.ts.map +1 -1
- package/build/requests/constants.js +5 -1
- package/build/requests/constants.js.map +1 -1
- package/build/requests/index.js +5 -1
- package/build/requests/index.js.map +1 -1
- package/build/requests/mapColumnsToAttributes.d.ts +1 -1
- package/build/requests/mapColumnsToAttributes.d.ts.map +1 -1
- package/build/requests/mapColumnsToAttributes.js.map +1 -1
- package/build/requests/mapColumnsToIdentifiers.d.ts +1 -1
- package/build/requests/mapColumnsToIdentifiers.d.ts.map +1 -1
- package/build/requests/mapColumnsToIdentifiers.js.map +1 -1
- package/build/requests/mapCsvColumnsToApi.d.ts +1 -1
- package/build/requests/mapCsvColumnsToApi.d.ts.map +1 -1
- package/build/requests/mapCsvColumnsToApi.js.map +1 -1
- package/build/requests/mapCsvRowsToRequestInputs.d.ts +1 -1
- package/build/requests/mapCsvRowsToRequestInputs.d.ts.map +1 -1
- package/build/requests/readCsv.js +5 -1
- package/build/requests/readCsv.js.map +1 -1
- package/build/requests/restartPrivacyRequest.js +5 -1
- package/build/requests/restartPrivacyRequest.js.map +1 -1
- package/build/requests/submitPrivacyRequest.d.ts +1 -1
- package/build/requests/submitPrivacyRequest.d.ts.map +1 -1
- package/build/requests/submitPrivacyRequest.js +5 -1
- package/build/requests/submitPrivacyRequest.js.map +1 -1
- package/build/requests/tests/readCsv.test.js +5 -1
- package/build/requests/tests/readCsv.test.js.map +1 -1
- package/build/requests/uploadPrivacyRequestsFromCsv.js +5 -1
- package/build/requests/uploadPrivacyRequestsFromCsv.js.map +1 -1
- package/build/tmp-attribute-key.d.ts +1 -1
- package/build/tmp-attribute-key.d.ts.map +1 -1
- package/build/tsbuildinfo +1 -1
- package/package.json +23 -21
package/README.md
CHANGED
|
@@ -269,15 +269,17 @@ _Note: The scopes for tr-push are comprehensive of the scopes for tr-pull_
|
|
|
269
269
|
|
|
270
270
|
#### Arguments
|
|
271
271
|
|
|
272
|
-
| Argument
|
|
273
|
-
|
|
|
274
|
-
| auth
|
|
275
|
-
| resources
|
|
276
|
-
| file
|
|
277
|
-
| transcendUrl
|
|
278
|
-
| dataSiloIds
|
|
279
|
-
|
|
|
280
|
-
|
|
|
272
|
+
| Argument | Description | Type | Default | Required |
|
|
273
|
+
| ---------------- | ---------------------------------------------------------------------------------------- | ------------------------------------------------------------ | ------------------------------------- | -------- |
|
|
274
|
+
| auth | The Transcend API capable of fetching the configuration | string (API key or path to tr-generate-api-keys JSON output) | N/A | true |
|
|
275
|
+
| resources | The different resource types to pull in (see table above for breakdown of each resource) | string | apiKeys,templates,dataSilos,enrichers | false |
|
|
276
|
+
| file | Path to the YAML file to pull into | string - file-path | ./transcend.yml | false |
|
|
277
|
+
| transcendUrl | URL of the Transcend backend. Use https://api.us.transcend.io for US hosting. | string - URL | https://api.transcend.io | false |
|
|
278
|
+
| dataSiloIds | The UUIDs of the data silos that should be pulled into the YAML file. | list(string - UUID) | N/A | false |
|
|
279
|
+
| integrationNames | The types of integrations to pull down | string[] | N/A | false |
|
|
280
|
+
| trackerStatuses | The statuses of consent manager trackers to pull down. (Triage, Approved or both) | ConsentTrackerStatus[] | LIVE,NEEDS_REVIEW | false |
|
|
281
|
+
| pageSize | The page size to use when paginating over the API | number | 50 | false |
|
|
282
|
+
| debug | Set to true to include debug logs while pulling the configuration | boolean | false | false |
|
|
281
283
|
|
|
282
284
|
#### Usage
|
|
283
285
|
|
|
@@ -311,10 +313,10 @@ Specifying the resource types to pull in (the following resources are the defaul
|
|
|
311
313
|
tr-pull --auth=$TRANSCEND_API_KEY --resources=apiKeys,templates,dataSilos,enrichers
|
|
312
314
|
```
|
|
313
315
|
|
|
314
|
-
Pull in data flow and cookie resources
|
|
316
|
+
Pull in data flow and cookie resources, filtering for specific tracker statuses (see [this example](./examples/data-flows-cookies.yml)):
|
|
315
317
|
|
|
316
318
|
```sh
|
|
317
|
-
tr-pull --auth=$TRANSCEND_API_KEY --resources=dataFlows,cookies
|
|
319
|
+
tr-pull --auth=$TRANSCEND_API_KEY --resources=dataFlows,cookies --trackerStatuses=NEEDS_REVIEW,LIVE
|
|
318
320
|
```
|
|
319
321
|
|
|
320
322
|
Pull in attribute definitions only (see [this example](./examples/attributes.yml)):
|
package/build/api-keys/index.js
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api-keys/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api-keys/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gEAA8C;AAC9C,0DAAwC;AACxC,8CAA4B;AAC5B,oDAAkC"}
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validateTranscendAuth.js","sourceRoot":"","sources":["../../src/api-keys/validateTranscendAuth.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"validateTranscendAuth.js","sourceRoot":"","sources":["../../src/api-keys/validateTranscendAuth.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yDAAuD;AACvD,oDAA4B;AAC5B,yCAA2B;AAC3B,sCAAmC;AACnC,2BAA8C;AAC9C,sCAAyC;AAEzC;;;;;;GAMG;AACH,SAAgB,qBAAqB,CAAC,IAAY;IAChD,wBAAwB;IACxB,IAAI,CAAC,IAAI,EAAE;QACT,eAAM,CAAC,KAAK,CACV,gBAAM,CAAC,GAAG,CACR,2EAA2E,CAC5E,CACF,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACjB;IAED,iBAAiB;IACjB,IAAI,IAAA,eAAU,EAAC,IAAI,CAAC,EAAE;QACpB,2CAA2C;QAC3C,OAAO,IAAA,wBAAW,EAAC,CAAC,CAAC,KAAK,CAAC,qBAAY,CAAC,EAAE,IAAA,iBAAY,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;KACxE;IAED,2BAA2B;IAC3B,OAAO,IAAI,CAAC;AACd,CAAC;AAnBD,sDAmBC"}
|
package/build/cli-pull.js
CHANGED
|
@@ -11,9 +11,11 @@ const bluebird_1 = require("bluebird");
|
|
|
11
11
|
const path_1 = require("path");
|
|
12
12
|
const fs_1 = __importDefault(require("fs"));
|
|
13
13
|
const graphql_1 = require("./graphql");
|
|
14
|
+
const privacy_types_1 = require("@transcend-io/privacy-types");
|
|
14
15
|
const api_keys_1 = require("./api-keys");
|
|
15
16
|
const readTranscendYaml_1 = require("./readTranscendYaml");
|
|
16
17
|
const constants_1 = require("./constants");
|
|
18
|
+
const requests_1 = require("./requests");
|
|
17
19
|
const VALID_RESOURCES = Object.values(graphql_1.TranscendPullResource);
|
|
18
20
|
/**
|
|
19
21
|
* Sync data silo configuration from Transcend down locally to disk
|
|
@@ -26,9 +28,19 @@ const VALID_RESOURCES = Object.values(graphql_1.TranscendPullResource);
|
|
|
26
28
|
*/
|
|
27
29
|
async function main() {
|
|
28
30
|
// Parse command line arguments
|
|
29
|
-
const { file = './transcend.yml', transcendUrl = 'https://api.transcend.io', dataSiloIds = '', integrationNames = '', resources = graphql_1.DEFAULT_TRANSCEND_PULL_RESOURCES.join(','), pageSize = '', debug = '', auth, } = (0, yargs_parser_1.default)(process.argv.slice(2));
|
|
31
|
+
const { file = './transcend.yml', transcendUrl = 'https://api.transcend.io', dataSiloIds = '', integrationNames = '', resources = graphql_1.DEFAULT_TRANSCEND_PULL_RESOURCES.join(','), pageSize = '', debug = '', auth, trackerStatuses = Object.values(privacy_types_1.ConsentTrackerStatus).join(','), } = (0, yargs_parser_1.default)(process.argv.slice(2));
|
|
30
32
|
// Parse authentication as API key or path to list of API keys
|
|
31
33
|
const apiKeyOrList = await (0, api_keys_1.validateTranscendAuth)(auth);
|
|
34
|
+
// Validate trackerStatuses
|
|
35
|
+
const parsedTrackerStatuses = (0, requests_1.splitCsvToList)(trackerStatuses);
|
|
36
|
+
const invalidTrackerStatuses = parsedTrackerStatuses.filter(
|
|
37
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
38
|
+
(type) => !Object.values(privacy_types_1.ConsentTrackerStatus).includes(type));
|
|
39
|
+
if (invalidTrackerStatuses.length > 0) {
|
|
40
|
+
logger_1.logger.error(colors_1.default.red(`Failed to parse trackerStatuses:"${invalidTrackerStatuses.join(',')}".\n` +
|
|
41
|
+
`Expected one of: \n${Object.values(privacy_types_1.ConsentTrackerStatus).join('\n')}`));
|
|
42
|
+
process.exit(1);
|
|
43
|
+
}
|
|
32
44
|
// Parse request actions
|
|
33
45
|
let splitResources = [];
|
|
34
46
|
if (!resources) {
|
|
@@ -63,6 +75,7 @@ async function main() {
|
|
|
63
75
|
resources: splitResources,
|
|
64
76
|
pageSize: pageSizeParsed,
|
|
65
77
|
debug: isDebug,
|
|
78
|
+
trackerStatuses: parsedTrackerStatuses,
|
|
66
79
|
});
|
|
67
80
|
logger_1.logger.info(colors_1.default.magenta(`Writing configuration to file "${file}"...`));
|
|
68
81
|
(0, readTranscendYaml_1.writeTranscendYaml)(file, configuration);
|
|
@@ -91,6 +104,7 @@ async function main() {
|
|
|
91
104
|
resources: splitResources,
|
|
92
105
|
pageSize: pageSizeParsed,
|
|
93
106
|
debug: isDebug,
|
|
107
|
+
trackerStatuses: parsedTrackerStatuses,
|
|
94
108
|
});
|
|
95
109
|
const filePath = (0, path_1.join)(file, `${apiKey.organizationName}.yml`);
|
|
96
110
|
logger_1.logger.info(colors_1.default.magenta(`Writing configuration to file "${filePath}"...`));
|
package/build/cli-pull.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-pull.js","sourceRoot":"","sources":["../src/cli-pull.ts"],"names":[],"mappings":";;;;;;AAEA,gEAAiC;AACjC,qCAAkC;AAClC,oDAA4B;AAC5B,uCAAqC;AACrC,+BAA4B;AAC5B,4CAAoB;AACpB,uCAKmB;AACnB,yCAAmD;AACnD,2DAAyD;AACzD,2CAAsD;
|
|
1
|
+
{"version":3,"file":"cli-pull.js","sourceRoot":"","sources":["../src/cli-pull.ts"],"names":[],"mappings":"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"}
|