@getjones/test-infra 4.4.9 → 4.4.11
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 +229 -195
- package/src/common/consts/accountSettings.js +14 -14
- package/src/common/consts/activationStatuses.js +6 -6
- package/src/common/consts/autocomplete.js +9 -9
- package/src/common/consts/constantsForRecordsSortingAndFilters.js +40 -40
- package/src/common/consts/dashboardCharts.js +18 -18
- package/src/common/consts/ocrStatuses.js +6 -6
- package/src/common/consts/projectSettings.js +21 -21
- package/src/common/consts/recordTypes.js +5 -5
- package/src/common/consts/s3FileTypes.js +13 -13
- package/src/common/consts/userTypes.js +8 -8
- package/src/common/errorCodes.js +3 -3
- package/src/common/httpResponseStatusCodes.json +11 -11
- package/src/common/httpResponseTypes.json +2 -2
- 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 -48
- package/src/common/requests/requestHandlers.js +80 -80
- package/src/common/utils/complianceUtil.js +114 -114
- 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 +125 -124
- package/src/defaults/configs/coverage.js +227 -227
- package/src/defaults/configs/polices.js +75 -75
- 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 +43 -43
- package/src/factory/index.js +8 -8
- package/src/factory/records/records.js +229 -231
- package/src/factory/users/users.js +77 -77
- package/src/index.js +95 -95
- package/src/saas/internal-api/accountDirectory/api/accountDirectory.api.js +50 -50
- package/src/saas/internal-api/accountDirectory/api/accountDirectory.service.js +182 -182
- package/src/saas/internal-api/accountDirectory/index.js +4 -4
- package/src/saas/internal-api/accountDirectory/models/accountDirectory.model.js +40 -40
- 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/emailCustomization/accounts.email.customizations.api.js +29 -29
- package/src/saas/internal-api/accounts/api/emailCustomization/accounts.email.customizations.service.js +61 -61
- 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 +8 -8
- package/src/saas/internal-api/accounts/index.js +22 -22
- 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 +42 -42
- package/src/saas/internal-api/accounts/utils/utils.js +60 -60
- package/src/saas/internal-api/agreement/api/agreement.api.js +39 -39
- package/src/saas/internal-api/agreement/api/agreement.service.js +121 -121
- package/src/saas/internal-api/agreement/consts/consts.js +10 -10
- package/src/saas/internal-api/agreement/index.js +12 -12
- package/src/saas/internal-api/agreement/models/create.agreement.model.js +12 -12
- package/src/saas/internal-api/agreement/models/createAgreementByAuditorModel.js +11 -11
- package/src/saas/internal-api/agreement/models/createAgreementByPMModel.js +13 -13
- 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 +45 -45
- package/src/saas/internal-api/coi/api/coi.service.js +39 -39
- package/src/saas/internal-api/coi/consts/hashes.js +4 -4
- package/src/saas/internal-api/coi/consts/uploaderTypes.js +5 -5
- package/src/saas/internal-api/coi/index.js +14 -14
- package/src/saas/internal-api/coi/models/Combine.last.two.cois.model.js +25 -25
- package/src/saas/internal-api/coi/models/submit.coi.model.js +19 -19
- package/src/saas/internal-api/coi/utils/utils.js +117 -117
- package/src/saas/internal-api/compliance/api/audit/audit.api.js +115 -115
- package/src/saas/internal-api/compliance/api/audit/audit.service.js +300 -300
- 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 +38 -38
- package/src/saas/internal-api/compliance/api/overrideGap/override.gap.service.js +182 -182
- package/src/saas/internal-api/compliance/consts/audit.js +110 -110
- package/src/saas/internal-api/compliance/index.js +33 -33
- package/src/saas/internal-api/compliance/models/audit/audit.model.js +96 -96
- package/src/saas/internal-api/compliance/models/waive/waive.model.js +49 -49
- package/src/saas/internal-api/compliance/utils/auditUtil.js +254 -254
- package/src/saas/internal-api/compliance/utils/coverageUtil.js +40 -40
- package/src/saas/internal-api/contractors/api/contractors.api.js +209 -203
- package/src/saas/internal-api/contractors/api/contractors.service.js +355 -342
- 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 +62 -62
- package/src/saas/internal-api/contractors/models/link.request.model.js +10 -10
- package/src/saas/internal-api/contractors/models/subscription.contractor.model.js +13 -13
- 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 +156 -156
- package/src/saas/internal-api/dbEmails/consts/consts.js +55 -55
- 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 +87 -87
- 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 +101 -101
- package/src/saas/internal-api/globalRecord/api/global.record.service.js +117 -117
- 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 +70 -70
- 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 +40 -40
- package/src/saas/internal-api/projects/utils/utils.js +155 -155
- package/src/saas/internal-api/recordHub/api/record.hub.api.js +14 -14
- package/src/saas/internal-api/recordHub/api/record.hub.service.js +21 -21
- package/src/saas/internal-api/recordHub/index.js +3 -3
- 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 +62 -62
- package/src/saas/internal-api/reports/api/reports.service.js +79 -79
- package/src/saas/internal-api/reports/consts/consts.js +74 -74
- 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 +120 -120
- package/src/saas/internal-api/requests/api/requests.service.js +272 -272
- package/src/saas/internal-api/requests/index.js +20 -20
- package/src/saas/internal-api/requests/models/create.request.model.js +33 -33
- package/src/saas/internal-api/requests/models/draft.request.criteria.model.js +18 -18
- package/src/saas/internal-api/requests/models/draft.request.report.model.js +14 -14
- package/src/saas/internal-api/requests/models/edit.request.model.js +31 -31
- package/src/saas/internal-api/requests/models/requestListCriteriaModel.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 +57 -57
- package/src/saas/internal-api/requirements/api/requirements.service.js +177 -177
- package/src/saas/internal-api/requirements/consts/attributeTypes.json +8 -8
- 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 +35 -35
- package/src/saas/internal-api/requirements/models/update.requirement.model.js +19 -19
- package/src/saas/internal-api/requirements/utils/utils.js +129 -129
- 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 +55 -55
- package/src/saas/internal-api/uploadFiles/api/upload.file.api.js +49 -49
- package/src/saas/internal-api/uploadFiles/api/upload.file.service.js +117 -117
- package/src/saas/internal-api/uploadFiles/consts.js +31 -31
- package/src/saas/internal-api/uploadFiles/index.js +11 -11
- package/src/saas/internal-api/uploadFiles/models/create.policy.file.model.js +11 -11
- package/src/saas/internal-api/users/api/tenantApp/tenant.app.api.js +38 -38
- package/src/saas/internal-api/users/api/tenantApp/tenant.app.service.js +108 -108
- package/src/saas/internal-api/users/api/users.api.js +127 -121
- package/src/saas/internal-api/users/api/users.service.js +225 -214
- 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 +30 -30
- package/src/saas/openapi/coi/coi.service.js +43 -43
- 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 +40 -40
- package/src/saas/openapi/requests/models/update.request.model.js +35 -35
- package/src/saas/openapi/requests/requests.api.js +87 -87
- package/src/saas/openapi/requests/requests.service.js +81 -81
- 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 +41 -41
- package/src/saas/openapi/requirements/requirements.service.js +49 -49
- 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,33 +1,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
|
-
};
|
|
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
|
+
};
|
|
@@ -1,48 +1,48 @@
|
|
|
1
|
-
const coverageApi = require('./coverage.api');
|
|
2
|
-
const { prepareMetadataForAudit } = require('../../../../../common/utils/complianceUtil');
|
|
3
|
-
const { getCoverageConfig, getAllAvailablePolicies } = require('../../utils/coverageUtil');
|
|
4
|
-
|
|
5
|
-
const saveCoverageNode = coverage => {
|
|
6
|
-
return coverageApi.saveCoverageNode(coverage);
|
|
7
|
-
};
|
|
8
|
-
|
|
9
|
-
const saveCoverageJava = (auditorContext, auditDates, coverage) => {
|
|
10
|
-
return coverageApi.saveCoverageJava(auditorContext, auditDates, coverage);
|
|
11
|
-
};
|
|
12
|
-
|
|
13
|
-
const getCoverageByCoiId = (coiId, crossServiceCommunicationAuthKey) => {
|
|
14
|
-
return coverageApi.getCoverageByCoiId(coiId, crossServiceCommunicationAuthKey).then(res => res && res.data);
|
|
15
|
-
};
|
|
16
|
-
|
|
17
|
-
const deleteCoverageByCoiId = (coiId, icsContext) => {
|
|
18
|
-
return coverageApi.deleteCoverageByCoiId(coiId, icsContext);
|
|
19
|
-
};
|
|
20
|
-
|
|
21
|
-
const addCoverage = async function(
|
|
22
|
-
auditorContext,
|
|
23
|
-
accountId,
|
|
24
|
-
projectId,
|
|
25
|
-
requirementId,
|
|
26
|
-
record,
|
|
27
|
-
coveragePolicesList
|
|
28
|
-
) {
|
|
29
|
-
const coiId = record.certificatePdf.split('contractor').shift();
|
|
30
|
-
const recordId = record.contractorId;
|
|
31
|
-
|
|
32
|
-
const { auditDates } = await prepareMetadataForAudit(auditorContext, accountId, projectId, requirementId, recordId);
|
|
33
|
-
|
|
34
|
-
const coverageConfig = Array.isArray(coveragePolicesList) ?
|
|
35
|
-
getCoverageConfig(coiId, coveragePolicesList) :
|
|
36
|
-
getCoverageConfig(coiId, getAllAvailablePolicies());
|
|
37
|
-
|
|
38
|
-
const coverageResponse = await saveCoverageJava(auditorContext, auditDates, coverageConfig);
|
|
39
|
-
return coverageResponse;
|
|
40
|
-
};
|
|
41
|
-
|
|
42
|
-
module.exports = {
|
|
43
|
-
saveCoverageNode,
|
|
44
|
-
saveCoverageJava,
|
|
45
|
-
getCoverageByCoiId,
|
|
46
|
-
deleteCoverageByCoiId,
|
|
47
|
-
addCoverage
|
|
48
|
-
};
|
|
1
|
+
const coverageApi = require('./coverage.api');
|
|
2
|
+
const { prepareMetadataForAudit } = require('../../../../../common/utils/complianceUtil');
|
|
3
|
+
const { getCoverageConfig, getAllAvailablePolicies } = require('../../utils/coverageUtil');
|
|
4
|
+
|
|
5
|
+
const saveCoverageNode = coverage => {
|
|
6
|
+
return coverageApi.saveCoverageNode(coverage);
|
|
7
|
+
};
|
|
8
|
+
|
|
9
|
+
const saveCoverageJava = (auditorContext, auditDates, coverage) => {
|
|
10
|
+
return coverageApi.saveCoverageJava(auditorContext, auditDates, coverage);
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
const getCoverageByCoiId = (coiId, crossServiceCommunicationAuthKey) => {
|
|
14
|
+
return coverageApi.getCoverageByCoiId(coiId, crossServiceCommunicationAuthKey).then(res => res && res.data);
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
const deleteCoverageByCoiId = (coiId, icsContext) => {
|
|
18
|
+
return coverageApi.deleteCoverageByCoiId(coiId, icsContext);
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
const addCoverage = async function(
|
|
22
|
+
auditorContext,
|
|
23
|
+
accountId,
|
|
24
|
+
projectId,
|
|
25
|
+
requirementId,
|
|
26
|
+
record,
|
|
27
|
+
coveragePolicesList
|
|
28
|
+
) {
|
|
29
|
+
const coiId = record.certificatePdf.split('contractor').shift();
|
|
30
|
+
const recordId = record.contractorId;
|
|
31
|
+
|
|
32
|
+
const { auditDates } = await prepareMetadataForAudit(auditorContext, accountId, projectId, requirementId, recordId);
|
|
33
|
+
|
|
34
|
+
const coverageConfig = Array.isArray(coveragePolicesList) ?
|
|
35
|
+
getCoverageConfig(coiId, coveragePolicesList) :
|
|
36
|
+
getCoverageConfig(coiId, getAllAvailablePolicies());
|
|
37
|
+
|
|
38
|
+
const coverageResponse = await saveCoverageJava(auditorContext, auditDates, coverageConfig);
|
|
39
|
+
return coverageResponse;
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
module.exports = {
|
|
43
|
+
saveCoverageNode,
|
|
44
|
+
saveCoverageJava,
|
|
45
|
+
getCoverageByCoiId,
|
|
46
|
+
deleteCoverageByCoiId,
|
|
47
|
+
addCoverage
|
|
48
|
+
};
|
|
@@ -1,38 +1,38 @@
|
|
|
1
|
-
const requests = require('../../../../../common/requests/cookieAuth/requests');
|
|
2
|
-
const { backendUrl } = require('../../../../../env').getEnv();
|
|
3
|
-
|
|
4
|
-
const Endpoints = {
|
|
5
|
-
waive: contractorId => `${backendUrl}/saas/contractors/${contractorId}/waiver`,
|
|
6
|
-
retract: contractorId => `${backendUrl}/saas/contractors/${contractorId}/waiver`,
|
|
7
|
-
overrideGap: `${backendUrl}/saas/record/override-gap`,
|
|
8
|
-
retractOverride: `${backendUrl}/saas/record/retract-override`,
|
|
9
|
-
getOverridesByRecordId: recordId => `${backendUrl}/saas/integration-tests/record/${recordId}/override`
|
|
10
|
-
};
|
|
11
|
-
|
|
12
|
-
const waive = async (contractorId, waiveRequestModel, context) => {
|
|
13
|
-
const status = waiveRequestModel.status;
|
|
14
|
-
delete waiveRequestModel.status;
|
|
15
|
-
return requests.postRequestHandler(Endpoints.waive(contractorId), waiveRequestModel, context, {}, { status });
|
|
16
|
-
};
|
|
17
|
-
|
|
18
|
-
const retract = async (contractorId, retractRequestModel, context) => {
|
|
19
|
-
const status = retractRequestModel.status;
|
|
20
|
-
delete retractRequestModel.status;
|
|
21
|
-
return requests.postRequestHandler(Endpoints.retract(contractorId), retractRequestModel, context, {}, { status });
|
|
22
|
-
};
|
|
23
|
-
|
|
24
|
-
const overrideGap = ({ waiveRequestModel, isTestingBackwardCompatibility = false, context }) => {
|
|
25
|
-
const headers = {};
|
|
26
|
-
const params = { isTestingBackwardCompatibility };
|
|
27
|
-
return requests.postRequestHandler(Endpoints.overrideGap, waiveRequestModel, context, headers, params);
|
|
28
|
-
};
|
|
29
|
-
|
|
30
|
-
const retractOverride = (retractRequestModel, context) => {
|
|
31
|
-
return requests.postRequestHandler(Endpoints.retractOverride, retractRequestModel, context);
|
|
32
|
-
};
|
|
33
|
-
|
|
34
|
-
const getOverridesByRecordId = (recordId, context) => {
|
|
35
|
-
return requests.getRequestHandler(Endpoints.getOverridesByRecordId(recordId), {}, context);
|
|
36
|
-
};
|
|
37
|
-
|
|
38
|
-
module.exports = { waive, retract, overrideGap, retractOverride, getOverridesByRecordId };
|
|
1
|
+
const requests = require('../../../../../common/requests/cookieAuth/requests');
|
|
2
|
+
const { backendUrl } = require('../../../../../env').getEnv();
|
|
3
|
+
|
|
4
|
+
const Endpoints = {
|
|
5
|
+
waive: contractorId => `${backendUrl}/saas/contractors/${contractorId}/waiver`,
|
|
6
|
+
retract: contractorId => `${backendUrl}/saas/contractors/${contractorId}/waiver`,
|
|
7
|
+
overrideGap: `${backendUrl}/saas/record/override-gap`,
|
|
8
|
+
retractOverride: `${backendUrl}/saas/record/retract-override`,
|
|
9
|
+
getOverridesByRecordId: recordId => `${backendUrl}/saas/integration-tests/record/${recordId}/override`
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
const waive = async (contractorId, waiveRequestModel, context) => {
|
|
13
|
+
const status = waiveRequestModel.status;
|
|
14
|
+
delete waiveRequestModel.status;
|
|
15
|
+
return requests.postRequestHandler(Endpoints.waive(contractorId), waiveRequestModel, context, {}, { status });
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
const retract = async (contractorId, retractRequestModel, context) => {
|
|
19
|
+
const status = retractRequestModel.status;
|
|
20
|
+
delete retractRequestModel.status;
|
|
21
|
+
return requests.postRequestHandler(Endpoints.retract(contractorId), retractRequestModel, context, {}, { status });
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
const overrideGap = ({ waiveRequestModel, isTestingBackwardCompatibility = false, context }) => {
|
|
25
|
+
const headers = {};
|
|
26
|
+
const params = { isTestingBackwardCompatibility };
|
|
27
|
+
return requests.postRequestHandler(Endpoints.overrideGap, waiveRequestModel, context, headers, params);
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
const retractOverride = (retractRequestModel, context) => {
|
|
31
|
+
return requests.postRequestHandler(Endpoints.retractOverride, retractRequestModel, context);
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
const getOverridesByRecordId = (recordId, context) => {
|
|
35
|
+
return requests.getRequestHandler(Endpoints.getOverridesByRecordId(recordId), {}, context);
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
module.exports = { waive, retract, overrideGap, retractOverride, getOverridesByRecordId };
|
|
@@ -1,182 +1,182 @@
|
|
|
1
|
-
const env = require('../../../../../env');
|
|
2
|
-
|
|
3
|
-
const overrideGapApi = require('./override.gap.api');
|
|
4
|
-
const { WaiveRequestModel, RetractRequestModel, WAIVER_REASONS } = require('../../models/waive/waive.model');
|
|
5
|
-
const { validateType } = require('../../../../../common/validations/typeValidations');
|
|
6
|
-
const auditUtil = require('../../utils/auditUtil');
|
|
7
|
-
const httpResponseStatusCodes = require('../../../../../common/httpResponseStatusCodes.json');
|
|
8
|
-
|
|
9
|
-
const { credentials } = env.getEnv();
|
|
10
|
-
const userTypes = require('../../../../../common/consts/userTypes');
|
|
11
|
-
|
|
12
|
-
const waive = (waiveRequestModel, context) => {
|
|
13
|
-
validateType(waiveRequestModel, WaiveRequestModel);
|
|
14
|
-
return overrideGapApi.waive(waiveRequestModel.contractorId, waiveRequestModel, context);
|
|
15
|
-
};
|
|
16
|
-
|
|
17
|
-
const retract = (retractRequestModel, context) => {
|
|
18
|
-
validateType(retractRequestModel, RetractRequestModel);
|
|
19
|
-
return overrideGapApi.retract(retractRequestModel.contractorId, retractRequestModel, context);
|
|
20
|
-
};
|
|
21
|
-
|
|
22
|
-
const overrideGap = ({ waiveRequestModel, isTestingBackwardCompatibility = false, context }) => {
|
|
23
|
-
validateType(waiveRequestModel, WaiveRequestModel);
|
|
24
|
-
return overrideGapApi.overrideGap({ waiveRequestModel, isTestingBackwardCompatibility, context });
|
|
25
|
-
};
|
|
26
|
-
|
|
27
|
-
const retractOverride = (retractRequestModel, context) => {
|
|
28
|
-
validateType(retractRequestModel, RetractRequestModel);
|
|
29
|
-
return overrideGapApi.retractOverride(retractRequestModel, context);
|
|
30
|
-
};
|
|
31
|
-
|
|
32
|
-
const getAllWaiveModels = (
|
|
33
|
-
record,
|
|
34
|
-
policyName,
|
|
35
|
-
attributeName,
|
|
36
|
-
waiverReason,
|
|
37
|
-
remarks,
|
|
38
|
-
{
|
|
39
|
-
userId,
|
|
40
|
-
userRole
|
|
41
|
-
} = {}) => {
|
|
42
|
-
const auditIds = getPolicyAuditIdsFromRecord(record, policyName, auditUtil.getAttributeKey(attributeName));
|
|
43
|
-
userId = userId || env.getSystemUserIdentity(credentials.superUser).id;
|
|
44
|
-
userRole = userRole || userTypes.ICS;
|
|
45
|
-
|
|
46
|
-
const waiverModels = [];
|
|
47
|
-
let i = 0;
|
|
48
|
-
while (i < auditIds.length) {
|
|
49
|
-
const auditId = auditIds[i];
|
|
50
|
-
const waiveModel = new WaiveRequestModel({
|
|
51
|
-
contractorId: record.id,
|
|
52
|
-
auditId,
|
|
53
|
-
waiverReason,
|
|
54
|
-
remarks,
|
|
55
|
-
userId,
|
|
56
|
-
userRole
|
|
57
|
-
});
|
|
58
|
-
waiverModels.push(waiveModel);
|
|
59
|
-
i++;
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
return waiverModels;
|
|
63
|
-
};
|
|
64
|
-
|
|
65
|
-
const getWaiveModel = (
|
|
66
|
-
record,
|
|
67
|
-
policyName,
|
|
68
|
-
attributeName,
|
|
69
|
-
waiverReason,
|
|
70
|
-
remarks,
|
|
71
|
-
{
|
|
72
|
-
userId,
|
|
73
|
-
userRole
|
|
74
|
-
} = {}) => {
|
|
75
|
-
return getAllWaiveModels(record, policyName, attributeName, waiverReason, remarks, { userId, userRole })[0];
|
|
76
|
-
};
|
|
77
|
-
|
|
78
|
-
const getWaiveModelByGap = (
|
|
79
|
-
record,
|
|
80
|
-
policyName,
|
|
81
|
-
gap,
|
|
82
|
-
reason,
|
|
83
|
-
note,
|
|
84
|
-
{
|
|
85
|
-
userId,
|
|
86
|
-
userRole
|
|
87
|
-
} = {}) => {
|
|
88
|
-
const attributeName = auditUtil.getAttributeNameByGap(record, policyName, gap);
|
|
89
|
-
|
|
90
|
-
return getWaiveModel(record, policyName, attributeName, reason, note, { userId, userRole });
|
|
91
|
-
};
|
|
92
|
-
|
|
93
|
-
const getRetractModel = (record, policyName, attributeName) => {
|
|
94
|
-
const auditId = getPolicyAuditIdsFromRecord(record, policyName, auditUtil.getAttributeKey(attributeName))[0];
|
|
95
|
-
const userId = env.getSystemUserIdentity(credentials.superUser).id;
|
|
96
|
-
const userRole = userTypes.ICS;
|
|
97
|
-
|
|
98
|
-
const retractModel = new RetractRequestModel({
|
|
99
|
-
contractorId: record.id,
|
|
100
|
-
auditId,
|
|
101
|
-
userId,
|
|
102
|
-
userRole
|
|
103
|
-
});
|
|
104
|
-
|
|
105
|
-
return retractModel;
|
|
106
|
-
};
|
|
107
|
-
|
|
108
|
-
const getPolicyAuditIdsFromRecord = (record, policyName, attributeName) => {
|
|
109
|
-
const policy = record.reviewbyAuditor.find(contractorCoverage =>
|
|
110
|
-
contractorCoverage.insuranceName === policyName);
|
|
111
|
-
|
|
112
|
-
if (!policy) {
|
|
113
|
-
throw new Error(`Policy name: ${policyName} don't exist in record`);
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
const attributes = policy.errorList.filter(error => error.limitname === attributeName);
|
|
117
|
-
|
|
118
|
-
if (!attributes.length) {
|
|
119
|
-
throw new Error(`Attribute name: ${attributeName} don't exist in record`);
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
const auditIds = attributes.map(a => a.auditId);
|
|
123
|
-
|
|
124
|
-
return auditIds;
|
|
125
|
-
};
|
|
126
|
-
|
|
127
|
-
// private method - please refer to waiveAll / acceptAll
|
|
128
|
-
const overrideAll = async (record, reason, context, { note = 'OVERRIDDEN AUTOMATICALLY' } = {}) => {
|
|
129
|
-
let allWaivablePolicies = auditUtil.getAllWaivablePolicies(record, context);
|
|
130
|
-
// Remove duplicates, this can happen for example in case of multiple errors on Additional Insured, Certificate Holder or Additional Information
|
|
131
|
-
allWaivablePolicies = allWaivablePolicies.filter((value, index, self) =>
|
|
132
|
-
index === self.findIndex(t => (
|
|
133
|
-
t.policyName === value.policyName && t.attributeName === value.attributeName
|
|
134
|
-
))
|
|
135
|
-
);
|
|
136
|
-
|
|
137
|
-
for (const waivable of allWaivablePolicies) {
|
|
138
|
-
const waiveModels = getAllWaiveModels(record, waivable.policyName, waivable.attributeName, reason, note);
|
|
139
|
-
for (waiveModel of waiveModels) {
|
|
140
|
-
const waiveResponse = await overrideGap({ waiveRequestModel: waiveModel, context });
|
|
141
|
-
|
|
142
|
-
if (waiveResponse.status !== httpResponseStatusCodes.OK) {
|
|
143
|
-
throw Error(`Failed to waive ${waivable.policyName} - ${waivable.attributeName} for ${record.company}`);
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
};
|
|
148
|
-
|
|
149
|
-
const waiveAll = async (record, context, { reason = WAIVER_REASONS.BUSINESS_DECISION, note = 'WAIVED AUTOMATICALLY' } = {}) => {
|
|
150
|
-
if (reason === WAIVER_REASONS.ACCEPT_NO_EXPOSURE) {
|
|
151
|
-
throw Error('Invalid override gap reason to waive');
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
await overrideAll(record, reason, context, { note });
|
|
155
|
-
};
|
|
156
|
-
|
|
157
|
-
const acceptAll = async (record, context, { note = 'ACCEPTED AUTOMATICALLY' } = {}) => {
|
|
158
|
-
await overrideAll(record, WAIVER_REASONS.ACCEPT_NO_EXPOSURE, context, { note });
|
|
159
|
-
};
|
|
160
|
-
|
|
161
|
-
const getOverridesByRecordId = async function(recordId, context) {
|
|
162
|
-
const responseAudit = await overrideGapApi.getOverridesByRecordId(recordId, context);
|
|
163
|
-
|
|
164
|
-
if (responseAudit.status !== httpResponseStatusCodes.OK) {
|
|
165
|
-
throw Error(`Failed to get overrides by record id\n${responseAudit}`);
|
|
166
|
-
}
|
|
167
|
-
|
|
168
|
-
return responseAudit.data;
|
|
169
|
-
};
|
|
170
|
-
|
|
171
|
-
module.exports = {
|
|
172
|
-
waive,
|
|
173
|
-
waiveAll,
|
|
174
|
-
acceptAll,
|
|
175
|
-
retract,
|
|
176
|
-
getWaiveModel,
|
|
177
|
-
getRetractModel,
|
|
178
|
-
getWaiveModelByGap,
|
|
179
|
-
overrideGap,
|
|
180
|
-
retractOverride,
|
|
181
|
-
getOverridesByRecordId
|
|
182
|
-
};
|
|
1
|
+
const env = require('../../../../../env');
|
|
2
|
+
|
|
3
|
+
const overrideGapApi = require('./override.gap.api');
|
|
4
|
+
const { WaiveRequestModel, RetractRequestModel, WAIVER_REASONS } = require('../../models/waive/waive.model');
|
|
5
|
+
const { validateType } = require('../../../../../common/validations/typeValidations');
|
|
6
|
+
const auditUtil = require('../../utils/auditUtil');
|
|
7
|
+
const httpResponseStatusCodes = require('../../../../../common/httpResponseStatusCodes.json');
|
|
8
|
+
|
|
9
|
+
const { credentials } = env.getEnv();
|
|
10
|
+
const userTypes = require('../../../../../common/consts/userTypes');
|
|
11
|
+
|
|
12
|
+
const waive = (waiveRequestModel, context) => {
|
|
13
|
+
validateType(waiveRequestModel, WaiveRequestModel);
|
|
14
|
+
return overrideGapApi.waive(waiveRequestModel.contractorId, waiveRequestModel, context);
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
const retract = (retractRequestModel, context) => {
|
|
18
|
+
validateType(retractRequestModel, RetractRequestModel);
|
|
19
|
+
return overrideGapApi.retract(retractRequestModel.contractorId, retractRequestModel, context);
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
const overrideGap = ({ waiveRequestModel, isTestingBackwardCompatibility = false, context }) => {
|
|
23
|
+
validateType(waiveRequestModel, WaiveRequestModel);
|
|
24
|
+
return overrideGapApi.overrideGap({ waiveRequestModel, isTestingBackwardCompatibility, context });
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
const retractOverride = (retractRequestModel, context) => {
|
|
28
|
+
validateType(retractRequestModel, RetractRequestModel);
|
|
29
|
+
return overrideGapApi.retractOverride(retractRequestModel, context);
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
const getAllWaiveModels = (
|
|
33
|
+
record,
|
|
34
|
+
policyName,
|
|
35
|
+
attributeName,
|
|
36
|
+
waiverReason,
|
|
37
|
+
remarks,
|
|
38
|
+
{
|
|
39
|
+
userId,
|
|
40
|
+
userRole
|
|
41
|
+
} = {}) => {
|
|
42
|
+
const auditIds = getPolicyAuditIdsFromRecord(record, policyName, auditUtil.getAttributeKey(attributeName));
|
|
43
|
+
userId = userId || env.getSystemUserIdentity(credentials.superUser).id;
|
|
44
|
+
userRole = userRole || userTypes.ICS;
|
|
45
|
+
|
|
46
|
+
const waiverModels = [];
|
|
47
|
+
let i = 0;
|
|
48
|
+
while (i < auditIds.length) {
|
|
49
|
+
const auditId = auditIds[i];
|
|
50
|
+
const waiveModel = new WaiveRequestModel({
|
|
51
|
+
contractorId: record.id,
|
|
52
|
+
auditId,
|
|
53
|
+
waiverReason,
|
|
54
|
+
remarks,
|
|
55
|
+
userId,
|
|
56
|
+
userRole
|
|
57
|
+
});
|
|
58
|
+
waiverModels.push(waiveModel);
|
|
59
|
+
i++;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
return waiverModels;
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
const getWaiveModel = (
|
|
66
|
+
record,
|
|
67
|
+
policyName,
|
|
68
|
+
attributeName,
|
|
69
|
+
waiverReason,
|
|
70
|
+
remarks,
|
|
71
|
+
{
|
|
72
|
+
userId,
|
|
73
|
+
userRole
|
|
74
|
+
} = {}) => {
|
|
75
|
+
return getAllWaiveModels(record, policyName, attributeName, waiverReason, remarks, { userId, userRole })[0];
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
const getWaiveModelByGap = (
|
|
79
|
+
record,
|
|
80
|
+
policyName,
|
|
81
|
+
gap,
|
|
82
|
+
reason,
|
|
83
|
+
note,
|
|
84
|
+
{
|
|
85
|
+
userId,
|
|
86
|
+
userRole
|
|
87
|
+
} = {}) => {
|
|
88
|
+
const attributeName = auditUtil.getAttributeNameByGap(record, policyName, gap);
|
|
89
|
+
|
|
90
|
+
return getWaiveModel(record, policyName, attributeName, reason, note, { userId, userRole });
|
|
91
|
+
};
|
|
92
|
+
|
|
93
|
+
const getRetractModel = (record, policyName, attributeName) => {
|
|
94
|
+
const auditId = getPolicyAuditIdsFromRecord(record, policyName, auditUtil.getAttributeKey(attributeName))[0];
|
|
95
|
+
const userId = env.getSystemUserIdentity(credentials.superUser).id;
|
|
96
|
+
const userRole = userTypes.ICS;
|
|
97
|
+
|
|
98
|
+
const retractModel = new RetractRequestModel({
|
|
99
|
+
contractorId: record.id,
|
|
100
|
+
auditId,
|
|
101
|
+
userId,
|
|
102
|
+
userRole
|
|
103
|
+
});
|
|
104
|
+
|
|
105
|
+
return retractModel;
|
|
106
|
+
};
|
|
107
|
+
|
|
108
|
+
const getPolicyAuditIdsFromRecord = (record, policyName, attributeName) => {
|
|
109
|
+
const policy = record.reviewbyAuditor.find(contractorCoverage =>
|
|
110
|
+
contractorCoverage.insuranceName === policyName);
|
|
111
|
+
|
|
112
|
+
if (!policy) {
|
|
113
|
+
throw new Error(`Policy name: ${policyName} don't exist in record`);
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
const attributes = policy.errorList.filter(error => error.limitname === attributeName);
|
|
117
|
+
|
|
118
|
+
if (!attributes.length) {
|
|
119
|
+
throw new Error(`Attribute name: ${attributeName} don't exist in record`);
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
const auditIds = attributes.map(a => a.auditId);
|
|
123
|
+
|
|
124
|
+
return auditIds;
|
|
125
|
+
};
|
|
126
|
+
|
|
127
|
+
// private method - please refer to waiveAll / acceptAll
|
|
128
|
+
const overrideAll = async (record, reason, context, { note = 'OVERRIDDEN AUTOMATICALLY' } = {}) => {
|
|
129
|
+
let allWaivablePolicies = auditUtil.getAllWaivablePolicies(record, context);
|
|
130
|
+
// Remove duplicates, this can happen for example in case of multiple errors on Additional Insured, Certificate Holder or Additional Information
|
|
131
|
+
allWaivablePolicies = allWaivablePolicies.filter((value, index, self) =>
|
|
132
|
+
index === self.findIndex(t => (
|
|
133
|
+
t.policyName === value.policyName && t.attributeName === value.attributeName
|
|
134
|
+
))
|
|
135
|
+
);
|
|
136
|
+
|
|
137
|
+
for (const waivable of allWaivablePolicies) {
|
|
138
|
+
const waiveModels = getAllWaiveModels(record, waivable.policyName, waivable.attributeName, reason, note);
|
|
139
|
+
for (waiveModel of waiveModels) {
|
|
140
|
+
const waiveResponse = await overrideGap({ waiveRequestModel: waiveModel, context });
|
|
141
|
+
|
|
142
|
+
if (waiveResponse.status !== httpResponseStatusCodes.OK) {
|
|
143
|
+
throw Error(`Failed to waive ${waivable.policyName} - ${waivable.attributeName} for ${record.company}`);
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
};
|
|
148
|
+
|
|
149
|
+
const waiveAll = async (record, context, { reason = WAIVER_REASONS.BUSINESS_DECISION, note = 'WAIVED AUTOMATICALLY' } = {}) => {
|
|
150
|
+
if (reason === WAIVER_REASONS.ACCEPT_NO_EXPOSURE) {
|
|
151
|
+
throw Error('Invalid override gap reason to waive');
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
await overrideAll(record, reason, context, { note });
|
|
155
|
+
};
|
|
156
|
+
|
|
157
|
+
const acceptAll = async (record, context, { note = 'ACCEPTED AUTOMATICALLY' } = {}) => {
|
|
158
|
+
await overrideAll(record, WAIVER_REASONS.ACCEPT_NO_EXPOSURE, context, { note });
|
|
159
|
+
};
|
|
160
|
+
|
|
161
|
+
const getOverridesByRecordId = async function(recordId, context) {
|
|
162
|
+
const responseAudit = await overrideGapApi.getOverridesByRecordId(recordId, context);
|
|
163
|
+
|
|
164
|
+
if (responseAudit.status !== httpResponseStatusCodes.OK) {
|
|
165
|
+
throw Error(`Failed to get overrides by record id\n${responseAudit}`);
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
return responseAudit.data;
|
|
169
|
+
};
|
|
170
|
+
|
|
171
|
+
module.exports = {
|
|
172
|
+
waive,
|
|
173
|
+
waiveAll,
|
|
174
|
+
acceptAll,
|
|
175
|
+
retract,
|
|
176
|
+
getWaiveModel,
|
|
177
|
+
getRetractModel,
|
|
178
|
+
getWaiveModelByGap,
|
|
179
|
+
overrideGap,
|
|
180
|
+
retractOverride,
|
|
181
|
+
getOverridesByRecordId
|
|
182
|
+
};
|