@transcend-io/cli 2.2.4 → 3.0.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 (129) hide show
  1. package/README.md +19 -2
  2. package/build/cli-discover-silos.d.ts +3 -0
  3. package/build/cli-discover-silos.d.ts.map +1 -0
  4. package/build/cli-discover-silos.js +54 -0
  5. package/build/cli-discover-silos.js.map +1 -0
  6. package/build/cli-pull.js +2 -2
  7. package/build/cli-pull.js.map +1 -1
  8. package/build/cli-push.js +2 -2
  9. package/build/cli-push.js.map +1 -1
  10. package/build/codecs.d.ts +265 -141
  11. package/build/codecs.d.ts.map +1 -1
  12. package/build/codecs.js +34 -18
  13. package/build/codecs.js.map +1 -1
  14. package/build/graphql/fetchActiveSiloDiscoPlugin.d.ts +29 -0
  15. package/build/graphql/fetchActiveSiloDiscoPlugin.d.ts.map +1 -0
  16. package/build/graphql/fetchActiveSiloDiscoPlugin.js +33 -0
  17. package/build/graphql/fetchActiveSiloDiscoPlugin.js.map +1 -0
  18. package/build/{fetchApiKeys.d.ts → graphql/fetchApiKeys.d.ts} +1 -1
  19. package/build/graphql/fetchApiKeys.d.ts.map +1 -0
  20. package/build/{fetchApiKeys.js → graphql/fetchApiKeys.js} +1 -1
  21. package/build/graphql/fetchApiKeys.js.map +1 -0
  22. package/build/{fetchDataSubjects.d.ts → graphql/fetchDataSubjects.d.ts} +1 -1
  23. package/build/graphql/fetchDataSubjects.d.ts.map +1 -0
  24. package/build/{fetchDataSubjects.js → graphql/fetchDataSubjects.js} +1 -1
  25. package/build/graphql/fetchDataSubjects.js.map +1 -0
  26. package/build/{fetchIdentifiers.d.ts → graphql/fetchIdentifiers.d.ts} +1 -1
  27. package/build/graphql/fetchIdentifiers.d.ts.map +1 -0
  28. package/build/{fetchIdentifiers.js → graphql/fetchIdentifiers.js} +1 -1
  29. package/build/graphql/fetchIdentifiers.js.map +1 -0
  30. package/build/graphql/gqls/apiKey.d.ts +2 -0
  31. package/build/graphql/gqls/apiKey.d.ts.map +1 -0
  32. package/build/graphql/gqls/apiKey.js +15 -0
  33. package/build/graphql/gqls/apiKey.js.map +1 -0
  34. package/build/graphql/gqls/dataPoint.d.ts +4 -0
  35. package/build/graphql/gqls/dataPoint.d.ts.map +1 -0
  36. package/build/graphql/gqls/dataPoint.js +95 -0
  37. package/build/graphql/gqls/dataPoint.js.map +1 -0
  38. package/build/graphql/gqls/dataSilo.d.ts +5 -0
  39. package/build/graphql/gqls/dataSilo.d.ts.map +1 -0
  40. package/build/graphql/gqls/dataSilo.js +125 -0
  41. package/build/graphql/gqls/dataSilo.js.map +1 -0
  42. package/build/graphql/gqls/dataSubject.d.ts +3 -0
  43. package/build/graphql/gqls/dataSubject.d.ts.map +1 -0
  44. package/build/graphql/gqls/dataSubject.js +23 -0
  45. package/build/graphql/gqls/dataSubject.js.map +1 -0
  46. package/build/graphql/gqls/enricher.d.ts +4 -0
  47. package/build/graphql/gqls/enricher.d.ts.map +1 -0
  48. package/build/graphql/gqls/enricher.js +73 -0
  49. package/build/graphql/gqls/enricher.js.map +1 -0
  50. package/build/graphql/gqls/identifier.d.ts +4 -0
  51. package/build/graphql/gqls/identifier.d.ts.map +1 -0
  52. package/build/graphql/gqls/identifier.js +32 -0
  53. package/build/graphql/gqls/identifier.js.map +1 -0
  54. package/build/graphql/gqls/index.d.ts +8 -0
  55. package/build/graphql/gqls/index.d.ts.map +1 -0
  56. package/build/graphql/gqls/index.js +20 -0
  57. package/build/graphql/gqls/index.js.map +1 -0
  58. package/build/graphql/gqls/siloDiscovery.d.ts +3 -0
  59. package/build/graphql/gqls/siloDiscovery.d.ts.map +1 -0
  60. package/build/graphql/gqls/siloDiscovery.js +30 -0
  61. package/build/graphql/gqls/siloDiscovery.js.map +1 -0
  62. package/build/graphql/index.d.ts +10 -0
  63. package/build/graphql/index.d.ts.map +1 -0
  64. package/build/graphql/index.js +22 -0
  65. package/build/graphql/index.js.map +1 -0
  66. package/build/{pullTranscendConfiguration.d.ts → graphql/pullTranscendConfiguration.d.ts} +1 -1
  67. package/build/graphql/pullTranscendConfiguration.d.ts.map +1 -0
  68. package/build/{pullTranscendConfiguration.js → graphql/pullTranscendConfiguration.js} +10 -2
  69. package/build/graphql/pullTranscendConfiguration.js.map +1 -0
  70. package/build/{syncConfigurationToTranscend.d.ts → graphql/syncConfigurationToTranscend.d.ts} +1 -1
  71. package/build/graphql/syncConfigurationToTranscend.d.ts.map +1 -0
  72. package/build/{syncConfigurationToTranscend.js → graphql/syncConfigurationToTranscend.js} +1 -1
  73. package/build/graphql/syncConfigurationToTranscend.js.map +1 -0
  74. package/build/{syncDataSilos.d.ts → graphql/syncDataSilos.d.ts} +26 -8
  75. package/build/graphql/syncDataSilos.d.ts.map +1 -0
  76. package/build/{syncDataSilos.js → graphql/syncDataSilos.js} +51 -6
  77. package/build/graphql/syncDataSilos.js.map +1 -0
  78. package/build/{syncEnrichers.d.ts → graphql/syncEnrichers.d.ts} +1 -1
  79. package/build/graphql/syncEnrichers.d.ts.map +1 -0
  80. package/build/{syncEnrichers.js → graphql/syncEnrichers.js} +0 -0
  81. package/build/graphql/syncEnrichers.js.map +1 -0
  82. package/build/graphql/uploadSiloDiscoveryResults.d.ts +11 -0
  83. package/build/graphql/uploadSiloDiscoveryResults.d.ts.map +1 -0
  84. package/build/graphql/uploadSiloDiscoveryResults.js +25 -0
  85. package/build/graphql/uploadSiloDiscoveryResults.js.map +1 -0
  86. package/build/index.d.ts +1 -1
  87. package/build/index.d.ts.map +1 -1
  88. package/build/index.js +1 -1
  89. package/build/index.js.map +1 -1
  90. package/build/plugins/constants.d.ts +9 -0
  91. package/build/plugins/constants.d.ts.map +1 -0
  92. package/build/plugins/constants.js +8 -0
  93. package/build/plugins/constants.js.map +1 -0
  94. package/build/plugins/index.d.ts +4 -0
  95. package/build/plugins/index.d.ts.map +1 -0
  96. package/build/plugins/index.js +16 -0
  97. package/build/plugins/index.js.map +1 -0
  98. package/build/plugins/scanPackageJson.d.ts +10 -0
  99. package/build/plugins/scanPackageJson.d.ts.map +1 -0
  100. package/build/plugins/scanPackageJson.js +51 -0
  101. package/build/plugins/scanPackageJson.js.map +1 -0
  102. package/build/plugins/typeguards.d.ts +9 -0
  103. package/build/plugins/typeguards.d.ts.map +1 -0
  104. package/build/plugins/typeguards.js +15 -0
  105. package/build/plugins/typeguards.js.map +1 -0
  106. package/build/plugins/types.d.ts +13 -0
  107. package/build/plugins/types.d.ts.map +1 -0
  108. package/build/plugins/types.js +3 -0
  109. package/build/plugins/types.js.map +1 -0
  110. package/build/tsbuildinfo +1 -1
  111. package/package.json +4 -2
  112. package/build/fetchApiKeys.d.ts.map +0 -1
  113. package/build/fetchApiKeys.js.map +0 -1
  114. package/build/fetchDataSubjects.d.ts.map +0 -1
  115. package/build/fetchDataSubjects.js.map +0 -1
  116. package/build/fetchIdentifiers.d.ts.map +0 -1
  117. package/build/fetchIdentifiers.js.map +0 -1
  118. package/build/gqls.d.ts +0 -16
  119. package/build/gqls.d.ts.map +0 -1
  120. package/build/gqls.js +0 -310
  121. package/build/gqls.js.map +0 -1
  122. package/build/pullTranscendConfiguration.d.ts.map +0 -1
  123. package/build/pullTranscendConfiguration.js.map +0 -1
  124. package/build/syncConfigurationToTranscend.d.ts.map +0 -1
  125. package/build/syncConfigurationToTranscend.js.map +0 -1
  126. package/build/syncDataSilos.d.ts.map +0 -1
  127. package/build/syncDataSilos.js.map +0 -1
  128. package/build/syncEnrichers.d.ts.map +0 -1
  129. package/build/syncEnrichers.js.map +0 -1
