@getjones/test-infra 4.4.12 → 4.4.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (231) hide show
  1. package/package.json +30 -30
  2. package/src/common/commonFlows/auth/auth.js +40 -40
  3. package/src/common/commonFlows/index.js +4 -4
  4. package/src/common/commonFlows/records/records.js +243 -229
  5. package/src/common/consts/accountSettings.js +14 -14
  6. package/src/common/consts/activationStatuses.js +6 -6
  7. package/src/common/consts/autocomplete.js +10 -9
  8. package/src/common/consts/constantsForRecordsSortingAndFilters.js +40 -40
  9. package/src/common/consts/dashboardCharts.js +18 -18
  10. package/src/common/consts/ocrStatuses.js +6 -6
  11. package/src/common/consts/projectSettings.js +21 -21
  12. package/src/common/consts/recordTypes.js +5 -5
  13. package/src/common/consts/s3FileTypes.js +13 -13
  14. package/src/common/consts/userRoles.js +6 -0
  15. package/src/common/consts/userTypes.js +8 -8
  16. package/src/common/errorCodes.js +3 -3
  17. package/src/common/httpResponseStatusCodes.json +11 -11
  18. package/src/common/httpResponseTypes.json +2 -2
  19. package/src/common/requests/apiKeyAuth/requests.js +44 -44
  20. package/src/common/requests/cookieAuth/requests.js +40 -40
  21. package/src/common/requests/internalAuth/requests.js +48 -48
  22. package/src/common/requests/requestHandlers.js +80 -80
  23. package/src/common/utils/complianceUtil.js +114 -114
  24. package/src/common/utils/configsUtil.js +22 -22
  25. package/src/common/utils/dataTypeUtils.js +41 -41
  26. package/src/common/utils/numberUtils.js +22 -22
  27. package/src/common/utils/objectUtils.js +7 -7
  28. package/src/common/utils/timeUtils.js +177 -177
  29. package/src/common/validations/errorValidation.js +16 -16
  30. package/src/common/validations/typeValidations.js +36 -36
  31. package/src/defaults/configs/auditConfigs.js +125 -125
  32. package/src/defaults/configs/coverage.js +227 -227
  33. package/src/defaults/configs/polices.js +75 -75
  34. package/src/defaults/configs/requirement.js +32 -32
  35. package/src/defaults/index.js +6 -6
  36. package/src/env.js +57 -57
  37. package/src/factory/globalRecord/globalRecord.js +43 -43
  38. package/src/factory/index.js +8 -8
  39. package/src/factory/records/records.js +229 -229
  40. package/src/factory/users/users.js +86 -77
  41. package/src/index.js +97 -95
  42. package/src/saas/internal-api/accountDirectory/api/accountDirectory.api.js +50 -50
  43. package/src/saas/internal-api/accountDirectory/api/accountDirectory.service.js +182 -182
  44. package/src/saas/internal-api/accountDirectory/index.js +4 -4
  45. package/src/saas/internal-api/accountDirectory/models/accountDirectory.model.js +40 -40
  46. package/src/saas/internal-api/accounts/api/core/accounts.core.api.js +35 -35
  47. package/src/saas/internal-api/accounts/api/core/accounts.core.service.js +93 -93
  48. package/src/saas/internal-api/accounts/api/emailCustomization/accounts.email.customizations.api.js +29 -29
  49. package/src/saas/internal-api/accounts/api/emailCustomization/accounts.email.customizations.service.js +61 -61
  50. package/src/saas/internal-api/accounts/api/openapi/accounts.openapi.api.js +48 -48
  51. package/src/saas/internal-api/accounts/api/openapi/accounts.openapi.service.js +74 -74
  52. package/src/saas/internal-api/accounts/api/settings/settings.api.js +21 -21
  53. package/src/saas/internal-api/accounts/api/settings/settings.service.js +41 -41
  54. package/src/saas/internal-api/accounts/consts/consts.js +8 -8
  55. package/src/saas/internal-api/accounts/index.js +22 -22
  56. package/src/saas/internal-api/accounts/models/core/create.account.model.js +16 -16
  57. package/src/saas/internal-api/accounts/models/settings/update.settings.model.js +42 -42
  58. package/src/saas/internal-api/accounts/utils/utils.js +60 -60
  59. package/src/saas/internal-api/agreement/api/agreement.api.js +39 -39
  60. package/src/saas/internal-api/agreement/api/agreement.service.js +121 -121
  61. package/src/saas/internal-api/agreement/consts/consts.js +10 -10
  62. package/src/saas/internal-api/agreement/index.js +12 -12
  63. package/src/saas/internal-api/agreement/models/create.agreement.model.js +12 -12
  64. package/src/saas/internal-api/agreement/models/createAgreementByAuditorModel.js +11 -11
  65. package/src/saas/internal-api/agreement/models/createAgreementByPMModel.js +13 -13
  66. package/src/saas/internal-api/auditCustomerRules/api/customer.rules.api.js +43 -43
  67. package/src/saas/internal-api/auditCustomerRules/api/customer.rules.service.js +105 -105
  68. package/src/saas/internal-api/auditCustomerRules/consts/customer.rule.js +11 -11
  69. package/src/saas/internal-api/auditCustomerRules/index.js +6 -6
  70. package/src/saas/internal-api/auditCustomerRules/models/customer.rule.model.js +46 -46
  71. package/src/saas/internal-api/auditCustomerRules/utils/customer.rule.util.js +19 -19
  72. package/src/saas/internal-api/auditNotes/api/audit.notes.api.js +40 -40
  73. package/src/saas/internal-api/auditNotes/api/audit.notes.service.js +115 -115
  74. package/src/saas/internal-api/auditNotes/index.js +4 -4
  75. package/src/saas/internal-api/auditNotes/models/audit.note.model.js +30 -30
  76. package/src/saas/internal-api/auth/api/auth.api.js +27 -27
  77. package/src/saas/internal-api/auth/api/auth.service.js +90 -90
  78. package/src/saas/internal-api/auth/index.js +3 -3
  79. package/src/saas/internal-api/coi/api/coi.api.js +45 -45
  80. package/src/saas/internal-api/coi/api/coi.service.js +39 -39
  81. package/src/saas/internal-api/coi/consts/hashes.js +4 -4
  82. package/src/saas/internal-api/coi/consts/uploaderTypes.js +5 -5
  83. package/src/saas/internal-api/coi/index.js +14 -14
  84. package/src/saas/internal-api/coi/models/Combine.last.two.cois.model.js +25 -25
  85. package/src/saas/internal-api/coi/models/submit.coi.model.js +19 -19
  86. package/src/saas/internal-api/coi/utils/utils.js +117 -117
  87. package/src/saas/internal-api/compliance/api/audit/audit.api.js +115 -115
  88. package/src/saas/internal-api/compliance/api/audit/audit.service.js +300 -300
  89. package/src/saas/internal-api/compliance/api/convert/convert.api.js +17 -17
  90. package/src/saas/internal-api/compliance/api/convert/convert.service.js +11 -11
  91. package/src/saas/internal-api/compliance/api/coverage/coverage.api.js +33 -33
  92. package/src/saas/internal-api/compliance/api/coverage/coverage.service.js +48 -48
  93. package/src/saas/internal-api/compliance/api/overrideGap/override.gap.api.js +38 -38
  94. package/src/saas/internal-api/compliance/api/overrideGap/override.gap.service.js +182 -182
  95. package/src/saas/internal-api/compliance/consts/audit.js +111 -110
  96. package/src/saas/internal-api/compliance/index.js +33 -33
  97. package/src/saas/internal-api/compliance/models/audit/audit.model.js +96 -96
  98. package/src/saas/internal-api/compliance/models/waive/waive.model.js +49 -49
  99. package/src/saas/internal-api/compliance/utils/auditUtil.js +254 -254
  100. package/src/saas/internal-api/compliance/utils/coverageUtil.js +40 -40
  101. package/src/saas/internal-api/contractors/api/contractors.api.js +209 -209
  102. package/src/saas/internal-api/contractors/api/contractors.service.js +361 -355
  103. package/src/saas/internal-api/contractors/consts/consts.js +6 -6
  104. package/src/saas/internal-api/contractors/index.js +8 -8
  105. package/src/saas/internal-api/contractors/models/assign.requirement.model.js +10 -10
  106. package/src/saas/internal-api/contractors/models/edit.contractor.model.js +62 -62
  107. package/src/saas/internal-api/contractors/models/link.request.model.js +10 -10
  108. package/src/saas/internal-api/contractors/models/subscription.contractor.model.js +13 -13
  109. package/src/saas/internal-api/contractors/models/verification.contractor.model.js +27 -27
  110. package/src/saas/internal-api/contractors/utils.js +25 -25
  111. package/src/saas/internal-api/dashboard/api/recordList.api.js +38 -38
  112. package/src/saas/internal-api/dashboard/api/recordList.service.js +60 -60
  113. package/src/saas/internal-api/dashboard/index.js +5 -5
  114. package/src/saas/internal-api/dashboard/models/dashboard.filter.criteria.model.js +38 -38
  115. package/src/saas/internal-api/dbEmails/api/db.emails.api.js +25 -25
  116. package/src/saas/internal-api/dbEmails/api/db.emails.service.js +156 -156
  117. package/src/saas/internal-api/dbEmails/consts/consts.js +55 -55
  118. package/src/saas/internal-api/dbEmails/index.js +6 -6
  119. package/src/saas/internal-api/dbEmails/models/db.emails.model.js +22 -22
  120. package/src/saas/internal-api/dbEmails/utils/util.js +87 -87
  121. package/src/saas/internal-api/emailCustomization/api/email.customization.api.js +26 -26
  122. package/src/saas/internal-api/emailCustomization/api/email.customization.service.js +50 -50
  123. package/src/saas/internal-api/emailCustomization/index.js +3 -3
  124. package/src/saas/internal-api/globalRecord/api/global.record.api.js +95 -101
  125. package/src/saas/internal-api/globalRecord/api/global.record.service.js +112 -117
  126. package/src/saas/internal-api/globalRecord/consts.js +20 -20
  127. package/src/saas/internal-api/globalRecord/index.js +6 -6
  128. package/src/saas/internal-api/globalRecord/models/global.record.model.js +60 -60
  129. package/src/saas/internal-api/globalRecord/utils/util.js +161 -161
  130. package/src/saas/internal-api/homepageCharts/api/charts.api.js +12 -12
  131. package/src/saas/internal-api/homepageCharts/api/charts.service.js +7 -7
  132. package/src/saas/internal-api/homepageCharts/index.js +3 -3
  133. package/src/saas/internal-api/policyFile/api/policy.file.api.js +25 -0
  134. package/src/saas/internal-api/policyFile/api/policy.file.service.js +39 -0
  135. package/src/saas/internal-api/policyFile/consts.js +21 -0
  136. package/src/saas/internal-api/policyFile/index.js +11 -0
  137. package/src/saas/internal-api/{uploadFiles → policyFile}/models/create.policy.file.model.js +11 -11
  138. package/src/saas/internal-api/projects/api/core/projects.api.js +39 -39
  139. package/src/saas/internal-api/projects/api/core/projects.service.js +77 -70
  140. package/src/saas/internal-api/projects/api/settings/project.settings.api.js +18 -18
  141. package/src/saas/internal-api/projects/api/settings/project.settings.service.js +35 -35
  142. package/src/saas/internal-api/projects/consts/defaultProject.js +3 -3
  143. package/src/saas/internal-api/projects/index.js +24 -24
  144. package/src/saas/internal-api/projects/models/core/create.project.model.js +41 -41
  145. package/src/saas/internal-api/projects/models/core/update.project.model.js +47 -47
  146. package/src/saas/internal-api/projects/models/settings/update.project.settings.model.js +40 -40
  147. package/src/saas/internal-api/projects/utils/utils.js +155 -155
  148. package/src/saas/internal-api/recordHub/api/record.hub.api.js +14 -14
  149. package/src/saas/internal-api/recordHub/api/record.hub.service.js +21 -21
  150. package/src/saas/internal-api/recordHub/index.js +3 -3
  151. package/src/saas/internal-api/recordNotes/api/record.notes.api.js +38 -38
  152. package/src/saas/internal-api/recordNotes/api/record.notes.service.js +47 -47
  153. package/src/saas/internal-api/recordNotes/api/record.notes.utils.js +12 -12
  154. package/src/saas/internal-api/recordNotes/index.js +3 -3
  155. package/src/saas/internal-api/reports/api/reports.api.js +62 -62
  156. package/src/saas/internal-api/reports/api/reports.service.js +79 -79
  157. package/src/saas/internal-api/reports/consts/consts.js +74 -74
  158. package/src/saas/internal-api/reports/index.js +15 -15
  159. package/src/saas/internal-api/reports/models/report.model.js +27 -27
  160. package/src/saas/internal-api/requests/api/requests.api.js +120 -120
  161. package/src/saas/internal-api/requests/api/requests.service.js +274 -272
  162. package/src/saas/internal-api/requests/index.js +21 -20
  163. package/src/saas/internal-api/requests/models/create.request.model.js +36 -33
  164. package/src/saas/internal-api/requests/models/draft.request.criteria.model.js +18 -18
  165. package/src/saas/internal-api/requests/models/draft.request.report.model.js +14 -14
  166. package/src/saas/internal-api/requests/models/edit.request.model.js +31 -31
  167. package/src/saas/internal-api/requests/models/requestListCriteriaModel.js +17 -17
  168. package/src/saas/internal-api/requests/models/tenant.request.model.js +9 -9
  169. package/src/saas/internal-api/requests/utils.js +16 -8
  170. package/src/saas/internal-api/requestsTable/api/requests.table.api.js +20 -20
  171. package/src/saas/internal-api/requestsTable/api/requests.table.service.js +14 -14
  172. package/src/saas/internal-api/requestsTable/index.js +3 -3
  173. package/src/saas/internal-api/requirements/api/requirements.api.js +57 -57
  174. package/src/saas/internal-api/requirements/api/requirements.service.js +177 -177
  175. package/src/saas/internal-api/requirements/consts/attributeTypes.json +8 -8
  176. package/src/saas/internal-api/requirements/consts/consts.js +6 -6
  177. package/src/saas/internal-api/requirements/index.js +10 -10
  178. package/src/saas/internal-api/requirements/models/create.requirement.model.js +17 -17
  179. package/src/saas/internal-api/requirements/models/policy.model.js +35 -35
  180. package/src/saas/internal-api/requirements/models/update.requirement.model.js +19 -19
  181. package/src/saas/internal-api/requirements/utils/utils.js +129 -129
  182. package/src/saas/internal-api/serviceArea/api/coordinates.api.js +12 -12
  183. package/src/saas/internal-api/serviceArea/api/coordinates.service.js +7 -7
  184. package/src/saas/internal-api/serviceArea/index.js +4 -4
  185. package/src/saas/internal-api/serviceArea/utils/utils.js +8 -8
  186. package/src/saas/internal-api/tabs/api/tabs.api.js +32 -32
  187. package/src/saas/internal-api/tabs/api/tabs.service.js +54 -54
  188. package/src/saas/internal-api/tabs/index.js +3 -3
  189. package/src/saas/internal-api/tabs/models/tabs.model.js +19 -19
  190. package/src/saas/internal-api/thread-scheduler/runner.js +55 -55
  191. package/src/saas/internal-api/uploadFiles/api/upload.file.api.js +43 -49
  192. package/src/saas/internal-api/uploadFiles/api/upload.file.service.js +106 -117
  193. package/src/saas/internal-api/uploadFiles/consts.js +12 -31
  194. package/src/saas/internal-api/uploadFiles/index.js +5 -11
  195. package/src/saas/internal-api/users/api/tenantApp/tenant.app.api.js +38 -38
  196. package/src/saas/internal-api/users/api/tenantApp/tenant.app.service.js +108 -108
  197. package/src/saas/internal-api/users/api/users.api.js +127 -127
  198. package/src/saas/internal-api/users/api/users.service.js +243 -225
  199. package/src/saas/internal-api/users/index.js +16 -16
  200. package/src/saas/internal-api/users/models/create.inner.system.user.model.js +18 -18
  201. package/src/saas/internal-api/users/models/notification.settings.model.js +12 -12
  202. package/src/saas/internal-api/users/models/tenent.user.model.js +11 -11
  203. package/src/saas/internal-api/users/models/users.model.js +42 -41
  204. package/src/saas/internal-api/users/utils/util.js +39 -39
  205. package/src/saas/internal-api/vendorProfile/api/vendor.profile.api.js +26 -20
  206. package/src/saas/internal-api/vendorProfile/api/vendor.profile.service.js +19 -14
  207. package/src/saas/internal-api/vendorProfile/index.js +3 -3
  208. package/src/saas/openapi/accounts/accounts.api.js +17 -17
  209. package/src/saas/openapi/accounts/accounts.service.js +11 -11
  210. package/src/saas/openapi/coi/coi.api.js +30 -30
  211. package/src/saas/openapi/coi/coi.service.js +43 -43
  212. package/src/saas/openapi/projects/projects.api.js +83 -83
  213. package/src/saas/openapi/projects/projects.service.js +64 -64
  214. package/src/saas/openapi/requests/index.js +7 -7
  215. package/src/saas/openapi/requests/models/invite.request.model.js +40 -40
  216. package/src/saas/openapi/requests/models/update.request.model.js +35 -35
  217. package/src/saas/openapi/requests/requests.api.js +87 -87
  218. package/src/saas/openapi/requests/requests.service.js +81 -81
  219. package/src/saas/openapi/requirements/index.js +6 -6
  220. package/src/saas/openapi/requirements/models/copy.requirement.model.js +10 -10
  221. package/src/saas/openapi/requirements/requirements.api.js +41 -41
  222. package/src/saas/openapi/requirements/requirements.service.js +49 -49
  223. package/src/saas/openapi/tabs/index.js +6 -6
  224. package/src/saas/openapi/tabs/models/create.tab.model.js +6 -6
  225. package/src/saas/openapi/tabs/tabs.api.js +27 -27
  226. package/src/saas/openapi/tabs/tabs.service.js +19 -19
  227. package/src/saas/openapi/users/user.model.js +10 -10
  228. package/src/saas/openapi/users/users.api.js +33 -33
  229. package/src/saas/openapi/users/users.service.js +41 -41
  230. package/tests/env.test.js +40 -40
  231. 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
+ };