@transcend-io/cli 4.86.0 → 4.88.1

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 (128) hide show
  1. package/README.md +8 -1
  2. package/build/cli-pull-consent-metrics.js +1 -1
  3. package/build/cli-pull-consent-metrics.js.map +1 -1
  4. package/build/cli-pull.js +3 -2
  5. package/build/cli-pull.js.map +1 -1
  6. package/build/cli-push.js +1 -1
  7. package/build/cli-push.js.map +1 -1
  8. package/build/cli-request-upload.js +2 -1
  9. package/build/cli-request-upload.js.map +1 -1
  10. package/build/codecs.d.ts +10778 -0
  11. package/build/codecs.d.ts.map +1 -1
  12. package/build/codecs.js +4 -0
  13. package/build/codecs.js.map +1 -1
  14. package/build/constants.d.ts +14 -0
  15. package/build/constants.d.ts.map +1 -1
  16. package/build/constants.js +51 -1
  17. package/build/constants.js.map +1 -1
  18. package/build/enums.d.ts +18 -0
  19. package/build/enums.d.ts.map +1 -0
  20. package/build/enums.js +22 -0
  21. package/build/enums.js.map +1 -0
  22. package/build/graphql/fetchAllActions.js +1 -1
  23. package/build/graphql/fetchAllActions.js.map +1 -1
  24. package/build/graphql/fetchAllAttributeKeys.js +1 -1
  25. package/build/graphql/fetchAllAttributeKeys.js.map +1 -1
  26. package/build/graphql/fetchAllAttributes.js +2 -2
  27. package/build/graphql/fetchAllAttributes.js.map +1 -1
  28. package/build/graphql/fetchAllBusinessEntities.js +1 -1
  29. package/build/graphql/fetchAllBusinessEntities.js.map +1 -1
  30. package/build/graphql/fetchAllCookies.js +1 -1
  31. package/build/graphql/fetchAllCookies.js.map +1 -1
  32. package/build/graphql/fetchAllDataFlows.js +1 -1
  33. package/build/graphql/fetchAllDataFlows.js.map +1 -1
  34. package/build/graphql/fetchApiKeys.d.ts.map +1 -1
  35. package/build/graphql/fetchApiKeys.js +7 -4
  36. package/build/graphql/fetchApiKeys.js.map +1 -1
  37. package/build/graphql/fetchCatalogs.d.ts.map +1 -1
  38. package/build/graphql/fetchCatalogs.js +1 -1
  39. package/build/graphql/fetchCatalogs.js.map +1 -1
  40. package/build/graphql/fetchConsentManagerId.js +1 -1
  41. package/build/graphql/fetchConsentManagerId.js.map +1 -1
  42. package/build/graphql/fetchIdentifiers.js +1 -1
  43. package/build/graphql/fetchIdentifiers.js.map +1 -1
  44. package/build/graphql/gqls/RequestDataSilo.d.ts.map +1 -1
  45. package/build/graphql/gqls/RequestDataSilo.js +12 -1
  46. package/build/graphql/gqls/RequestDataSilo.js.map +1 -1
  47. package/build/graphql/gqls/RequestEnricher.d.ts.map +1 -1
  48. package/build/graphql/gqls/RequestEnricher.js +8 -0
  49. package/build/graphql/gqls/RequestEnricher.js.map +1 -1
  50. package/build/graphql/gqls/RequestIdentifier.d.ts.map +1 -1
  51. package/build/graphql/gqls/RequestIdentifier.js +7 -0
  52. package/build/graphql/gqls/RequestIdentifier.js.map +1 -1
  53. package/build/graphql/gqls/action.d.ts.map +1 -1
  54. package/build/graphql/gqls/action.js +9 -1
  55. package/build/graphql/gqls/action.js.map +1 -1
  56. package/build/graphql/gqls/apiKey.d.ts.map +1 -1
  57. package/build/graphql/gqls/apiKey.js +12 -1
  58. package/build/graphql/gqls/apiKey.js.map +1 -1
  59. package/build/graphql/gqls/attribute.d.ts.map +1 -1
  60. package/build/graphql/gqls/attribute.js +8 -0
  61. package/build/graphql/gqls/attribute.js.map +1 -1
  62. package/build/graphql/gqls/attributeKey.d.ts.map +1 -1
  63. package/build/graphql/gqls/attributeKey.js +4 -0
  64. package/build/graphql/gqls/attributeKey.js.map +1 -1
  65. package/build/graphql/gqls/businessEntity.d.ts.map +1 -1
  66. package/build/graphql/gqls/businessEntity.js +12 -1
  67. package/build/graphql/gqls/businessEntity.js.map +1 -1
  68. package/build/graphql/gqls/catalog.d.ts.map +1 -1
  69. package/build/graphql/gqls/catalog.js +4 -0
  70. package/build/graphql/gqls/catalog.js.map +1 -1
  71. package/build/graphql/gqls/consentManager.d.ts.map +1 -1
  72. package/build/graphql/gqls/consentManager.js +18 -0
  73. package/build/graphql/gqls/consentManager.js.map +1 -1
  74. package/build/graphql/gqls/dataPoint.d.ts.map +1 -1
  75. package/build/graphql/gqls/dataPoint.js +11 -0
  76. package/build/graphql/gqls/dataPoint.js.map +1 -1
  77. package/build/graphql/gqls/dataSilo.d.ts +2 -3
  78. package/build/graphql/gqls/dataSilo.d.ts.map +1 -1
  79. package/build/graphql/gqls/dataSilo.js +21 -112
  80. package/build/graphql/gqls/dataSilo.js.map +1 -1
  81. package/build/graphql/gqls/enricher.d.ts.map +1 -1
  82. package/build/graphql/gqls/enricher.js +12 -1
  83. package/build/graphql/gqls/enricher.js.map +1 -1
  84. package/build/graphql/gqls/identifier.d.ts.map +1 -1
  85. package/build/graphql/gqls/identifier.js +11 -1
  86. package/build/graphql/gqls/identifier.js.map +1 -1
  87. package/build/graphql/gqls/request.d.ts.map +1 -1
  88. package/build/graphql/gqls/request.js +13 -1
  89. package/build/graphql/gqls/request.js.map +1 -1
  90. package/build/graphql/gqls/template.d.ts.map +1 -1
  91. package/build/graphql/gqls/template.js +4 -0
  92. package/build/graphql/gqls/template.js.map +1 -1
  93. package/build/graphql/makeGraphQLRequest.d.ts.map +1 -1
  94. package/build/graphql/makeGraphQLRequest.js +9 -0
  95. package/build/graphql/makeGraphQLRequest.js.map +1 -1
  96. package/build/graphql/pullTranscendConfiguration.d.ts +1 -17
  97. package/build/graphql/pullTranscendConfiguration.d.ts.map +1 -1
  98. package/build/graphql/pullTranscendConfiguration.js +28 -43
  99. package/build/graphql/pullTranscendConfiguration.js.map +1 -1
  100. package/build/graphql/syncConfigurationToTranscend.d.ts.map +1 -1
  101. package/build/graphql/syncConfigurationToTranscend.js +14 -39
  102. package/build/graphql/syncConfigurationToTranscend.js.map +1 -1
  103. package/build/graphql/syncDataSilos.d.ts +23 -4
  104. package/build/graphql/syncDataSilos.d.ts.map +1 -1
  105. package/build/graphql/syncDataSilos.js +212 -137
  106. package/build/graphql/syncDataSilos.js.map +1 -1
  107. package/build/graphql/syncEnrichers.js +1 -1
  108. package/build/graphql/syncEnrichers.js.map +1 -1
  109. package/build/graphql/syncTemplates.js +1 -1
  110. package/build/graphql/syncTemplates.js.map +1 -1
  111. package/build/index.d.ts +1 -0
  112. package/build/index.d.ts.map +1 -1
  113. package/build/index.js +1 -0
  114. package/build/index.js.map +1 -1
  115. package/build/readTranscendYaml.d.ts +12 -0
  116. package/build/readTranscendYaml.d.ts.map +1 -1
  117. package/build/readTranscendYaml.js +34 -14
  118. package/build/readTranscendYaml.js.map +1 -1
  119. package/build/requests/submitPrivacyRequest.d.ts +3 -1
  120. package/build/requests/submitPrivacyRequest.d.ts.map +1 -1
  121. package/build/requests/submitPrivacyRequest.js +2 -1
  122. package/build/requests/submitPrivacyRequest.js.map +1 -1
  123. package/build/requests/uploadPrivacyRequestsFromCsv.d.ts +3 -1
  124. package/build/requests/uploadPrivacyRequestsFromCsv.d.ts.map +1 -1
  125. package/build/requests/uploadPrivacyRequestsFromCsv.js +9 -6
  126. package/build/requests/uploadPrivacyRequestsFromCsv.js.map +1 -1
  127. package/build/tsbuildinfo +1 -1
  128. package/package.json +1 -1
