@getjones/test-infra 2.8.2 → 2.8.4
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/package.json +29 -29
- package/src/common/commonFlows/auth/auth.js +40 -40
- package/src/common/commonFlows/index.js +4 -4
- package/src/common/commonFlows/records/records.js +72 -72
- package/src/common/consts/dashboardCharts.js +17 -17
- package/src/common/consts/recordTypes.js +5 -5
- package/src/common/consts/userTypes.js +5 -5
- package/src/common/httpResponseStatusCodes.json +11 -11
- package/src/common/requests/apiKeyAuth/requests.js +44 -44
- package/src/common/requests/cookieAuth/requests.js +40 -40
- package/src/common/requests/requestHandlers.js +78 -78
- package/src/common/utils/complianceUtil.js +56 -56
- package/src/common/utils/dataTypeUtils.js +41 -41
- package/src/common/utils/numberUtils.js +22 -22
- package/src/common/utils/objectUtils.js +7 -7
- package/src/common/utils/timeUtils.js +175 -175
- package/src/common/validations/errorValidation.js +16 -16
- package/src/common/validations/typeValidations.js +36 -36
- package/src/defaults/configs/auditConfigs.js +91 -91
- package/src/defaults/configs/coverage.js +227 -227
- package/src/defaults/configs/polices.js +49 -49
- package/src/defaults/configs/requirement.js +32 -32
- package/src/defaults/index.js +6 -6
- package/src/env.js +57 -57
- package/src/factory/index.js +7 -7
- package/src/factory/records/records.js +142 -141
- package/src/factory/users/users.js +79 -79
- package/src/index.js +81 -81
- package/src/saas/internal-api/accounts/api/core/accounts.core.api.js +28 -28
- package/src/saas/internal-api/accounts/api/core/accounts.core.service.js +77 -77
- package/src/saas/internal-api/accounts/api/openapi/accounts.openapi.api.js +48 -48
- package/src/saas/internal-api/accounts/api/openapi/accounts.openapi.service.js +74 -74
- package/src/saas/internal-api/accounts/api/settings/settings.api.js +21 -21
- package/src/saas/internal-api/accounts/api/settings/settings.service.js +41 -41
- package/src/saas/internal-api/accounts/consts/consts.js +6 -6
- package/src/saas/internal-api/accounts/index.js +21 -21
- package/src/saas/internal-api/accounts/models/core/create.account.model.js +16 -16
- package/src/saas/internal-api/accounts/models/settings/update.settings.model.js +38 -36
- package/src/saas/internal-api/accounts/utils/utils.js +66 -66
- package/src/saas/internal-api/auditNotes/api/audit.notes.api.js +40 -40
- package/src/saas/internal-api/auditNotes/api/audit.notes.service.js +115 -115
- package/src/saas/internal-api/auditNotes/index.js +4 -4
- package/src/saas/internal-api/auditNotes/models/audit.note.model.js +30 -30
- package/src/saas/internal-api/auth/api/auth.api.js +27 -27
- package/src/saas/internal-api/auth/api/auth.service.js +90 -90
- package/src/saas/internal-api/auth/index.js +3 -3
- package/src/saas/internal-api/coi/api/coi.api.js +34 -34
- package/src/saas/internal-api/coi/api/coi.service.js +22 -22
- package/src/saas/internal-api/coi/consts/uploaderTypes.js +5 -5
- package/src/saas/internal-api/coi/index.js +13 -13
- package/src/saas/internal-api/coi/models/submit.coi.model.js +9 -9
- package/src/saas/internal-api/coi/utils/utils.js +48 -48
- package/src/saas/internal-api/compliance/api/audit/audit.api.js +46 -46
- package/src/saas/internal-api/compliance/api/audit/audit.service.js +143 -143
- package/src/saas/internal-api/compliance/api/convert/convert.api.js +17 -17
- package/src/saas/internal-api/compliance/api/convert/convert.service.js +11 -11
- package/src/saas/internal-api/compliance/api/coverage/coverage.api.js +33 -33
- package/src/saas/internal-api/compliance/api/coverage/coverage.service.js +48 -48
- package/src/saas/internal-api/compliance/api/overrideGap/override.gap.api.js +33 -33
- package/src/saas/internal-api/compliance/api/overrideGap/override.gap.service.js +127 -127
- package/src/saas/internal-api/compliance/consts/audit.js +71 -71
- package/src/saas/internal-api/compliance/index.js +33 -33
- package/src/saas/internal-api/compliance/models/audit/audit.model.js +84 -84
- package/src/saas/internal-api/compliance/models/waive/waive.model.js +49 -49
- package/src/saas/internal-api/compliance/utils/auditUtil.js +222 -222
- package/src/saas/internal-api/compliance/utils/coverageUtil.js +40 -40
- package/src/saas/internal-api/contractors/api/contractors.api.js +153 -153
- package/src/saas/internal-api/contractors/api/contractors.service.js +169 -169
- package/src/saas/internal-api/contractors/consts/consts.js +6 -6
- package/src/saas/internal-api/contractors/index.js +9 -9
- package/src/saas/internal-api/contractors/models/assign.requirement.model.js +10 -10
- package/src/saas/internal-api/contractors/models/create.contractor.model.js +22 -22
- package/src/saas/internal-api/contractors/models/edit.contractor.model.js +60 -60
- package/src/saas/internal-api/contractors/models/verification.contractor.model.js +27 -27
- package/src/saas/internal-api/dashboard/api/recordList.api.js +38 -38
- package/src/saas/internal-api/dashboard/api/recordList.service.js +60 -60
- package/src/saas/internal-api/dashboard/index.js +5 -5
- package/src/saas/internal-api/dashboard/models/dashboard.filter.criteria.model.js +38 -38
- package/src/saas/internal-api/dbEmails/api/db.emails.api.js +25 -25
- package/src/saas/internal-api/dbEmails/api/db.emails.service.js +127 -127
- package/src/saas/internal-api/dbEmails/consts/consts.js +37 -37
- package/src/saas/internal-api/dbEmails/index.js +5 -5
- package/src/saas/internal-api/dbEmails/models/db.emails.model.js +21 -21
- package/src/saas/internal-api/dbEmails/utils/util.js +68 -68
- package/src/saas/internal-api/globalRecord/api/global.record.api.js +82 -82
- package/src/saas/internal-api/globalRecord/api/global.record.service.js +95 -95
- package/src/saas/internal-api/globalRecord/consts.js +20 -20
- package/src/saas/internal-api/globalRecord/index.js +6 -6
- package/src/saas/internal-api/globalRecord/models/global.record.model.js +43 -43
- package/src/saas/internal-api/globalRecord/utils/util.js +148 -148
- package/src/saas/internal-api/homepageCharts/api/charts.api.js +12 -12
- package/src/saas/internal-api/homepageCharts/api/charts.service.js +7 -7
- package/src/saas/internal-api/homepageCharts/index.js +3 -3
- package/src/saas/internal-api/projects/api/core/projects.api.js +39 -39
- package/src/saas/internal-api/projects/api/core/projects.service.js +65 -65
- package/src/saas/internal-api/projects/api/settings/project.settings.api.js +18 -18
- package/src/saas/internal-api/projects/api/settings/project.settings.service.js +35 -35
- package/src/saas/internal-api/projects/consts/defaultProject.js +3 -3
- package/src/saas/internal-api/projects/index.js +24 -24
- package/src/saas/internal-api/projects/models/core/create.project.model.js +41 -41
- package/src/saas/internal-api/projects/models/core/update.project.model.js +47 -47
- package/src/saas/internal-api/projects/models/settings/update.project.settings.model.js +41 -41
- package/src/saas/internal-api/projects/utils/utils.js +156 -156
- package/src/saas/internal-api/recordNotes/api/record.notes.api.js +38 -38
- package/src/saas/internal-api/recordNotes/api/record.notes.service.js +29 -29
- package/src/saas/internal-api/recordNotes/index.js +3 -3
- package/src/saas/internal-api/reports/api/reports.api.js +39 -39
- package/src/saas/internal-api/reports/api/reports.service.js +34 -34
- package/src/saas/internal-api/reports/consts/consts.js +63 -63
- package/src/saas/internal-api/reports/index.js +15 -15
- package/src/saas/internal-api/reports/models/report.model.js +27 -27
- package/src/saas/internal-api/requests/api/requests.api.js +72 -72
- package/src/saas/internal-api/requests/api/requests.service.js +122 -114
- package/src/saas/internal-api/requests/index.js +14 -14
- package/src/saas/internal-api/requests/models/create.request.model.js +33 -33
- package/src/saas/internal-api/requests/models/edit.request.model.js +31 -31
- package/src/saas/internal-api/requests/models/tenant.request.model.js +9 -9
- package/src/saas/internal-api/requests/utils.js +8 -8
- package/src/saas/internal-api/requestsTable/api/requests.table.api.js +20 -20
- package/src/saas/internal-api/requestsTable/api/requests.table.service.js +14 -14
- package/src/saas/internal-api/requestsTable/index.js +3 -3
- package/src/saas/internal-api/requirements/api/requirements.api.js +45 -45
- package/src/saas/internal-api/requirements/api/requirements.service.js +134 -134
- package/src/saas/internal-api/requirements/consts/attributeTypes.json +5 -5
- package/src/saas/internal-api/requirements/consts/consts.js +6 -6
- package/src/saas/internal-api/requirements/index.js +9 -9
- package/src/saas/internal-api/requirements/models/create.requirement.model.js +17 -17
- package/src/saas/internal-api/requirements/models/policy.model.js +32 -32
- package/src/saas/internal-api/requirements/models/update.requirement.model.js +19 -19
- package/src/saas/internal-api/requirements/utils/utils.js +102 -102
- package/src/saas/internal-api/serviceArea/api/coordinates.api.js +12 -12
- package/src/saas/internal-api/serviceArea/api/coordinates.service.js +7 -7
- package/src/saas/internal-api/serviceArea/index.js +4 -4
- package/src/saas/internal-api/serviceArea/utils/utils.js +8 -8
- package/src/saas/internal-api/tabs/api/tabs.api.js +32 -32
- package/src/saas/internal-api/tabs/api/tabs.service.js +54 -54
- package/src/saas/internal-api/tabs/index.js +3 -3
- package/src/saas/internal-api/tabs/models/tabs.model.js +18 -18
- package/src/saas/internal-api/thread-scheduler/runner.js +39 -39
- package/src/saas/internal-api/users/api/tenantApp/tenant.app.api.js +32 -32
- package/src/saas/internal-api/users/api/tenantApp/tenant.app.service.js +78 -78
- package/src/saas/internal-api/users/api/users.api.js +77 -77
- package/src/saas/internal-api/users/api/users.service.js +101 -101
- package/src/saas/internal-api/users/index.js +11 -11
- package/src/saas/internal-api/users/models/tenent.user.model.js +11 -11
- package/src/saas/internal-api/users/models/users.model.js +31 -31
- package/src/saas/internal-api/users/utils/util.js +20 -20
- package/src/saas/internal-api/vendorProfile/api/vendor.profile.api.js +20 -20
- package/src/saas/internal-api/vendorProfile/api/vendor.profile.service.js +14 -14
- package/src/saas/internal-api/vendorProfile/index.js +3 -3
- package/src/saas/openapi/accounts/accounts.api.js +17 -17
- package/src/saas/openapi/accounts/accounts.service.js +11 -11
- package/src/saas/openapi/coi/coi.api.js +20 -20
- package/src/saas/openapi/coi/coi.service.js +13 -13
- package/src/saas/openapi/projects/projects.api.js +59 -59
- package/src/saas/openapi/projects/projects.service.js +44 -44
- package/src/saas/openapi/requests/index.js +7 -7
- package/src/saas/openapi/requests/models/invite.request.model.js +37 -37
- package/src/saas/openapi/requests/models/update.request.model.js +35 -35
- package/src/saas/openapi/requests/requests.api.js +76 -76
- package/src/saas/openapi/requests/requests.service.js +65 -65
- package/src/saas/openapi/requirements/index.js +6 -6
- package/src/saas/openapi/requirements/models/copy.requirement.model.js +10 -10
- package/src/saas/openapi/requirements/requirements.api.js +26 -26
- package/src/saas/openapi/requirements/requirements.service.js +32 -32
- package/src/saas/openapi/tabs/index.js +6 -0
- package/src/saas/openapi/tabs/models/create.tab.model.js +6 -0
- package/src/saas/openapi/tabs/tabs.api.js +18 -13
- package/src/saas/openapi/tabs/tabs.service.js +11 -7
- package/tests/env.test.js +40 -40
- package/tests/validation.test.js +83 -83
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
const { ICS, PM, AUDITOR } = require('../../../../common/consts/userTypes');
|
|
2
|
-
|
|
3
|
-
const UPLOADER_TYPES = { ICS, PM, AUDITOR };
|
|
4
|
-
|
|
5
|
-
module.exports = UPLOADER_TYPES;
|
|
1
|
+
const { ICS, PM, AUDITOR } = require('../../../../common/consts/userTypes');
|
|
2
|
+
|
|
3
|
+
const UPLOADER_TYPES = { ICS, PM, AUDITOR };
|
|
4
|
+
|
|
5
|
+
module.exports = UPLOADER_TYPES;
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
const services = require('./api/coi.service');
|
|
2
|
-
|
|
3
|
-
const models = {
|
|
4
|
-
submit: require('./models/submit.coi.model')
|
|
5
|
-
};
|
|
6
|
-
|
|
7
|
-
const utils = require('./utils/utils');
|
|
8
|
-
|
|
9
|
-
const consts = {
|
|
10
|
-
UPLOADER_TYPES: require('./consts/uploaderTypes')
|
|
11
|
-
};
|
|
12
|
-
|
|
13
|
-
module.exports = { services, models, utils, consts };
|
|
1
|
+
const services = require('./api/coi.service');
|
|
2
|
+
|
|
3
|
+
const models = {
|
|
4
|
+
submit: require('./models/submit.coi.model')
|
|
5
|
+
};
|
|
6
|
+
|
|
7
|
+
const utils = require('./utils/utils');
|
|
8
|
+
|
|
9
|
+
const consts = {
|
|
10
|
+
UPLOADER_TYPES: require('./consts/uploaderTypes')
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
module.exports = { services, models, utils, consts };
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
function SubmitCoiModel(contractorId, fileIds, uploadedBy, uploaderEmail, isContractorExist = true) {
|
|
2
|
-
this.contractorId = contractorId;
|
|
3
|
-
this.chosenIds = fileIds;
|
|
4
|
-
this.uploadedBy = uploadedBy;
|
|
5
|
-
this.uploaderEmail = uploaderEmail;
|
|
6
|
-
this.isContractorExist = isContractorExist;
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
module.exports = { SubmitCoiModel };
|
|
1
|
+
function SubmitCoiModel(contractorId, fileIds, uploadedBy, uploaderEmail, isContractorExist = true) {
|
|
2
|
+
this.contractorId = contractorId;
|
|
3
|
+
this.chosenIds = fileIds;
|
|
4
|
+
this.uploadedBy = uploadedBy;
|
|
5
|
+
this.uploaderEmail = uploaderEmail;
|
|
6
|
+
this.isContractorExist = isContractorExist;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
module.exports = { SubmitCoiModel };
|
|
@@ -1,48 +1,48 @@
|
|
|
1
|
-
const fs = require('fs');
|
|
2
|
-
|
|
3
|
-
const services = require('../api/coi.service');
|
|
4
|
-
const { SubmitCoiModel } = require('../models/submit.coi.model');
|
|
5
|
-
|
|
6
|
-
const uploadFileToStorage = (recordId, filePath) => {
|
|
7
|
-
const fileData = fs.createReadStream(filePath);
|
|
8
|
-
return services.uploadToS3(recordId, fileData);
|
|
9
|
-
};
|
|
10
|
-
|
|
11
|
-
const submitCoiFilesUpload = (recordId, fileIds, uploaderType, uploaderEmail) => {
|
|
12
|
-
const submitCoiModel = new SubmitCoiModel(
|
|
13
|
-
recordId,
|
|
14
|
-
fileIds,
|
|
15
|
-
uploaderType,
|
|
16
|
-
uploaderEmail
|
|
17
|
-
);
|
|
18
|
-
return services.submitCoi(submitCoiModel);
|
|
19
|
-
};
|
|
20
|
-
|
|
21
|
-
const uploadCoi = async (
|
|
22
|
-
recordId,
|
|
23
|
-
filePath,
|
|
24
|
-
uploaderType,
|
|
25
|
-
uploaderEmail,
|
|
26
|
-
{
|
|
27
|
-
markAsScaned, // Should be passed with context
|
|
28
|
-
context
|
|
29
|
-
} = {}
|
|
30
|
-
) => {
|
|
31
|
-
const uploadResponse = await uploadFileToStorage(recordId, filePath);
|
|
32
|
-
const fileId = uploadResponse.data.fileId;
|
|
33
|
-
|
|
34
|
-
const submitResponse = fileId && await submitCoiFilesUpload(recordId, [fileId], uploaderType, uploaderEmail);
|
|
35
|
-
const uploadedCoi = !!submitResponse.data.fileName && { id: fileId, name: submitResponse.data.fileName };
|
|
36
|
-
|
|
37
|
-
if (uploadedCoi.name && markAsScaned && context) {
|
|
38
|
-
await services.completeScan(recordId, uploadedCoi.name, context);
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
return uploadedCoi;
|
|
42
|
-
};
|
|
43
|
-
|
|
44
|
-
module.exports = {
|
|
45
|
-
uploadCoi,
|
|
46
|
-
uploadFileToStorage,
|
|
47
|
-
submitCoiFilesUpload
|
|
48
|
-
};
|
|
1
|
+
const fs = require('fs');
|
|
2
|
+
|
|
3
|
+
const services = require('../api/coi.service');
|
|
4
|
+
const { SubmitCoiModel } = require('../models/submit.coi.model');
|
|
5
|
+
|
|
6
|
+
const uploadFileToStorage = (recordId, filePath) => {
|
|
7
|
+
const fileData = fs.createReadStream(filePath);
|
|
8
|
+
return services.uploadToS3(recordId, fileData);
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
const submitCoiFilesUpload = (recordId, fileIds, uploaderType, uploaderEmail) => {
|
|
12
|
+
const submitCoiModel = new SubmitCoiModel(
|
|
13
|
+
recordId,
|
|
14
|
+
fileIds,
|
|
15
|
+
uploaderType,
|
|
16
|
+
uploaderEmail
|
|
17
|
+
);
|
|
18
|
+
return services.submitCoi(submitCoiModel);
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
const uploadCoi = async (
|
|
22
|
+
recordId,
|
|
23
|
+
filePath,
|
|
24
|
+
uploaderType,
|
|
25
|
+
uploaderEmail,
|
|
26
|
+
{
|
|
27
|
+
markAsScaned, // Should be passed with context
|
|
28
|
+
context
|
|
29
|
+
} = {}
|
|
30
|
+
) => {
|
|
31
|
+
const uploadResponse = await uploadFileToStorage(recordId, filePath);
|
|
32
|
+
const fileId = uploadResponse.data.fileId;
|
|
33
|
+
|
|
34
|
+
const submitResponse = fileId && await submitCoiFilesUpload(recordId, [fileId], uploaderType, uploaderEmail);
|
|
35
|
+
const uploadedCoi = !!submitResponse.data.fileName && { id: fileId, name: submitResponse.data.fileName };
|
|
36
|
+
|
|
37
|
+
if (uploadedCoi.name && markAsScaned && context) {
|
|
38
|
+
await services.completeScan(recordId, uploadedCoi.name, context);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
return uploadedCoi;
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
module.exports = {
|
|
45
|
+
uploadCoi,
|
|
46
|
+
uploadFileToStorage,
|
|
47
|
+
submitCoiFilesUpload
|
|
48
|
+
};
|
|
@@ -1,46 +1,46 @@
|
|
|
1
|
-
const requests = require('../../../../../common/requests/cookieAuth/requests');
|
|
2
|
-
const { backendUrl } = require('../../../../../env').getEnv();
|
|
3
|
-
|
|
4
|
-
const Endpoints = {
|
|
5
|
-
auditorContractorList: `${backendUrl}/saas/auditor/contractors`,
|
|
6
|
-
preAudit: contractorId => `${backendUrl}/saas/auditor/contractors/${contractorId}/master-audit`,
|
|
7
|
-
audit: `${backendUrl}/saas/auditor/contractors/submit/audits`,
|
|
8
|
-
contractorDetailsForAudit: contractorId => `${backendUrl}/saas/auditor/contractors/${contractorId}/master-audit`,
|
|
9
|
-
requirementDetailsForAudit: contractorId => `${backendUrl}/saas/auditor/contractor/${contractorId}/requirement`,
|
|
10
|
-
isReaudit: contractorId => `${backendUrl}/saas/auditor/contractors/${contractorId}/isreaudit`,
|
|
11
|
-
revertCoi: contractorId => `${backendUrl}/saas/auditor/contractors/${contractorId}/coi/revert`
|
|
12
|
-
};
|
|
13
|
-
|
|
14
|
-
const audit = async (contractorId, auditRequestModel, context) => {
|
|
15
|
-
await requests.getRequestHandler(Endpoints.preAudit(contractorId), {}, context);
|
|
16
|
-
return requests.postRequestHandler(Endpoints.audit, auditRequestModel, context);
|
|
17
|
-
};
|
|
18
|
-
|
|
19
|
-
const revertCoi = (contractorId, dateModified, context) => {
|
|
20
|
-
return requests.postRequestHandler(Endpoints.revertCoi(contractorId), dateModified, context);
|
|
21
|
-
};
|
|
22
|
-
|
|
23
|
-
const isReaudit = (contractorId, context) => {
|
|
24
|
-
return requests.getRequestHandler(Endpoints.isReaudit(contractorId), {}, context);
|
|
25
|
-
};
|
|
26
|
-
|
|
27
|
-
const getAuditorContractorList = (auditListParametersModel, context) => {
|
|
28
|
-
return requests.postRequestHandler(Endpoints.auditorContractorList, auditListParametersModel, context);
|
|
29
|
-
};
|
|
30
|
-
|
|
31
|
-
const getContractorDetailsForAudit = (contractorId, context) => {
|
|
32
|
-
return requests.getRequestHandler(Endpoints.contractorDetailsForAudit(contractorId), {}, context);
|
|
33
|
-
};
|
|
34
|
-
|
|
35
|
-
const getRequirementDetailsForAudit = (contractorId, context) => {
|
|
36
|
-
return requests.getRequestHandler(Endpoints.requirementDetailsForAudit(contractorId), {}, context);
|
|
37
|
-
};
|
|
38
|
-
|
|
39
|
-
module.exports = {
|
|
40
|
-
audit,
|
|
41
|
-
revertCoi,
|
|
42
|
-
isReaudit,
|
|
43
|
-
getAuditorContractorList,
|
|
44
|
-
getContractorDetailsForAudit,
|
|
45
|
-
getRequirementDetailsForAudit
|
|
46
|
-
};
|
|
1
|
+
const requests = require('../../../../../common/requests/cookieAuth/requests');
|
|
2
|
+
const { backendUrl } = require('../../../../../env').getEnv();
|
|
3
|
+
|
|
4
|
+
const Endpoints = {
|
|
5
|
+
auditorContractorList: `${backendUrl}/saas/auditor/contractors`,
|
|
6
|
+
preAudit: contractorId => `${backendUrl}/saas/auditor/contractors/${contractorId}/master-audit`,
|
|
7
|
+
audit: `${backendUrl}/saas/auditor/contractors/submit/audits`,
|
|
8
|
+
contractorDetailsForAudit: contractorId => `${backendUrl}/saas/auditor/contractors/${contractorId}/master-audit`,
|
|
9
|
+
requirementDetailsForAudit: contractorId => `${backendUrl}/saas/auditor/contractor/${contractorId}/requirement`,
|
|
10
|
+
isReaudit: contractorId => `${backendUrl}/saas/auditor/contractors/${contractorId}/isreaudit`,
|
|
11
|
+
revertCoi: contractorId => `${backendUrl}/saas/auditor/contractors/${contractorId}/coi/revert`
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
const audit = async (contractorId, auditRequestModel, context) => {
|
|
15
|
+
await requests.getRequestHandler(Endpoints.preAudit(contractorId), {}, context);
|
|
16
|
+
return requests.postRequestHandler(Endpoints.audit, auditRequestModel, context);
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
const revertCoi = (contractorId, dateModified, context) => {
|
|
20
|
+
return requests.postRequestHandler(Endpoints.revertCoi(contractorId), dateModified, context);
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
const isReaudit = (contractorId, context) => {
|
|
24
|
+
return requests.getRequestHandler(Endpoints.isReaudit(contractorId), {}, context);
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
const getAuditorContractorList = (auditListParametersModel, context) => {
|
|
28
|
+
return requests.postRequestHandler(Endpoints.auditorContractorList, auditListParametersModel, context);
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
const getContractorDetailsForAudit = (contractorId, context) => {
|
|
32
|
+
return requests.getRequestHandler(Endpoints.contractorDetailsForAudit(contractorId), {}, context);
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
const getRequirementDetailsForAudit = (contractorId, context) => {
|
|
36
|
+
return requests.getRequestHandler(Endpoints.requirementDetailsForAudit(contractorId), {}, context);
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
module.exports = {
|
|
40
|
+
audit,
|
|
41
|
+
revertCoi,
|
|
42
|
+
isReaudit,
|
|
43
|
+
getAuditorContractorList,
|
|
44
|
+
getContractorDetailsForAudit,
|
|
45
|
+
getRequirementDetailsForAudit
|
|
46
|
+
};
|
|
@@ -1,143 +1,143 @@
|
|
|
1
|
-
const auditApi = require('./audit.api');
|
|
2
|
-
const { AuditRequestModel, AuditListParametersModel, AuditDatesModel } = require('../../models/audit/audit.model');
|
|
3
|
-
const { validateType } = require('../../../../../common/validations/typeValidations');
|
|
4
|
-
const auditUtil = require('../../utils/auditUtil');
|
|
5
|
-
const dataTypeUtils = require('../../../../../common/utils/dataTypeUtils');
|
|
6
|
-
const { cloneObject } = require('../../../../../common/utils/objectUtils');
|
|
7
|
-
const complianceUtil = require('../../../../../common/utils/complianceUtil');
|
|
8
|
-
|
|
9
|
-
const audit = (auditRequestModel, context) => {
|
|
10
|
-
validateType(auditRequestModel, AuditRequestModel);
|
|
11
|
-
return auditApi.audit(auditRequestModel.auditData.contractorId, auditRequestModel, context);
|
|
12
|
-
};
|
|
13
|
-
|
|
14
|
-
const revertCoi = (contractorId, dateModified, context) => {
|
|
15
|
-
return auditApi.revertCoi(contractorId, dateModified, context);
|
|
16
|
-
};
|
|
17
|
-
|
|
18
|
-
const isReaudit = (contractorId, context) => {
|
|
19
|
-
return complianceUtil.isReaudit(contractorId, context);
|
|
20
|
-
};
|
|
21
|
-
|
|
22
|
-
const getAuditorContractorList = (auditListParametersModel, context) => {
|
|
23
|
-
validateType(auditListParametersModel, AuditListParametersModel);
|
|
24
|
-
return auditApi.getAuditorContractorList(auditListParametersModel, context);
|
|
25
|
-
};
|
|
26
|
-
|
|
27
|
-
const getContractorDetailsForAudit = (contractorId, context) => {
|
|
28
|
-
return auditApi.getContractorDetailsForAudit(contractorId, context);
|
|
29
|
-
};
|
|
30
|
-
|
|
31
|
-
const getRequirementDetailsForAudit = (contractorId, context) => {
|
|
32
|
-
return auditApi.getRequirementDetailsForAudit(contractorId, context);
|
|
33
|
-
};
|
|
34
|
-
|
|
35
|
-
const getAuditMetadata = async (
|
|
36
|
-
auditorContext,
|
|
37
|
-
accountId,
|
|
38
|
-
projectId,
|
|
39
|
-
requirementId,
|
|
40
|
-
recordId,
|
|
41
|
-
{
|
|
42
|
-
isProjectOnboarding,
|
|
43
|
-
shouldSendNotificationToPM
|
|
44
|
-
} = {}
|
|
45
|
-
) => {
|
|
46
|
-
return complianceUtil.getAuditMetadata(
|
|
47
|
-
auditorContext,
|
|
48
|
-
accountId,
|
|
49
|
-
projectId,
|
|
50
|
-
requirementId,
|
|
51
|
-
recordId,
|
|
52
|
-
{
|
|
53
|
-
isProjectOnboarding,
|
|
54
|
-
shouldSendNotificationToPM
|
|
55
|
-
}
|
|
56
|
-
);
|
|
57
|
-
};
|
|
58
|
-
|
|
59
|
-
const getAuditEntities = async (recordId, auditData, auditorContext) => {
|
|
60
|
-
const requirementDetailsForAuditResponse = await getRequirementDetailsForAudit(recordId, auditorContext);
|
|
61
|
-
const requirement = requirementDetailsForAuditResponse.data;
|
|
62
|
-
|
|
63
|
-
const auditEntities = [];
|
|
64
|
-
auditData.forEach(auditEntity => auditEntities.push(
|
|
65
|
-
auditUtil.createAuditEntity(requirement, { ... auditEntity }))
|
|
66
|
-
);
|
|
67
|
-
return auditEntities;
|
|
68
|
-
};
|
|
69
|
-
|
|
70
|
-
const getAuditRequestModel = (metaData, auditEntities) => {
|
|
71
|
-
const {
|
|
72
|
-
accountId = null,
|
|
73
|
-
projectId = null,
|
|
74
|
-
requirementId = null,
|
|
75
|
-
contractorId = null,
|
|
76
|
-
certificateId = null,
|
|
77
|
-
auditorId = null,
|
|
78
|
-
auditStatus = null,
|
|
79
|
-
isReaudit = false,
|
|
80
|
-
isProjectOnboarding = false,
|
|
81
|
-
shouldSendNotificationToPM = false,
|
|
82
|
-
auditDates = {}
|
|
83
|
-
} = metaData;
|
|
84
|
-
|
|
85
|
-
const auditDatesModel = new AuditDatesModel(
|
|
86
|
-
auditDates.contractorId,
|
|
87
|
-
auditDates.contractorDateModified,
|
|
88
|
-
auditDates.dateStartedAudit,
|
|
89
|
-
auditDates.contractorOverrideDateModified,
|
|
90
|
-
auditDates.contractCreateDate
|
|
91
|
-
);
|
|
92
|
-
|
|
93
|
-
const auditRequestModel = new AuditRequestModel(
|
|
94
|
-
accountId,
|
|
95
|
-
projectId,
|
|
96
|
-
requirementId,
|
|
97
|
-
contractorId,
|
|
98
|
-
certificateId,
|
|
99
|
-
auditorId,
|
|
100
|
-
auditEntities,
|
|
101
|
-
isReaudit,
|
|
102
|
-
isProjectOnboarding,
|
|
103
|
-
shouldSendNotificationToPM,
|
|
104
|
-
auditDatesModel,
|
|
105
|
-
auditStatus
|
|
106
|
-
);
|
|
107
|
-
|
|
108
|
-
return auditRequestModel;
|
|
109
|
-
};
|
|
110
|
-
|
|
111
|
-
const auditRecord = async function(
|
|
112
|
-
auditorContext,
|
|
113
|
-
accountId,
|
|
114
|
-
projectId,
|
|
115
|
-
requirementId,
|
|
116
|
-
recordId,
|
|
117
|
-
auditConfig
|
|
118
|
-
) {
|
|
119
|
-
const auditMetadata = await getAuditMetadata(auditorContext, accountId, projectId, requirementId, recordId);
|
|
120
|
-
|
|
121
|
-
const auditApiConfig = dataTypeUtils.isObject(auditConfig) ?
|
|
122
|
-
auditUtil.parseAuditConfig(cloneObject(auditConfig)) :
|
|
123
|
-
auditConfig;
|
|
124
|
-
|
|
125
|
-
const auditEntities = await getAuditEntities(recordId, auditApiConfig, auditorContext);
|
|
126
|
-
const auditRequestModel = getAuditRequestModel(auditMetadata, auditEntities);
|
|
127
|
-
|
|
128
|
-
const auditResponse = await audit(auditRequestModel, auditorContext);
|
|
129
|
-
return auditResponse;
|
|
130
|
-
};
|
|
131
|
-
|
|
132
|
-
module.exports = {
|
|
133
|
-
audit,
|
|
134
|
-
revertCoi,
|
|
135
|
-
isReaudit,
|
|
136
|
-
getAuditorContractorList,
|
|
137
|
-
getContractorDetailsForAudit,
|
|
138
|
-
getRequirementDetailsForAudit,
|
|
139
|
-
getAuditEntities,
|
|
140
|
-
getAuditMetadata,
|
|
141
|
-
getAuditRequestModel,
|
|
142
|
-
auditRecord
|
|
143
|
-
};
|
|
1
|
+
const auditApi = require('./audit.api');
|
|
2
|
+
const { AuditRequestModel, AuditListParametersModel, AuditDatesModel } = require('../../models/audit/audit.model');
|
|
3
|
+
const { validateType } = require('../../../../../common/validations/typeValidations');
|
|
4
|
+
const auditUtil = require('../../utils/auditUtil');
|
|
5
|
+
const dataTypeUtils = require('../../../../../common/utils/dataTypeUtils');
|
|
6
|
+
const { cloneObject } = require('../../../../../common/utils/objectUtils');
|
|
7
|
+
const complianceUtil = require('../../../../../common/utils/complianceUtil');
|
|
8
|
+
|
|
9
|
+
const audit = (auditRequestModel, context) => {
|
|
10
|
+
validateType(auditRequestModel, AuditRequestModel);
|
|
11
|
+
return auditApi.audit(auditRequestModel.auditData.contractorId, auditRequestModel, context);
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
const revertCoi = (contractorId, dateModified, context) => {
|
|
15
|
+
return auditApi.revertCoi(contractorId, dateModified, context);
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
const isReaudit = (contractorId, context) => {
|
|
19
|
+
return complianceUtil.isReaudit(contractorId, context);
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
const getAuditorContractorList = (auditListParametersModel, context) => {
|
|
23
|
+
validateType(auditListParametersModel, AuditListParametersModel);
|
|
24
|
+
return auditApi.getAuditorContractorList(auditListParametersModel, context);
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
const getContractorDetailsForAudit = (contractorId, context) => {
|
|
28
|
+
return auditApi.getContractorDetailsForAudit(contractorId, context);
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
const getRequirementDetailsForAudit = (contractorId, context) => {
|
|
32
|
+
return auditApi.getRequirementDetailsForAudit(contractorId, context);
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
const getAuditMetadata = async (
|
|
36
|
+
auditorContext,
|
|
37
|
+
accountId,
|
|
38
|
+
projectId,
|
|
39
|
+
requirementId,
|
|
40
|
+
recordId,
|
|
41
|
+
{
|
|
42
|
+
isProjectOnboarding,
|
|
43
|
+
shouldSendNotificationToPM
|
|
44
|
+
} = {}
|
|
45
|
+
) => {
|
|
46
|
+
return complianceUtil.getAuditMetadata(
|
|
47
|
+
auditorContext,
|
|
48
|
+
accountId,
|
|
49
|
+
projectId,
|
|
50
|
+
requirementId,
|
|
51
|
+
recordId,
|
|
52
|
+
{
|
|
53
|
+
isProjectOnboarding,
|
|
54
|
+
shouldSendNotificationToPM
|
|
55
|
+
}
|
|
56
|
+
);
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
const getAuditEntities = async (recordId, auditData, auditorContext) => {
|
|
60
|
+
const requirementDetailsForAuditResponse = await getRequirementDetailsForAudit(recordId, auditorContext);
|
|
61
|
+
const requirement = requirementDetailsForAuditResponse.data;
|
|
62
|
+
|
|
63
|
+
const auditEntities = [];
|
|
64
|
+
auditData.forEach(auditEntity => auditEntities.push(
|
|
65
|
+
auditUtil.createAuditEntity(requirement, { ... auditEntity }))
|
|
66
|
+
);
|
|
67
|
+
return auditEntities;
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
const getAuditRequestModel = (metaData, auditEntities) => {
|
|
71
|
+
const {
|
|
72
|
+
accountId = null,
|
|
73
|
+
projectId = null,
|
|
74
|
+
requirementId = null,
|
|
75
|
+
contractorId = null,
|
|
76
|
+
certificateId = null,
|
|
77
|
+
auditorId = null,
|
|
78
|
+
auditStatus = null,
|
|
79
|
+
isReaudit = false,
|
|
80
|
+
isProjectOnboarding = false,
|
|
81
|
+
shouldSendNotificationToPM = false,
|
|
82
|
+
auditDates = {}
|
|
83
|
+
} = metaData;
|
|
84
|
+
|
|
85
|
+
const auditDatesModel = new AuditDatesModel(
|
|
86
|
+
auditDates.contractorId,
|
|
87
|
+
auditDates.contractorDateModified,
|
|
88
|
+
auditDates.dateStartedAudit,
|
|
89
|
+
auditDates.contractorOverrideDateModified,
|
|
90
|
+
auditDates.contractCreateDate
|
|
91
|
+
);
|
|
92
|
+
|
|
93
|
+
const auditRequestModel = new AuditRequestModel(
|
|
94
|
+
accountId,
|
|
95
|
+
projectId,
|
|
96
|
+
requirementId,
|
|
97
|
+
contractorId,
|
|
98
|
+
certificateId,
|
|
99
|
+
auditorId,
|
|
100
|
+
auditEntities,
|
|
101
|
+
isReaudit,
|
|
102
|
+
isProjectOnboarding,
|
|
103
|
+
shouldSendNotificationToPM,
|
|
104
|
+
auditDatesModel,
|
|
105
|
+
auditStatus
|
|
106
|
+
);
|
|
107
|
+
|
|
108
|
+
return auditRequestModel;
|
|
109
|
+
};
|
|
110
|
+
|
|
111
|
+
const auditRecord = async function(
|
|
112
|
+
auditorContext,
|
|
113
|
+
accountId,
|
|
114
|
+
projectId,
|
|
115
|
+
requirementId,
|
|
116
|
+
recordId,
|
|
117
|
+
auditConfig
|
|
118
|
+
) {
|
|
119
|
+
const auditMetadata = await getAuditMetadata(auditorContext, accountId, projectId, requirementId, recordId);
|
|
120
|
+
|
|
121
|
+
const auditApiConfig = dataTypeUtils.isObject(auditConfig) ?
|
|
122
|
+
auditUtil.parseAuditConfig(cloneObject(auditConfig)) :
|
|
123
|
+
auditConfig;
|
|
124
|
+
|
|
125
|
+
const auditEntities = await getAuditEntities(recordId, auditApiConfig, auditorContext);
|
|
126
|
+
const auditRequestModel = getAuditRequestModel(auditMetadata, auditEntities);
|
|
127
|
+
|
|
128
|
+
const auditResponse = await audit(auditRequestModel, auditorContext);
|
|
129
|
+
return auditResponse;
|
|
130
|
+
};
|
|
131
|
+
|
|
132
|
+
module.exports = {
|
|
133
|
+
audit,
|
|
134
|
+
revertCoi,
|
|
135
|
+
isReaudit,
|
|
136
|
+
getAuditorContractorList,
|
|
137
|
+
getContractorDetailsForAudit,
|
|
138
|
+
getRequirementDetailsForAudit,
|
|
139
|
+
getAuditEntities,
|
|
140
|
+
getAuditMetadata,
|
|
141
|
+
getAuditRequestModel,
|
|
142
|
+
auditRecord
|
|
143
|
+
};
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
const requests = require('../../../../../common/requests/apiKeyAuth/requests');
|
|
2
|
-
const { nodeBackendUrl, nodeBackendSecret } = require('../../../../../env').getEnv();
|
|
3
|
-
|
|
4
|
-
const Endpoints = {
|
|
5
|
-
ocrToCoverage: `${nodeBackendUrl}/compliance/convert/ocr-to-coverage`,
|
|
6
|
-
requirement: `${nodeBackendUrl}/compliance/convert/requirement`
|
|
7
|
-
};
|
|
8
|
-
|
|
9
|
-
const convertOcrToCoverage = async ocrData => {
|
|
10
|
-
return requests.postRequestHandler(Endpoints.ocrToCoverage, nodeBackendSecret, ocrData);
|
|
11
|
-
};
|
|
12
|
-
|
|
13
|
-
const convertRequirement = async oldRequirement => {
|
|
14
|
-
return requests.postRequestHandler(Endpoints.requirement, nodeBackendSecret, oldRequirement);
|
|
15
|
-
};
|
|
16
|
-
|
|
17
|
-
module.exports = { convertOcrToCoverage, convertRequirement };
|
|
1
|
+
const requests = require('../../../../../common/requests/apiKeyAuth/requests');
|
|
2
|
+
const { nodeBackendUrl, nodeBackendSecret } = require('../../../../../env').getEnv();
|
|
3
|
+
|
|
4
|
+
const Endpoints = {
|
|
5
|
+
ocrToCoverage: `${nodeBackendUrl}/compliance/convert/ocr-to-coverage`,
|
|
6
|
+
requirement: `${nodeBackendUrl}/compliance/convert/requirement`
|
|
7
|
+
};
|
|
8
|
+
|
|
9
|
+
const convertOcrToCoverage = async ocrData => {
|
|
10
|
+
return requests.postRequestHandler(Endpoints.ocrToCoverage, nodeBackendSecret, ocrData);
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
const convertRequirement = async oldRequirement => {
|
|
14
|
+
return requests.postRequestHandler(Endpoints.requirement, nodeBackendSecret, oldRequirement);
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
module.exports = { convertOcrToCoverage, convertRequirement };
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
const convertApi = require('./convert.api');
|
|
2
|
-
|
|
3
|
-
const convertOcrToCoverage = async ocrData => {
|
|
4
|
-
return convertApi.convertOcrToCoverage(ocrData).then(res => res && res.data);
|
|
5
|
-
};
|
|
6
|
-
|
|
7
|
-
const convertRequirement = async requirement => {
|
|
8
|
-
return convertApi.convertRequirement(requirement).then(res => res && res.data);
|
|
9
|
-
};
|
|
10
|
-
|
|
11
|
-
module.exports = { convertOcrToCoverage, convertRequirement };
|
|
1
|
+
const convertApi = require('./convert.api');
|
|
2
|
+
|
|
3
|
+
const convertOcrToCoverage = async ocrData => {
|
|
4
|
+
return convertApi.convertOcrToCoverage(ocrData).then(res => res && res.data);
|
|
5
|
+
};
|
|
6
|
+
|
|
7
|
+
const convertRequirement = async requirement => {
|
|
8
|
+
return convertApi.convertRequirement(requirement).then(res => res && res.data);
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
module.exports = { convertOcrToCoverage, convertRequirement };
|
|
@@ -1,33 +1,33 @@
|
|
|
1
|
-
const apiKeyAuthRequests = require('../../../../../common/requests/apiKeyAuth/requests');
|
|
2
|
-
const cookieAuthRequests = require('../../../../../common/requests/cookieAuth/requests');
|
|
3
|
-
const { backendUrl, nodeBackendUrl } = require('../../../../../env').getEnv();
|
|
4
|
-
|
|
5
|
-
const Endpoints = {
|
|
6
|
-
saveCoverageNode: `${nodeBackendUrl}/coverage`,
|
|
7
|
-
saveCoverageJava: `${backendUrl}/saas/contractors/coverage`,
|
|
8
|
-
getCoverageByCoiId: coiId => `${nodeBackendUrl}/coverage/${coiId}`,
|
|
9
|
-
deleteCoverageByCoiId: coiId => `${nodeBackendUrl}/coverage/${coiId}`
|
|
10
|
-
};
|
|
11
|
-
|
|
12
|
-
const saveCoverageNode = (coverage, nodeBackendSecret) => {
|
|
13
|
-
return apiKeyAuthRequests.postRequestHandler(Endpoints.saveCoverageNode, nodeBackendSecret, coverage);
|
|
14
|
-
};
|
|
15
|
-
|
|
16
|
-
const saveCoverageJava = (auditorContext, auditDates, coverage) => {
|
|
17
|
-
return cookieAuthRequests.postRequestHandler(Endpoints.saveCoverageJava, { auditDates, coverage }, auditorContext);
|
|
18
|
-
};
|
|
19
|
-
|
|
20
|
-
const getCoverageByCoiId = (coiId, nodeBackendSecret) => {
|
|
21
|
-
return apiKeyAuthRequests.getRequestHandler(Endpoints.getCoverageByCoiId(coiId), nodeBackendSecret);
|
|
22
|
-
};
|
|
23
|
-
|
|
24
|
-
const deleteCoverageByCoiId = (coiId, icsContext) => {
|
|
25
|
-
return cookieAuthRequests.deleteRequestHandler(Endpoints.deleteCoverageByCoiId(coiId), icsContext);
|
|
26
|
-
};
|
|
27
|
-
|
|
28
|
-
module.exports = {
|
|
29
|
-
saveCoverageNode,
|
|
30
|
-
saveCoverageJava,
|
|
31
|
-
getCoverageByCoiId,
|
|
32
|
-
deleteCoverageByCoiId
|
|
33
|
-
};
|
|
1
|
+
const apiKeyAuthRequests = require('../../../../../common/requests/apiKeyAuth/requests');
|
|
2
|
+
const cookieAuthRequests = require('../../../../../common/requests/cookieAuth/requests');
|
|
3
|
+
const { backendUrl, nodeBackendUrl } = require('../../../../../env').getEnv();
|
|
4
|
+
|
|
5
|
+
const Endpoints = {
|
|
6
|
+
saveCoverageNode: `${nodeBackendUrl}/coverage`,
|
|
7
|
+
saveCoverageJava: `${backendUrl}/saas/contractors/coverage`,
|
|
8
|
+
getCoverageByCoiId: coiId => `${nodeBackendUrl}/coverage/${coiId}`,
|
|
9
|
+
deleteCoverageByCoiId: coiId => `${nodeBackendUrl}/coverage/${coiId}`
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
const saveCoverageNode = (coverage, nodeBackendSecret) => {
|
|
13
|
+
return apiKeyAuthRequests.postRequestHandler(Endpoints.saveCoverageNode, nodeBackendSecret, coverage);
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
const saveCoverageJava = (auditorContext, auditDates, coverage) => {
|
|
17
|
+
return cookieAuthRequests.postRequestHandler(Endpoints.saveCoverageJava, { auditDates, coverage }, auditorContext);
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
const getCoverageByCoiId = (coiId, nodeBackendSecret) => {
|
|
21
|
+
return apiKeyAuthRequests.getRequestHandler(Endpoints.getCoverageByCoiId(coiId), nodeBackendSecret);
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
const deleteCoverageByCoiId = (coiId, icsContext) => {
|
|
25
|
+
return cookieAuthRequests.deleteRequestHandler(Endpoints.deleteCoverageByCoiId(coiId), icsContext);
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
module.exports = {
|
|
29
|
+
saveCoverageNode,
|
|
30
|
+
saveCoverageJava,
|
|
31
|
+
getCoverageByCoiId,
|
|
32
|
+
deleteCoverageByCoiId
|
|
33
|
+
};
|