@transcend-io/cli 4.55.0 → 4.56.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.
Files changed (29) hide show
  1. package/README.md +95 -28
  2. package/build/cli-upload-data-flows-from-csv.d.ts +3 -0
  3. package/build/cli-upload-data-flows-from-csv.d.ts.map +1 -0
  4. package/build/cli-upload-data-flows-from-csv.js +59 -0
  5. package/build/cli-upload-data-flows-from-csv.js.map +1 -0
  6. package/build/consent-manager/index.d.ts +1 -0
  7. package/build/consent-manager/index.d.ts.map +1 -1
  8. package/build/consent-manager/index.js +1 -0
  9. package/build/consent-manager/index.js.map +1 -1
  10. package/build/consent-manager/uploadDataFlowsFromCsv.d.ts +53 -0
  11. package/build/consent-manager/uploadDataFlowsFromCsv.d.ts.map +1 -0
  12. package/build/consent-manager/uploadDataFlowsFromCsv.js +122 -0
  13. package/build/consent-manager/uploadDataFlowsFromCsv.js.map +1 -0
  14. package/build/graphql/gqls/consentManager.d.ts.map +1 -1
  15. package/build/graphql/gqls/consentManager.js +6 -1
  16. package/build/graphql/gqls/consentManager.js.map +1 -1
  17. package/build/graphql/syncConfigurationToTranscend.d.ts.map +1 -1
  18. package/build/graphql/syncConfigurationToTranscend.js +2 -52
  19. package/build/graphql/syncConfigurationToTranscend.js.map +1 -1
  20. package/build/graphql/syncDataFlows.d.ts +9 -0
  21. package/build/graphql/syncDataFlows.d.ts.map +1 -1
  22. package/build/graphql/syncDataFlows.js +71 -2
  23. package/build/graphql/syncDataFlows.js.map +1 -1
  24. package/build/requests/splitCsvToList.d.ts +4 -0
  25. package/build/requests/splitCsvToList.d.ts.map +1 -1
  26. package/build/requests/splitCsvToList.js +4 -0
  27. package/build/requests/splitCsvToList.js.map +1 -1
  28. package/build/tsbuildinfo +1 -1
  29. package/package.json +3 -2
