@transcend-io/cli 6.22.1 → 6.24.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/README.md +54 -17
  2. package/build/cli-skip-preflight-jobs.d.ts +3 -0
  3. package/build/cli-skip-preflight-jobs.d.ts.map +1 -0
  4. package/build/cli-skip-preflight-jobs.js +53 -0
  5. package/build/cli-skip-preflight-jobs.js.map +1 -0
  6. package/build/codecs.d.ts +8 -0
  7. package/build/codecs.d.ts.map +1 -1
  8. package/build/codecs.js +4 -0
  9. package/build/codecs.js.map +1 -1
  10. package/build/graphql/gqls/RequestEnricher.d.ts +1 -0
  11. package/build/graphql/gqls/RequestEnricher.d.ts.map +1 -1
  12. package/build/graphql/gqls/RequestEnricher.js +10 -1
  13. package/build/graphql/gqls/RequestEnricher.js.map +1 -1
  14. package/build/graphql/gqls/dataSilo.d.ts.map +1 -1
  15. package/build/graphql/gqls/dataSilo.js +6 -0
  16. package/build/graphql/gqls/dataSilo.js.map +1 -1
  17. package/build/graphql/pullTranscendConfiguration.d.ts.map +1 -1
  18. package/build/graphql/pullTranscendConfiguration.js +9 -1
  19. package/build/graphql/pullTranscendConfiguration.js.map +1 -1
  20. package/build/graphql/syncDataSilos.d.ts +14 -0
  21. package/build/graphql/syncDataSilos.d.ts.map +1 -1
  22. package/build/graphql/syncDataSilos.js +1 -0
  23. package/build/graphql/syncDataSilos.js.map +1 -1
  24. package/build/requests/index.d.ts +1 -0
  25. package/build/requests/index.d.ts.map +1 -1
  26. package/build/requests/index.js +1 -0
  27. package/build/requests/index.js.map +1 -1
  28. package/build/requests/skipPreflightJobs.d.ts +20 -0
  29. package/build/requests/skipPreflightJobs.d.ts.map +1 -0
  30. package/build/requests/skipPreflightJobs.js +73 -0
  31. package/build/requests/skipPreflightJobs.js.map +1 -0
  32. package/build/tsbuildinfo +1 -1
  33. package/package.json +1 -1