@@ -18,9 +18,7 @@ const syncDataSubject_1 = require("./syncDataSubject");
18
18
  const fetchApiKeys_1 = require("./fetchApiKeys");
19
19
  const syncConsentManager_1 = require("./syncConsentManager");
20
20
  const fetchAllAttributes_1 = require("./fetchAllAttributes");
21
- const gqls_1 = require("./gqls");
22
21
  const syncBusinessEntities_1 = require("./syncBusinessEntities");
23
- const makeGraphQLRequest_1 = require("./makeGraphQLRequest");
24
22
  const syncDataFlows_1 = require("./syncDataFlows");
25
23
  const syncAction_1 = require("./syncAction");
26
24
  const syncTemplates_1 = require("./syncTemplates");
@@ -228,48 +226,25 @@ publishToPrivacyCenter = true, classifyService = false, }) {
228
226
  const dependencyUpdates = [];
229
227
  // Sync data silos
230
228
  if (dataSilos) {
231
- logger_1.logger.info(colors_1.default.magenta(`Syncing "${dataSilos.length}" data silos...`));
232
- await (0, bluebird_1.mapSeries)(dataSilos, async (dataSilo) => {
233
- logger_1.logger.info(colors_1.default.magenta(`Syncing data silo "${dataSilo.title}"...`));
234
- try {
235
- const dataSiloInfo = await (0, syncDataSilos_1.syncDataSilo)(dataSilo, client, {
236
- dataSubjectsByName,
237
- apiKeysByTitle: apiKeyTitleMap,
238
- pageSize,
239
- });
240
- logger_1.logger.info(colors_1.default.green(`Successfully synced data silo "${dataSilo.title}"! View at: ${dataSiloInfo.link}`));
241
- // Queue up dependency update
242
- if (dataSilo['deletion-dependencies']) {
243
- dependencyUpdates.push([
244
- dataSiloInfo,
245
- dataSilo['deletion-dependencies'],
246
- ]);
247
- }
248
- }
249
- catch (err) {
250
- encounteredError = true;
251
- logger_1.logger.info(colors_1.default.red(`Failed to sync data silo "${dataSilo.title}"! - ${err.message}`));
229
+ const { success, dataSiloTitleToId } = await (0, syncDataSilos_1.syncDataSilos)(dataSilos, client, {
230
+ dataSubjectsByName,
231
+ apiKeysByTitle: apiKeyTitleMap,
232
+ pageSize,
233
+ });
234
+ dataSilos === null || dataSilos === void 0 ? void 0 : dataSilos.forEach((dataSilo) => {
235
+ // Queue up dependency update
236
+ if (dataSilo['deletion-dependencies']) {
237
+ dependencyUpdates.push([
238
+ dataSiloTitleToId[dataSilo.title],
239
+ dataSilo['deletion-dependencies'],
240
+ ]);
252
241
  }
253
242
  });
254
- logger_1.logger.info(colors_1.default.green(`Synced "${dataSilos.length}" data silos!`));
243
+ encounteredError = encounteredError || !success;
255
244
  }
256
245
  // Dependencies updated at the end after all data silos are created
257
246
  if (dependencyUpdates.length > 0) {
258
- logger_1.logger.info(colors_1.default.magenta(`Syncing "${dependencyUpdates.length}" data silo dependencies...`));
259
- await (0, bluebird_1.mapSeries)(dependencyUpdates, async ([dataSilo, dependencyTitles]) => {
260
- logger_1.logger.info(colors_1.default.magenta(`Syncing dependencies for data silo "${dataSilo.title}"...`));
261
- try {
262
- await (0, makeGraphQLRequest_1.makeGraphQLRequest)(client, gqls_1.UPDATE_DATA_SILO, {
263
- id: dataSilo.id,
264
- dependedOnDataSiloTitles: dependencyTitles,
265
- });
266
- }
267
- catch (err) {
268
- encounteredError = true;
269
- logger_1.logger.info(colors_1.default.red(`Failed to sync dependencies for data silo "${dataSilo.title}"! - ${err.message}`));
270
- }
271
- });
272
- logger_1.logger.info(colors_1.default.green(`Synced "${dependencyUpdates.length}" data silos!`));
247
+ await (0, syncDataSilos_1.syncDataSiloDependencies)(client, dependencyUpdates);
273
248
  }
274
249
  if (publishToPrivacyCenter) {
275
250
  // TODO: https://transcend.height.app/T-23779
@@ -1 +1 @@
1
- {"version":3,"file":"syncConfigurationToTranscend.js","sourceRoot":"","sources":["../../src/graphql/syncConfigurationToTranscend.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"syncConfigurationToTranscend.js","sourceRoot":"","sources":["../../src/graphql/syncConfigurationToTranscend.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import { DataCategoryInput, DataSiloInput, ProcessingPurposeInput } from '../cod
2
2
  import { GraphQLClient } from 'graphql-request';
3
3
  import { DataSubject } from './fetchDataSubjects';
4
4
  import { ApiKey } from './fetchApiKeys';
5
- import { PromptAVendorEmailCompletionLinkType, PromptAVendorEmailSendType, RequestActionObjectResolver } from '@transcend-io/privacy-types';
5
+ import { IsoCountryCode, IsoCountrySubdivisionCode, PromptAVendorEmailCompletionLinkType, PromptAVendorEmailSendType, RequestActionObjectResolver } from '@transcend-io/privacy-types';
6
6
  export interface DataSiloAttributeValue {
7
7
  /** Key associated to value */
8
8
  attributeKey: {
@@ -205,6 +205,10 @@ export interface DataSiloEnriched {
205
205
  };
206
206
  /** Silo is live */
207
207
  isLive: boolean;
208
+ /** Hosting country of data silo */
209
+ country?: IsoCountryCode;
210
+ /** Hosting subdivision data silo */
211
+ countrySubDivision?: IsoCountrySubdivisionCode;
208
212
  /**
209
213
  * The frequency with which we should be sending emails for this data silo, in milliseconds.
210
214
  */
@@ -253,12 +257,12 @@ export declare function fetchEnrichedDataSilos(client: GraphQLClient, { ids, pag
253
257
  /**
254
258
  * Sync a data silo configuration
255
259
  *
256
- * @param input - The transcend input definition
260
+ * @param dataSilos - Data silos to sync
257
261
  * @param client - GraphQL client
258
262
  * @param options - Options
259
263
  * @returns Data silo info
260
264
  */
261
- export declare function syncDataSilo({ datapoints, 'email-settings': promptAVendorEmailSettings, ...dataSilo }: DataSiloInput, client: GraphQLClient, { pageSize, dataSubjectsByName, apiKeysByTitle, }: {
265
+ export declare function syncDataSilos(dataSilos: DataSiloInput[], client: GraphQLClient, { pageSize, dataSubjectsByName, apiKeysByTitle, }: {
262
266
  /** Page size */
263
267
  pageSize: number;
264
268
  /** The data subjects in the organization */
@@ -269,6 +273,21 @@ export declare function syncDataSilo({ datapoints, 'email-settings': promptAVend
269
273
  apiKeysByTitle: {
270
274
  [title in string]: ApiKey;
271
275
  };
272
- }): Promise<DataSilo>;
276
+ }): Promise<{
277
+ /** Whether successfully updated */
278
+ success: boolean;
279
+ /** A mapping between data silo title to data silo ID */
280
+ dataSiloTitleToId: {
281
+ [k in string]: string;
282
+ };
283
+ }>;
284
+ /**
285
+ * Sync data silo dependencies
286
+ *
287
+ * @param client - GraphQL client
288
+ * @param dependencyUpdates - Mapping from [data silo ID, dependency titles]
289
+ * @returns True upon success
290
+ */
291
+ export declare function syncDataSiloDependencies(client: GraphQLClient, dependencyUpdates: [string, string[]][]): Promise<boolean>;
273
292
  export {};
274
293
  //# sourceMappingURL=syncDataSilos.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"syncDataSilos.d.ts","sourceRoot":"","sources":["../../src/graphql/syncDataSilos.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"syncDataSilos.d.ts","sourceRoot":"","sources":["../../src/graphql/syncDataSilos.ts"],"names":[],"mappings":"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"}
@@ -3,14 +3,20 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.syncDataSilo = exports.fetchEnrichedDataSilos = exports.fetchAllDataPoints = exports.fetchAllSubDataPoints = exports.fetchAllDataSilos = void 0;
6
+ exports.syncDataSiloDependencies = exports.syncDataSilos = exports.fetchEnrichedDataSilos = exports.fetchAllDataPoints = exports.fetchAllSubDataPoints = exports.fetchAllDataSilos = void 0;
7
+ /* eslint-disable max-lines */
8
+ const cli_progress_1 = __importDefault(require("cli-progress"));
7
9
  const logger_1 = require("../logger");
8
10
  const colors_1 = __importDefault(require("colors"));
9
11
  const bluebird_1 = require("bluebird");
12
+ const keyBy_1 = __importDefault(require("lodash/keyBy"));
10
13
  const gqls_1 = require("./gqls");
11
14
  const fetchDataSubjects_1 = require("./fetchDataSubjects");
12
15
  const sortBy_1 = __importDefault(require("lodash/sortBy"));
16
+ const chunk_1 = __importDefault(require("lodash/chunk"));
13
17
  const makeGraphQLRequest_1 = require("./makeGraphQLRequest");
18
+ const type_utils_1 = require("@transcend-io/type-utils");
19
+ const BATCH_SILOS_LIMIT = 20;
14
20
  /**
15
21
  * Fetch all dataSilos in the organization
16
22
  *
@@ -28,11 +34,13 @@ async function fetchAllDataSilos(client, { title, pageSize, ids = [], integratio
28
34
  const { dataSilos: { nodes },
29
35
  // eslint-disable-next-line no-await-in-loop
30
36
  } = await (0, makeGraphQLRequest_1.makeGraphQLRequest)(client, gqls_1.DATA_SILOS, {
37
+ filterBy: {
38
+ ids: ids.length > 0 ? ids : undefined,
39
+ types: integrationNames.length > 0 ? integrationNames : undefined,
40
+ text: title,
41
+ },
31
42
  first: pageSize,
32
- ids: ids.length > 0 ? ids : undefined,
33
- types: integrationNames.length > 0 ? integrationNames : undefined,
34
43
  offset,
35
- title,
36
44
  });
37
45
  dataSilos.push(...nodes);
38
46
  offset += pageSize;
@@ -41,7 +49,7 @@ async function fetchAllDataSilos(client, { title, pageSize, ids = [], integratio
41
49
  logger_1.logger.info(colors_1.default.green(`Found a total of ${dataSilos.length} data silo${ids.length > 0 ? ` matching IDs ${ids.join(',')}` : ''}s${integrationNames.length > 0
42
50
  ? ` matching integrationNames ${integrationNames.join(',')}`
43
51
  : ''}`));
44
- return dataSilos;
52
+ return dataSilos.sort((a, b) => a.title.localeCompare(b.title));
45
53
  }
46
54
  exports.fetchAllDataSilos = fetchAllDataSilos;
47
55
  /**
@@ -124,7 +132,7 @@ async function fetchAllDataPoints(client, dataSiloId, { debug, pageSize, }) {
124
132
  });
125
133
  dataPoints.push({
126
134
  ...node,
127
- subDataPoints,
135
+ subDataPoints: subDataPoints.sort((a, b) => a.name.localeCompare(b.name)),
128
136
  });
129
137
  if (debug) {
130
138
  logger_1.logger.info(colors_1.default.green(`Successfully fetched subdatapoints for ${node.name}`));
@@ -145,7 +153,7 @@ async function fetchAllDataPoints(client, dataSiloId, { debug, pageSize, }) {
145
153
  offset += pageSize;
146
154
  shouldContinue = nodes.length === pageSize;
147
155
  } while (shouldContinue);
148
- return (0, sortBy_1.default)(dataPoints, 'name');
156
+ return dataPoints.sort((a, b) => a.name.localeCompare(b.name));
149
157
  }
150
158
  exports.fetchAllDataPoints = fetchAllDataPoints;
151
159
  /**
@@ -187,149 +195,216 @@ exports.fetchEnrichedDataSilos = fetchEnrichedDataSilos;
187
195
  /**
188
196
  * Sync a data silo configuration
189
197
  *
190
- * @param input - The transcend input definition
198
+ * @param dataSilos - Data silos to sync
191
199
  * @param client - GraphQL client
192
200
  * @param options - Options
193
201
  * @returns Data silo info
194
202
  */
195
- async function syncDataSilo({ datapoints, 'email-settings': promptAVendorEmailSettings, ...dataSilo }, client, { pageSize, dataSubjectsByName, apiKeysByTitle, }) {
196
- // Try to fetch an dataSilo with the same title
197
- const matches = await fetchAllDataSilos(client, {
198
- title: dataSilo.title,
203
+ async function syncDataSilos(dataSilos, client, { pageSize, dataSubjectsByName, apiKeysByTitle, }) {
204
+ let encounteredError = false;
205
+ // Time duration
206
+ const t0 = new Date().getTime();
207
+ logger_1.logger.info(colors_1.default.magenta(`Syncing "${dataSilos.length}" data silos...`));
208
+ // TODO: https://transcend.height.app/T-28707 - search by title instead of over-fetching
209
+ // Determine the set of data silos that already exist
210
+ const allDataSilos = await fetchAllDataSilos(client, {
211
+ // TODO: https://transcend.height.app/T-28707 - search by title instead of over-fetching
212
+ // titles: dataSilos.map(({ title }) => title),
199
213
  pageSize,
200
214
  });
201
- let existingDataSilo = matches.find(({ title }) => title === dataSilo.title);
202
- // If data silo exists, update it, else create new
203
- if (existingDataSilo) {
204
- const { updateDataSilo } = await (0, makeGraphQLRequest_1.makeGraphQLRequest)(client, gqls_1.UPDATE_DATA_SILO, {
205
- id: existingDataSilo.id,
206
- title: dataSilo.title,
207
- url: dataSilo.url,
208
- headers: dataSilo.headers,
209
- description: dataSilo.description,
210
- identifiers: dataSilo['identity-keys'],
211
- isLive: !dataSilo.disabled,
212
- ownerEmails: dataSilo.owners,
213
- teamNames: dataSilo.teams,
214
- // clear out if not specified, otherwise the update needs to be applied after
215
- // all data silos are created
216
- dependedOnDataSiloTitles: dataSilo['deletion-dependencies']
217
- ? undefined
218
- : [],
219
- apiKeyId: dataSilo['api-key-title']
220
- ? apiKeysByTitle[dataSilo['api-key-title']].id
221
- : undefined,
222
- dataSubjectBlockListIds: dataSilo['data-subjects']
223
- ? (0, fetchDataSubjects_1.convertToDataSubjectBlockList)(dataSilo['data-subjects'], dataSubjectsByName)
224
- : undefined,
225
- attributes: dataSilo.attributes,
215
+ const allTitles = dataSilos.map(({ title }) => title);
216
+ const existingDataSilos = allDataSilos.filter((silo) => allTitles.includes(silo.title));
217
+ // Create a mapping of title -> existing silo, if it exists
218
+ const existingDataSiloByTitle = (0, keyBy_1.default)(existingDataSilos, 'title');
219
+ // Create new silos that do not exist
220
+ const newDataSiloInputs = dataSilos.filter(({ title }) => !existingDataSiloByTitle[title]);
221
+ if (newDataSiloInputs.length > 0) {
222
+ logger_1.logger.info(colors_1.default.magenta(`Creating "${newDataSiloInputs.length}" data silos that did not exist...`));
223
+ // Batch the creation
224
+ const chunked = (0, chunk_1.default)(newDataSiloInputs, BATCH_SILOS_LIMIT);
225
+ await (0, bluebird_1.mapSeries)(chunked, async (dependencyUpdateChunk) => {
226
+ const { createDataSilos: { dataSilos }, } = await (0, makeGraphQLRequest_1.makeGraphQLRequest)(client, gqls_1.CREATE_DATA_SILOS, {
227
+ input: dependencyUpdateChunk.map((input) => ({
228
+ name: input.integrationName,
229
+ title: input.title,
230
+ country: input.country,
231
+ countrySubDivision: input.countrySubDivision,
232
+ })),
233
+ });
234
+ // save mapping of title and id
235
+ dataSilos.forEach((silo) => {
236
+ existingDataSiloByTitle[silo.title] = silo;
237
+ });
226
238
  });
227
- existingDataSilo = updateDataSilo.dataSilo;
239
+ logger_1.logger.info(colors_1.default.green(`Successfully created "${newDataSiloInputs.length}" data silos!`));
228
240
  }
229
- else {
230
- // TODO: https://transcend.height.app/T-26999 - remove this, use createDataSilos
231
- const { connectDataSilo } = await (0, makeGraphQLRequest_1.makeGraphQLRequest)(client, gqls_1.CREATE_DATA_SILO, {
232
- title: dataSilo.title,
233
- url: dataSilo.url,
234
- headers: dataSilo.headers,
235
- type: dataSilo.integrationName,
236
- outerType: dataSilo['outer-type'] || undefined,
237
- description: dataSilo.description || '',
238
- identifiers: dataSilo['identity-keys'],
239
- isLive: !dataSilo.disabled,
240
- ownerEmails: dataSilo.owners,
241
- teamNames: dataSilo.teams,
242
- // clear out if not specified, otherwise the update needs to be applied after
243
- // all data silos are created
244
- dependedOnDataSiloTitles: dataSilo['deletion-dependencies']
245
- ? undefined
246
- : [],
247
- apiKeyId: dataSilo['api-key-title']
248
- ? apiKeysByTitle[dataSilo['api-key-title']].id
249
- : undefined,
250
- dataSubjectBlockListIds: dataSilo['data-subjects']
251
- ? (0, fetchDataSubjects_1.convertToDataSubjectBlockList)(dataSilo['data-subjects'], dataSubjectsByName)
252
- : undefined,
253
- attributes: dataSilo.attributes,
241
+ // Batch the updates
242
+ const chunkedUpdates = (0, chunk_1.default)(dataSilos, BATCH_SILOS_LIMIT);
243
+ await (0, bluebird_1.mapSeries)(chunkedUpdates, async (dataSiloUpdateChunk, ind) => {
244
+ logger_1.logger.info(colors_1.default.magenta(`[Batch ${ind + 1}/${chunkedUpdates.length}] Syncing "${dataSiloUpdateChunk.length}" data silos`));
245
+ await (0, makeGraphQLRequest_1.makeGraphQLRequest)(client, gqls_1.UPDATE_DATA_SILOS, {
246
+ input: {
247
+ dataSilos: dataSiloUpdateChunk.map((input) => {
248
+ var _a, _b, _c, _d, _e, _f;
249
+ return ({
250
+ id: existingDataSiloByTitle[input.title].id,
251
+ country: input.country,
252
+ countrySubDivision: input.countrySubDivision,
253
+ url: input.url,
254
+ headers: input.headers,
255
+ description: input.description,
256
+ identifiers: input['identity-keys'],
257
+ isLive: !input.disabled,
258
+ ownerEmails: input.owners,
259
+ teamNames: input.teams,
260
+ // clear out if not specified, otherwise the update needs to be applied after
261
+ // all data silos are created
262
+ dependedOnDataSiloTitles: input['deletion-dependencies']
263
+ ? undefined
264
+ : [],
265
+ apiKeyId: input['api-key-title']
266
+ ? apiKeysByTitle[input['api-key-title']].id
267
+ : undefined,
268
+ dataSubjectBlockListIds: input['data-subjects']
269
+ ? (0, fetchDataSubjects_1.convertToDataSubjectBlockList)(input['data-subjects'], dataSubjectsByName)
270
+ : undefined,
271
+ attributes: input.attributes,
272
+ // AVC settings
273
+ notifyEmailAddress: (_a = input['email-settings']) === null || _a === void 0 ? void 0 : _a['notify-email-address'],
274
+ promptAVendorEmailSendFrequency: (_b = input['email-settings']) === null || _b === void 0 ? void 0 : _b['send-frequency'],
275
+ promptAVendorEmailSendType: (_c = input['email-settings']) === null || _c === void 0 ? void 0 : _c['send-type'],
276
+ promptAVendorEmailIncludeIdentifiersAttachment: (_d = input['email-settings']) === null || _d === void 0 ? void 0 : _d['include-identifiers-attachment'],
277
+ promptAVendorEmailCompletionLinkType: (_e = input['email-settings']) === null || _e === void 0 ? void 0 : _e['completion-link-type'],
278
+ manualWorkRetryFrequency: (_f = input['email-settings']) === null || _f === void 0 ? void 0 : _f['manual-work-retry-frequency'],
279
+ });
280
+ }),
281
+ },
254
282
  });
255
- existingDataSilo = connectDataSilo.dataSilo;
256
- }
257
- if (promptAVendorEmailSettings) {
258
- if (!existingDataSilo.catalog.hasAvcFunctionality) {
259
- logger_1.logger.info(colors_1.default.red(`The data silo ${dataSilo.title} does not support setting email-settings. Please remove this field your yml file.`));
260
- process.exit(1);
261
- }
262
- else {
263
- logger_1.logger.info(colors_1.default.magenta(`Syncing email settings for data silo ${dataSilo.title}...`));
264
- await (0, makeGraphQLRequest_1.makeGraphQLRequest)(client, gqls_1.UPDATE_PROMPT_A_VENDOR_SETTINGS, {
265
- dataSiloId: existingDataSilo.id,
266
- notifyEmailAddress: promptAVendorEmailSettings['notify-email-address'],
267
- promptAVendorEmailSendFrequency: promptAVendorEmailSettings['send-frequency'],
268
- promptAVendorEmailSendType: promptAVendorEmailSettings['send-type'],
269
- promptAVendorEmailIncludeIdentifiersAttachment: promptAVendorEmailSettings['include-identifiers-attachment'],
270
- promptAVendorEmailCompletionLinkType: promptAVendorEmailSettings['completion-link-type'],
271
- promptAVendorEmailManualWorkRetryFrequency: promptAVendorEmailSettings['manual-work-retry-frequency'],
272
- });
273
- logger_1.logger.info(colors_1.default.green(`Synced email-settings for data silo ${dataSilo.title}!`));
274
- }
275
- }
283
+ logger_1.logger.info(colors_1.default.green(`[Batch ${ind + 1}/${chunkedUpdates.length}] Synced "${dataSiloUpdateChunk.length}" data silos!`));
284
+ });
276
285
  // Sync datapoints
277
- if (datapoints) {
278
- logger_1.logger.info(colors_1.default.magenta(`Syncing "${datapoints.length}" datapoints for data silo ${dataSilo.title}...`));
279
- await (0, bluebird_1.map)(datapoints, async (datapoint) => {
280
- logger_1.logger.info(colors_1.default.magenta(`Syncing datapoint "${datapoint.key}"...`));
281
- const fields = datapoint.fields
282
- ? datapoint.fields.map(({ key, description, categories, purposes, attributes, ...rest }) =>
283
- // TODO: Support setting title separately from the 'key/name'
284
- ({
285
- name: key,
286
- description,
287
- categories: !categories
288
- ? undefined
289
- : categories.map((category) => ({
290
- ...category,
291
- name: category.name || 'Other',
292
- })),
293
- purposes: !purposes
286
+ // create a new progress bar instance and use shades_classic theme
287
+ const progressBar = new cli_progress_1.default.SingleBar({}, cli_progress_1.default.Presets.shades_classic);
288
+ const dataSilosWithDataPoints = dataSilos.filter(({ datapoints = [] }) => datapoints.length > 0);
289
+ const totalDataPoints = dataSilos
290
+ .map(({ datapoints = [] }) => datapoints.length)
291
+ .reduce((acc, count) => acc + count, 0);
292
+ logger_1.logger.info(colors_1.default.magenta(`Syncing "${totalDataPoints}" datapoints from "${dataSilosWithDataPoints.length}" data silos...`));
293
+ progressBar.start(totalDataPoints, 0);
294
+ let total = 0;
295
+ await (0, bluebird_1.map)(dataSilosWithDataPoints, async ({ datapoints, title }) => {
296
+ if (datapoints) {
297
+ await (0, bluebird_1.map)(datapoints, async (datapoint) => {
298
+ const fields = datapoint.fields
299
+ ? datapoint.fields.map(({ key, description, categories, purposes, attributes, ...rest }) =>
300
+ // TODO: Support setting title separately from the 'key/name'
301
+ ({
302
+ name: key,
303
+ description,
304
+ categories: !categories
305
+ ? undefined
306
+ : categories.map((category) => ({
307
+ ...category,
308
+ name: category.name || 'Other',
309
+ })),
310
+ purposes: !purposes
311
+ ? undefined
312
+ : purposes.map((purpose) => ({
313
+ ...purpose,
314
+ name: purpose.name || 'Other',
315
+ })),
316
+ attributes,
317
+ accessRequestVisibilityEnabled: rest['access-request-visibility-enabled'],
318
+ erasureRequestRedactionEnabled: rest['erasure-request-redaction-enabled'],
319
+ }))
320
+ : undefined;
321
+ const payload = {
322
+ dataSiloId: existingDataSiloByTitle[title].id,
323
+ path: datapoint.path,
324
+ name: datapoint.key,
325
+ title: datapoint.title,
326
+ description: datapoint.description,
327
+ ...(datapoint['data-collection-tag']
328
+ ? { dataCollectionTag: datapoint['data-collection-tag'] }
329
+ : {}),
330
+ querySuggestions: !datapoint['privacy-action-queries']
294
331
  ? undefined
295
- : purposes.map((purpose) => ({
296
- ...purpose,
297
- name: purpose.name || 'Other',
332
+ : Object.entries(datapoint['privacy-action-queries']).map(([key, value]) => ({
333
+ requestType: key,
334
+ suggestedQuery: value,
298
335
  })),
299
- attributes,
300
- accessRequestVisibilityEnabled: rest['access-request-visibility-enabled'],
301
- erasureRequestRedactionEnabled: rest['erasure-request-redaction-enabled'],
302
- }))
303
- : undefined;
304
- if (fields && fields.length > 0) {
305
- logger_1.logger.info(colors_1.default.magenta(`Syncing ${fields.length} fields for datapoint "${datapoint.key}"...`));
306
- }
307
- const payload = {
308
- dataSiloId: existingDataSilo.id,
309
- path: datapoint.path,
310
- name: datapoint.key,
311
- title: datapoint.title,
312
- description: datapoint.description,
313
- ...(datapoint['data-collection-tag']
314
- ? { dataCollectionTag: datapoint['data-collection-tag'] }
315
- : {}),
316
- querySuggestions: !datapoint['privacy-action-queries']
317
- ? undefined
318
- : Object.entries(datapoint['privacy-action-queries']).map(([key, value]) => ({
319
- requestType: key,
320
- suggestedQuery: value,
336
+ enabledActions: datapoint['privacy-actions'] || [],
337
+ subDataPoints: fields,
338
+ };
339
+ // Ensure no duplicate sub-datapoints are provided
340
+ const subDataPointsToUpdate = (payload.subDataPoints || []).map(({ name }) => name);
341
+ const duplicateDataPoints = subDataPointsToUpdate.filter((name, index) => subDataPointsToUpdate.indexOf(name) !== index);
342
+ if (duplicateDataPoints.length > 0) {
343
+ logger_1.logger.info(colors_1.default.red(`\nCannot update datapoint "${datapoint.key}" as it has duplicate sub-datapoints with the same name: \n${duplicateDataPoints.join('\n')}`));
344
+ encounteredError = true;
345
+ }
346
+ else {
347
+ try {
348
+ await (0, makeGraphQLRequest_1.makeGraphQLRequest)(client, gqls_1.UPDATE_OR_CREATE_DATA_POINT, payload);
349
+ }
350
+ catch (err) {
351
+ logger_1.logger.info(colors_1.default.red(`\nFailed to update datapoint "${datapoint.key}" for data silo "${title}"! - \n${err.message}`));
352
+ encounteredError = true;
353
+ }
354
+ }
355
+ total += 1;
356
+ progressBar.update(total);
357
+ }, {
358
+ concurrency: 5,
359
+ });
360
+ }
361
+ }, {
362
+ concurrency: 5,
363
+ });
364
+ progressBar.stop();
365
+ const t1 = new Date().getTime();
366
+ const totalTime = t1 - t0;
367
+ logger_1.logger.info(colors_1.default.green(`Synced "${dataSilos.length}" data silos and "${totalDataPoints}" datapoints in "${totalTime / 1000}" seconds!`));
368
+ return {
369
+ success: !encounteredError,
370
+ dataSiloTitleToId: (0, type_utils_1.apply)(existingDataSiloByTitle, ({ id }) => id),
371
+ };
372
+ }
373
+ exports.syncDataSilos = syncDataSilos;
374
+ /**
375
+ * Sync data silo dependencies
376
+ *
377
+ * @param client - GraphQL client
378
+ * @param dependencyUpdates - Mapping from [data silo ID, dependency titles]
379
+ * @returns True upon success
380
+ */
381
+ async function syncDataSiloDependencies(client, dependencyUpdates) {
382
+ let encounteredError = false;
383
+ logger_1.logger.info(colors_1.default.magenta(`Syncing "${dependencyUpdates.length}" data silo dependencies...`));
384
+ // Batch the updates
385
+ const chunkedUpdates = (0, chunk_1.default)(dependencyUpdates, BATCH_SILOS_LIMIT);
386
+ await (0, bluebird_1.mapSeries)(chunkedUpdates, async (dependencyUpdateChunk, ind) => {
387
+ logger_1.logger.info(colors_1.default.magenta(`[Batch ${ind}/${dependencyUpdateChunk.length}] Updating "${dependencyUpdateChunk.length}" data silos...`));
388
+ try {
389
+ await (0, makeGraphQLRequest_1.makeGraphQLRequest)(client, gqls_1.UPDATE_DATA_SILOS, {
390
+ input: {
391
+ dataSilos: dependencyUpdateChunk.map(([id, dependedOnDataSiloTitles]) => ({
392
+ id,
393
+ dependedOnDataSiloTitles,
321
394
  })),
322
- enabledActions: datapoint['privacy-actions'] || [],
323
- subDataPoints: fields,
324
- };
325
- await (0, makeGraphQLRequest_1.makeGraphQLRequest)(client, gqls_1.UPDATE_OR_CREATE_DATA_POINT, payload);
326
- logger_1.logger.info(colors_1.default.green(`Synced datapoint "${datapoint.key}"!`));
327
- }, {
328
- concurrency: 5,
329
- });
330
- }
331
- return existingDataSilo;
395
+ },
396
+ });
397
+ logger_1.logger.info(colors_1.default.green(`[Batch ${ind + 1}/${dependencyUpdateChunk.length}] ` +
398
+ `Synced "${dependencyUpdateChunk.length}" data silos!`));
399
+ }
400
+ catch (err) {
401
+ encounteredError = true;
402
+ logger_1.logger.info(colors_1.default.red(`[Batch ${ind + 1}/${dependencyUpdateChunk.length}] ` +
403
+ `Failed to update "${dependencyUpdateChunk.length}" silos! - ${err.message}`));
404
+ }
405
+ });
406
+ return !encounteredError;
332
407
  }
333
- exports.syncDataSilo = syncDataSilo;
408
+ exports.syncDataSiloDependencies = syncDataSiloDependencies;
334
409
  /* eslint-enable max-lines */
335
410
  //# sourceMappingURL=syncDataSilos.js.map