@transcend-io/cli 6.14.3 → 6.16.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 +78 -12
- package/build/cli-pull-unstructured-discovery-files.d.ts +3 -0
- package/build/cli-pull-unstructured-discovery-files.d.ts.map +1 -0
- package/build/cli-pull-unstructured-discovery-files.js +73 -0
- package/build/cli-pull-unstructured-discovery-files.js.map +1 -0
- package/build/cli-sync-ot.js +32 -29
- package/build/cli-sync-ot.js.map +1 -1
- package/build/codecs.d.ts +71 -6
- package/build/codecs.d.ts.map +1 -1
- package/build/codecs.js +19 -2
- package/build/codecs.js.map +1 -1
- package/build/data-inventory/index.d.ts +1 -0
- package/build/data-inventory/index.d.ts.map +1 -1
- package/build/data-inventory/index.js +1 -0
- package/build/data-inventory/index.js.map +1 -1
- package/build/data-inventory/pullAllDatapoints.d.ts +3 -3
- package/build/data-inventory/pullAllDatapoints.d.ts.map +1 -1
- package/build/data-inventory/pullAllDatapoints.js +7 -0
- package/build/data-inventory/pullAllDatapoints.js.map +1 -1
- package/build/data-inventory/pullUnstructuredSubDataPointRecommendations.d.ts +58 -0
- package/build/data-inventory/pullUnstructuredSubDataPointRecommendations.d.ts.map +1 -0
- package/build/data-inventory/pullUnstructuredSubDataPointRecommendations.js +110 -0
- package/build/data-inventory/pullUnstructuredSubDataPointRecommendations.js.map +1 -0
- package/build/enums.d.ts +7 -0
- package/build/enums.d.ts.map +1 -1
- package/build/enums.js +9 -1
- package/build/enums.js.map +1 -1
- package/build/graphql/gqls/entry.d.ts +2 -0
- package/build/graphql/gqls/entry.d.ts.map +1 -0
- package/build/graphql/gqls/entry.js +17 -0
- package/build/graphql/gqls/entry.js.map +1 -0
- package/build/graphql/gqls/index.d.ts +1 -0
- package/build/graphql/gqls/index.d.ts.map +1 -1
- package/build/graphql/gqls/index.js +1 -0
- package/build/graphql/gqls/index.js.map +1 -1
- package/build/graphql/makeGraphQLRequest.d.ts +1 -1
- package/build/graphql/makeGraphQLRequest.d.ts.map +1 -1
- package/build/graphql/makeGraphQLRequest.js.map +1 -1
- package/build/oneTrust/helpers/enrichOneTrustAssessment.d.ts.map +1 -1
- package/build/oneTrust/helpers/enrichOneTrustAssessment.js +38 -30
- package/build/oneTrust/helpers/enrichOneTrustAssessment.js.map +1 -1
- package/build/oneTrust/helpers/index.d.ts +2 -0
- package/build/oneTrust/helpers/index.d.ts.map +1 -1
- package/build/oneTrust/helpers/index.js +2 -0
- package/build/oneTrust/helpers/index.js.map +1 -1
- package/build/oneTrust/helpers/oneTrustAssessmentToJson.js +3 -3
- package/build/oneTrust/helpers/oneTrustAssessmentToJson.js.map +1 -1
- package/build/oneTrust/helpers/parseCliSyncOtArguments.d.ts +5 -3
- package/build/oneTrust/helpers/parseCliSyncOtArguments.d.ts.map +1 -1
- package/build/oneTrust/helpers/parseCliSyncOtArguments.js +31 -10
- package/build/oneTrust/helpers/parseCliSyncOtArguments.js.map +1 -1
- package/build/oneTrust/helpers/syncOneTrustAssessmentToTranscend.d.ts +1 -1
- package/build/oneTrust/helpers/syncOneTrustAssessmentToTranscend.d.ts.map +1 -1
- package/build/oneTrust/helpers/syncOneTrustAssessmentToTranscend.js +11 -6
- package/build/oneTrust/helpers/syncOneTrustAssessmentToTranscend.js.map +1 -1
- package/build/oneTrust/helpers/syncOneTrustAssessmentsFromFile.d.ts +13 -0
- package/build/oneTrust/helpers/syncOneTrustAssessmentsFromFile.d.ts.map +1 -0
- package/build/oneTrust/helpers/syncOneTrustAssessmentsFromFile.js +78 -0
- package/build/oneTrust/helpers/syncOneTrustAssessmentsFromFile.js.map +1 -0
- package/build/oneTrust/helpers/{syncOneTrustAssessments.d.ts → syncOneTrustAssessmentsFromOneTrust.d.ts} +7 -2
- package/build/oneTrust/helpers/syncOneTrustAssessmentsFromOneTrust.d.ts.map +1 -0
- package/build/oneTrust/helpers/{syncOneTrustAssessments.js → syncOneTrustAssessmentsFromOneTrust.js} +50 -23
- package/build/oneTrust/helpers/syncOneTrustAssessmentsFromOneTrust.js.map +1 -0
- package/build/tsbuildinfo +1 -1
- package/package.json +3 -2
- package/build/oneTrust/helpers/syncOneTrustAssessments.d.ts.map +0 -1
- package/build/oneTrust/helpers/syncOneTrustAssessments.js.map +0 -1
|
@@ -12,7 +12,7 @@ const keyBy_1 = __importDefault(require("lodash/keyBy"));
|
|
|
12
12
|
* @returns the assessment enriched with details and risk information
|
|
13
13
|
*/
|
|
14
14
|
const enrichOneTrustAssessment = ({ assessment, assessmentDetails, riskDetails, creatorDetails, approversDetails, respondentsDetails, }) => {
|
|
15
|
-
var _a, _b;
|
|
15
|
+
var _a, _b, _c, _d, _e, _f;
|
|
16
16
|
const riskDetailsById = (0, keyBy_1.default)(riskDetails, 'id');
|
|
17
17
|
const { sections, createdBy, ...restAssessmentDetails } = assessmentDetails;
|
|
18
18
|
const sectionsWithEnrichedRisk = sections.map((section) => {
|
|
@@ -42,45 +42,53 @@ const enrichOneTrustAssessment = ({ assessment, assessmentDetails, riskDetails,
|
|
|
42
42
|
// grab creator details
|
|
43
43
|
const enrichedCreatedBy = {
|
|
44
44
|
...createdBy,
|
|
45
|
-
active: creatorDetails.active,
|
|
46
|
-
userType: creatorDetails.userType,
|
|
47
|
-
emails: creatorDetails.emails,
|
|
48
|
-
title: creatorDetails.title,
|
|
49
|
-
givenName: (
|
|
50
|
-
familyName: (
|
|
45
|
+
active: (_a = creatorDetails === null || creatorDetails === void 0 ? void 0 : creatorDetails.active) !== null && _a !== void 0 ? _a : false,
|
|
46
|
+
userType: (_b = creatorDetails === null || creatorDetails === void 0 ? void 0 : creatorDetails.userType) !== null && _b !== void 0 ? _b : 'Internal',
|
|
47
|
+
emails: (_c = creatorDetails === null || creatorDetails === void 0 ? void 0 : creatorDetails.emails) !== null && _c !== void 0 ? _c : [],
|
|
48
|
+
title: (_d = creatorDetails === null || creatorDetails === void 0 ? void 0 : creatorDetails.title) !== null && _d !== void 0 ? _d : null,
|
|
49
|
+
givenName: (_e = creatorDetails === null || creatorDetails === void 0 ? void 0 : creatorDetails.name.givenName) !== null && _e !== void 0 ? _e : null,
|
|
50
|
+
familyName: (_f = creatorDetails === null || creatorDetails === void 0 ? void 0 : creatorDetails.name.familyName) !== null && _f !== void 0 ? _f : null,
|
|
51
51
|
};
|
|
52
52
|
// grab approvers details
|
|
53
53
|
const approverDetailsById = (0, keyBy_1.default)(approversDetails, 'id');
|
|
54
|
-
const enrichedApprovers = assessmentDetails.approvers.
|
|
54
|
+
const enrichedApprovers = assessmentDetails.approvers.flatMap((originalApprover) => {
|
|
55
55
|
var _a, _b;
|
|
56
|
-
return
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
56
|
+
return approverDetailsById[originalApprover.id]
|
|
57
|
+
? [
|
|
58
|
+
{
|
|
59
|
+
...originalApprover,
|
|
60
|
+
approver: {
|
|
61
|
+
...originalApprover.approver,
|
|
62
|
+
active: approverDetailsById[originalApprover.id].active,
|
|
63
|
+
userType: approverDetailsById[originalApprover.id].userType,
|
|
64
|
+
emails: approverDetailsById[originalApprover.id].emails,
|
|
65
|
+
title: approverDetailsById[originalApprover.id].title,
|
|
66
|
+
givenName: (_a = approverDetailsById[originalApprover.id].name.givenName) !== null && _a !== void 0 ? _a : null,
|
|
67
|
+
familyName: (_b = approverDetailsById[originalApprover.id].name.familyName) !== null && _b !== void 0 ? _b : null,
|
|
68
|
+
},
|
|
69
|
+
},
|
|
70
|
+
]
|
|
71
|
+
: [];
|
|
68
72
|
});
|
|
69
73
|
// grab respondents details
|
|
70
74
|
const respondentsDetailsById = (0, keyBy_1.default)(respondentsDetails, 'id');
|
|
71
75
|
const enrichedRespondents = assessmentDetails.respondents
|
|
72
76
|
.filter((r) => !r.name.includes('@')) // search only internal respondents
|
|
73
|
-
.
|
|
77
|
+
.flatMap((respondent) => {
|
|
74
78
|
var _a, _b;
|
|
75
|
-
return
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
79
|
+
return respondentsDetailsById[respondent.id]
|
|
80
|
+
? [
|
|
81
|
+
{
|
|
82
|
+
...respondent,
|
|
83
|
+
active: respondentsDetailsById[respondent.id].active,
|
|
84
|
+
userType: respondentsDetailsById[respondent.id].userType,
|
|
85
|
+
emails: respondentsDetailsById[respondent.id].emails,
|
|
86
|
+
title: respondentsDetailsById[respondent.id].title,
|
|
87
|
+
givenName: (_a = respondentsDetailsById[respondent.id].name.givenName) !== null && _a !== void 0 ? _a : null,
|
|
88
|
+
familyName: (_b = respondentsDetailsById[respondent.id].name.familyName) !== null && _b !== void 0 ? _b : null,
|
|
89
|
+
},
|
|
90
|
+
]
|
|
91
|
+
: [];
|
|
84
92
|
});
|
|
85
93
|
// combine everything into a single enriched assessment
|
|
86
94
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enrichOneTrustAssessment.js","sourceRoot":"","sources":["../../../src/oneTrust/helpers/enrichOneTrustAssessment.ts"],"names":[],"mappings":";;;;;;AAOA,yDAAiC;AAEjC;;;;;GAKG;AACI,MAAM,wBAAwB,GAAG,CAAC,EACvC,UAAU,EACV,iBAAiB,EACjB,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,kBAAkB,GAcnB,EAA8B,EAAE;;IAC/B,MAAM,eAAe,GAAG,IAAA,eAAK,EAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IACjD,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,qBAAqB,EAAE,GAAG,iBAAiB,CAAC;IAC5E,MAAM,wBAAwB,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QACxD,MAAM,EAAE,SAAS,EAAE,GAAG,WAAW,EAAE,GAAG,OAAO,CAAC;QAC9C,MAAM,iBAAiB,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;YACnD,MAAM,EAAE,KAAK,EAAE,GAAG,YAAY,EAAE,GAAG,QAAQ,CAAC;YAC5C,MAAM,aAAa,GAAG,CAAC,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;;gBAC/C,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC7C,OAAO;oBACL,GAAG,IAAI;oBACP,GAAG,OAAO;oBACV,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,WAAW,EAAE,MAAA,IAAI,CAAC,WAAW,mCAAI,CAAC;iBACnC,CAAC;YACJ,CAAC,CAAC,CAAC;YACH,OAAO;gBACL,GAAG,YAAY;gBACf,KAAK,EAAE,aAAa;aACrB,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,OAAO;YACL,GAAG,WAAW;YACd,SAAS,EAAE,iBAAiB;SAC7B,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,uBAAuB;IACvB,MAAM,iBAAiB,GAAG;QACxB,GAAG,SAAS;QACZ,MAAM,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"enrichOneTrustAssessment.js","sourceRoot":"","sources":["../../../src/oneTrust/helpers/enrichOneTrustAssessment.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
export * from './flattenOneTrustAssessment';
|
|
2
2
|
export * from './parseCliSyncOtArguments';
|
|
3
3
|
export * from './syncOneTrustAssessmentToDisk';
|
|
4
|
+
export * from './syncOneTrustAssessmentsFromOneTrust';
|
|
5
|
+
export * from './syncOneTrustAssessmentsFromFile';
|
|
4
6
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/oneTrust/helpers/index.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gCAAgC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/oneTrust/helpers/index.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,uCAAuC,CAAC;AACtD,cAAc,mCAAmC,CAAC"}
|
|
@@ -17,4 +17,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
17
17
|
__exportStar(require("./flattenOneTrustAssessment"), exports);
|
|
18
18
|
__exportStar(require("./parseCliSyncOtArguments"), exports);
|
|
19
19
|
__exportStar(require("./syncOneTrustAssessmentToDisk"), exports);
|
|
20
|
+
__exportStar(require("./syncOneTrustAssessmentsFromOneTrust"), exports);
|
|
21
|
+
__exportStar(require("./syncOneTrustAssessmentsFromFile"), exports);
|
|
20
22
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/oneTrust/helpers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8DAA4C;AAC5C,4DAA0C;AAC1C,iEAA+C"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/oneTrust/helpers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8DAA4C;AAC5C,4DAA0C;AAC1C,iEAA+C;AAC/C,wEAAsD;AACtD,oEAAkD"}
|
|
@@ -11,16 +11,16 @@ const oneTrustAssessmentToJson = ({ assessment, index, total, wrap = true, }) =>
|
|
|
11
11
|
let jsonEntry = '';
|
|
12
12
|
// start with an opening bracket
|
|
13
13
|
if (index === 0 || wrap) {
|
|
14
|
-
jsonEntry = '[';
|
|
14
|
+
jsonEntry = '[\n';
|
|
15
15
|
}
|
|
16
16
|
const stringifiedAssessment = JSON.stringify(assessment);
|
|
17
17
|
// Add comma for all items except the last one
|
|
18
18
|
const comma = index < total - 1 && !wrap ? ',' : '';
|
|
19
19
|
// write to file
|
|
20
|
-
jsonEntry = jsonEntry + stringifiedAssessment + comma
|
|
20
|
+
jsonEntry = `${jsonEntry + stringifiedAssessment + comma}\n`;
|
|
21
21
|
// end with closing bracket
|
|
22
22
|
if (index === total - 1 || wrap) {
|
|
23
|
-
jsonEntry += ']';
|
|
23
|
+
jsonEntry += '\n]';
|
|
24
24
|
}
|
|
25
25
|
return jsonEntry;
|
|
26
26
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oneTrustAssessmentToJson.js","sourceRoot":"","sources":["../../../src/oneTrust/helpers/oneTrustAssessmentToJson.ts"],"names":[],"mappings":";;;AAEA;;;;;GAKG;AACI,MAAM,wBAAwB,GAAG,CAAC,EACvC,UAAU,EACV,KAAK,EACL,KAAK,EACL,IAAI,GAAG,IAAI,GAUZ,EAAU,EAAE;IACX,IAAI,SAAS,GAAG,EAAE,CAAC;IACnB,gCAAgC;IAChC,IAAI,KAAK,KAAK,CAAC,IAAI,IAAI,EAAE;QACvB,SAAS,GAAG,
|
|
1
|
+
{"version":3,"file":"oneTrustAssessmentToJson.js","sourceRoot":"","sources":["../../../src/oneTrust/helpers/oneTrustAssessmentToJson.ts"],"names":[],"mappings":";;;AAEA;;;;;GAKG;AACI,MAAM,wBAAwB,GAAG,CAAC,EACvC,UAAU,EACV,KAAK,EACL,KAAK,EACL,IAAI,GAAG,IAAI,GAUZ,EAAU,EAAE;IACX,IAAI,SAAS,GAAG,EAAE,CAAC;IACnB,gCAAgC;IAChC,IAAI,KAAK,KAAK,CAAC,IAAI,IAAI,EAAE;QACvB,SAAS,GAAG,KAAK,CAAC;KACnB;IAED,MAAM,qBAAqB,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IAEzD,8CAA8C;IAC9C,MAAM,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAEpD,gBAAgB;IAChB,SAAS,GAAG,GAAG,SAAS,GAAG,qBAAqB,GAAG,KAAK,IAAI,CAAC;IAE7D,2BAA2B;IAC3B,IAAI,KAAK,KAAK,KAAK,GAAG,CAAC,IAAI,IAAI,EAAE;QAC/B,SAAS,IAAI,KAAK,CAAC;KACpB;IAED,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAnCW,QAAA,wBAAwB,4BAmCnC"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { OneTrustFileFormat, OneTrustPullResource } from '../../enums';
|
|
1
|
+
import { OneTrustFileFormat, OneTrustPullResource, OneTrustPullSource } from '../../enums';
|
|
2
2
|
interface OneTrustCliArguments {
|
|
3
3
|
/** The name of the file to write the resources to */
|
|
4
4
|
file: string;
|
|
5
5
|
/** The OneTrust hostname to send the requests to */
|
|
6
|
-
hostname
|
|
6
|
+
hostname?: string;
|
|
7
7
|
/** The OAuth Bearer token used to authenticate the requests to OneTrust */
|
|
8
|
-
oneTrustAuth
|
|
8
|
+
oneTrustAuth?: string;
|
|
9
9
|
/** The Transcend API key to authenticate the requests to Transcend */
|
|
10
10
|
transcendAuth: string;
|
|
11
11
|
/** The Transcend URL where to forward requests */
|
|
@@ -18,6 +18,8 @@ interface OneTrustCliArguments {
|
|
|
18
18
|
fileFormat: OneTrustFileFormat;
|
|
19
19
|
/** Whether to export the resource into a file rather than push to transcend */
|
|
20
20
|
dryRun: boolean;
|
|
21
|
+
/** Where to read the OneTrust resource from */
|
|
22
|
+
source: OneTrustPullSource;
|
|
21
23
|
}
|
|
22
24
|
/**
|
|
23
25
|
* Parse the command line arguments
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parseCliSyncOtArguments.d.ts","sourceRoot":"","sources":["../../../src/oneTrust/helpers/parseCliSyncOtArguments.ts"],"names":[],"mappings":"AAGA,OAAO,
|
|
1
|
+
{"version":3,"file":"parseCliSyncOtArguments.d.ts","sourceRoot":"","sources":["../../../src/oneTrust/helpers/parseCliSyncOtArguments.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,kBAAkB,EACnB,MAAM,aAAa,CAAC;AAKrB,UAAU,oBAAoB;IAC5B,qDAAqD;IACrD,IAAI,EAAE,MAAM,CAAC;IACb,oDAAoD;IACpD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,2EAA2E;IAC3E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,sEAAsE;IACtE,aAAa,EAAE,MAAM,CAAC;IACtB,kDAAkD;IAClD,YAAY,EAAE,MAAM,CAAC;IACrB,yCAAyC;IACzC,QAAQ,EAAE,oBAAoB,CAAC;IAC/B,yDAAyD;IACzD,KAAK,EAAE,OAAO,CAAC;IACf,gEAAgE;IAChE,UAAU,EAAE,kBAAkB,CAAC;IAC/B,+EAA+E;IAC/E,MAAM,EAAE,OAAO,CAAC;IAChB,+CAA+C;IAC/C,MAAM,EAAE,kBAAkB,CAAC;CAC5B;AAED;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,QAAO,oBAwL1C,CAAC"}
|
|
@@ -16,7 +16,7 @@ const VALID_FILE_FORMATS = Object.values(enums_1.OneTrustFileFormat);
|
|
|
16
16
|
* @returns the parsed arguments
|
|
17
17
|
*/
|
|
18
18
|
const parseCliSyncOtArguments = () => {
|
|
19
|
-
const { file, hostname, oneTrustAuth, resource, debug, fileFormat, dryRun, transcendAuth, transcendUrl, } = (0, yargs_parser_1.default)(process.argv.slice(2), {
|
|
19
|
+
const { file, hostname, oneTrustAuth, resource, debug, fileFormat, dryRun, transcendAuth, transcendUrl, source, } = (0, yargs_parser_1.default)(process.argv.slice(2), {
|
|
20
20
|
string: [
|
|
21
21
|
'file',
|
|
22
22
|
'hostname',
|
|
@@ -26,6 +26,7 @@ const parseCliSyncOtArguments = () => {
|
|
|
26
26
|
'dryRun',
|
|
27
27
|
'transcendAuth',
|
|
28
28
|
'transcendUrl',
|
|
29
|
+
'source',
|
|
29
30
|
],
|
|
30
31
|
boolean: ['debug', 'dryRun'],
|
|
31
32
|
default: {
|
|
@@ -34,6 +35,7 @@ const parseCliSyncOtArguments = () => {
|
|
|
34
35
|
debug: false,
|
|
35
36
|
dryRun: false,
|
|
36
37
|
transcendUrl: 'https://api.transcend.io',
|
|
38
|
+
source: enums_1.OneTrustPullSource.OneTrust,
|
|
37
39
|
},
|
|
38
40
|
});
|
|
39
41
|
// Must be able to authenticate to transcend to sync resources to it
|
|
@@ -49,7 +51,7 @@ const parseCliSyncOtArguments = () => {
|
|
|
49
51
|
'Must specify a "transcendUrl" parameter to sync resources to Transcend. e.g. --transcendUrl=https://api.transcend.io'));
|
|
50
52
|
return process.exit(1);
|
|
51
53
|
}
|
|
52
|
-
// Can only sync to Transcend via a
|
|
54
|
+
// Can only sync to Transcend via a Json file format!
|
|
53
55
|
if (!dryRun && fileFormat !== enums_1.OneTrustFileFormat.Json) {
|
|
54
56
|
logger_1.logger.error(colors_1.default.red(`The "fileFormat" parameter must equal ${enums_1.OneTrustFileFormat.Json} to sync resources to Transcend.`));
|
|
55
57
|
return process.exit(1);
|
|
@@ -77,13 +79,31 @@ const parseCliSyncOtArguments = () => {
|
|
|
77
79
|
return process.exit(1);
|
|
78
80
|
}
|
|
79
81
|
}
|
|
80
|
-
if
|
|
81
|
-
|
|
82
|
-
|
|
82
|
+
// if reading assessments from a OneTrust
|
|
83
|
+
if (source === enums_1.OneTrustPullSource.OneTrust) {
|
|
84
|
+
// must specify the OneTrust hostname
|
|
85
|
+
if (!hostname) {
|
|
86
|
+
logger_1.logger.error(colors_1.default.red('Missing required parameter "hostname". e.g. --hostname=customer.my.onetrust.com'));
|
|
87
|
+
return process.exit(1);
|
|
88
|
+
}
|
|
89
|
+
// must specify the OneTrust auth
|
|
90
|
+
if (!oneTrustAuth) {
|
|
91
|
+
logger_1.logger.error(colors_1.default.red('Missing required parameter "oneTrustAuth". e.g. --oneTrustAuth=$ONE_TRUST_AUTH_TOKEN'));
|
|
92
|
+
return process.exit(1);
|
|
93
|
+
}
|
|
83
94
|
}
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
95
|
+
else {
|
|
96
|
+
// if reading the assessments from a file, must specify a file to read from
|
|
97
|
+
if (!file) {
|
|
98
|
+
logger_1.logger.error(colors_1.default.red('Must specify a "file" parameter to read the OneTrust assessments from. e.g. --source=./oneTrustAssessments.json'));
|
|
99
|
+
return process.exit(1);
|
|
100
|
+
}
|
|
101
|
+
// Cannot try reading from file and save assessments to a file simultaneously
|
|
102
|
+
if (dryRun) {
|
|
103
|
+
logger_1.logger.error(colors_1.default.red('Cannot read and write to a file simultaneously.' +
|
|
104
|
+
` Emit the "source" parameter or set it to ${enums_1.OneTrustPullSource.OneTrust} if "dryRun" is enabled.`));
|
|
105
|
+
return process.exit(1);
|
|
106
|
+
}
|
|
87
107
|
}
|
|
88
108
|
if (!VALID_RESOURCES.includes(resource)) {
|
|
89
109
|
logger_1.logger.error(colors_1.default.red(`Received invalid resource value: "${resource}". Allowed: ${VALID_RESOURCES.join(',')}`));
|
|
@@ -95,14 +115,15 @@ const parseCliSyncOtArguments = () => {
|
|
|
95
115
|
}
|
|
96
116
|
return {
|
|
97
117
|
file,
|
|
98
|
-
hostname,
|
|
99
|
-
oneTrustAuth,
|
|
118
|
+
...(hostname && { hostname }),
|
|
119
|
+
...(oneTrustAuth && { oneTrustAuth }),
|
|
100
120
|
resource,
|
|
101
121
|
debug,
|
|
102
122
|
fileFormat,
|
|
103
123
|
dryRun,
|
|
104
124
|
transcendAuth,
|
|
105
125
|
transcendUrl,
|
|
126
|
+
source,
|
|
106
127
|
};
|
|
107
128
|
};
|
|
108
129
|
exports.parseCliSyncOtArguments = parseCliSyncOtArguments;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parseCliSyncOtArguments.js","sourceRoot":"","sources":["../../../src/oneTrust/helpers/parseCliSyncOtArguments.ts"],"names":[],"mappings":";;;;;;AAAA,yCAAsC;AACtC,oDAA4B;AAC5B,gEAAiC;AACjC,
|
|
1
|
+
{"version":3,"file":"parseCliSyncOtArguments.js","sourceRoot":"","sources":["../../../src/oneTrust/helpers/parseCliSyncOtArguments.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,5 +21,5 @@ export declare const syncOneTrustAssessmentToTranscend: ({ transcend, assessment
|
|
|
21
21
|
index: number;
|
|
22
22
|
/** The total amount of assessments that we will write */
|
|
23
23
|
total: number;
|
|
24
|
-
}) => Promise<
|
|
24
|
+
}) => Promise<void>;
|
|
25
25
|
//# sourceMappingURL=syncOneTrustAssessmentToTranscend.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"syncOneTrustAssessmentToTranscend.d.ts","sourceRoot":"","sources":["../../../src/oneTrust/helpers/syncOneTrustAssessmentToTranscend.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAMhD,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AAGzE,MAAM,WAAW,cAAc;IAC7B,4BAA4B;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,+BAA+B;IAC/B,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;;GAKG;AACH,eAAO,MAAM,iCAAiC;IAM5C,oCAAoC;eACzB,aAAa;IACxB,0CAA0C;gBAC9B,0BAA0B;IACtC,4DAA4D;WACrD,MAAM;IACb,yDAAyD;WAClD,MAAM;MACX,QAAQ,
|
|
1
|
+
{"version":3,"file":"syncOneTrustAssessmentToTranscend.d.ts","sourceRoot":"","sources":["../../../src/oneTrust/helpers/syncOneTrustAssessmentToTranscend.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAMhD,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AAGzE,MAAM,WAAW,cAAc;IAC7B,4BAA4B;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,+BAA+B;IAC/B,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;;GAKG;AACH,eAAO,MAAM,iCAAiC;IAM5C,oCAAoC;eACzB,aAAa;IACxB,0CAA0C;gBAC9B,0BAA0B;IACtC,4DAA4D;WACrD,MAAM;IACb,yDAAyD;WAClD,MAAM;MACX,QAAQ,IAAI,CAqCf,CAAC"}
|
|
@@ -16,20 +16,25 @@ const oneTrustAssessmentToJson_1 = require("./oneTrustAssessmentToJson");
|
|
|
16
16
|
*/
|
|
17
17
|
const syncOneTrustAssessmentToTranscend = async ({ transcend, assessment, total, index, }) => {
|
|
18
18
|
logger_1.logger.info(colors_1.default.magenta(`Writing enriched assessment ${index + 1} of ${total} to Transcend...`));
|
|
19
|
-
// convert the OneTrust assessment object into a
|
|
19
|
+
// convert the OneTrust assessment object into a json record
|
|
20
20
|
const json = (0, oneTrustAssessmentToJson_1.oneTrustAssessmentToJson)({
|
|
21
21
|
assessment,
|
|
22
22
|
index,
|
|
23
23
|
total,
|
|
24
24
|
});
|
|
25
|
-
// transform the
|
|
25
|
+
// transform the json record into a valid input to the mutation
|
|
26
26
|
const input = {
|
|
27
27
|
json,
|
|
28
28
|
};
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
29
|
+
try {
|
|
30
|
+
await (0, graphql_1.makeGraphQLRequest)(transcend, graphql_1.IMPORT_ONE_TRUST_ASSESSMENT_FORMS, {
|
|
31
|
+
input,
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
catch (e) {
|
|
35
|
+
logger_1.logger.error(colors_1.default.red(`Failed to sync assessment ${index + 1} of ${total} to Transcend.\n` +
|
|
36
|
+
`\tAssessment Title: ${assessment.name}. Template Title: ${assessment.template.name}\n`));
|
|
37
|
+
}
|
|
33
38
|
};
|
|
34
39
|
exports.syncOneTrustAssessmentToTranscend = syncOneTrustAssessmentToTranscend;
|
|
35
40
|
//# sourceMappingURL=syncOneTrustAssessmentToTranscend.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"syncOneTrustAssessmentToTranscend.js","sourceRoot":"","sources":["../../../src/oneTrust/helpers/syncOneTrustAssessmentToTranscend.ts"],"names":[],"mappings":";;;;;;AAAA,yCAAsC;AACtC,oDAA4B;AAE5B,2CAGuB;AAGvB,yEAAsE;AAStE;;;;;GAKG;AACI,MAAM,iCAAiC,GAAG,KAAK,EAAE,EACtD,SAAS,EACT,UAAU,EACV,KAAK,EACL,KAAK,GAUN,
|
|
1
|
+
{"version":3,"file":"syncOneTrustAssessmentToTranscend.js","sourceRoot":"","sources":["../../../src/oneTrust/helpers/syncOneTrustAssessmentToTranscend.ts"],"names":[],"mappings":";;;;;;AAAA,yCAAsC;AACtC,oDAA4B;AAE5B,2CAGuB;AAGvB,yEAAsE;AAStE;;;;;GAKG;AACI,MAAM,iCAAiC,GAAG,KAAK,EAAE,EACtD,SAAS,EACT,UAAU,EACV,KAAK,EACL,KAAK,GAUN,EAAiB,EAAE;IAClB,eAAM,CAAC,IAAI,CACT,gBAAM,CAAC,OAAO,CACZ,+BAA+B,KAAK,GAAG,CAAC,OAAO,KAAK,kBAAkB,CACvE,CACF,CAAC;IAEF,4DAA4D;IAC5D,MAAM,IAAI,GAAG,IAAA,mDAAwB,EAAC;QACpC,UAAU;QACV,KAAK;QACL,KAAK;KACN,CAAC,CAAC;IAEH,+DAA+D;IAC/D,MAAM,KAAK,GAAmC;QAC5C,IAAI;KACL,CAAC;IAEF,IAAI;QACF,MAAM,IAAA,4BAAkB,EAMrB,SAAS,EAAE,2CAAiC,EAAE;YAC/C,KAAK;SACN,CAAC,CAAC;KACJ;IAAC,OAAO,CAAC,EAAE;QACV,eAAM,CAAC,KAAK,CACV,gBAAM,CAAC,GAAG,CACR,6BAA6B,KAAK,GAAG,CAAC,OAAO,KAAK,kBAAkB;YAClE,uBAAuB,UAAU,CAAC,IAAI,qBAAqB,UAAU,CAAC,QAAQ,CAAC,IAAI,IAAI,CAC1F,CACF,CAAC;KACH;AACH,CAAC,CAAC;AAnDW,QAAA,iCAAiC,qCAmD5C"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { GraphQLClient } from 'graphql-request';
|
|
2
|
+
/**
|
|
3
|
+
* Reads assessments from a file and syncs them to Transcend.
|
|
4
|
+
*
|
|
5
|
+
* @param param - the information about the source file and Transcend instance to write them to.
|
|
6
|
+
*/
|
|
7
|
+
export declare const syncOneTrustAssessmentsFromFile: ({ transcend, file, }: {
|
|
8
|
+
/** the Transcend client instance */
|
|
9
|
+
transcend: GraphQLClient;
|
|
10
|
+
/** The name of the file from which to read the OneTrust assessments */
|
|
11
|
+
file: string;
|
|
12
|
+
}) => Promise<void>;
|
|
13
|
+
//# sourceMappingURL=syncOneTrustAssessmentsFromFile.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"syncOneTrustAssessmentsFromFile.d.ts","sourceRoot":"","sources":["../../../src/oneTrust/helpers/syncOneTrustAssessmentsFromFile.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD;;;;GAIG;AACH,eAAO,MAAM,+BAA+B;IAI1C,oCAAoC;eACzB,aAAa;IACxB,uEAAuE;UACjE,MAAM;MACV,QAAQ,IAAI,CA6Cf,CAAC"}
|
|
@@ -0,0 +1,78 @@
|
|
|
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.syncOneTrustAssessmentsFromFile = void 0;
|
|
30
|
+
const type_utils_1 = require("@transcend-io/type-utils");
|
|
31
|
+
const colors_1 = __importDefault(require("colors"));
|
|
32
|
+
const logger_1 = require("../../logger");
|
|
33
|
+
const fs_1 = require("fs");
|
|
34
|
+
const readline = __importStar(require("readline"));
|
|
35
|
+
const privacy_types_1 = require("@transcend-io/privacy-types");
|
|
36
|
+
const syncOneTrustAssessmentToTranscend_1 = require("./syncOneTrustAssessmentToTranscend");
|
|
37
|
+
/**
|
|
38
|
+
* Reads assessments from a file and syncs them to Transcend.
|
|
39
|
+
*
|
|
40
|
+
* @param param - the information about the source file and Transcend instance to write them to.
|
|
41
|
+
*/
|
|
42
|
+
const syncOneTrustAssessmentsFromFile = async ({ transcend, file, }) => {
|
|
43
|
+
logger_1.logger.info(`Getting list of all assessments from file ${file}...`);
|
|
44
|
+
// Create a readable stream from the file
|
|
45
|
+
const fileStream = (0, fs_1.createReadStream)(file, {
|
|
46
|
+
encoding: 'utf-8',
|
|
47
|
+
highWaterMark: 64 * 1024, // 64KB chunks
|
|
48
|
+
});
|
|
49
|
+
// Create readline interface
|
|
50
|
+
const rl = readline.createInterface({
|
|
51
|
+
input: fileStream,
|
|
52
|
+
crlfDelay: Infinity,
|
|
53
|
+
});
|
|
54
|
+
let index = 0;
|
|
55
|
+
// Process the file line by line
|
|
56
|
+
// eslint-disable-next-line no-restricted-syntax
|
|
57
|
+
for await (const line of rl) {
|
|
58
|
+
try {
|
|
59
|
+
// Parse each non-empty line and sync to transcend
|
|
60
|
+
if (line.trim()) {
|
|
61
|
+
const parsedAssessment = (0, type_utils_1.decodeCodec)(privacy_types_1.OneTrustEnrichedAssessment, line.endsWith(',') ? line.slice(0, -1) : line);
|
|
62
|
+
await (0, syncOneTrustAssessmentToTranscend_1.syncOneTrustAssessmentToTranscend)({
|
|
63
|
+
assessment: parsedAssessment,
|
|
64
|
+
transcend,
|
|
65
|
+
total: 2178,
|
|
66
|
+
index,
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
index += 1;
|
|
70
|
+
}
|
|
71
|
+
catch (parseError) {
|
|
72
|
+
// if failed to parse a line, report error and continue
|
|
73
|
+
logger_1.logger.error(colors_1.default.red(`Failed to parse the line ${index} from file '${file}': ${parseError.message}.`));
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
exports.syncOneTrustAssessmentsFromFile = syncOneTrustAssessmentsFromFile;
|
|
78
|
+
//# sourceMappingURL=syncOneTrustAssessmentsFromFile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"syncOneTrustAssessmentsFromFile.js","sourceRoot":"","sources":["../../../src/oneTrust/helpers/syncOneTrustAssessmentsFromFile.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yDAAuD;AACvD,oDAA4B;AAC5B,yCAAsC;AAEtC,2BAAsC;AACtC,mDAAqC;AACrC,+DAAyE;AACzE,2FAAwF;AAGxF;;;;GAIG;AACI,MAAM,+BAA+B,GAAG,KAAK,EAAE,EACpD,SAAS,EACT,IAAI,GAML,EAAiB,EAAE;IAClB,eAAM,CAAC,IAAI,CAAC,6CAA6C,IAAI,KAAK,CAAC,CAAC;IAEpE,yCAAyC;IACzC,MAAM,UAAU,GAAG,IAAA,qBAAgB,EAAC,IAAI,EAAE;QACxC,QAAQ,EAAE,OAAO;QACjB,aAAa,EAAE,EAAE,GAAG,IAAI,EAAE,cAAc;KACzC,CAAC,CAAC;IAEH,4BAA4B;IAC5B,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC;QAClC,KAAK,EAAE,UAAU;QACjB,SAAS,EAAE,QAAQ;KACpB,CAAC,CAAC;IAEH,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,gCAAgC;IAChC,gDAAgD;IAChD,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,EAAE,EAAE;QAC3B,IAAI;YACF,kDAAkD;YAClD,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE;gBACf,MAAM,gBAAgB,GAAG,IAAA,wBAAW,EAClC,0CAA0B,EAC1B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAC9C,CAAC;gBAEF,MAAM,IAAA,qEAAiC,EAAC;oBACtC,UAAU,EAAE,gBAAgB;oBAC5B,SAAS;oBACT,KAAK,EAAE,IAAI;oBACX,KAAK;iBACN,CAAC,CAAC;aACJ;YACD,KAAK,IAAI,CAAC,CAAC;SACZ;QAAC,OAAO,UAAU,EAAE;YACnB,uDAAuD;YACvD,eAAM,CAAC,KAAK,CACV,gBAAM,CAAC,GAAG,CACR,4BAA4B,KAAK,eAAe,IAAI,MAAM,UAAU,CAAC,OAAO,GAAG,CAChF,CACF,CAAC;SACH;KACF;AACH,CAAC,CAAC;AArDW,QAAA,+BAA+B,mCAqD1C"}
|
|
@@ -7,7 +7,12 @@ export interface AssessmentForm {
|
|
|
7
7
|
/** Title of Assessment Form */
|
|
8
8
|
name: string;
|
|
9
9
|
}
|
|
10
|
-
|
|
10
|
+
/**
|
|
11
|
+
* Reads all the assessments from a OneTrust instance and syncs them to Transcend or to Disk.
|
|
12
|
+
*
|
|
13
|
+
* @param param - the information about the assessment, its OneTrust source, and destination (disk or Transcend)
|
|
14
|
+
*/
|
|
15
|
+
export declare const syncOneTrustAssessmentsFromOneTrust: ({ oneTrust, file, fileFormat, dryRun, transcend, }: {
|
|
11
16
|
/** the OneTrust client instance */
|
|
12
17
|
oneTrust: Got;
|
|
13
18
|
/** the Transcend client instance */
|
|
@@ -19,4 +24,4 @@ export declare const syncOneTrustAssessments: ({ oneTrust, file, fileFormat, dry
|
|
|
19
24
|
/** the format of the file in case dryRun is true */
|
|
20
25
|
fileFormat?: OneTrustFileFormat | undefined;
|
|
21
26
|
}) => Promise<void>;
|
|
22
|
-
//# sourceMappingURL=
|
|
27
|
+
//# sourceMappingURL=syncOneTrustAssessmentsFromOneTrust.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"syncOneTrustAssessmentsFromOneTrust.d.ts","sourceRoot":"","sources":["../../../src/oneTrust/helpers/syncOneTrustAssessmentsFromOneTrust.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAoBtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhD,MAAM,WAAW,cAAc;IAC7B,4BAA4B;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,+BAA+B;IAC/B,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;GAIG;AACH,eAAO,MAAM,mCAAmC;IAO9C,mCAAmC;cACzB,GAAG;IACb,oCAAoC;;IAEpC,+DAA+D;YACvD,OAAO;IACf,kDAAkD;;IAElD,oDAAoD;;MAElD,QAAQ,IAAI,CA4Lf,CAAC"}
|
package/build/oneTrust/helpers/{syncOneTrustAssessments.js → syncOneTrustAssessmentsFromOneTrust.js}
RENAMED
|
@@ -3,7 +3,8 @@ 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.
|
|
6
|
+
exports.syncOneTrustAssessmentsFromOneTrust = void 0;
|
|
7
|
+
const colors_1 = __importDefault(require("colors"));
|
|
7
8
|
const endpoints_1 = require("../endpoints");
|
|
8
9
|
const bluebird_1 = require("bluebird");
|
|
9
10
|
const logger_1 = require("../../logger");
|
|
@@ -12,7 +13,12 @@ const enrichOneTrustAssessment_1 = require("./enrichOneTrustAssessment");
|
|
|
12
13
|
const syncOneTrustAssessmentToDisk_1 = require("./syncOneTrustAssessmentToDisk");
|
|
13
14
|
const enums_1 = require("../../enums");
|
|
14
15
|
const syncOneTrustAssessmentToTranscend_1 = require("./syncOneTrustAssessmentToTranscend");
|
|
15
|
-
|
|
16
|
+
/**
|
|
17
|
+
* Reads all the assessments from a OneTrust instance and syncs them to Transcend or to Disk.
|
|
18
|
+
*
|
|
19
|
+
* @param param - the information about the assessment, its OneTrust source, and destination (disk or Transcend)
|
|
20
|
+
*/
|
|
21
|
+
const syncOneTrustAssessmentsFromOneTrust = async ({ oneTrust, file, fileFormat, dryRun, transcend, }) => {
|
|
16
22
|
// fetch the list of all assessments in the OneTrust organization
|
|
17
23
|
logger_1.logger.info('Getting list of all assessments from OneTrust...');
|
|
18
24
|
const assessments = await (0, endpoints_1.getListOfOneTrustAssessments)({ oneTrust });
|
|
@@ -28,22 +34,29 @@ const syncOneTrustAssessments = async ({ oneTrust, file, fileFormat, dryRun, tra
|
|
|
28
34
|
const batchEnrichedAssessments = [];
|
|
29
35
|
// fetch assessment details from OneTrust in parallel
|
|
30
36
|
await (0, bluebird_1.map)(assessmentBatch, async (assessment, index) => {
|
|
31
|
-
const assessmentNumber = BATCH_SIZE * batch + index;
|
|
37
|
+
const assessmentNumber = BATCH_SIZE * batch + index + 1;
|
|
32
38
|
logger_1.logger.info(`[assessment ${assessmentNumber} of ${assessments.length}]: fetching details...`);
|
|
39
|
+
const { templateName, assessmentId } = assessment;
|
|
33
40
|
const assessmentDetails = await (0, endpoints_1.getOneTrustAssessment)({
|
|
34
41
|
oneTrust,
|
|
35
|
-
assessmentId
|
|
42
|
+
assessmentId,
|
|
36
43
|
});
|
|
37
44
|
// fetch assessment's creator information
|
|
38
45
|
const creatorId = assessmentDetails.createdBy.id;
|
|
39
46
|
let creator = oneTrustCachedUsers[creatorId];
|
|
40
47
|
if (!creator) {
|
|
41
48
|
logger_1.logger.info(`[assessment ${assessmentNumber} of ${assessments.length}]: fetching creator...`);
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
49
|
+
try {
|
|
50
|
+
creator = await (0, endpoints_1.getOneTrustUser)({
|
|
51
|
+
oneTrust,
|
|
52
|
+
userId: creatorId,
|
|
53
|
+
});
|
|
54
|
+
oneTrustCachedUsers[creatorId] = creator;
|
|
55
|
+
}
|
|
56
|
+
catch (e) {
|
|
57
|
+
logger_1.logger.error(colors_1.default.red(`[assessment ${assessmentNumber} of ${assessments.length}]: failed to fetch form creator.` +
|
|
58
|
+
`\tcreatorId: ${creatorId}. Assessment Title: ${assessment.name}. Template Title: ${templateName}`));
|
|
59
|
+
}
|
|
47
60
|
}
|
|
48
61
|
// fetch assessment approvers information
|
|
49
62
|
const { approvers } = assessmentDetails;
|
|
@@ -51,12 +64,19 @@ const syncOneTrustAssessments = async ({ oneTrust, file, fileFormat, dryRun, tra
|
|
|
51
64
|
if (approvers.length > 0) {
|
|
52
65
|
logger_1.logger.info(`[assessment ${assessmentNumber} of ${assessments.length}]: fetching approvers...`);
|
|
53
66
|
approversDetails = await (0, bluebird_1.map)(approvers.map(({ id }) => id), async (userId) => {
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
67
|
+
try {
|
|
68
|
+
let approver = oneTrustCachedUsers[userId];
|
|
69
|
+
if (!approver) {
|
|
70
|
+
approver = await (0, endpoints_1.getOneTrustUser)({ oneTrust, userId });
|
|
71
|
+
oneTrustCachedUsers[userId] = approver;
|
|
72
|
+
}
|
|
73
|
+
return [approver];
|
|
74
|
+
}
|
|
75
|
+
catch (e) {
|
|
76
|
+
logger_1.logger.error(colors_1.default.red(`[assessment ${assessmentNumber} of ${assessments.length}]: failed to fetch a form approver.` +
|
|
77
|
+
`\tapproverId: ${userId}. Assessment Title: ${assessment.name}. Template Title: ${templateName}`));
|
|
78
|
+
return [];
|
|
58
79
|
}
|
|
59
|
-
return approver;
|
|
60
80
|
}, { concurrency: 5 });
|
|
61
81
|
}
|
|
62
82
|
// fetch assessment internal respondents information
|
|
@@ -67,12 +87,19 @@ const syncOneTrustAssessments = async ({ oneTrust, file, fileFormat, dryRun, tra
|
|
|
67
87
|
if (internalRespondents.length > 0) {
|
|
68
88
|
logger_1.logger.info(`[assessment ${assessmentNumber} of ${assessments.length}]: fetching respondents...`);
|
|
69
89
|
respondentsDetails = await (0, bluebird_1.map)(internalRespondents.map(({ id }) => id), async (userId) => {
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
90
|
+
try {
|
|
91
|
+
let respondent = oneTrustCachedUsers[userId];
|
|
92
|
+
if (!respondent) {
|
|
93
|
+
respondent = await (0, endpoints_1.getOneTrustUser)({ oneTrust, userId });
|
|
94
|
+
oneTrustCachedUsers[userId] = respondent;
|
|
95
|
+
}
|
|
96
|
+
return [respondent];
|
|
97
|
+
}
|
|
98
|
+
catch (e) {
|
|
99
|
+
logger_1.logger.error(colors_1.default.red(`[assessment ${assessmentNumber} of ${assessments.length}]: failed to fetch a respondent.` +
|
|
100
|
+
`\trespondentId: ${userId}. Assessment Title: ${assessment.name}. Template Title: ${templateName}`));
|
|
101
|
+
return [];
|
|
74
102
|
}
|
|
75
|
-
return respondent;
|
|
76
103
|
}, { concurrency: 5 });
|
|
77
104
|
}
|
|
78
105
|
// fetch assessment risk information
|
|
@@ -90,8 +117,8 @@ const syncOneTrustAssessments = async ({ oneTrust, file, fileFormat, dryRun, tra
|
|
|
90
117
|
assessmentDetails,
|
|
91
118
|
riskDetails,
|
|
92
119
|
creatorDetails: creator,
|
|
93
|
-
approversDetails,
|
|
94
|
-
respondentsDetails,
|
|
120
|
+
approversDetails: approversDetails.flat(),
|
|
121
|
+
respondentsDetails: respondentsDetails.flat(),
|
|
95
122
|
});
|
|
96
123
|
batchEnrichedAssessments.push(enrichedAssessment);
|
|
97
124
|
}, { concurrency: BATCH_SIZE });
|
|
@@ -121,5 +148,5 @@ const syncOneTrustAssessments = async ({ oneTrust, file, fileFormat, dryRun, tra
|
|
|
121
148
|
});
|
|
122
149
|
});
|
|
123
150
|
};
|
|
124
|
-
exports.
|
|
125
|
-
//# sourceMappingURL=
|
|
151
|
+
exports.syncOneTrustAssessmentsFromOneTrust = syncOneTrustAssessmentsFromOneTrust;
|
|
152
|
+
//# sourceMappingURL=syncOneTrustAssessmentsFromOneTrust.js.map
|