@@ -0,0 +1,20 @@
1
+ import { RequestStatus } from '@transcend-io/privacy-types';
2
+ /**
3
+ * Given an enricher ID, mark all open request enrichers as skipped
4
+ *
5
+ * @param options - Options
6
+ * @returns Number of items skipped
7
+ */
8
+ export declare function skipPreflightJobs({ enricherIds, auth, concurrency, transcendUrl, }: {
9
+ /** Transcend API key authentication */
10
+ auth: string;
11
+ /** Enricher IDs to pull down jobs for */
12
+ enricherIds: string[];
13
+ /** Upload concurrency */
14
+ concurrency?: number;
15
+ /** API URL for Transcend backend */
16
+ transcendUrl?: string;
17
+ /** Request statuses to mark as completed */
18
+ requestStatuses?: RequestStatus[];
19
+ }): Promise<number>;
20
+ //# sourceMappingURL=skipPreflightJobs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skipPreflightJobs.d.ts","sourceRoot":"","sources":["../../src/requests/skipPreflightJobs.ts"],"names":[],"mappings":"AAWA,OAAO,EAEL,aAAa,EACd,MAAM,6BAA6B,CAAC;AAGrC;;;;;GAKG;AACH,wBAAsB,iBAAiB,CAAC,EACtC,WAAW,EACX,IAAI,EACJ,WAAiB,EACjB,YAAoC,GACrC,EAAE;IACD,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,yCAAyC;IACzC,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,yBAAyB;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oCAAoC;IACpC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,4CAA4C;IAC5C,eAAe,CAAC,EAAE,aAAa,EAAE,CAAC;CACnC,GAAG,OAAO,CAAC,MAAM,CAAC,CAuFlB"}
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.skipPreflightJobs = void 0;
7
+ const bluebird_1 = require("bluebird");
8
+ const colors_1 = __importDefault(require("colors"));
9
+ const logger_1 = require("../logger");
10
+ const graphql_1 = require("../graphql");
11
+ const cli_progress_1 = __importDefault(require("cli-progress"));
12
+ const privacy_types_1 = require("@transcend-io/privacy-types");
13
+ const constants_1 = require("../constants");
14
+ /**
15
+ * Given an enricher ID, mark all open request enrichers as skipped
16
+ *
17
+ * @param options - Options
18
+ * @returns Number of items skipped
19
+ */
20
+ async function skipPreflightJobs({ enricherIds, auth, concurrency = 100, transcendUrl = constants_1.DEFAULT_TRANSCEND_API, }) {
21
+ // Find all requests made before createdAt that are in a removing data state
22
+ const client = (0, graphql_1.buildTranscendGraphQLClient)(transcendUrl, auth);
23
+ // Time duration
24
+ const t0 = new Date().getTime();
25
+ // fetch all RequestDataSilos that are open
26
+ const requests = await (0, graphql_1.fetchAllRequests)(client, {
27
+ statuses: [privacy_types_1.RequestStatus.Enriching],
28
+ });
29
+ // Notify Transcend
30
+ logger_1.logger.info(colors_1.default.magenta(`Processing enricher: "${enricherIds.join(',')}" fetched "${requests.length}" in enriching status.`));
31
+ // create a new progress bar instance and use shades_classic theme
32
+ const progressBar = new cli_progress_1.default.SingleBar({}, cli_progress_1.default.Presets.shades_classic);
33
+ let total = 0;
34
+ progressBar.start(requests.length, 0);
35
+ let totalSkipped = 0;
36
+ await (0, bluebird_1.map)(requests, async (request) => {
37
+ // FIXME dont pull all in
38
+ const requestEnrichers = await (0, graphql_1.fetchAllRequestEnrichers)(client, {
39
+ requestId: request.id,
40
+ });
41
+ const requestEnrichersFiltered = requestEnrichers.filter((enricher) => enricherIds.includes(enricher.enricher.id) &&
42
+ ![
43
+ privacy_types_1.RequestEnricherStatus.Resolved,
44
+ privacy_types_1.RequestEnricherStatus.Skipped,
45
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
46
+ ].includes(enricher.status));
47
+ // FIXME
48
+ if (requestEnrichersFiltered.length > 0) {
49
+ await (0, bluebird_1.mapSeries)(requestEnrichersFiltered, async (requestEnricher) => {
50
+ try {
51
+ await (0, graphql_1.makeGraphQLRequest)(client, graphql_1.SKIP_REQUEST_ENRICHER, {
52
+ requestEnricherId: requestEnricher.id,
53
+ });
54
+ totalSkipped += 1;
55
+ }
56
+ catch (err) {
57
+ if (!err.message.includes('Client error: Cannot skip Request enricher because it has already completed')) {
58
+ throw err;
59
+ }
60
+ }
61
+ });
62
+ }
63
+ total += 1;
64
+ progressBar.update(total);
65
+ }, { concurrency });
66
+ progressBar.stop();
67
+ const t1 = new Date().getTime();
68
+ const totalTime = t1 - t0;
69
+ logger_1.logger.info(colors_1.default.green(`Successfully skipped "${totalSkipped}" for "${requests.length}" requests in "${totalTime / 1000}" seconds!`));
70
+ return requests.length;
71
+ }
72
+ exports.skipPreflightJobs = skipPreflightJobs;
73
+ //# sourceMappingURL=skipPreflightJobs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skipPreflightJobs.js","sourceRoot":"","sources":["../../src/requests/skipPreflightJobs.ts"],"names":[],"mappings":"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"}