@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.
- package/README.md +95 -28
- package/build/cli-upload-data-flows-from-csv.d.ts +3 -0
- package/build/cli-upload-data-flows-from-csv.d.ts.map +1 -0
- package/build/cli-upload-data-flows-from-csv.js +59 -0
- package/build/cli-upload-data-flows-from-csv.js.map +1 -0
- package/build/consent-manager/index.d.ts +1 -0
- package/build/consent-manager/index.d.ts.map +1 -1
- package/build/consent-manager/index.js +1 -0
- package/build/consent-manager/index.js.map +1 -1
- package/build/consent-manager/uploadDataFlowsFromCsv.d.ts +53 -0
- package/build/consent-manager/uploadDataFlowsFromCsv.d.ts.map +1 -0
- package/build/consent-manager/uploadDataFlowsFromCsv.js +122 -0
- package/build/consent-manager/uploadDataFlowsFromCsv.js.map +1 -0
- package/build/graphql/gqls/consentManager.d.ts.map +1 -1
- package/build/graphql/gqls/consentManager.js +6 -1
- package/build/graphql/gqls/consentManager.js.map +1 -1
- package/build/graphql/syncConfigurationToTranscend.d.ts.map +1 -1
- package/build/graphql/syncConfigurationToTranscend.js +2 -52
- package/build/graphql/syncConfigurationToTranscend.js.map +1 -1
- package/build/graphql/syncDataFlows.d.ts +9 -0
- package/build/graphql/syncDataFlows.d.ts.map +1 -1
- package/build/graphql/syncDataFlows.js +71 -2
- package/build/graphql/syncDataFlows.js.map +1 -1
- package/build/requests/splitCsvToList.d.ts +4 -0
- package/build/requests/splitCsvToList.d.ts.map +1 -1
- package/build/requests/splitCsvToList.js +4 -0
- package/build/requests/splitCsvToList.js.map +1 -1
- package/build/tsbuildinfo +1 -1
- 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-
|
|
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-
|
|
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-
|
|
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-
|
|
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.
|
|
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
|
|
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
|
|
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 |
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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-
|
|
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
|
|
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
|
-
|
|
|
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-
|
|
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
|
|
1235
|
+
Specifying the backend URL, needed for US hosted backend infrastructure.
|
|
1232
1236
|
|
|
1233
1237
|
```sh
|
|
1234
|
-
yarn tr-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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 @@
|
|
|
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 +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,
|
|
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: {
|
|
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
|
|
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,
|
|
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"}
|