package/README.md CHANGED
@@ -57,14 +57,18 @@
57
57
  - [Authentication](#authentication-11)
58
58
  - [Arguments](#arguments-11)
59
59
  - [Usage](#usage-12)
60
- - [tr-update-consent-manager](#tr-update-consent-manager)
60
+ - [tr-upload-data-flows-from-csv](#tr-upload-data-flows-from-csv)
61
61
  - [Authentication](#authentication-12)
62
62
  - [Arguments](#arguments-12)
63
63
  - [Usage](#usage-13)
64
- - [tr-generate-api-keys](#tr-generate-api-keys)
64
+ - [tr-upload-data-flows-from-csv](#tr-upload-data-flows-from-csv-1)
65
65
  - [Authentication](#authentication-13)
66
66
  - [Arguments](#arguments-13)
67
67
  - [Usage](#usage-14)
68
+ - [tr-generate-api-keys](#tr-generate-api-keys)
69
+ - [Authentication](#authentication-14)
70
+ - [Arguments](#arguments-14)
71
+ - [Usage](#usage-15)
68
72
 
69
73
  <!-- END doctoc generated TOC please keep comment here to allow auto update -->
70
74
 
@@ -94,7 +98,7 @@ yarn tr-cron-mark-identifiers-completed --auth=$TRANSCEND_API_KEY
94
98
  yarn tr-manual-enrichment-pull-identifiers --auth=$TRANSCEND_API_KEY
95
99
  yarn tr-mark-request-data-silos-completed --auth=$TRANSCEND_API_KEY
96
100
  yarn tr-retry-request-data-silos --auth=$TRANSCEND_API_KEY
97
- yarn tr-update-consent-manager --auth=$TRANSCEND_API_KEY
101
+ yarn tr-upload-data-flows-from-csv --auth=$TRANSCEND_API_KEY
98
102
  yarn tr-generate-api-keys --auth=$TRANSCEND_API_KEY
99
103
  ```
100
104
 
@@ -116,7 +120,7 @@ tr-cron-mark-identifiers-completed --auth=$TRANSCEND_API_KEY
116
120
  tr-manual-enrichment-pull-identifiers --auth=$TRANSCEND_API_KEY
117
121
  tr-mark-request-data-silos-completed --auth=$TRANSCEND_API_KEY
118
122
  tr-retry-request-data-silos --auth=$TRANSCEND_API_KEY
119
- tr-update-consent-manager --auth=$TRANSCEND_API_KEY
123
+ tr-upload-data-flows-from-csv --auth=$TRANSCEND_API_KEY
120
124
  tr-generate-api-keys --auth=$TRANSCEND_API_KEY
121
125
  ```
122
126
 
@@ -138,7 +142,7 @@ tr-cron-mark-identifiers-completed --auth=$TRANSCEND_API_KEY
138
142
 
139
143
  Note:
140
144
 
141
- _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 --transcendUrl=https://api.us.transend.io._
145
+ _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 --transcendUrl=https://api.us.transcend.io._
142
146
 
143
147
  ## transcend.yml
144
148
 
@@ -271,7 +275,7 @@ _Note: The scopes for tr-push are comprehensive of the scopes for tr-pull_
271
275
 
272
276
  | Argument | Description | Type | Default | Required |
273
277
  | ---------------- | ---------------------------------------------------------------------------------------- | ------------------------------------------------------------ | ------------------------------------- | -------- |
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 |
278
+ | auth | The Transcend API key with the scopes necessary for the command. | string (API key or path to tr-generate-api-keys JSON output) | N/A | true |
275
279
  | resources | The different resource types to pull in (see table above for breakdown of each resource) | string | apiKeys,templates,dataSilos,enrichers | false |
276
280
  | file | Path to the YAML file to pull into | string - file-path | ./transcend.yml | false |
277
281
  | transcendUrl | URL of the Transcend backend. Use https://api.us.transcend.io for US hosting. | string - URL | https://api.transcend.io | false |
@@ -418,12 +422,12 @@ The API key needs the following scopes when pushing the various resource types:
418
422
 
419
423
  | Argument | Description | Type | Default | Required |
420
424
  | --------------- | ----------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------ | ------------------------ | -------- |
421
- | auth | The Transcend API capable of pushing the configuration | string (API key or path to tr-generate-api-keys JSON output) | N/A | true |
425
+ | auth | The Transcend API key with the scopes necessary for the command. | string (API key or path to tr-generate-api-keys JSON output) | N/A | true |
422
426
  | file | Path to the YAML file to push from | string - file-path | ./transcend.yml | false |
423
427
  | transcendUrl | URL of the Transcend backend. Use https://api.us.transcend.io for US hosting. | string - URL | https://api.transcend.io | false |
424
428
  | pageSize | The page size to use when paginating over the API | number | 50 | false |
425
429
  | variables | The variables to template into the YAML file when pushing configuration. e.g. domain:acme.com,stage:staging | string | N/A | false |
426
- | classifyService | classify data flow service if missing | boolean | false | false |
430
+ | classifyService | When true, automatically assign the service for a data flow based on the domain that is specified | boolean | false | false |
427
431
 
428
432
  #### Usage
429
433
 
@@ -625,7 +629,7 @@ The API key needs the following scopes:
625
629
 
626
630
  | Argument | Description | Type | Default | Required |
627
631
  | ----------------------- | ----------------------------------------------------------------------------------------------------------------------- | ------------------ | --------------------------------------- | -------- |
628
- | auth | The Transcend API capable of submitting privacy requests. | string | N/A | true |
632
+ | auth | The Transcend API key with the scopes necessary for the command. | string | N/A | true |
629
633
  | file | Path to the CSV file of requests to tupload. | string - file-path | ./requests.csv | false |
630
634
  | transcendUrl | URL of the Transcend backend. Use https://api.us.transcend.io for US hosting. | string - URL | https://api.transcend.io | false |
631
635
  | cacheFilepath | The path to the JSON file encoding the metadata used to map the CSV shape to Transcend API. | string | ./transcend-privacy-requests-cache.json | false |
@@ -733,7 +737,7 @@ The API key needs the following scopes:
733
737
 
734
738
  | Argument | Description | Type | Default | Required |
735
739
  | -------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | --------------- | --------------------------------- | -------- |
736
- | auth | The Transcend API capable of submitting privacy requests. | string | N/A | true |
740
+ | auth | The Transcend API key with the scopes necessary for the command. | string | N/A | true |
737
741
  | actions | The [request action](https://docs.transcend.io/docs/privacy-requests/configuring-requests/data-subject-requests#data-actions) to restart. | RequestAction[] | N/A | true |
738
742
  | statuses | The [request statuses](https://docs.transcend.io/docs/privacy-requests/overview#request-statuses) to restart. | RequestStatus[] | N/A | true |
739
743
  | transcendUrl | URL of the Transcend backend. Use https://api.us.transcend.io for US hosting. | string - URL | https://api.transcend.io | false |
@@ -832,7 +836,7 @@ The API key needs the following scopes:
832
836
 
833
837
  | Argument | Description | Type | Default | Required |
834
838
  | --------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | ------------------ | ------------------------------ | -------- |
835
- | auth | The Transcend API capable of pulling privacy requests. | string | N/A | true |
839
+ | auth | The Transcend API key with the scopes necessary for the command. | string | N/A | true |
836
840
  | actions | The [request action](https://docs.transcend.io/docs/privacy-requests/configuring-requests/data-subject-requests#data-actions) to restart. | RequestAction[] | N/A | false |
837
841
  | statuses | The [request statuses](https://docs.transcend.io/docs/privacy-requests/overview#request-statuses) to restart. | RequestStatus[] | N/A | false |
838
842
  | transcendUrl | URL of the Transcend backend. Use https://api.us.transcend.io for US hosting. | string - URL | https://api.transcend.io | false |
@@ -905,7 +909,7 @@ The API key must be associated to the ID of the integration/data silo that is be
905
909
 
906
910
  | Argument | Description | Type | Default | Required |
907
911
  | ------------ | --------------------------------------------------------------------------------------------------------------------------------------- | ---------------------- | ------------------------ | -------- |
908
- | auth | The Transcend API capable of pulling the cron identifiers. | string | N/A | true |
912
+ | auth | The Transcend API key with the scopes necessary for the command. | string | N/A | true |
909
913
  | dataSiloId | The ID of the data silo to pull in. | string - UUID | N/A | true |
910
914
  | requestType | The [request action](https://docs.transcend.io/docs/privacy-requests/configuring-requests/data-subject-requests#data-actions) to fetch. | string - RequestAction | N/A | true |
911
915
  | file | Path to the CSV file where identifiers will be written to. | string - file-path | ./cron-identifiers.csv | false |
@@ -970,7 +974,7 @@ The API key must be associated to the ID of the integration/data silo that is be
970
974
 
971
975
  | Argument | Description | Type | Default | Required |
972
976
  | ------------ | ------------------------------------------------------------------------------------ | ------------------ | ------------------------ | -------- |
973
- | auth | The Transcend API capable of pulling the cron identifiers. | string | N/A | true |
977
+ | auth | The Transcend API key with the scopes necessary for the command. | string | N/A | true |
974
978
  | dataSiloId | The ID of the data silo to pull in. | string - UUID | N/A | true |
975
979
  | file | Path to the CSV file where identifiers will be written to. | string - file-path | ./cron-identifiers.csv | false |
976
980
  | transcendUrl | URL of the Transcend backend. Use https://api.us.transcend.io for US hosting. | string - URL | https://api.transcend.io | false |
@@ -1028,7 +1032,7 @@ The API key must have the following scopes:
1028
1032
 
1029
1033
  | Argument | Description | Type | Default | Required |
1030
1034
  | ------------ | ----------------------------------------------------------------------------- | ------------------ | ----------------------------------- | -------- |
1031
- | auth | The Transcend API capable of pull request information. | string | N/A | true |
1035
+ | auth | The Transcend API key with the scopes necessary for the command. | string | N/A | true |
1032
1036
  | transcendUrl | URL of the Transcend backend. Use https://api.us.transcend.io for US hosting. | string - URL | https://api.transcend.io | false |
1033
1037
  | file | Path to the CSV file where requests will be written to. | string - file-path | ./manual-enrichment-identifiers.csv | false |
1034
1038
  | actions | The set of request actions to pull requests for. | RequestAction[] | [] | false |
@@ -1088,7 +1092,7 @@ The API key must have the following scopes:
1088
1092
 
1089
1093
  | Argument | Description | Type | Default | Required |
1090
1094
  | ------------ | ------------------------------------------------------------------------------------ | ------------------ | ----------------------------------- | -------- |
1091
- | auth | The Transcend API capable of pull request information. | string | N/A | true |
1095
+ | auth | The Transcend API key with the scopes necessary for the command. | string | N/A | true |
1092
1096
  | enricherId | The ID of the Request Enricher to upload to | string - UUID | N/A | true |
1093
1097
  | sombraAuth | The sombra internal key, use for additional authentication when self-hosting sombra. | string | N/A | false |
1094
1098
  | transcendUrl | URL of the Transcend backend. Use https://api.us.transcend.io for US hosting. | string - URL | https://api.transcend.io | false |
@@ -1142,7 +1146,7 @@ The API key must have the following scopes:
1142
1146
 
1143
1147
  | Argument | Description | Type | Default | Required |
1144
1148
  | ------------ | ----------------------------------------------------------------------------- | ------------------ | ------------------------- | -------- |
1145
- | auth | The Transcend API capable of pulling the cron identifiers. | string | N/A | true |
1149
+ | auth | The Transcend API key with the scopes necessary for the command. | string | N/A | true |
1146
1150
  | dataSiloId | The ID of the data silo to pull in. | string - UUID | N/A | true |
1147
1151
  | file | Path to the CSV file where identifiers will be written to. | string - file-path | ./request-identifiers.csv | false |
1148
1152
  | transcendUrl | URL of the Transcend backend. Use https://api.us.transcend.io for US hosting. | string - URL | https://api.transcend.io | false |
@@ -1183,7 +1187,7 @@ The API key must have the following scopes:
1183
1187
 
1184
1188
  | Argument | Description | Type | Default | Required |
1185
1189
  | ------------ | ----------------------------------------------------------------------------------------------------------------------------------------- | --------------- | ------------------------ | -------- |
1186
- | auth | The Transcend API capable of pulling the cron identifiers. | string | N/A | true |
1190
+ | auth | The Transcend API key with the scopes necessary for the command. | string | N/A | true |
1187
1191
  | dataSiloId | The ID of the data silo to pull in. | string - UUID | N/A | true |
1188
1192
  | actions | The [request action](https://docs.transcend.io/docs/privacy-requests/configuring-requests/data-subject-requests#data-actions) to restart. | RequestAction[] | N/A | true |
1189
1193
  | transcendUrl | URL of the Transcend backend. Use https://api.us.transcend.io for US hosting. | string - URL | https://api.transcend.io | false |
@@ -1201,7 +1205,7 @@ yarn tr-retry-request-data-silos --auth=$TRANSCEND_API_KEY --dataSiloId=70810f2e
1201
1205
  --transcendUrl=https://api.us.transcend.io
1202
1206
  ```
1203
1207
 
1204
- ### tr-update-consent-manager
1208
+ ### tr-upload-data-flows-from-csv
1205
1209
 
1206
1210
  This command allows for updating Consent Manager to latest version. The consent manager bundle can also be deployed using this commannd.
1207
1211
 
@@ -1217,48 +1221,111 @@ The API key must have the following scopes:
1217
1221
 
1218
1222
  | Argument | Description | Type | Default | Required |
1219
1223
  | ------------ | ----------------------------------------------------------------------------- | ------------ | ------------------------ | -------- |
1220
- | auth | The Transcend API capable of pulling the cron identifiers. | string | N/A | true |
1224
+ | auth | The Transcend API key with the scopes necessary for the command. | string | N/A | true |
1221
1225
  | bundleTypes | The bundle types to deploy | BundleType[] | PRODUCTION,TEST | false |
1222
- | deokiy | When true, deploy the Consent Manager after updating the version | boolean | false | false |
1226
+ | deploy | When true, deploy the Consent Manager after updating the version | boolean | false | false |
1223
1227
  | transcendUrl | URL of the Transcend backend. Use https://api.us.transcend.io for US hosting. | string - URL | https://api.transcend.io | false |
1224
1228
 
1225
1229
  #### Usage
1226
1230
 
1227
1231
  ```sh
1228
- yarn tr-update-consent-manager --auth=$TRANSCEND_API_KEY
1232
+ yarn tr-upload-data-flows-from-csv --auth=$TRANSCEND_API_KEY
1229
1233
  ```
1230
1234
 
1231
- Specifying the backend URL, needed for US hosted backend infrastructu re.
1235
+ Specifying the backend URL, needed for US hosted backend infrastructure.
1232
1236
 
1233
1237
  ```sh
1234
- yarn tr-update-consent-manager --auth=$TRANSCEND_API_KEY --transcendUrl=https://api.us.transcend.io
1238
+ yarn tr-upload-data-flows-from-csv --auth=$TRANSCEND_API_KEY --transcendUrl=https://api.us.transcend.io
1235
1239
  ```
1236
1240
 
1237
1241
  Update version and deploy bundles.
1238
1242
 
1239
1243
  ```sh
1240
- yarn tr-update-consent-manager -auth=$TRANSCEND_API_KEY --deploy=true
1244
+ yarn tr-upload-data-flows-from-csv -auth=$TRANSCEND_API_KEY --deploy=true
1241
1245
  ```
1242
1246
 
1243
1247
  Update just the TEST bundle
1244
1248
 
1245
1249
  ```sh
1246
- yarn tr-update-consent-manager --auth=$TRANSCEND_API_KEY --bundleTypes=TEST
1250
+ yarn tr-upload-data-flows-from-csv --auth=$TRANSCEND_API_KEY --bundleTypes=TEST
1247
1251
  ```
1248
1252
 
1249
1253
  Update just the PRODUCTION bundle
1250
1254
 
1251
1255
  ```sh
1252
- yarn tr-update-consent-manager --auth=$TRANSCEND_API_KEY --bundleTypes=PRODUCTION
1256
+ yarn tr-upload-data-flows-from-csv --auth=$TRANSCEND_API_KEY --bundleTypes=PRODUCTION
1253
1257
  ```
1254
1258
 
1255
1259
  Update multiple organizations at once
1256
1260
 
1257
1261
  ```sh
1258
- yarn tr-update-consent-manager --auth=$TRANSCEND_API_KEY --bundleTypes=PRODUCTION
1262
+ yarn tr-upload-data-flows-from-csv --auth=$TRANSCEND_API_KEY --bundleTypes=PRODUCTION
1259
1263
 
1260
1264
  tr-generate-api-keys --email=test@transcend.io --password=$TRANSCEND_PASSWORD --scopes="Manage Consent Manager" --apiKeyTitle="CLI Usage Cross Instance Sync" --file=./transcend-api-keys.json
1261
- yarn tr-update-consent-manager --auth=./transcend-api-keys.json --deploy=true
1265
+ yarn tr-upload-data-flows-from-csv --auth=./transcend-api-keys.json --deploy=true
1266
+ ```
1267
+
1268
+ ### tr-upload-data-flows-from-csv
1269
+
1270
+ This command allows for uploading of data flows from CSV.
1271
+
1272
+ Step 1) Download the CSV of data flows that you want to edit from the Admin Dashboard under [Consent Manager -> Data Flows](https://app.transcend.io/consent-manager/data-flows). You can download data flows from both the "Triage" and "Approved" tabs.
1273
+
1274
+ <img width="1464" alt="Screenshot 2023-06-22 at 6 05 36 PM" src="https://github.com/transcend-io/cli/assets/10264973/c4b65b31-2cf3-49c9-b543-041567c7aff8">
1275
+
1276
+ Step 2) You can edit the contents of the CSV file as needed. You may adjust the "Purpose" column, adjust the "Notes" column, add "Owners" and "Teams" or even add custom columns with additional metadata.
1277
+ Step 3) Upload the modified CSV file back into the dashboard with the command `yarn tr-upload-data-flows-from-csv --auth=$TRANSCEND_API_KEY --file=./approved-flows.csv --trackerStatus=LIVE`
1278
+
1279
+ #### Authentication
1280
+
1281
+ In order to use this cli, you will first need to generate an API key on the Transcend Admin Dashboard (https://app.transcend.io/infrastructure/api-keys).
1282
+
1283
+ The API key must have the following scopes:
1284
+
1285
+ - "Manage Data Flows"
1286
+
1287
+ #### Arguments
1288
+
1289
+ | Argument | Description | Type | Default | Required |
1290
+ | --------------- | ---------------------------------------------------------------------------------------------------------- | -------------------- | ------------------------ | -------- |
1291
+ | auth | The Transcend API key with the scopes necessary for the command. | string | N/A | true |
1292
+ | trackerStatus | Whether or not to upload the data flows into the "Approved" tab (LIVE) or the "Triage" tab (NEEDS_REVIEW). | ConsentTrackerStatus | N/A | true |
1293
+ | file | Path to the CSV file to upload | string - file-path | ./data-flows.csv | false |
1294
+ | classifyService | When true, automatically assign the service for a data flow based on the domain that is specified | boolean | false | false |
1295
+ | transcendUrl | URL of the Transcend backend. Use https://api.us.transcend.io for US hosting. | string - URL | https://api.transcend.io | false |
1296
+
1297
+ Note: You `trackerStatus` can be specified on a per data flow basis by adding a column named "Status" to the CSV. The values should be of type `ConsentTrackerStatus` - which is `LIVE` or `NEEDS_REVIEW`.
1298
+
1299
+ #### Usage
1300
+
1301
+ Upload the file of data flows in `./data-flows.csv` into the ["Approved" tab](https://app.transcend.io/consent-manager/data-flows/approved).
1302
+
1303
+ ```sh
1304
+ yarn tr-upload-data-flows-from-csv --auth=$TRANSCEND_API_KEY --trackerStatus=LIVE
1305
+ ```
1306
+
1307
+ Upload the file of data flows in `./data-flows.csv` into the ["Triage" tab](https://app.transcend.io/consent-manager/data-flows).
1308
+
1309
+ ```sh
1310
+ yarn tr-upload-data-flows-from-csv --auth=$TRANSCEND_API_KEY --trackerStatus=NEEDS_REVIEW
1311
+ ```
1312
+
1313
+ Specifying the CSV file to read from:
1314
+
1315
+ ```sh
1316
+ yarn tr-upload-data-flows-from-csv --auth=$TRANSCEND_API_KEY --trackerStatus=LIVE --file=./custom/my-data-flows.csv
1317
+ ```
1318
+
1319
+ Have Transcend automatically fill in the service names by looking up the data flow host in Transcend's database.
1320
+
1321
+ ```sh
1322
+ yarn tr-upload-data-flows-from-csv --auth=$TRANSCEND_API_KEY --trackerStatus=LIVE --classifyService=true
1323
+ ```
1324
+
1325
+ Specifying the backend URL, needed for US hosted backend infrastructure.
1326
+
1327
+ ```sh
1328
+ yarn tr-upload-data-flows-from-csv --auth=$TRANSCEND_API_KEY --trackerStatus=LIVE
1262
1329
  ```
1263
1330
 
1264
1331
  ### tr-generate-api-keys
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=cli-upload-data-flows-from-csv.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-upload-data-flows-from-csv.d.ts","sourceRoot":"","sources":["../src/cli-upload-data-flows-from-csv.ts"],"names":[],"mappings":""}
@@ -0,0 +1,59 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ var __importDefault = (this && this.__importDefault) || function (mod) {
4
+ return (mod && mod.__esModule) ? mod : { "default": mod };
5
+ };
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ const yargs_parser_1 = __importDefault(require("yargs-parser"));
8
+ const colors_1 = __importDefault(require("colors"));
9
+ const logger_1 = require("./logger");
10
+ const consent_manager_1 = require("./consent-manager");
11
+ const privacy_types_1 = require("@transcend-io/privacy-types");
12
+ /**
13
+ * Upload a CSV of data flows
14
+ *
15
+ * Requires an API key with follow scopes: https://app.transcend.io/infrastructure/api-keys
16
+ * - "Manage Data Flows"
17
+ *
18
+ * Dev Usage:
19
+ * yarn ts-node ./src/cli-upload-data-flows-from-csv.ts --auth=asd123 \
20
+ * --file=/Users/michaelfarrell/Desktop/test.csv \
21
+ * --trackerStatus=LIVE
22
+ *
23
+ * Standard usage:
24
+ * yarn tr-upload-data-flows-from-csv --auth=asd123 \
25
+ * --file=/Users/michaelfarrell/Desktop/test.csv \
26
+ * --trackerStatus=LIVE
27
+ */
28
+ async function main() {
29
+ // Parse command line arguments
30
+ const { auth, trackerStatus, classifyService = 'false', file = './data-flows.csv', transcendUrl = 'https://api.transcend.io', } = (0, yargs_parser_1.default)(process.argv.slice(2));
31
+ // Ensure auth is passed
32
+ if (!auth) {
33
+ logger_1.logger.error(colors_1.default.red('A Transcend API key must be provided. You can specify using --auth=asd123'));
34
+ process.exit(1);
35
+ }
36
+ // Ensure trackerStatus is passed
37
+ const VALID_TRACKER_OPTIONS = Object.values(privacy_types_1.ConsentTrackerStatus);
38
+ if (!trackerStatus) {
39
+ logger_1.logger.error(colors_1.default.red('The trackerStatus must be provided. You can specify using --trackerStatus=LIVE. ' +
40
+ `Valid options include: ${VALID_TRACKER_OPTIONS.join(',')}`));
41
+ process.exit(1);
42
+ }
43
+ const consentTrackerStatus = trackerStatus;
44
+ if (!VALID_TRACKER_OPTIONS.includes(consentTrackerStatus)) {
45
+ logger_1.logger.error(colors_1.default.red(`The trackerStatus option was invalid, got: "${trackerStatus}". You can specify using --trackerStatus=LIVE. ` +
46
+ `Valid options include: ${VALID_TRACKER_OPTIONS.join(',')}`));
47
+ process.exit(1);
48
+ }
49
+ // Upload data flows
50
+ await (0, consent_manager_1.uploadDataFlowsFromCsv)({
51
+ auth,
52
+ trackerStatus: consentTrackerStatus,
53
+ file,
54
+ classifyService: classifyService === 'true',
55
+ transcendUrl,
56
+ });
57
+ }
58
+ main();
59
+ //# sourceMappingURL=cli-upload-data-flows-from-csv.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-upload-data-flows-from-csv.js","sourceRoot":"","sources":["../src/cli-upload-data-flows-from-csv.ts"],"names":[],"mappings":";;;;;;AAEA,gEAAiC;AACjC,oDAA4B;AAE5B,qCAAkC;AAClC,uDAA2D;AAC3D,+DAAmE;AAEnE;;;;;;;;;;;;;;;GAeG;AACH,KAAK,UAAU,IAAI;IACjB,+BAA+B;IAC/B,MAAM,EACJ,IAAI,EACJ,aAAa,EACb,eAAe,GAAG,OAAO,EACzB,IAAI,GAAG,kBAAkB,EACzB,YAAY,GAAG,0BAA0B,GAC1C,GAAG,IAAA,sBAAK,EAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAA8B,CAAC;IAE9D,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,iCAAiC;IACjC,MAAM,qBAAqB,GAAG,MAAM,CAAC,MAAM,CAAC,oCAAoB,CAAC,CAAC;IAClE,IAAI,CAAC,aAAa,EAAE;QAClB,eAAM,CAAC,KAAK,CACV,gBAAM,CAAC,GAAG,CACR,kFAAkF;YAChF,0BAA0B,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAC9D,CACF,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACjB;IAED,MAAM,oBAAoB,GAAG,aAAqC,CAAC;IACnE,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE;QACzD,eAAM,CAAC,KAAK,CACV,gBAAM,CAAC,GAAG,CACR,+CAA+C,aAAa,iDAAiD;YAC3G,0BAA0B,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAC9D,CACF,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACjB;IAED,oBAAoB;IACpB,MAAM,IAAA,wCAAsB,EAAC;QAC3B,IAAI;QACJ,aAAa,EAAE,oBAAoB;QACnC,IAAI;QACJ,eAAe,EAAE,eAAe,KAAK,MAAM;QAC3C,YAAY;KACb,CAAC,CAAC;AACL,CAAC;AAED,IAAI,EAAE,CAAC"}
@@ -1,2 +1,3 @@
1
1
  export * from './updateConsentManagerVersionToLatest';
2
+ export * from './uploadDataFlowsFromCsv';
2
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/consent-manager/index.ts"],"names":[],"mappings":"AAAA,cAAc,uCAAuC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/consent-manager/index.ts"],"names":[],"mappings":"AAAA,cAAc,uCAAuC,CAAC;AACtD,cAAc,0BAA0B,CAAC"}
@@ -15,4 +15,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./updateConsentManagerVersionToLatest"), exports);
18
+ __exportStar(require("./uploadDataFlowsFromCsv"), exports);
18
19
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/consent-manager/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wEAAsD"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/consent-manager/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wEAAsD;AACtD,2DAAyC"}
@@ -0,0 +1,53 @@
1
+ import * as t from 'io-ts';
2
+ import { ConsentTrackerStatus } from '@transcend-io/privacy-types';
3
+ /**
4
+ * Minimal set required to mark as completed
5
+ */
6
+ export declare const DataFlowCsvInput: t.IntersectionC<[t.TypeC<{
7
+ /** The value of the data flow (host or regex) */
8
+ 'Connections Made To': t.StringC;
9
+ /** The type of the data flow */
10
+ Type: t.KeyofC<{
11
+ HOST: unknown;
12
+ PATH: unknown;
13
+ QUERY_PARAM: unknown;
14
+ REGEX: unknown;
15
+ CSP: unknown;
16
+ }>;
17
+ /** The CSV of purposes mapped to that data flow */
18
+ Purpose: t.StringC;
19
+ }>, t.PartialC<{
20
+ /** The service that the data flow relates to */
21
+ Service: t.StringC;
22
+ /** Notes and descriptions for the data flow */
23
+ Notes: t.StringC;
24
+ /** Set of data flow owners */
25
+ Owners: t.StringC;
26
+ /** Set of data flow team owners */
27
+ Teams: t.StringC;
28
+ /** LIVE vs NEEDS_REVIEW aka Approved vs Triage */
29
+ Status: t.KeyofC<{
30
+ LIVE: unknown;
31
+ NEEDS_REVIEW: unknown;
32
+ }>;
33
+ }>, t.RecordC<t.StringC, t.StringC>]>;
34
+ /** Type override */
35
+ export type DataFlowCsvInput = t.TypeOf<typeof DataFlowCsvInput>;
36
+ /**
37
+ * Upload a set of data flows from CSV
38
+ *
39
+ * @param options - Options
40
+ */
41
+ export declare function uploadDataFlowsFromCsv({ auth, trackerStatus, file, classifyService, transcendUrl, }: {
42
+ /** CSV file path */
43
+ file: string;
44
+ /** Transcend API key authentication */
45
+ auth: string;
46
+ /** Sombra API key authentication */
47
+ trackerStatus: ConsentTrackerStatus;
48
+ /** classify data flow service if missing */
49
+ classifyService?: boolean;
50
+ /** API URL for Transcend backend */
51
+ transcendUrl?: string;
52
+ }): Promise<void>;
53
+ //# sourceMappingURL=uploadDataFlowsFromCsv.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uploadDataFlowsFromCsv.d.ts","sourceRoot":"","sources":["../../src/consent-manager/uploadDataFlowsFromCsv.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,OAAO,CAAC;AAE3B,OAAO,EACL,oBAAoB,EAErB,MAAM,6BAA6B,CAAC;AAOrC;;GAEG;AACH,eAAO,MAAM,gBAAgB;IAEzB,iDAAiD;;IAEjD,gCAAgC;;;;;;;;IAEhC,mDAAmD;;;IAInD,gDAAgD;;IAEhD,+CAA+C;;IAE/C,8BAA8B;;IAE9B,mCAAmC;;IAEnC,mDAAmD;;;;;qCAKrD,CAAC;AAcH,oBAAoB;AACpB,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAEjE;;;;GAIG;AACH,wBAAsB,sBAAsB,CAAC,EAC3C,IAAI,EACJ,aAAa,EACb,IAAI,EACJ,eAAuB,EACvB,YAAyC,GAC1C,EAAE;IACD,oBAAoB;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,oCAAoC;IACpC,aAAa,EAAE,oBAAoB,CAAC;IACpC,4CAA4C;IAC5C,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,oCAAoC;IACpC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,GAAG,OAAO,CAAC,IAAI,CAAC,CA8DhB"}
@@ -0,0 +1,122 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
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);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.uploadDataFlowsFromCsv = exports.DataFlowCsvInput = void 0;
30
+ const colors_1 = __importDefault(require("colors"));
31
+ const t = __importStar(require("io-ts"));
32
+ const logger_1 = require("../logger");
33
+ const privacy_types_1 = require("@transcend-io/privacy-types");
34
+ const graphql_1 = require("../graphql");
35
+ const readCsv_1 = require("../requests/readCsv");
36
+ const type_utils_1 = require("@transcend-io/type-utils");
37
+ const requests_1 = require("../requests");
38
+ /**
39
+ * Minimal set required to mark as completed
40
+ */
41
+ exports.DataFlowCsvInput = t.intersection([
42
+ t.type({
43
+ /** The value of the data flow (host or regex) */
44
+ 'Connections Made To': t.string,
45
+ /** The type of the data flow */
46
+ Type: (0, type_utils_1.valuesOf)(privacy_types_1.DataFlowScope),
47
+ /** The CSV of purposes mapped to that data flow */
48
+ Purpose: t.string,
49
+ }),
50
+ t.partial({
51
+ /** The service that the data flow relates to */
52
+ Service: t.string,
53
+ /** Notes and descriptions for the data flow */
54
+ Notes: t.string,
55
+ /** Set of data flow owners */
56
+ Owners: t.string,
57
+ /** Set of data flow team owners */
58
+ Teams: t.string,
59
+ /** LIVE vs NEEDS_REVIEW aka Approved vs Triage */
60
+ Status: (0, type_utils_1.valuesOf)(privacy_types_1.ConsentTrackerStatus),
61
+ }),
62
+ // Custom attributes
63
+ t.record(t.string, t.string),
64
+ ]);
65
+ const OMIT_COLUMNS = [
66
+ 'ID',
67
+ 'Activity',
68
+ 'Encounters',
69
+ 'Last Seen At',
70
+ 'Has Native Do Not Sell/Share Support',
71
+ 'IAB USP API Support',
72
+ 'Service Description',
73
+ 'Website URL',
74
+ 'Categories of Recipients',
75
+ ];
76
+ /**
77
+ * Upload a set of data flows from CSV
78
+ *
79
+ * @param options - Options
80
+ */
81
+ async function uploadDataFlowsFromCsv({ auth, trackerStatus, file, classifyService = false, transcendUrl = 'https://api.transcend.io', }) {
82
+ // Build a GraphQL client
83
+ const client = (0, graphql_1.buildTranscendGraphQLClient)(transcendUrl, auth);
84
+ // Read from CSV the set of data flow inputs
85
+ logger_1.logger.info(colors_1.default.magenta(`Reading "${file}" from disk`));
86
+ const dataFlowInputs = (0, readCsv_1.readCsv)(file, exports.DataFlowCsvInput);
87
+ // Convert these data flow inputs into a format that the other function can use
88
+ const validatedDataFlowInputs = dataFlowInputs.map(({ Type, Notes,
89
+ // TODO: https://transcend.height.app/T-26391 - export in CSV
90
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
91
+ Service, Purpose, Status, Owners, Teams, 'Connections Made To': value, ...rest }) => ({
92
+ value,
93
+ type: Type,
94
+ description: Notes,
95
+ trackingPurposes: (0, requests_1.splitCsvToList)(Purpose),
96
+ // TODO: https://transcend.height.app/T-26391
97
+ // service: Service,
98
+ // Apply the trackerStatus to all values in the CSV -> allows for customer to define tracker status
99
+ // on a row by row basis if needed
100
+ status: Status || trackerStatus,
101
+ owners: Owners ? (0, requests_1.splitCsvToList)(Owners) : undefined,
102
+ teams: Teams ? (0, requests_1.splitCsvToList)(Teams) : undefined,
103
+ // all remaining options are attribute
104
+ attributes: Object.entries(rest)
105
+ // filter out native columns that are exported from the admin dashboard
106
+ // but not custom attributes
107
+ .filter(([key]) => !OMIT_COLUMNS.includes(key))
108
+ .map(([key, value]) => ({
109
+ key,
110
+ values: (0, requests_1.splitCsvToList)(value),
111
+ })),
112
+ }));
113
+ // Upload the data flows into Transcend dashboard
114
+ const syncedDataFlows = await (0, graphql_1.syncDataFlows)(client, validatedDataFlowInputs, classifyService);
115
+ // Log errors
116
+ if (!syncedDataFlows) {
117
+ logger_1.logger.error(colors_1.default.red('Encountered error(s) syncing data flows from CSV, see logs above for more info. '));
118
+ process.exit(1);
119
+ }
120
+ }
121
+ exports.uploadDataFlowsFromCsv = uploadDataFlowsFromCsv;
122
+ //# sourceMappingURL=uploadDataFlowsFromCsv.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uploadDataFlowsFromCsv.js","sourceRoot":"","sources":["../../src/consent-manager/uploadDataFlowsFromCsv.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"consentManager.d.ts","sourceRoot":"","sources":["../../../src/graphql/gqls/consentManager.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,QAAQ,QASpB,CAAC;AAEF,eAAO,MAAM,WAAW,QAyBvB,CAAC;AAEF,eAAO,MAAM,iBAAiB,QAkB7B,CAAC;AAEF,eAAO,MAAM,iBAAiB,QAa7B,CAAC;AAEF,eAAO,MAAM,wBAAwB,QAWpC,CAAC;AAEF,eAAO,MAAM,UAAU,QAwCtB,CAAC;AAEF,eAAO,MAAM,OAAO,QAuCnB,CAAC;AAEF,eAAO,MAAM,wBAAwB,QAQpC,CAAC;AAEF,eAAO,MAAM,qBAAqB,QAsBjC,CAAC;AAEF,eAAO,MAAM,sBAAsB,QAQlC,CAAC;AAEF,eAAO,MAAM,gCAAgC,QAY5C,CAAC;AAEF,eAAO,MAAM,sBAAsB,QAYlC,CAAC;AAEF,eAAO,MAAM,8BAA8B,QAW1C,CAAC;AAEF,eAAO,MAAM,gCAAgC,QAW5C,CAAC;AAEF,eAAO,MAAM,qBAAqB,QAMjC,CAAC;AAEF,eAAO,MAAM,6BAA6B,QAQzC,CAAC;AAEF,eAAO,MAAM,4BAA4B,QAQxC,CAAC;AAEF,eAAO,MAAM,mCAAmC,QAQ/C,CAAC;AAEF,eAAO,MAAM,yBAAyB,QAQrC,CAAC"}
1
+ {"version":3,"file":"consentManager.d.ts","sourceRoot":"","sources":["../../../src/graphql/gqls/consentManager.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,QAAQ,QASpB,CAAC;AAEF,eAAO,MAAM,WAAW,QAyBvB,CAAC;AAEF,eAAO,MAAM,iBAAiB,QAkB7B,CAAC;AAEF,eAAO,MAAM,iBAAiB,QAkB7B,CAAC;AAEF,eAAO,MAAM,wBAAwB,QAWpC,CAAC;AAEF,eAAO,MAAM,UAAU,QAwCtB,CAAC;AAEF,eAAO,MAAM,OAAO,QAuCnB,CAAC;AAEF,eAAO,MAAM,wBAAwB,QAQpC,CAAC;AAEF,eAAO,MAAM,qBAAqB,QAsBjC,CAAC;AAEF,eAAO,MAAM,sBAAsB,QAQlC,CAAC;AAEF,eAAO,MAAM,gCAAgC,QAY5C,CAAC;AAEF,eAAO,MAAM,sBAAsB,QAYlC,CAAC;AAEF,eAAO,MAAM,8BAA8B,QAW1C,CAAC;AAEF,eAAO,MAAM,gCAAgC,QAW5C,CAAC;AAEF,eAAO,MAAM,qBAAqB,QAMjC,CAAC;AAEF,eAAO,MAAM,6BAA6B,QAQzC,CAAC;AAEF,eAAO,MAAM,4BAA4B,QAQxC,CAAC;AAEF,eAAO,MAAM,mCAAmC,QAQ/C,CAAC;AAEF,eAAO,MAAM,yBAAyB,QAQrC,CAAC"}
@@ -59,11 +59,16 @@ exports.CREATE_DATA_FLOWS = (0, graphql_request_1.gql) `
59
59
  `;
60
60
  exports.UPDATE_DATA_FLOWS = (0, graphql_request_1.gql) `
61
61
  mutation TranscendCliUpdateDataFlows(
62
+ $airgapBundleId: ID!
62
63
  $dataFlows: [UpdateDataFlowInput!]!
63
64
  $classifyService: Boolean
64
65
  ) {
65
66
  updateDataFlows(
66
- input: { dataFlows: $dataFlows, classifyService: $classifyService }
67
+ input: {
68
+ airgapBundleId: $airgapBundleId
69
+ dataFlows: $dataFlows
70
+ classifyService: $classifyService
71
+ }
67
72
  ) {
68
73
  dataFlows {
69
74
  id
@@ -1 +1 @@
1
- {"version":3,"file":"consentManager.js","sourceRoot":"","sources":["../../../src/graphql/gqls/consentManager.ts"],"names":[],"mappings":";;;AAAA,qDAAsC;AAEzB,QAAA,QAAQ,GAAG,IAAA,qBAAG,EAAA;;;;;;;;;CAS1B,CAAC;AAEW,QAAA,WAAW,GAAG,IAAA,qBAAG,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;CAyB7B,CAAC;AAEW,QAAA,iBAAiB,GAAG,IAAA,qBAAG,EAAA;;;;;;;;;;;;;;;;;;CAkBnC,CAAC;AAEW,QAAA,iBAAiB,GAAG,IAAA,qBAAG,EAAA;;;;;;;;;;;;;CAanC,CAAC;AAEW,QAAA,wBAAwB,GAAG,IAAA,qBAAG,EAAA;;;;;;;;;;;CAW1C,CAAC;AAEW,QAAA,UAAU,GAAG,IAAA,qBAAG,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwC5B,CAAC;AAEW,QAAA,OAAO,GAAG,IAAA,qBAAG,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuCzB,CAAC;AAEW,QAAA,wBAAwB,GAAG,IAAA,qBAAG,EAAA;;;;;;;;CAQ1C,CAAC;AAEW,QAAA,qBAAqB,GAAG,IAAA,qBAAG,EAAA;;;;;;;;;;;;;;;;;;;;;;CAsBvC,CAAC;AAEW,QAAA,sBAAsB,GAAG,IAAA,qBAAG,EAAA;;;;;;;;CAQxC,CAAC;AAEW,QAAA,gCAAgC,GAAG,IAAA,qBAAG,EAAA;;;;;;;;;;;;CAYlD,CAAC;AAEW,QAAA,sBAAsB,GAAG,IAAA,qBAAG,EAAA;;;;;;;;;;;;CAYxC,CAAC;AAEW,QAAA,8BAA8B,GAAG,IAAA,qBAAG,EAAA;;;;;;;;;;;CAWhD,CAAC;AAEW,QAAA,gCAAgC,GAAG,IAAA,qBAAG,EAAA;;;;;;;;;;;CAWlD,CAAC;AAEW,QAAA,qBAAqB,GAAG,IAAA,qBAAG,EAAA;;;;;;CAMvC,CAAC;AAEW,QAAA,6BAA6B,GAAG,IAAA,qBAAG,EAAA;;;;;;;;CAQ/C,CAAC;AAEW,QAAA,4BAA4B,GAAG,IAAA,qBAAG,EAAA;;;;;;;;CAQ9C,CAAC;AAEW,QAAA,mCAAmC,GAAG,IAAA,qBAAG,EAAA;;;;;;;;CAQrD,CAAC;AAEW,QAAA,yBAAyB,GAAG,IAAA,qBAAG,EAAA;;;;;;;;CAQ3C,CAAC"}
1
+ {"version":3,"file":"consentManager.js","sourceRoot":"","sources":["../../../src/graphql/gqls/consentManager.ts"],"names":[],"mappings":";;;AAAA,qDAAsC;AAEzB,QAAA,QAAQ,GAAG,IAAA,qBAAG,EAAA;;;;;;;;;CAS1B,CAAC;AAEW,QAAA,WAAW,GAAG,IAAA,qBAAG,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;CAyB7B,CAAC;AAEW,QAAA,iBAAiB,GAAG,IAAA,qBAAG,EAAA;;;;;;;;;;;;;;;;;;CAkBnC,CAAC;AAEW,QAAA,iBAAiB,GAAG,IAAA,qBAAG,EAAA;;;;;;;;;;;;;;;;;;CAkBnC,CAAC;AAEW,QAAA,wBAAwB,GAAG,IAAA,qBAAG,EAAA;;;;;;;;;;;CAW1C,CAAC;AAEW,QAAA,UAAU,GAAG,IAAA,qBAAG,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwC5B,CAAC;AAEW,QAAA,OAAO,GAAG,IAAA,qBAAG,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuCzB,CAAC;AAEW,QAAA,wBAAwB,GAAG,IAAA,qBAAG,EAAA;;;;;;;;CAQ1C,CAAC;AAEW,QAAA,qBAAqB,GAAG,IAAA,qBAAG,EAAA;;;;;;;;;;;;;;;;;;;;;;CAsBvC,CAAC;AAEW,QAAA,sBAAsB,GAAG,IAAA,qBAAG,EAAA;;;;;;;;CAQxC,CAAC;AAEW,QAAA,gCAAgC,GAAG,IAAA,qBAAG,EAAA;;;;;;;;;;;;CAYlD,CAAC;AAEW,QAAA,sBAAsB,GAAG,IAAA,qBAAG,EAAA;;;;;;;;;;;;CAYxC,CAAC;AAEW,QAAA,8BAA8B,GAAG,IAAA,qBAAG,EAAA;;;;;;;;;;;CAWhD,CAAC;AAEW,QAAA,gCAAgC,GAAG,IAAA,qBAAG,EAAA;;;;;;;;;;;CAWlD,CAAC;AAEW,QAAA,qBAAqB,GAAG,IAAA,qBAAG,EAAA;;;;;;CAMvC,CAAC;AAEW,QAAA,6BAA6B,GAAG,IAAA,qBAAG,EAAA;;;;;;;;CAQ/C,CAAC;AAEW,QAAA,4BAA4B,GAAG,IAAA,qBAAG,EAAA;;;;;;;;CAQ9C,CAAC;AAEW,QAAA,mCAAmC,GAAG,IAAA,qBAAG,EAAA;;;;;;;;CAQrD,CAAC;AAEW,QAAA,yBAAyB,GAAG,IAAA,qBAAG,EAAA;;;;;;;;CAQ3C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"syncConfigurationToTranscend.d.ts","sourceRoot":"","sources":["../../src/graphql/syncConfigurationToTranscend.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAiB,MAAM,WAAW,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAiChD;;;;;;;GAOG;AACH,wBAAsB,4BAA4B,CAChD,KAAK,EAAE,cAAc,EACrB,MAAM,EAAE,aAAa,EACrB,EACE,QAAa,EAEb,sBAA6B,EAC7B,eAAuB,GACxB,EAAE;IACD,gBAAgB;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mDAAmD;IACnD,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,4CAA4C;IAC5C,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,GACA,OAAO,CAAC,OAAO,CAAC,CAmclB"}
1
+ {"version":3,"file":"syncConfigurationToTranscend.d.ts","sourceRoot":"","sources":["../../src/graphql/syncConfigurationToTranscend.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AA+BhD;;;;;;;GAOG;AACH,wBAAsB,4BAA4B,CAChD,KAAK,EAAE,cAAc,EACrB,MAAM,EAAE,aAAa,EACrB,EACE,QAAa,EAEb,sBAA6B,EAC7B,eAAuB,GACxB,EAAE;IACD,gBAAgB;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mDAAmD;IACnD,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,4CAA4C;IAC5C,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,GACA,OAAO,CAAC,OAAO,CAAC,CA+XlB"}