package/README.md CHANGED
@@ -12,6 +12,7 @@
12
12
  - [tr-push](#tr-push)
13
13
  - [CI Integration](#ci-integration)
14
14
  - [Dynamic Variables](#dynamic-variables)
15
+ - [tr-scan](#tr-scan)
15
16
 
16
17
  <!-- END doctoc generated TOC please keep comment here to allow auto update -->
17
18
 
@@ -32,6 +33,7 @@ yarn add -D @transcend-io/cli
32
33
  # cli commands available within package
33
34
  yarn tr-pull --auth=xxx
34
35
  yarn tr-push --auth=xxx
36
+ yarn tr-scan --auth=xxx
35
37
  ```
36
38
 
37
39
  or
@@ -43,6 +45,7 @@ npm i -D @transcend-io/cli
43
45
  # cli commands available within package
44
46
  tr-pull --auth=xxx
45
47
  tr-push --auth=xxx
48
+ tr-scan --auth=xxx
46
49
  ```
47
50
 
48
51
  alternatively, you can install the cli globally on your machine:
@@ -54,6 +57,7 @@ npm i -g @transcend-io/cli
54
57
  # cli commands available everywhere on machine
55
58
  tr-pull --auth=xxx
56
59
  tr-push --auth=xxx
60
+ tr-scan --auth=xxx
57
61
  ```
58
62
 
59
63
  ## Authentication
@@ -148,8 +152,6 @@ data-silos:
148
152
  - title: User Model
149
153
  description: The centralized user model user
150
154
  key: users
151
- purpose: ESSENTIAL
152
- category: USER_PROFILE
153
155
  privacy-actions:
154
156
  - ACCESS
155
157
  fields:
@@ -299,3 +301,18 @@ data-silos:
299
301
  url: https://example.<<parameters.domain>>/transcend-webhook
300
302
  api-key-title: Webhook Key
301
303
  ```
304
+
305
+ ### tr-scan
306
+
307
+ Transcend can help scan dependency management files to help detect new data silos where you may be storing user personal data. Currently we support scanning for new data silos in package.json, but soon we will be adding more!
308
+
309
+ To get started, you'll need to add a data silo with "silo discovery" plugin enabled. You can do this in the Transcend admin-dashboard (or via this CLI tooling).
310
+
311
+ Then, you'll need to grab that `dataSiloId` and pass it to the CLI:
312
+
313
+ ```sh
314
+ # Scan a javascript project (package.json files) to look for new data silos
315
+ yarn tr-scan --scanPath=./myJavascriptProject --auth=asd123 --dataSiloId=abcdefg
316
+ ```
317
+
318
+ This call will look for all the package.json files that in the scan path `./myJavascriptProject`, parse each of the dependencies into their individual package names, and send it to our Transcend backend for classification. These classifications can then be viewed [here](https://app.transcend.io/data-map/data-inventory/silo-discovery/triage).
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=cli-discover-silos.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-discover-silos.d.ts","sourceRoot":"","sources":["../src/cli-discover-silos.ts"],"names":[],"mappings":""}
@@ -0,0 +1,54 @@
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 logger_1 = require("./logger");
9
+ const colors_1 = __importDefault(require("colors"));
10
+ const constants_1 = require("./constants");
11
+ const graphql_request_1 = require("graphql-request");
12
+ const plugins_1 = require("./plugins");
13
+ const graphql_1 = require("./graphql");
14
+ /**
15
+ * Scan dependency files for new data silos.
16
+ *
17
+ * Dev Usage:
18
+ * yarn ts-node ./src/cli-discover-silos.ts --scanPath=./myJavascriptProject \
19
+ * --auth=asd123 \
20
+ * --ignoreDirs=build_directories_to_ignore \
21
+ * --dataSiloId=abcdefgh
22
+ *
23
+ * Note: the data silo ID has to belong to a data silo that has an active plugin of type SILO_DISCOVERY
24
+ *
25
+ * Standard usage
26
+ * yarn tr-scan --scanPath=./myJavascriptProject --auth=asd123
27
+ */
28
+ async function main() {
29
+ // Parse command line arguments
30
+ const { scanPath = '.', ignoreDirs = '', transcendUrl = 'https://api.transcend.io', dataSiloId = '', auth, } = (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
+ // Create a GraphQL client
37
+ // eslint-disable-next-line global-require
38
+ const { version } = require('../package.json');
39
+ const client = new graphql_request_1.GraphQLClient(`${transcendUrl}/graphql`, {
40
+ headers: {
41
+ Authorization: `Bearer ${auth}`,
42
+ version,
43
+ },
44
+ });
45
+ const plugin = await (0, graphql_1.fetchActiveSiloDiscoPlugin)(client, dataSiloId);
46
+ const scanFunction = plugins_1.SILO_DISCOVERY_FUNCTIONS[plugin.dataSilo.type];
47
+ const results = await scanFunction(scanPath, ignoreDirs);
48
+ await (0, graphql_1.uploadSiloDiscoveryResults)(client, plugin.id, results);
49
+ // Indicate success
50
+ logger_1.logger.info(colors_1.default.green(`Scan found ${results.length} potential data silos at ${scanPath}! ` +
51
+ `View at ${constants_1.ADMIN_DASH}/data-map/data-inventory/silo-discovery/triage`));
52
+ }
53
+ main();
54
+ //# sourceMappingURL=cli-discover-silos.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-discover-silos.js","sourceRoot":"","sources":["../src/cli-discover-silos.ts"],"names":[],"mappings":";;;;;;AAEA,gEAAiC;AACjC,qCAAkC;AAClC,oDAA4B;AAC5B,2CAAyC;AACzC,qDAAgD;AAChD,uCAAqD;AACrD,uCAGmB;AAEnB;;;;;;;;;;;;;GAaG;AACH,KAAK,UAAU,IAAI;IACjB,+BAA+B;IAC/B,MAAM,EACJ,QAAQ,GAAG,GAAG,EACd,UAAU,GAAG,EAAE,EACf,YAAY,GAAG,0BAA0B,EACzC,UAAU,GAAG,EAAE,EACf,IAAI,GACL,GAAG,IAAA,sBAAK,EAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAEjC,2BAA2B;IAC3B,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,0BAA0B;IAC1B,0CAA0C;IAC1C,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,IAAI,+BAAa,CAAC,GAAG,YAAY,UAAU,EAAE;QAC1D,OAAO,EAAE;YACP,aAAa,EAAE,UAAU,IAAI,EAAE;YAC/B,OAAO;SACR;KACF,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,MAAM,IAAA,oCAA0B,EAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACpE,MAAM,YAAY,GAAG,kCAAwB,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACpE,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAEzD,MAAM,IAAA,oCAA0B,EAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IAE7D,mBAAmB;IACnB,eAAM,CAAC,IAAI,CACT,gBAAM,CAAC,KAAK,CACV,cAAc,OAAO,CAAC,MAAM,4BAA4B,QAAQ,IAAI;QAClE,WAAW,sBAAU,gDAAgD,CACxE,CACF,CAAC;AACJ,CAAC;AAED,IAAI,EAAE,CAAC"}
package/build/cli-pull.js CHANGED
@@ -7,7 +7,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
7
7
  const yargs_parser_1 = __importDefault(require("yargs-parser"));
8
8
  const logger_1 = require("./logger");
9
9
  const colors_1 = __importDefault(require("colors"));
10
- const pullTranscendConfiguration_1 = require("./pullTranscendConfiguration");
10
+ const graphql_1 = require("./graphql");
11
11
  const graphql_request_1 = require("graphql-request");
12
12
  const readTranscendYaml_1 = require("./readTranscendYaml");
13
13
  const constants_1 = require("./constants");
@@ -39,7 +39,7 @@ async function main() {
39
39
  });
40
40
  // Sync to Disk
41
41
  try {
42
- const configuration = await (0, pullTranscendConfiguration_1.pullTranscendConfiguration)(client, dataSiloIds.split(',').filter((x) => !!x));
42
+ const configuration = await (0, graphql_1.pullTranscendConfiguration)(client, dataSiloIds.split(',').filter((x) => !!x));
43
43
  (0, readTranscendYaml_1.writeTranscendYaml)(file, configuration);
44
44
  }
45
45
  catch (err) {
@@ -1 +1 @@
1
- {"version":3,"file":"cli-pull.js","sourceRoot":"","sources":["../src/cli-pull.ts"],"names":[],"mappings":";;;;;;AAEA,gEAAiC;AACjC,qCAAkC;AAClC,oDAA4B;AAC5B,6EAA0E;AAC1E,qDAAgD;AAChD,2DAAyD;AACzD,2CAAyC;AAEzC;;;;;;;;GAQG;AACH,KAAK,UAAU,IAAI;IACjB,+BAA+B;IAC/B,MAAM,EACJ,IAAI,GAAG,iBAAiB,EACxB,YAAY,GAAG,0BAA0B,EACzC,WAAW,GAAG,EAAE,EAChB,IAAI,GACL,GAAG,IAAA,sBAAK,EAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAEjC,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,0BAA0B;IAC1B,0CAA0C;IAC1C,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,IAAI,+BAAa,CAAC,GAAG,YAAY,UAAU,EAAE;QAC1D,OAAO,EAAE;YACP,aAAa,EAAE,UAAU,IAAI,EAAE;YAC/B,OAAO;SACR;KACF,CAAC,CAAC;IAEH,eAAe;IACf,IAAI;QACF,MAAM,aAAa,GAAG,MAAM,IAAA,uDAA0B,EACpD,MAAM,EACL,WAAsB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CACtD,CAAC;QACF,IAAA,sCAAkB,EAAC,IAAI,EAAE,aAAa,CAAC,CAAC;KACzC;IAAC,OAAO,GAAG,EAAE;QACZ,eAAM,CAAC,KAAK,CACV,gBAAM,CAAC,GAAG,CAAC,yCAAyC,GAAG,CAAC,OAAO,EAAE,CAAC,CACnE,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACjB;IAED,mBAAmB;IACnB,eAAM,CAAC,IAAI,CACT,gBAAM,CAAC,KAAK,CACV,4CAA4C,IAAI,aAAa,sBAAU,EAAE,CAC1E,CACF,CAAC;AACJ,CAAC;AAED,IAAI,EAAE,CAAC"}
1
+ {"version":3,"file":"cli-pull.js","sourceRoot":"","sources":["../src/cli-pull.ts"],"names":[],"mappings":";;;;;;AAEA,gEAAiC;AACjC,qCAAkC;AAClC,oDAA4B;AAC5B,uCAAuD;AACvD,qDAAgD;AAChD,2DAAyD;AACzD,2CAAyC;AAEzC;;;;;;;;GAQG;AACH,KAAK,UAAU,IAAI;IACjB,+BAA+B;IAC/B,MAAM,EACJ,IAAI,GAAG,iBAAiB,EACxB,YAAY,GAAG,0BAA0B,EACzC,WAAW,GAAG,EAAE,EAChB,IAAI,GACL,GAAG,IAAA,sBAAK,EAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAEjC,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,0BAA0B;IAC1B,0CAA0C;IAC1C,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,IAAI,+BAAa,CAAC,GAAG,YAAY,UAAU,EAAE;QAC1D,OAAO,EAAE;YACP,aAAa,EAAE,UAAU,IAAI,EAAE;YAC/B,OAAO;SACR;KACF,CAAC,CAAC;IAEH,eAAe;IACf,IAAI;QACF,MAAM,aAAa,GAAG,MAAM,IAAA,oCAA0B,EACpD,MAAM,EACL,WAAsB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CACtD,CAAC;QACF,IAAA,sCAAkB,EAAC,IAAI,EAAE,aAAa,CAAC,CAAC;KACzC;IAAC,OAAO,GAAG,EAAE;QACZ,eAAM,CAAC,KAAK,CACV,gBAAM,CAAC,GAAG,CAAC,yCAAyC,GAAG,CAAC,OAAO,EAAE,CAAC,CACnE,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACjB;IAED,mBAAmB;IACnB,eAAM,CAAC,IAAI,CACT,gBAAM,CAAC,KAAK,CACV,4CAA4C,IAAI,aAAa,sBAAU,EAAE,CAC1E,CACF,CAAC;AACJ,CAAC;AAED,IAAI,EAAE,CAAC"}
package/build/cli-push.js CHANGED
@@ -9,7 +9,7 @@ const logger_1 = require("./logger");
9
9
  const fs_1 = require("fs");
10
10
  const readTranscendYaml_1 = require("./readTranscendYaml");
11
11
  const colors_1 = __importDefault(require("colors"));
12
- const syncConfigurationToTranscend_1 = require("./syncConfigurationToTranscend");
12
+ const graphql_1 = require("./graphql");
13
13
  const graphql_request_1 = require("graphql-request");
14
14
  const constants_1 = require("./constants");
15
15
  /**
@@ -65,7 +65,7 @@ async function main() {
65
65
  });
66
66
  // Sync to Transcend
67
67
  try {
68
- const encounteredError = await (0, syncConfigurationToTranscend_1.syncConfigurationToTranscend)(contents, client);
68
+ const encounteredError = await (0, graphql_1.syncConfigurationToTranscend)(contents, client);
69
69
  if (encounteredError) {
70
70
  logger_1.logger.info(colors_1.default.red(`Sync encountered errors. View output above for more information, or check out ${constants_1.ADMIN_DASH}`));
71
71
  process.exit(1);
@@ -1 +1 @@
1
- {"version":3,"file":"cli-push.js","sourceRoot":"","sources":["../src/cli-push.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli-push.js","sourceRoot":"","sources":["../src/cli-push.ts"],"names":[],"mappings":"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"}
package/build/codecs.d.ts CHANGED
@@ -55,48 +55,15 @@ export declare const EnricherInput: t.IntersectionC<[t.TypeC<{
55
55
  ACCOUNT_DELETION: unknown;
56
56
  RECTIFICATION: unknown;
57
57
  RESTRICTION: unknown;
58
- DATA_CHECK: unknown;
59
58
  }>>;
60
59
  }>]>;
61
60
  /** Type override */
62
61
  export declare type EnricherInput = t.TypeOf<typeof EnricherInput>;
63
62
  /**
64
- * Annotate specific fields within a datapoint. These are often database table columns.
65
- * Fields can also be a JSON object or separate file.
63
+ * The data category for a field
66
64
  */
67
- export declare const FieldInput: t.IntersectionC<[t.TypeC<{
68
- /** The unique key of the field */
69
- key: t.StringC;
70
- }>, t.PartialC<{
71
- /** Display title of the field */
72
- title: t.StringC;
73
- /** The unique key of the datapoint. When a database, this is the table name. */
74
- key: t.StringC;
75
- /** Description of the field */
76
- description: t.StringC;
77
- }>]>;
78
- /** Type override */
79
- export declare type FieldInput = t.TypeOf<typeof FieldInput>;
80
- /**
81
- * Datapoints are the different types of data models that existing within your data silo.
82
- * If the data silo is a database, these would be your tables.
83
- * Note: These are currently called "datapoints" in the Transcend UI and documentation.
84
- *
85
- * @see https://docs.transcend.io/docs/the-data-map#datapoints
86
- */
87
- export declare const DatapointInput: t.IntersectionC<[t.TypeC<{
88
- /** The display title of the enricher */
89
- title: t.StringC;
90
- /** The unique key of the datapoint. When a database, this is the table name. */
91
- key: t.StringC;
92
- }>, t.PartialC<{
93
- /** Internal description for why the enricher is needed */
94
- description: t.StringC;
95
- /**
96
- * What is the purpose of processing for this datapoint/table?
97
- *
98
- * @see https://github.com/transcend-io/privacy-types/blob/main/src/objects.ts
99
- */
65
+ export declare const ProcessingPurposeInput: t.TypeC<{
66
+ /** The parent purpose */
100
67
  purpose: t.KeyofC<{
101
68
  ESSENTIAL: unknown;
102
69
  ADDITIONAL_FUNCTIONALITY: unknown;
@@ -112,11 +79,16 @@ export declare const DatapointInput: t.IntersectionC<[t.TypeC<{
112
79
  OTHER: unknown;
113
80
  UNSPECIFIED: unknown;
114
81
  }>;
115
- /**
116
- * The category of personal data for this datapoint
117
- *
118
- * @see https://github.com/transcend-io/privacy-types/blob/main/src/objects.ts
119
- */
82
+ /** User-defined name for this processing purpose sub category */
83
+ name: t.StringC;
84
+ }>;
85
+ /** Type override */
86
+ export declare type ProcessingPurposeInput = t.TypeOf<typeof ProcessingPurposeInput>;
87
+ /**
88
+ * The data category for a field
89
+ */
90
+ export declare const DataCategoryInput: t.TypeC<{
91
+ /** The parent category */
120
92
  category: t.KeyofC<{
121
93
  OTHER: unknown;
122
94
  UNSPECIFIED: unknown;
@@ -134,6 +106,93 @@ export declare const DatapointInput: t.IntersectionC<[t.TypeC<{
134
106
  DEVICE: unknown;
135
107
  SURVEY: unknown;
136
108
  }>;
109
+ /** User-defined name for this sub category */
110
+ name: t.StringC;
111
+ }>;
112
+ /** Type override */
113
+ export declare type DataCategoryInput = t.TypeOf<typeof DataCategoryInput>;
114
+ /**
115
+ * Annotate specific fields within a datapoint. These are often database table columns.
116
+ * Fields can also be a JSON object or separate file.
117
+ */
118
+ export declare const FieldInput: t.IntersectionC<[t.TypeC<{
119
+ /** The unique key of the field. When a database, this is the column name. */
120
+ key: t.StringC;
121
+ }>, t.PartialC<{
122
+ /** The display title of the field */
123
+ title: t.StringC;
124
+ /** Description of the field */
125
+ description: t.UnionC<[t.StringC, t.NullC]>;
126
+ /**
127
+ * What is the purpose of processing for this datapoint/table?
128
+ *
129
+ * @see https://github.com/transcend-io/privacy-types/blob/main/src/objects.ts
130
+ */
131
+ purposes: t.ArrayC<t.TypeC<{
132
+ /** The parent purpose */
133
+ purpose: t.KeyofC<{
134
+ ESSENTIAL: unknown;
135
+ ADDITIONAL_FUNCTIONALITY: unknown;
136
+ ADVERTISING: unknown;
137
+ MARKETING: unknown;
138
+ ANALYTICS: unknown;
139
+ PERSONALIZATION: unknown;
140
+ OPERATION_SECURITY: unknown;
141
+ LEGAL: unknown;
142
+ TRANSFER: unknown;
143
+ SALE: unknown;
144
+ HR: unknown;
145
+ OTHER: unknown;
146
+ UNSPECIFIED: unknown;
147
+ }>;
148
+ /** User-defined name for this processing purpose sub category */
149
+ name: t.StringC;
150
+ }>>;
151
+ /**
152
+ * The category of personal data for this datapoint
153
+ *
154
+ * @see https://github.com/transcend-io/privacy-types/blob/main/src/objects.ts
155
+ */
156
+ categories: t.ArrayC<t.TypeC<{
157
+ /** The parent category */
158
+ category: t.KeyofC<{
159
+ OTHER: unknown;
160
+ UNSPECIFIED: unknown;
161
+ FINANCIAL: unknown;
162
+ HEALTH: unknown;
163
+ CONTACT: unknown;
164
+ LOCATION: unknown;
165
+ DEMOGRAPHIC: unknown;
166
+ ID: unknown;
167
+ ONLINE_ACTIVITY: unknown;
168
+ USER_PROFILE: unknown;
169
+ SOCIAL_MEDIA: unknown;
170
+ CONNECTION: unknown;
171
+ TRACKING: unknown;
172
+ DEVICE: unknown;
173
+ SURVEY: unknown;
174
+ }>;
175
+ /** User-defined name for this sub category */
176
+ name: t.StringC;
177
+ }>>;
178
+ }>]>;
179
+ /** Type override */
180
+ export declare type FieldInput = t.TypeOf<typeof FieldInput>;
181
+ /**
182
+ * Datapoints are the different types of data models that existing within your data silo.
183
+ * If the data silo is a database, these would be your tables.
184
+ * Note: These are currently called "datapoints" in the Transcend UI and documentation.
185
+ *
186
+ * @see https://docs.transcend.io/docs/the-data-map#datapoints
187
+ */
188
+ export declare const DatapointInput: t.IntersectionC<[t.TypeC<{
189
+ /** The display title of the enricher */
190
+ title: t.StringC;
191
+ /** The unique key of the datapoint. When a database, this is the table name. */
192
+ key: t.StringC;
193
+ }>, t.PartialC<{
194
+ /** Internal description for why the enricher is needed */
195
+ description: t.StringC;
137
196
  /**
138
197
  * The SQL queries that should be run for that datapoint in a privacy request.
139
198
  *
@@ -171,15 +230,65 @@ export declare const DatapointInput: t.IntersectionC<[t.TypeC<{
171
230
  * This is often the column metadata
172
231
  */
173
232
  fields: t.ArrayC<t.IntersectionC<[t.TypeC<{
174
- /** The unique key of the field */
233
+ /** The unique key of the field. When a database, this is the column name. */
175
234
  key: t.StringC;
176
235
  }>, t.PartialC<{
177
- /** Display title of the field */
236
+ /** The display title of the field */
178
237
  title: t.StringC;
179
- /** The unique key of the datapoint. When a database, this is the table name. */
180
- key: t.StringC;
181
238
  /** Description of the field */
182
- description: t.StringC;
239
+ description: t.UnionC<[t.StringC, t.NullC]>;
240
+ /**
241
+ * What is the purpose of processing for this datapoint/table?
242
+ *
243
+ * @see https://github.com/transcend-io/privacy-types/blob/main/src/objects.ts
244
+ */
245
+ purposes: t.ArrayC<t.TypeC<{
246
+ /** The parent purpose */
247
+ purpose: t.KeyofC<{
248
+ ESSENTIAL: unknown;
249
+ ADDITIONAL_FUNCTIONALITY: unknown;
250
+ ADVERTISING: unknown;
251
+ MARKETING: unknown;
252
+ ANALYTICS: unknown;
253
+ PERSONALIZATION: unknown;
254
+ OPERATION_SECURITY: unknown;
255
+ LEGAL: unknown;
256
+ TRANSFER: unknown;
257
+ SALE: unknown;
258
+ HR: unknown;
259
+ OTHER: unknown;
260
+ UNSPECIFIED: unknown;
261
+ }>;
262
+ /** User-defined name for this processing purpose sub category */
263
+ name: t.StringC;
264
+ }>>;
265
+ /**
266
+ * The category of personal data for this datapoint
267
+ *
268
+ * @see https://github.com/transcend-io/privacy-types/blob/main/src/objects.ts
269
+ */
270
+ categories: t.ArrayC<t.TypeC<{
271
+ /** The parent category */
272
+ category: t.KeyofC<{
273
+ OTHER: unknown;
274
+ UNSPECIFIED: unknown;
275
+ FINANCIAL: unknown;
276
+ HEALTH: unknown;
277
+ CONTACT: unknown;
278
+ LOCATION: unknown;
279
+ DEMOGRAPHIC: unknown;
280
+ ID: unknown;
281
+ ONLINE_ACTIVITY: unknown;
282
+ USER_PROFILE: unknown;
283
+ SOCIAL_MEDIA: unknown;
284
+ CONNECTION: unknown;
285
+ TRACKING: unknown;
286
+ DEVICE: unknown;
287
+ SURVEY: unknown;
288
+ }>;
289
+ /** User-defined name for this sub category */
290
+ name: t.StringC;
291
+ }>>;
183
292
  }>]>>;
184
293
  }>]>;
185
294
  /** Type override */
@@ -248,48 +357,6 @@ export declare const DataSiloInput: t.IntersectionC<[t.TypeC<{
248
357
  }>, t.PartialC<{
249
358
  /** Internal description for why the enricher is needed */
250
359
  description: t.StringC;
251
- /**
252
- * What is the purpose of processing for this datapoint/table?
253
- *
254
- * @see https://github.com/transcend-io/privacy-types/blob/main/src/objects.ts
255
- */
256
- purpose: t.KeyofC<{
257
- ESSENTIAL: unknown;
258
- ADDITIONAL_FUNCTIONALITY: unknown;
259
- ADVERTISING: unknown;
260
- MARKETING: unknown;
261
- ANALYTICS: unknown;
262
- PERSONALIZATION: unknown;
263
- OPERATION_SECURITY: unknown;
264
- LEGAL: unknown;
265
- TRANSFER: unknown;
266
- SALE: unknown;
267
- HR: unknown;
268
- OTHER: unknown;
269
- UNSPECIFIED: unknown;
270
- }>;
271
- /**
272
- * The category of personal data for this datapoint
273
- *
274
- * @see https://github.com/transcend-io/privacy-types/blob/main/src/objects.ts
275
- */
276
- category: t.KeyofC<{
277
- OTHER: unknown;
278
- UNSPECIFIED: unknown;
279
- FINANCIAL: unknown;
280
- HEALTH: unknown;
281
- CONTACT: unknown;
282
- LOCATION: unknown;
283
- DEMOGRAPHIC: unknown;
284
- ID: unknown;
285
- ONLINE_ACTIVITY: unknown;
286
- USER_PROFILE: unknown;
287
- SOCIAL_MEDIA: unknown;
288
- CONNECTION: unknown;
289
- TRACKING: unknown;
290
- DEVICE: unknown;
291
- SURVEY: unknown;
292
- }>;
293
360
  /**
294
361
  * The SQL queries that should be run for that datapoint in a privacy request.
295
362
  *
@@ -327,15 +394,65 @@ export declare const DataSiloInput: t.IntersectionC<[t.TypeC<{
327
394
  * This is often the column metadata
328
395
  */
329
396
  fields: t.ArrayC<t.IntersectionC<[t.TypeC<{
330
- /** The unique key of the field */
397
+ /** The unique key of the field. When a database, this is the column name. */
331
398
  key: t.StringC;
332
399
  }>, t.PartialC<{
333
- /** Display title of the field */
400
+ /** The display title of the field */
334
401
  title: t.StringC;
335
- /** The unique key of the datapoint. When a database, this is the table name. */
336
- key: t.StringC;
337
402
  /** Description of the field */
338
- description: t.StringC;
403
+ description: t.UnionC<[t.StringC, t.NullC]>;
404
+ /**
405
+ * What is the purpose of processing for this datapoint/table?
406
+ *
407
+ * @see https://github.com/transcend-io/privacy-types/blob/main/src/objects.ts
408
+ */
409
+ purposes: t.ArrayC<t.TypeC<{
410
+ /** The parent purpose */
411
+ purpose: t.KeyofC<{
412
+ ESSENTIAL: unknown;
413
+ ADDITIONAL_FUNCTIONALITY: unknown;
414
+ ADVERTISING: unknown;
415
+ MARKETING: unknown;
416
+ ANALYTICS: unknown;
417
+ PERSONALIZATION: unknown;
418
+ OPERATION_SECURITY: unknown;
419
+ LEGAL: unknown;
420
+ TRANSFER: unknown;
421
+ SALE: unknown;
422
+ HR: unknown;
423
+ OTHER: unknown;
424
+ UNSPECIFIED: unknown;
425
+ }>;
426
+ /** User-defined name for this processing purpose sub category */
427
+ name: t.StringC;
428
+ }>>;
429
+ /**
430
+ * The category of personal data for this datapoint
431
+ *
432
+ * @see https://github.com/transcend-io/privacy-types/blob/main/src/objects.ts
433
+ */
434
+ categories: t.ArrayC<t.TypeC<{
435
+ /** The parent category */
436
+ category: t.KeyofC<{
437
+ OTHER: unknown;
438
+ UNSPECIFIED: unknown;
439
+ FINANCIAL: unknown;
440
+ HEALTH: unknown;
441
+ CONTACT: unknown;
442
+ LOCATION: unknown;
443
+ DEMOGRAPHIC: unknown;
444
+ ID: unknown;
445
+ ONLINE_ACTIVITY: unknown;
446
+ USER_PROFILE: unknown;
447
+ SOCIAL_MEDIA: unknown;
448
+ CONNECTION: unknown;
449
+ TRACKING: unknown;
450
+ DEVICE: unknown;
451
+ SURVEY: unknown;
452
+ }>;
453
+ /** User-defined name for this sub category */
454
+ name: t.StringC;
455
+ }>>;
339
456
  }>]>>;
340
457
  }>]>>;
341
458
  }>]>;
@@ -382,7 +499,6 @@ export declare const TranscendInput: t.PartialC<{
382
499
  ACCOUNT_DELETION: unknown;
383
500
  RECTIFICATION: unknown;
384
501
  RESTRICTION: unknown;
385
- DATA_CHECK: unknown;
386
502
  }>>;
387
503
  }>]>>;
388
504
  /**
@@ -444,48 +560,6 @@ export declare const TranscendInput: t.PartialC<{
444
560
  }>, t.PartialC<{
445
561
  /** Internal description for why the enricher is needed */
446
562
  description: t.StringC;
447
- /**
448
- * What is the purpose of processing for this datapoint/table?
449
- *
450
- * @see https://github.com/transcend-io/privacy-types/blob/main/src/objects.ts
451
- */
452
- purpose: t.KeyofC<{
453
- ESSENTIAL: unknown;
454
- ADDITIONAL_FUNCTIONALITY: unknown;
455
- ADVERTISING: unknown;
456
- MARKETING: unknown;
457
- ANALYTICS: unknown;
458
- PERSONALIZATION: unknown;
459
- OPERATION_SECURITY: unknown;
460
- LEGAL: unknown;
461
- TRANSFER: unknown;
462
- SALE: unknown;
463
- HR: unknown;
464
- OTHER: unknown;
465
- UNSPECIFIED: unknown;
466
- }>;
467
- /**
468
- * The category of personal data for this datapoint
469
- *
470
- * @see https://github.com/transcend-io/privacy-types/blob/main/src/objects.ts
471
- */
472
- category: t.KeyofC<{
473
- OTHER: unknown;
474
- UNSPECIFIED: unknown;
475
- FINANCIAL: unknown;
476
- HEALTH: unknown;
477
- CONTACT: unknown;
478
- LOCATION: unknown;
479
- DEMOGRAPHIC: unknown;
480
- ID: unknown;
481
- ONLINE_ACTIVITY: unknown;
482
- USER_PROFILE: unknown;
483
- SOCIAL_MEDIA: unknown;
484
- CONNECTION: unknown;
485
- TRACKING: unknown;
486
- DEVICE: unknown;
487
- SURVEY: unknown;
488
- }>;
489
563
  /**
490
564
  * The SQL queries that should be run for that datapoint in a privacy request.
491
565
  *
@@ -523,15 +597,65 @@ export declare const TranscendInput: t.PartialC<{
523
597
  * This is often the column metadata
524
598
  */
525
599
  fields: t.ArrayC<t.IntersectionC<[t.TypeC<{
526
- /** The unique key of the field */
600
+ /** The unique key of the field. When a database, this is the column name. */
527
601
  key: t.StringC;
528
602
  }>, t.PartialC<{
529
- /** Display title of the field */
603
+ /** The display title of the field */
530
604
  title: t.StringC;
531
- /** The unique key of the datapoint. When a database, this is the table name. */
532
- key: t.StringC;
533
605
  /** Description of the field */
534
- description: t.StringC;
606
+ description: t.UnionC<[t.StringC, t.NullC]>;
607
+ /**
608
+ * What is the purpose of processing for this datapoint/table?
609
+ *
610
+ * @see https://github.com/transcend-io/privacy-types/blob/main/src/objects.ts
611
+ */
612
+ purposes: t.ArrayC<t.TypeC<{
613
+ /** The parent purpose */
614
+ purpose: t.KeyofC<{
615
+ ESSENTIAL: unknown;
616
+ ADDITIONAL_FUNCTIONALITY: unknown;
617
+ ADVERTISING: unknown;
618
+ MARKETING: unknown;
619
+ ANALYTICS: unknown;
620
+ PERSONALIZATION: unknown;
621
+ OPERATION_SECURITY: unknown;
622
+ LEGAL: unknown;
623
+ TRANSFER: unknown;
624
+ SALE: unknown;
625
+ HR: unknown;
626
+ OTHER: unknown;
627
+ UNSPECIFIED: unknown;
628
+ }>;
629
+ /** User-defined name for this processing purpose sub category */
630
+ name: t.StringC;
631
+ }>>;
632
+ /**
633
+ * The category of personal data for this datapoint
634
+ *
635
+ * @see https://github.com/transcend-io/privacy-types/blob/main/src/objects.ts
636
+ */
637
+ categories: t.ArrayC<t.TypeC<{
638
+ /** The parent category */
639
+ category: t.KeyofC<{
640
+ OTHER: unknown;
641
+ UNSPECIFIED: unknown;
642
+ FINANCIAL: unknown;
643
+ HEALTH: unknown;
644
+ CONTACT: unknown;
645
+ LOCATION: unknown;
646
+ DEMOGRAPHIC: unknown;
647
+ ID: unknown;
648
+ ONLINE_ACTIVITY: unknown;
649
+ USER_PROFILE: unknown;
650
+ SOCIAL_MEDIA: unknown;
651
+ CONNECTION: unknown;
652
+ TRACKING: unknown;
653
+ DEVICE: unknown;
654
+ SURVEY: unknown;
655
+ }>;
656
+ /** User-defined name for this sub category */
657
+ name: t.StringC;
658
+ }>>;
535
659
  }>]>>;
536
660
  }>]>>;
537
661
  }>]>>;