@getjones/test-infra 2.13.1 → 3.0.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/package.json +30 -30
- package/src/common/commonFlows/auth/auth.js +40 -40
- package/src/common/commonFlows/index.js +4 -4
- package/src/common/commonFlows/records/records.js +102 -102
- package/src/common/consts/dashboardCharts.js +18 -18
- package/src/common/consts/recordTypes.js +5 -5
- package/src/common/consts/s3FileTypes.js +12 -12
- package/src/common/consts/userTypes.js +8 -8
- 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/internalAuth/requests.js +48 -38
- package/src/common/requests/requestHandlers.js +78 -78
- package/src/common/utils/complianceUtil.js +83 -83
- package/src/common/utils/configsUtil.js +22 -22
- 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 +177 -177
- 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 +64 -60
- package/src/defaults/configs/requirement.js +32 -32
- package/src/defaults/index.js +6 -6
- package/src/env.js +57 -57
- package/src/factory/globalRecord/globalRecord.js +70 -70
- package/src/factory/index.js +8 -8
- package/src/factory/records/records.js +147 -147
- package/src/factory/users/users.js +77 -77
- package/src/index.js +91 -91
- package/src/saas/internal-api/accounts/api/core/accounts.core.api.js +35 -35
- package/src/saas/internal-api/accounts/api/core/accounts.core.service.js +93 -93
- 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 +20 -20
- 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 -38
- package/src/saas/internal-api/accounts/utils/utils.js +58 -58
- package/src/saas/internal-api/agreement/api/agreement.api.js +35 -35
- package/src/saas/internal-api/agreement/api/agreement.service.js +81 -81
- package/src/saas/internal-api/agreement/consts/consts.js +8 -8
- package/src/saas/internal-api/agreement/index.js +11 -11
- package/src/saas/internal-api/agreement/models/create.agreement.model.js +12 -12
- package/src/saas/internal-api/auditCustomerRules/api/customer.rules.api.js +43 -43
- package/src/saas/internal-api/auditCustomerRules/api/customer.rules.service.js +105 -105
- package/src/saas/internal-api/auditCustomerRules/consts/customer.rule.js +11 -11
- package/src/saas/internal-api/auditCustomerRules/index.js +6 -6
- package/src/saas/internal-api/auditCustomerRules/models/customer.rule.model.js +46 -46
- package/src/saas/internal-api/auditCustomerRules/utils/customer.rule.util.js +19 -19
- 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 +100 -100
- package/src/saas/internal-api/compliance/api/audit/audit.service.js +230 -230
- 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 +141 -141
- package/src/saas/internal-api/compliance/consts/audit.js +103 -103
- package/src/saas/internal-api/compliance/index.js +33 -33
- package/src/saas/internal-api/compliance/models/audit/audit.model.js +94 -94
- 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 +179 -179
- package/src/saas/internal-api/contractors/api/contractors.service.js +234 -234
- package/src/saas/internal-api/contractors/consts/consts.js +6 -6
- package/src/saas/internal-api/contractors/index.js +8 -8
- package/src/saas/internal-api/contractors/models/assign.requirement.model.js +10 -10
- 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/contractors/utils.js +25 -25
- 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 +147 -147
- package/src/saas/internal-api/dbEmails/consts/consts.js +54 -54
- package/src/saas/internal-api/dbEmails/index.js +6 -6
- package/src/saas/internal-api/dbEmails/models/db.emails.model.js +22 -22
- package/src/saas/internal-api/dbEmails/utils/util.js +82 -82
- package/src/saas/internal-api/emailCustomization/api/email.customization.api.js +26 -26
- package/src/saas/internal-api/emailCustomization/api/email.customization.service.js +50 -50
- package/src/saas/internal-api/emailCustomization/index.js +3 -3
- package/src/saas/internal-api/globalRecord/api/global.record.api.js +95 -95
- package/src/saas/internal-api/globalRecord/api/global.record.service.js +105 -106
- 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 +60 -60
- package/src/saas/internal-api/globalRecord/utils/util.js +161 -161
- 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 +47 -47
- package/src/saas/internal-api/recordNotes/api/record.notes.utils.js +12 -12
- 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 +64 -64
- 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 +78 -78
- package/src/saas/internal-api/requests/api/requests.service.js +153 -153
- package/src/saas/internal-api/requests/index.js +16 -16
- package/src/saas/internal-api/requests/models/create.request.model.js +34 -34
- package/src/saas/internal-api/requests/models/edit.request.model.js +31 -31
- package/src/saas/internal-api/requests/models/inner.page.request.criteria.model.js +17 -17
- 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 +142 -142
- package/src/saas/internal-api/requirements/consts/attributeTypes.json +6 -6
- package/src/saas/internal-api/requirements/consts/consts.js +6 -6
- package/src/saas/internal-api/requirements/index.js +10 -10
- package/src/saas/internal-api/requirements/models/create.requirement.model.js +17 -17
- package/src/saas/internal-api/requirements/models/policy.model.js +33 -33
- package/src/saas/internal-api/requirements/models/update.requirement.model.js +19 -19
- package/src/saas/internal-api/requirements/utils/utils.js +116 -116
- 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 +19 -19
- package/src/saas/internal-api/thread-scheduler/runner.js +39 -39
- package/src/saas/internal-api/uploadFiles/api/upload.file.api.js +31 -31
- package/src/saas/internal-api/uploadFiles/api/upload.file.service.js +42 -42
- package/src/saas/internal-api/uploadFiles/consts.js +12 -12
- package/src/saas/internal-api/uploadFiles/index.js +3 -3
- 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 +93 -93
- package/src/saas/internal-api/users/api/users.api.js +115 -115
- package/src/saas/internal-api/users/api/users.service.js +203 -203
- package/src/saas/internal-api/users/index.js +16 -16
- package/src/saas/internal-api/users/models/create.inner.system.user.model.js +18 -18
- package/src/saas/internal-api/users/models/notification.settings.model.js +12 -12
- package/src/saas/internal-api/users/models/tenent.user.model.js +11 -11
- package/src/saas/internal-api/users/models/users.model.js +41 -41
- package/src/saas/internal-api/users/utils/util.js +39 -39
- 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 +83 -83
- package/src/saas/openapi/projects/projects.service.js +64 -64
- 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 +82 -82
- package/src/saas/openapi/requests/requests.service.js +70 -70
- 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 +32 -32
- package/src/saas/openapi/requirements/requirements.service.js +37 -37
- package/src/saas/openapi/tabs/index.js +6 -6
- package/src/saas/openapi/tabs/models/create.tab.model.js +6 -6
- package/src/saas/openapi/tabs/tabs.api.js +27 -27
- package/src/saas/openapi/tabs/tabs.service.js +19 -19
- package/src/saas/openapi/users/user.model.js +10 -10
- package/src/saas/openapi/users/users.api.js +33 -33
- package/src/saas/openapi/users/users.service.js +41 -41
- package/tests/env.test.js +40 -40
- package/tests/validation.test.js +83 -83
|
@@ -1,230 +1,230 @@
|
|
|
1
|
-
const auditApi = require('./audit.api');
|
|
2
|
-
const { AuditRequestModel, AuditListParametersModel, AuditDatesModel, AuditOnHoldModel } = 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
|
-
const httpResponseStatusCodes = require('../../../../../common/httpResponseStatusCodes.json');
|
|
9
|
-
|
|
10
|
-
const audit = (auditRequestModel, context) => {
|
|
11
|
-
validateType(auditRequestModel, AuditRequestModel);
|
|
12
|
-
return auditApi.audit(auditRequestModel.auditData.contractorId, auditRequestModel, context);
|
|
13
|
-
};
|
|
14
|
-
|
|
15
|
-
const submitAudit = (auditRequestModel, context) => {
|
|
16
|
-
validateType(auditRequestModel, AuditRequestModel);
|
|
17
|
-
return auditApi.submitAudit(auditRequestModel, context);
|
|
18
|
-
};
|
|
19
|
-
|
|
20
|
-
const revertCoi = (contractorId, dateModified, context) => {
|
|
21
|
-
const dateModifiedObj = { dateModified };
|
|
22
|
-
return auditApi.revertCoi(contractorId, dateModifiedObj, context);
|
|
23
|
-
};
|
|
24
|
-
|
|
25
|
-
const wrongCoi = (recordId, context) => {
|
|
26
|
-
return auditApi.wrongCoi(recordId, context);
|
|
27
|
-
};
|
|
28
|
-
|
|
29
|
-
const isReaudit = (contractorId, context) => {
|
|
30
|
-
return complianceUtil.isReaudit(contractorId, context);
|
|
31
|
-
};
|
|
32
|
-
|
|
33
|
-
const getAuditorContractorList = (auditListParametersModel, context) => {
|
|
34
|
-
validateType(auditListParametersModel, AuditListParametersModel);
|
|
35
|
-
return auditApi.getAuditorContractorList(auditListParametersModel, context);
|
|
36
|
-
};
|
|
37
|
-
|
|
38
|
-
const enterAudit = (contractorId, context) => {
|
|
39
|
-
return auditApi.enterAudit(contractorId, context);
|
|
40
|
-
};
|
|
41
|
-
|
|
42
|
-
const getAuditRecordModel = (recordId, context) => {
|
|
43
|
-
return auditApi.getAuditRecordModel(recordId, context);
|
|
44
|
-
};
|
|
45
|
-
|
|
46
|
-
const getRequirementDetailsForAudit = (contractorId, context) => {
|
|
47
|
-
return auditApi.getRequirementDetailsForAudit(contractorId, context);
|
|
48
|
-
};
|
|
49
|
-
|
|
50
|
-
const getAuditMetadata = async (
|
|
51
|
-
auditorContext,
|
|
52
|
-
accountId,
|
|
53
|
-
projectId,
|
|
54
|
-
requirementId,
|
|
55
|
-
recordId,
|
|
56
|
-
{
|
|
57
|
-
isProjectOnboarding,
|
|
58
|
-
shouldSendNotificationToPM
|
|
59
|
-
} = {}
|
|
60
|
-
) => {
|
|
61
|
-
return complianceUtil.getAuditMetadata(
|
|
62
|
-
auditorContext,
|
|
63
|
-
accountId,
|
|
64
|
-
projectId,
|
|
65
|
-
requirementId,
|
|
66
|
-
recordId,
|
|
67
|
-
{
|
|
68
|
-
isProjectOnboarding,
|
|
69
|
-
shouldSendNotificationToPM
|
|
70
|
-
}
|
|
71
|
-
);
|
|
72
|
-
};
|
|
73
|
-
|
|
74
|
-
const getAuditByRecordId = async (recordId, context, { isRecordDeleted } = {}) => {
|
|
75
|
-
const responseAudit = await auditApi.getAuditByRecordId(recordId, context, { isRecordDeleted });
|
|
76
|
-
|
|
77
|
-
if (responseAudit.status !== httpResponseStatusCodes.OK) {
|
|
78
|
-
throw Error(`Failed to get audits by record id\n${responseAudit}`);
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
return responseAudit.data;
|
|
82
|
-
};
|
|
83
|
-
|
|
84
|
-
const getAuditEntities = async (recordId, auditData, auditorContext) => {
|
|
85
|
-
const requirementDetailsForAuditResponse = await getRequirementDetailsForAudit(recordId, auditorContext);
|
|
86
|
-
const requirement = requirementDetailsForAuditResponse.data;
|
|
87
|
-
|
|
88
|
-
const auditEntities = [];
|
|
89
|
-
auditData.forEach(auditEntity => auditEntities.push(
|
|
90
|
-
auditUtil.createAuditEntity(requirement, { ... auditEntity }))
|
|
91
|
-
);
|
|
92
|
-
return auditEntities;
|
|
93
|
-
};
|
|
94
|
-
|
|
95
|
-
const getAuditRequestModel = (metaData, auditEntities) => {
|
|
96
|
-
const {
|
|
97
|
-
accountId = null,
|
|
98
|
-
projectId = null,
|
|
99
|
-
requirementId = null,
|
|
100
|
-
contractorId = null,
|
|
101
|
-
certificateId = null,
|
|
102
|
-
auditorId = null,
|
|
103
|
-
auditStatus = null,
|
|
104
|
-
isReaudit = false,
|
|
105
|
-
isProjectOnboarding = false,
|
|
106
|
-
shouldSendNotificationToPM = false,
|
|
107
|
-
auditDates = {},
|
|
108
|
-
auditId = null
|
|
109
|
-
} = metaData;
|
|
110
|
-
|
|
111
|
-
const auditDatesModel = new AuditDatesModel(
|
|
112
|
-
auditDates.contractorId,
|
|
113
|
-
auditDates.contractorDateModified,
|
|
114
|
-
auditDates.dateStartedAudit,
|
|
115
|
-
auditDates.contractorOverrideDateModified,
|
|
116
|
-
auditDates.contractCreateDate
|
|
117
|
-
);
|
|
118
|
-
|
|
119
|
-
const auditRequestModel = new AuditRequestModel(
|
|
120
|
-
accountId,
|
|
121
|
-
projectId,
|
|
122
|
-
requirementId,
|
|
123
|
-
contractorId,
|
|
124
|
-
certificateId,
|
|
125
|
-
auditorId,
|
|
126
|
-
auditEntities,
|
|
127
|
-
isReaudit,
|
|
128
|
-
isProjectOnboarding,
|
|
129
|
-
shouldSendNotificationToPM,
|
|
130
|
-
auditDatesModel,
|
|
131
|
-
auditStatus,
|
|
132
|
-
auditId
|
|
133
|
-
);
|
|
134
|
-
|
|
135
|
-
return auditRequestModel;
|
|
136
|
-
};
|
|
137
|
-
|
|
138
|
-
const auditRecord = async function(
|
|
139
|
-
auditorContext,
|
|
140
|
-
accountId,
|
|
141
|
-
projectId,
|
|
142
|
-
requirementId,
|
|
143
|
-
recordId,
|
|
144
|
-
auditConfig,
|
|
145
|
-
{ shouldSendNotificationToPM = false } = {}
|
|
146
|
-
) {
|
|
147
|
-
const auditMetadata = await getAuditMetadata(auditorContext, accountId, projectId, requirementId, recordId, { shouldSendNotificationToPM });
|
|
148
|
-
|
|
149
|
-
const auditApiConfig = dataTypeUtils.isObject(auditConfig) ?
|
|
150
|
-
auditUtil.parseAuditConfig(cloneObject(auditConfig)) :
|
|
151
|
-
auditConfig;
|
|
152
|
-
|
|
153
|
-
const auditEntities = await getAuditEntities(recordId, auditApiConfig, auditorContext);
|
|
154
|
-
const auditRequestModel = getAuditRequestModel(auditMetadata, auditEntities);
|
|
155
|
-
|
|
156
|
-
const auditResponse = await audit(auditRequestModel, auditorContext);
|
|
157
|
-
return auditResponse;
|
|
158
|
-
};
|
|
159
|
-
|
|
160
|
-
const getOnHoldModel = (auditId, onHoldReason) => {
|
|
161
|
-
return new AuditOnHoldModel(auditId, onHoldReason);
|
|
162
|
-
};
|
|
163
|
-
|
|
164
|
-
const putAuditOnHold = async function(auditId, onHoldReason, context) {
|
|
165
|
-
const onHoldModel = getOnHoldModel(auditId, onHoldReason);
|
|
166
|
-
|
|
167
|
-
const onHoldResponse = await auditApi.putAuditOnHold(onHoldModel, context);
|
|
168
|
-
|
|
169
|
-
if (onHoldResponse.status !== httpResponseStatusCodes.OK) {
|
|
170
|
-
throw Error(`Failed to put audit on hold\n${onHoldResponse.data.message}`);
|
|
171
|
-
}
|
|
172
|
-
|
|
173
|
-
return onHoldResponse.data;
|
|
174
|
-
};
|
|
175
|
-
|
|
176
|
-
const resumeAudit = async function(onHoldId, context) {
|
|
177
|
-
const resumeAuditResponse = await auditApi.resumeAudit(onHoldId, context);
|
|
178
|
-
|
|
179
|
-
if (resumeAuditResponse.status !== httpResponseStatusCodes.OK) {
|
|
180
|
-
throw Error(`Failed to resume audit\n${resumeAuditResponse.data.message}`);
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
return resumeAuditResponse.data;
|
|
184
|
-
};
|
|
185
|
-
|
|
186
|
-
const getAuditIfIsOnHold = async function(auditId, context) {
|
|
187
|
-
const getAuditResponse = await auditApi.getAuditIfIsOnHold(auditId, context);
|
|
188
|
-
|
|
189
|
-
if (getAuditResponse.status !== httpResponseStatusCodes.OK) {
|
|
190
|
-
throw Error(`Failed to get audit when it's on hold\n${getAuditResponse}`);
|
|
191
|
-
}
|
|
192
|
-
|
|
193
|
-
return getAuditResponse.data;
|
|
194
|
-
};
|
|
195
|
-
|
|
196
|
-
const updateComplianceAuditActionsDate = (recordId, dateOffset, context) => {
|
|
197
|
-
return auditApi.updateComplianceAuditActionsDate(recordId, dateOffset, context);
|
|
198
|
-
};
|
|
199
|
-
|
|
200
|
-
const getComplianceJson = async function(recordId, context) {
|
|
201
|
-
const getComplianceJsonResponse = await auditApi.getComplianceJson(recordId, context);
|
|
202
|
-
|
|
203
|
-
if (getComplianceJsonResponse.status !== httpResponseStatusCodes.OK) {
|
|
204
|
-
throw Error(`Failed to get compliance audit json response\n${getComplianceJsonResponse}`);
|
|
205
|
-
}
|
|
206
|
-
|
|
207
|
-
return getComplianceJsonResponse.data;
|
|
208
|
-
};
|
|
209
|
-
|
|
210
|
-
module.exports = {
|
|
211
|
-
audit,
|
|
212
|
-
submitAudit,
|
|
213
|
-
revertCoi,
|
|
214
|
-
isReaudit,
|
|
215
|
-
wrongCoi,
|
|
216
|
-
getAuditorContractorList,
|
|
217
|
-
enterAudit,
|
|
218
|
-
getRequirementDetailsForAudit,
|
|
219
|
-
getAuditRecordModel,
|
|
220
|
-
getAuditEntities,
|
|
221
|
-
getAuditMetadata,
|
|
222
|
-
getAuditByRecordId,
|
|
223
|
-
getAuditRequestModel,
|
|
224
|
-
getComplianceJson,
|
|
225
|
-
auditRecord,
|
|
226
|
-
putAuditOnHold,
|
|
227
|
-
resumeAudit,
|
|
228
|
-
getAuditIfIsOnHold,
|
|
229
|
-
updateComplianceAuditActionsDate
|
|
230
|
-
};
|
|
1
|
+
const auditApi = require('./audit.api');
|
|
2
|
+
const { AuditRequestModel, AuditListParametersModel, AuditDatesModel, AuditOnHoldModel } = 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
|
+
const httpResponseStatusCodes = require('../../../../../common/httpResponseStatusCodes.json');
|
|
9
|
+
|
|
10
|
+
const audit = (auditRequestModel, context) => {
|
|
11
|
+
validateType(auditRequestModel, AuditRequestModel);
|
|
12
|
+
return auditApi.audit(auditRequestModel.auditData.contractorId, auditRequestModel, context);
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
const submitAudit = (auditRequestModel, context) => {
|
|
16
|
+
validateType(auditRequestModel, AuditRequestModel);
|
|
17
|
+
return auditApi.submitAudit(auditRequestModel, context);
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
const revertCoi = (contractorId, dateModified, context) => {
|
|
21
|
+
const dateModifiedObj = { dateModified };
|
|
22
|
+
return auditApi.revertCoi(contractorId, dateModifiedObj, context);
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
const wrongCoi = (recordId, context) => {
|
|
26
|
+
return auditApi.wrongCoi(recordId, context);
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
const isReaudit = (contractorId, context) => {
|
|
30
|
+
return complianceUtil.isReaudit(contractorId, context);
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
const getAuditorContractorList = (auditListParametersModel, context) => {
|
|
34
|
+
validateType(auditListParametersModel, AuditListParametersModel);
|
|
35
|
+
return auditApi.getAuditorContractorList(auditListParametersModel, context);
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
const enterAudit = (contractorId, context) => {
|
|
39
|
+
return auditApi.enterAudit(contractorId, context);
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
const getAuditRecordModel = (recordId, context) => {
|
|
43
|
+
return auditApi.getAuditRecordModel(recordId, context);
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
const getRequirementDetailsForAudit = (contractorId, context) => {
|
|
47
|
+
return auditApi.getRequirementDetailsForAudit(contractorId, context);
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
const getAuditMetadata = async (
|
|
51
|
+
auditorContext,
|
|
52
|
+
accountId,
|
|
53
|
+
projectId,
|
|
54
|
+
requirementId,
|
|
55
|
+
recordId,
|
|
56
|
+
{
|
|
57
|
+
isProjectOnboarding,
|
|
58
|
+
shouldSendNotificationToPM
|
|
59
|
+
} = {}
|
|
60
|
+
) => {
|
|
61
|
+
return complianceUtil.getAuditMetadata(
|
|
62
|
+
auditorContext,
|
|
63
|
+
accountId,
|
|
64
|
+
projectId,
|
|
65
|
+
requirementId,
|
|
66
|
+
recordId,
|
|
67
|
+
{
|
|
68
|
+
isProjectOnboarding,
|
|
69
|
+
shouldSendNotificationToPM
|
|
70
|
+
}
|
|
71
|
+
);
|
|
72
|
+
};
|
|
73
|
+
|
|
74
|
+
const getAuditByRecordId = async (recordId, context, { isRecordDeleted } = {}) => {
|
|
75
|
+
const responseAudit = await auditApi.getAuditByRecordId(recordId, context, { isRecordDeleted });
|
|
76
|
+
|
|
77
|
+
if (responseAudit.status !== httpResponseStatusCodes.OK) {
|
|
78
|
+
throw Error(`Failed to get audits by record id\n${responseAudit}`);
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
return responseAudit.data;
|
|
82
|
+
};
|
|
83
|
+
|
|
84
|
+
const getAuditEntities = async (recordId, auditData, auditorContext) => {
|
|
85
|
+
const requirementDetailsForAuditResponse = await getRequirementDetailsForAudit(recordId, auditorContext);
|
|
86
|
+
const requirement = requirementDetailsForAuditResponse.data;
|
|
87
|
+
|
|
88
|
+
const auditEntities = [];
|
|
89
|
+
auditData.forEach(auditEntity => auditEntities.push(
|
|
90
|
+
auditUtil.createAuditEntity(requirement, { ... auditEntity }))
|
|
91
|
+
);
|
|
92
|
+
return auditEntities;
|
|
93
|
+
};
|
|
94
|
+
|
|
95
|
+
const getAuditRequestModel = (metaData, auditEntities) => {
|
|
96
|
+
const {
|
|
97
|
+
accountId = null,
|
|
98
|
+
projectId = null,
|
|
99
|
+
requirementId = null,
|
|
100
|
+
contractorId = null,
|
|
101
|
+
certificateId = null,
|
|
102
|
+
auditorId = null,
|
|
103
|
+
auditStatus = null,
|
|
104
|
+
isReaudit = false,
|
|
105
|
+
isProjectOnboarding = false,
|
|
106
|
+
shouldSendNotificationToPM = false,
|
|
107
|
+
auditDates = {},
|
|
108
|
+
auditId = null
|
|
109
|
+
} = metaData;
|
|
110
|
+
|
|
111
|
+
const auditDatesModel = new AuditDatesModel(
|
|
112
|
+
auditDates.contractorId,
|
|
113
|
+
auditDates.contractorDateModified,
|
|
114
|
+
auditDates.dateStartedAudit,
|
|
115
|
+
auditDates.contractorOverrideDateModified,
|
|
116
|
+
auditDates.contractCreateDate
|
|
117
|
+
);
|
|
118
|
+
|
|
119
|
+
const auditRequestModel = new AuditRequestModel(
|
|
120
|
+
accountId,
|
|
121
|
+
projectId,
|
|
122
|
+
requirementId,
|
|
123
|
+
contractorId,
|
|
124
|
+
certificateId,
|
|
125
|
+
auditorId,
|
|
126
|
+
auditEntities,
|
|
127
|
+
isReaudit,
|
|
128
|
+
isProjectOnboarding,
|
|
129
|
+
shouldSendNotificationToPM,
|
|
130
|
+
auditDatesModel,
|
|
131
|
+
auditStatus,
|
|
132
|
+
auditId
|
|
133
|
+
);
|
|
134
|
+
|
|
135
|
+
return auditRequestModel;
|
|
136
|
+
};
|
|
137
|
+
|
|
138
|
+
const auditRecord = async function(
|
|
139
|
+
auditorContext,
|
|
140
|
+
accountId,
|
|
141
|
+
projectId,
|
|
142
|
+
requirementId,
|
|
143
|
+
recordId,
|
|
144
|
+
auditConfig,
|
|
145
|
+
{ shouldSendNotificationToPM = false } = {}
|
|
146
|
+
) {
|
|
147
|
+
const auditMetadata = await getAuditMetadata(auditorContext, accountId, projectId, requirementId, recordId, { shouldSendNotificationToPM });
|
|
148
|
+
|
|
149
|
+
const auditApiConfig = dataTypeUtils.isObject(auditConfig) ?
|
|
150
|
+
auditUtil.parseAuditConfig(cloneObject(auditConfig)) :
|
|
151
|
+
auditConfig;
|
|
152
|
+
|
|
153
|
+
const auditEntities = await getAuditEntities(recordId, auditApiConfig, auditorContext);
|
|
154
|
+
const auditRequestModel = getAuditRequestModel(auditMetadata, auditEntities);
|
|
155
|
+
|
|
156
|
+
const auditResponse = await audit(auditRequestModel, auditorContext);
|
|
157
|
+
return auditResponse;
|
|
158
|
+
};
|
|
159
|
+
|
|
160
|
+
const getOnHoldModel = (auditId, onHoldReason) => {
|
|
161
|
+
return new AuditOnHoldModel(auditId, onHoldReason);
|
|
162
|
+
};
|
|
163
|
+
|
|
164
|
+
const putAuditOnHold = async function(auditId, onHoldReason, context) {
|
|
165
|
+
const onHoldModel = getOnHoldModel(auditId, onHoldReason);
|
|
166
|
+
|
|
167
|
+
const onHoldResponse = await auditApi.putAuditOnHold(onHoldModel, context);
|
|
168
|
+
|
|
169
|
+
if (onHoldResponse.status !== httpResponseStatusCodes.OK) {
|
|
170
|
+
throw Error(`Failed to put audit on hold\n${onHoldResponse.data.message}`);
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
return onHoldResponse.data;
|
|
174
|
+
};
|
|
175
|
+
|
|
176
|
+
const resumeAudit = async function(onHoldId, context) {
|
|
177
|
+
const resumeAuditResponse = await auditApi.resumeAudit(onHoldId, context);
|
|
178
|
+
|
|
179
|
+
if (resumeAuditResponse.status !== httpResponseStatusCodes.OK) {
|
|
180
|
+
throw Error(`Failed to resume audit\n${resumeAuditResponse.data.message}`);
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
return resumeAuditResponse.data;
|
|
184
|
+
};
|
|
185
|
+
|
|
186
|
+
const getAuditIfIsOnHold = async function(auditId, context) {
|
|
187
|
+
const getAuditResponse = await auditApi.getAuditIfIsOnHold(auditId, context);
|
|
188
|
+
|
|
189
|
+
if (getAuditResponse.status !== httpResponseStatusCodes.OK) {
|
|
190
|
+
throw Error(`Failed to get audit when it's on hold\n${getAuditResponse}`);
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
return getAuditResponse.data;
|
|
194
|
+
};
|
|
195
|
+
|
|
196
|
+
const updateComplianceAuditActionsDate = (recordId, dateOffset, context) => {
|
|
197
|
+
return auditApi.updateComplianceAuditActionsDate(recordId, dateOffset, context);
|
|
198
|
+
};
|
|
199
|
+
|
|
200
|
+
const getComplianceJson = async function(recordId, context) {
|
|
201
|
+
const getComplianceJsonResponse = await auditApi.getComplianceJson(recordId, context);
|
|
202
|
+
|
|
203
|
+
if (getComplianceJsonResponse.status !== httpResponseStatusCodes.OK) {
|
|
204
|
+
throw Error(`Failed to get compliance audit json response\n${getComplianceJsonResponse}`);
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
return getComplianceJsonResponse.data;
|
|
208
|
+
};
|
|
209
|
+
|
|
210
|
+
module.exports = {
|
|
211
|
+
audit,
|
|
212
|
+
submitAudit,
|
|
213
|
+
revertCoi,
|
|
214
|
+
isReaudit,
|
|
215
|
+
wrongCoi,
|
|
216
|
+
getAuditorContractorList,
|
|
217
|
+
enterAudit,
|
|
218
|
+
getRequirementDetailsForAudit,
|
|
219
|
+
getAuditRecordModel,
|
|
220
|
+
getAuditEntities,
|
|
221
|
+
getAuditMetadata,
|
|
222
|
+
getAuditByRecordId,
|
|
223
|
+
getAuditRequestModel,
|
|
224
|
+
getComplianceJson,
|
|
225
|
+
auditRecord,
|
|
226
|
+
putAuditOnHold,
|
|
227
|
+
resumeAudit,
|
|
228
|
+
getAuditIfIsOnHold,
|
|
229
|
+
updateComplianceAuditActionsDate
|
|
230
|
+
};
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
const
|
|
2
|
-
const { nodeBackendUrl
|
|
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
|
|
11
|
-
};
|
|
12
|
-
|
|
13
|
-
const convertRequirement = async oldRequirement => {
|
|
14
|
-
return
|
|
15
|
-
};
|
|
16
|
-
|
|
17
|
-
module.exports = { convertOcrToCoverage, convertRequirement };
|
|
1
|
+
const internalRequests = require('../../../../../common/requests/internalAuth/requests');
|
|
2
|
+
const { nodeBackendUrl } = 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 internalRequests.postRequestHandler(Endpoints.ocrToCoverage, ocrData);
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
const convertRequirement = async oldRequirement => {
|
|
14
|
+
return internalRequests.postRequestHandler(Endpoints.requirement, 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
|
|
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 =
|
|
13
|
-
return
|
|
14
|
-
};
|
|
15
|
-
|
|
16
|
-
const saveCoverageJava = (auditorContext, auditDates, coverage) => {
|
|
17
|
-
return cookieAuthRequests.postRequestHandler(Endpoints.saveCoverageJava, { auditDates, coverage }, auditorContext);
|
|
18
|
-
};
|
|
19
|
-
|
|
20
|
-
const getCoverageByCoiId =
|
|
21
|
-
return
|
|
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 internalRequests = require('../../../../../common/requests/internalAuth/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 => {
|
|
13
|
+
return internalRequests.postRequestHandler(Endpoints.saveCoverageNode, coverage);
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
const saveCoverageJava = (auditorContext, auditDates, coverage) => {
|
|
17
|
+
return cookieAuthRequests.postRequestHandler(Endpoints.saveCoverageJava, { auditDates, coverage }, auditorContext);
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
const getCoverageByCoiId = coiId => {
|
|
21
|
+
return internalRequests.getRequestHandler(Endpoints.getCoverageByCoiId(coiId));
|
|
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
|
+
};
|