@getjones/test-infra 2.6.1 → 2.6.3

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 (149) hide show
  1. package/package.json +29 -30
  2. package/src/common/commonFlows/index.js +3 -3
  3. package/src/common/commonFlows/records/records.js +71 -71
  4. package/src/common/consts/userTypes.js +5 -0
  5. package/src/common/httpResponseStatusCodes.json +11 -11
  6. package/src/common/requests/apiKeyAuth/requests.js +38 -38
  7. package/src/common/requests/cookieAuth/requests.js +40 -40
  8. package/src/common/requests/requestHandlers.js +60 -60
  9. package/src/common/utils/dataTypeUtils.js +41 -41
  10. package/src/common/utils/numberUtils.js +22 -22
  11. package/src/common/utils/objectUtils.js +7 -9
  12. package/src/common/utils/timeUtils.js +171 -171
  13. package/src/common/validations/errorValidation.js +16 -16
  14. package/src/common/validations/typeValidations.js +36 -36
  15. package/src/defaults/configs/auditConfigs.js +85 -85
  16. package/src/defaults/configs/polices.js +47 -47
  17. package/src/defaults/configs/requirement.js +29 -29
  18. package/src/defaults/index.js +5 -5
  19. package/src/env.js +57 -57
  20. package/src/factory/index.js +5 -0
  21. package/src/factory/records/records.js +105 -0
  22. package/src/index.js +74 -73
  23. package/src/resources/coi/coi.pdf +0 -0
  24. package/src/resources/coi/realCoi.pdf +5617 -20
  25. package/src/saas/internal-api/accounts/api/core/accounts.core.api.js +28 -28
  26. package/src/saas/internal-api/accounts/api/core/accounts.core.service.js +77 -77
  27. package/src/saas/internal-api/accounts/api/openapi/accounts.openapi.api.js +48 -48
  28. package/src/saas/internal-api/accounts/api/openapi/accounts.openapi.service.js +74 -74
  29. package/src/saas/internal-api/accounts/api/settings/settings.api.js +21 -21
  30. package/src/saas/internal-api/accounts/api/settings/settings.service.js +24 -24
  31. package/src/saas/internal-api/accounts/consts/consts.js +6 -6
  32. package/src/saas/internal-api/accounts/index.js +21 -21
  33. package/src/saas/internal-api/accounts/models/core/create.account.model.js +16 -16
  34. package/src/saas/internal-api/accounts/models/settings/update.settings.model.js +23 -23
  35. package/src/saas/internal-api/accounts/utils/utils.js +32 -32
  36. package/src/saas/internal-api/auth/api/auth.api.js +18 -18
  37. package/src/saas/internal-api/auth/api/auth.service.js +67 -67
  38. package/src/saas/internal-api/auth/index.js +3 -3
  39. package/src/saas/internal-api/coi/api/coi.api.js +34 -34
  40. package/src/saas/internal-api/coi/api/coi.service.js +22 -22
  41. package/src/saas/internal-api/coi/consts/uploaderTypes.js +5 -7
  42. package/src/saas/internal-api/coi/index.js +13 -13
  43. package/src/saas/internal-api/coi/models/submit.coi.model.js +9 -9
  44. package/src/saas/internal-api/coi/utils/utils.js +48 -48
  45. package/src/saas/internal-api/compliance/api/audit/audit.api.js +40 -40
  46. package/src/saas/internal-api/compliance/api/audit/audit.service.js +152 -151
  47. package/src/saas/internal-api/compliance/api/convert/convert.api.js +17 -17
  48. package/src/saas/internal-api/compliance/api/convert/convert.service.js +11 -11
  49. package/src/saas/internal-api/compliance/api/coverage/coverage.api.js +33 -33
  50. package/src/saas/internal-api/compliance/api/coverage/coverage.service.js +24 -24
  51. package/src/saas/internal-api/compliance/api/waive/waive.api.js +21 -21
  52. package/src/saas/internal-api/compliance/api/waive/waive.service.js +100 -15
  53. package/src/saas/internal-api/compliance/consts/audit.js +71 -81
  54. package/src/saas/internal-api/compliance/index.js +28 -28
  55. package/src/saas/internal-api/compliance/models/audit/audit.model.js +84 -84
  56. package/src/saas/internal-api/compliance/models/waive/waive.model.js +48 -45
  57. package/src/saas/internal-api/compliance/utils/util.js +207 -175
  58. package/src/saas/internal-api/contractors/api/contractors.api.js +141 -141
  59. package/src/saas/internal-api/contractors/api/contractors.service.js +147 -147
  60. package/src/saas/internal-api/contractors/index.js +8 -8
  61. package/src/saas/internal-api/contractors/models/create.contractor.model.js +22 -22
  62. package/src/saas/internal-api/contractors/models/edit.contractor.model.js +60 -60
  63. package/src/saas/internal-api/contractors/models/verification.contractor.model.js +27 -27
  64. package/src/saas/internal-api/dashboardInnerPage/api/recordList.api.js +12 -12
  65. package/src/saas/internal-api/dashboardInnerPage/api/recordList.service.js +7 -7
  66. package/src/saas/internal-api/dashboardInnerPage/index.js +5 -5
  67. package/src/saas/internal-api/dashboardInnerPage/models/dashboard.filter.criteria.model.js +38 -38
  68. package/src/saas/internal-api/dbEmails/api/db.emails.api.js +25 -25
  69. package/src/saas/internal-api/dbEmails/api/db.emails.service.js +127 -127
  70. package/src/saas/internal-api/dbEmails/consts/consts.js +3 -3
  71. package/src/saas/internal-api/dbEmails/index.js +4 -4
  72. package/src/saas/internal-api/dbEmails/models/db.emails.model.js +21 -21
  73. package/src/saas/internal-api/dbEmails/utils/util.js +59 -59
  74. package/src/saas/internal-api/globalRecord/api/global.record.api.js +76 -76
  75. package/src/saas/internal-api/globalRecord/api/global.record.service.js +83 -83
  76. package/src/saas/internal-api/globalRecord/consts.js +20 -20
  77. package/src/saas/internal-api/globalRecord/index.js +6 -6
  78. package/src/saas/internal-api/globalRecord/models/global.record.model.js +43 -43
  79. package/src/saas/internal-api/globalRecord/utils/util.js +148 -148
  80. package/src/saas/internal-api/homepageCharts/api/charts.api.js +12 -12
  81. package/src/saas/internal-api/homepageCharts/api/charts.service.js +7 -7
  82. package/src/saas/internal-api/homepageCharts/index.js +3 -3
  83. package/src/saas/internal-api/projects/api/core/projects.api.js +39 -39
  84. package/src/saas/internal-api/projects/api/core/projects.service.js +65 -65
  85. package/src/saas/internal-api/projects/api/settings/project.settings.api.js +18 -18
  86. package/src/saas/internal-api/projects/api/settings/project.settings.service.js +17 -17
  87. package/src/saas/internal-api/projects/consts/defaultProject.js +3 -3
  88. package/src/saas/internal-api/projects/index.js +24 -24
  89. package/src/saas/internal-api/projects/models/core/create.project.model.js +41 -41
  90. package/src/saas/internal-api/projects/models/core/update.project.model.js +47 -47
  91. package/src/saas/internal-api/projects/models/settings/update.project.settings.model.js +39 -39
  92. package/src/saas/internal-api/projects/utils/utils.js +82 -82
  93. package/src/saas/internal-api/recordNotes/api/record.notes.api.js +38 -38
  94. package/src/saas/internal-api/recordNotes/api/record.notes.service.js +29 -29
  95. package/src/saas/internal-api/recordNotes/index.js +3 -3
  96. package/src/saas/internal-api/reports/api/reports.api.js +39 -39
  97. package/src/saas/internal-api/reports/api/reports.service.js +34 -34
  98. package/src/saas/internal-api/reports/consts/consts.js +63 -63
  99. package/src/saas/internal-api/reports/index.js +15 -15
  100. package/src/saas/internal-api/reports/models/report.model.js +27 -27
  101. package/src/saas/internal-api/requests/api/requests.api.js +54 -54
  102. package/src/saas/internal-api/requests/api/requests.service.js +84 -51
  103. package/src/saas/internal-api/requests/index.js +14 -14
  104. package/src/saas/internal-api/requests/models/create.request.model.js +22 -22
  105. package/src/saas/internal-api/requests/models/edit.request.model.js +31 -31
  106. package/src/saas/internal-api/requests/models/tenant.request.model.js +9 -9
  107. package/src/saas/internal-api/requests/utils.js +8 -8
  108. package/src/saas/internal-api/requirements/api/requirements.api.js +45 -45
  109. package/src/saas/internal-api/requirements/api/requirements.service.js +94 -94
  110. package/src/saas/internal-api/requirements/consts/attributeTypes.json +5 -5
  111. package/src/saas/internal-api/requirements/consts/consts.js +6 -6
  112. package/src/saas/internal-api/requirements/index.js +8 -8
  113. package/src/saas/internal-api/requirements/models/create.requirement.model.js +17 -17
  114. package/src/saas/internal-api/requirements/models/policy.model.js +32 -32
  115. package/src/saas/internal-api/requirements/models/update.requirement.model.js +21 -21
  116. package/src/saas/internal-api/requirements/utils/utils.js +101 -101
  117. package/src/saas/internal-api/serviceArea/api/coordinates.api.js +12 -12
  118. package/src/saas/internal-api/serviceArea/api/coordinates.service.js +7 -7
  119. package/src/saas/internal-api/serviceArea/index.js +4 -4
  120. package/src/saas/internal-api/serviceArea/utils/utils.js +8 -8
  121. package/src/saas/internal-api/tabs/api/tabs.api.js +32 -32
  122. package/src/saas/internal-api/tabs/api/tabs.service.js +54 -54
  123. package/src/saas/internal-api/tabs/index.js +3 -3
  124. package/src/saas/internal-api/tabs/models/tabs.model.js +18 -18
  125. package/src/saas/internal-api/thread-scheduler/runner.js +39 -39
  126. package/src/saas/internal-api/users/api/users.api.js +77 -77
  127. package/src/saas/internal-api/users/api/users.service.js +101 -101
  128. package/src/saas/internal-api/users/index.js +4 -4
  129. package/src/saas/internal-api/users/models/users.model.js +31 -31
  130. package/src/saas/internal-api/users/utils/util.js +14 -14
  131. package/src/saas/internal-api/vendorProfile/api/vendor.profile.api.js +20 -20
  132. package/src/saas/internal-api/vendorProfile/api/vendor.profile.service.js +14 -14
  133. package/src/saas/internal-api/vendorProfile/index.js +3 -3
  134. package/src/saas/openapi/accounts/accounts.api.js +17 -17
  135. package/src/saas/openapi/accounts/accounts.service.js +11 -11
  136. package/src/saas/openapi/projects/projects.api.js +59 -59
  137. package/src/saas/openapi/projects/projects.service.js +44 -44
  138. package/src/saas/openapi/requests/index.js +6 -6
  139. package/src/saas/openapi/requests/models/invite.request.model.js +37 -37
  140. package/src/saas/openapi/requests/requests.api.js +20 -20
  141. package/src/saas/openapi/requests/requests.service.js +18 -18
  142. package/src/saas/openapi/requirements/index.js +6 -6
  143. package/src/saas/openapi/requirements/models/copy.requirement.model.js +10 -10
  144. package/src/saas/openapi/requirements/requirements.api.js +12 -12
  145. package/src/saas/openapi/requirements/requirements.service.js +20 -20
  146. package/src/saas/openapi/tabs/tabs.api.js +13 -13
  147. package/src/saas/openapi/tabs/tabs.service.js +7 -7
  148. package/tests/env.test.js +40 -40
  149. package/tests/validation.test.js +83 -83
@@ -1,151 +1,152 @@
1
- const auditApi = require('./audit.api');
2
- const { AuditRequestModel, AuditListParametersModel, AuditDatesModel } = require('../../models/audit/audit.model');
3
- const { validateType } = require('../../../../../common/validations/typeValidations');
4
- const util = require('../../utils/util');
5
- const dataTypeUtils = require('../../../../../common/utils/dataTypeUtils');
6
-
7
- const audit = (auditRequestModel, context) => {
8
- validateType(auditRequestModel, AuditRequestModel);
9
- return auditApi.audit(auditRequestModel.auditData.contractorId, auditRequestModel, context);
10
- };
11
-
12
- const isReaudit = (contractorId, context) => {
13
- return auditApi.isReaudit(contractorId, context);
14
- };
15
-
16
- const getAuditorContractorList = (auditListParametersModel, context) => {
17
- validateType(auditListParametersModel, AuditListParametersModel);
18
- return auditApi.getAuditorContractorList(auditListParametersModel, context);
19
- };
20
-
21
- const getContractorDetailsForAudit = (contractorId, context) => {
22
- return auditApi.getContractorDetailsForAudit(contractorId, context);
23
- };
24
-
25
- const getRequirementDetailsForAudit = (contractorId, context) => {
26
- return auditApi.getRequirementDetailsForAudit(contractorId, context);
27
- };
28
-
29
- const getAuditMetadata = async (
30
- auditorContext,
31
- accountId,
32
- projectId,
33
- requirementId,
34
- recordId,
35
- {
36
- isProjectOnboarding = false,
37
- shouldSendNotificationToPM = false
38
- } = {}) => {
39
- const metadata = {
40
- accountId,
41
- projectId,
42
- requirementId,
43
- contractorId: recordId,
44
- isProjectOnboarding,
45
- shouldSendNotificationToPM
46
- };
47
-
48
- const isReauditResponse = await isReaudit(recordId, auditorContext);
49
- metadata.isReaudit = isReauditResponse.data.isReaudit;
50
-
51
- const recordDetailsResponse = await getContractorDetailsForAudit(recordId, auditorContext);
52
- const { vendorDetails } = recordDetailsResponse.data;
53
-
54
- metadata.certificateId = vendorDetails.certificateDetails.certificateuploadId;
55
- metadata.auditDates = {
56
- contractorId: recordId,
57
- contractorDateModified: vendorDetails.dateModified,
58
- dateStartedAudit: recordDetailsResponse.dateStartedAudit,
59
- contractorOverrideDateModified: vendorDetails.contractorOverrideDateModified,
60
- contractCreateDate: vendorDetails.contractCreateDate
61
- };
62
-
63
- metadata.auditorId = await util.getAuditorId();
64
-
65
- return metadata;
66
- };
67
-
68
- const getAuditEntities = async (recordId, auditData, auditorContext) => {
69
- const requirementDetailsForAuditResponse = await getRequirementDetailsForAudit(recordId, auditorContext);
70
- const requirement = requirementDetailsForAuditResponse.data;
71
-
72
- const auditEntities = [];
73
- auditData.forEach(auditEntity => auditEntities.push(
74
- util.createAuditEntity(requirement, { ... auditEntity }))
75
- );
76
- return auditEntities;
77
- };
78
-
79
- const getAuditRequestModel = (metaData, auditEntities) => {
80
- const {
81
- accountId = null,
82
- projectId = null,
83
- requirementId = null,
84
- contractorId = null,
85
- certificateId = null,
86
- auditorId = null,
87
- auditStatus = null,
88
- isReaudit = false,
89
- isProjectOnboarding = false,
90
- shouldSendNotificationToPM = false,
91
- auditDates = {}
92
- } = metaData;
93
-
94
- const auditDatesModel = new AuditDatesModel(
95
- auditDates.contractorId,
96
- auditDates.contractorDateModified,
97
- auditDates.dateStartedAudit,
98
- auditDates.contractorOverrideDateModified,
99
- auditDates.contractCreateDate
100
- );
101
-
102
- const auditRequestModel = new AuditRequestModel(
103
- accountId,
104
- projectId,
105
- requirementId,
106
- contractorId,
107
- certificateId,
108
- auditorId,
109
- auditEntities,
110
- isReaudit,
111
- isProjectOnboarding,
112
- shouldSendNotificationToPM,
113
- auditDatesModel,
114
- auditStatus
115
- );
116
-
117
- return auditRequestModel;
118
- };
119
-
120
- const auditRecord = async function(
121
- auditorContext,
122
- accountId,
123
- projectId,
124
- requirementId,
125
- recordId,
126
- auditConfig
127
- ) {
128
- const auditMetadata = await getAuditMetadata(auditorContext, accountId, projectId, requirementId, recordId);
129
-
130
- const auditApiConfig = dataTypeUtils.isObject(auditConfig) ?
131
- util.getParsedConfig(auditConfig) :
132
- auditConfig;
133
-
134
- const auditEntities = await getAuditEntities(recordId, auditApiConfig, auditorContext);
135
- const auditRequestModel = getAuditRequestModel(auditMetadata, auditEntities);
136
-
137
- const auditResponse = await audit(auditRequestModel, auditorContext);
138
- return auditResponse;
139
- };
140
-
141
- module.exports = {
142
- audit,
143
- isReaudit,
144
- getAuditorContractorList,
145
- getContractorDetailsForAudit,
146
- getRequirementDetailsForAudit,
147
- getAuditMetadata,
148
- getAuditEntities,
149
- getAuditRequestModel,
150
- auditRecord
151
- };
1
+ const auditApi = require('./audit.api');
2
+ const { AuditRequestModel, AuditListParametersModel, AuditDatesModel } = require('../../models/audit/audit.model');
3
+ const { validateType } = require('../../../../../common/validations/typeValidations');
4
+ const util = require('../../utils/util');
5
+ const dataTypeUtils = require('../../../../../common/utils/dataTypeUtils');
6
+ const { cloneObject } = require('../../../../../common/utils/objectUtils');
7
+
8
+ const audit = (auditRequestModel, context) => {
9
+ validateType(auditRequestModel, AuditRequestModel);
10
+ return auditApi.audit(auditRequestModel.auditData.contractorId, auditRequestModel, context);
11
+ };
12
+
13
+ const isReaudit = (contractorId, context) => {
14
+ return auditApi.isReaudit(contractorId, context);
15
+ };
16
+
17
+ const getAuditorContractorList = (auditListParametersModel, context) => {
18
+ validateType(auditListParametersModel, AuditListParametersModel);
19
+ return auditApi.getAuditorContractorList(auditListParametersModel, context);
20
+ };
21
+
22
+ const getContractorDetailsForAudit = (contractorId, context) => {
23
+ return auditApi.getContractorDetailsForAudit(contractorId, context);
24
+ };
25
+
26
+ const getRequirementDetailsForAudit = (contractorId, context) => {
27
+ return auditApi.getRequirementDetailsForAudit(contractorId, context);
28
+ };
29
+
30
+ const getAuditMetadata = async (
31
+ auditorContext,
32
+ accountId,
33
+ projectId,
34
+ requirementId,
35
+ recordId,
36
+ {
37
+ isProjectOnboarding = false,
38
+ shouldSendNotificationToPM = false
39
+ } = {}) => {
40
+ const metadata = {
41
+ accountId,
42
+ projectId,
43
+ requirementId,
44
+ contractorId: recordId,
45
+ isProjectOnboarding,
46
+ shouldSendNotificationToPM
47
+ };
48
+
49
+ const isReauditResponse = await isReaudit(recordId, auditorContext);
50
+ metadata.isReaudit = isReauditResponse.data.isReaudit;
51
+
52
+ const recordDetailsResponse = await getContractorDetailsForAudit(recordId, auditorContext);
53
+ const { vendorDetails } = recordDetailsResponse.data;
54
+
55
+ metadata.certificateId = vendorDetails.certificateDetails.certificateuploadId;
56
+ metadata.auditDates = {
57
+ contractorId: recordId,
58
+ contractorDateModified: vendorDetails.dateModified,
59
+ dateStartedAudit: recordDetailsResponse.dateStartedAudit,
60
+ contractorOverrideDateModified: vendorDetails.contractorOverrideDateModified,
61
+ contractCreateDate: vendorDetails.contractCreateDate
62
+ };
63
+
64
+ metadata.auditorId = await util.getAuditorId();
65
+
66
+ return metadata;
67
+ };
68
+
69
+ const getAuditEntities = async (recordId, auditData, auditorContext) => {
70
+ const requirementDetailsForAuditResponse = await getRequirementDetailsForAudit(recordId, auditorContext);
71
+ const requirement = requirementDetailsForAuditResponse.data;
72
+
73
+ const auditEntities = [];
74
+ auditData.forEach(auditEntity => auditEntities.push(
75
+ util.createAuditEntity(requirement, { ... auditEntity }))
76
+ );
77
+ return auditEntities;
78
+ };
79
+
80
+ const getAuditRequestModel = (metaData, auditEntities) => {
81
+ const {
82
+ accountId = null,
83
+ projectId = null,
84
+ requirementId = null,
85
+ contractorId = null,
86
+ certificateId = null,
87
+ auditorId = null,
88
+ auditStatus = null,
89
+ isReaudit = false,
90
+ isProjectOnboarding = false,
91
+ shouldSendNotificationToPM = false,
92
+ auditDates = {}
93
+ } = metaData;
94
+
95
+ const auditDatesModel = new AuditDatesModel(
96
+ auditDates.contractorId,
97
+ auditDates.contractorDateModified,
98
+ auditDates.dateStartedAudit,
99
+ auditDates.contractorOverrideDateModified,
100
+ auditDates.contractCreateDate
101
+ );
102
+
103
+ const auditRequestModel = new AuditRequestModel(
104
+ accountId,
105
+ projectId,
106
+ requirementId,
107
+ contractorId,
108
+ certificateId,
109
+ auditorId,
110
+ auditEntities,
111
+ isReaudit,
112
+ isProjectOnboarding,
113
+ shouldSendNotificationToPM,
114
+ auditDatesModel,
115
+ auditStatus
116
+ );
117
+
118
+ return auditRequestModel;
119
+ };
120
+
121
+ const auditRecord = async function(
122
+ auditorContext,
123
+ accountId,
124
+ projectId,
125
+ requirementId,
126
+ recordId,
127
+ auditConfig
128
+ ) {
129
+ const auditMetadata = await getAuditMetadata(auditorContext, accountId, projectId, requirementId, recordId);
130
+
131
+ const auditApiConfig = dataTypeUtils.isObject(auditConfig) ?
132
+ util.parseAuditConfig(cloneObject(auditConfig)) :
133
+ auditConfig;
134
+
135
+ const auditEntities = await getAuditEntities(recordId, auditApiConfig, auditorContext);
136
+ const auditRequestModel = getAuditRequestModel(auditMetadata, auditEntities);
137
+
138
+ const auditResponse = await audit(auditRequestModel, auditorContext);
139
+ return auditResponse;
140
+ };
141
+
142
+ module.exports = {
143
+ audit,
144
+ isReaudit,
145
+ getAuditorContractorList,
146
+ getContractorDetailsForAudit,
147
+ getRequirementDetailsForAudit,
148
+ getAuditMetadata,
149
+ getAuditEntities,
150
+ getAuditRequestModel,
151
+ auditRecord
152
+ };
@@ -1,17 +1,17 @@
1
- const requests = require('../../../../../common/requests/apiKeyAuth/requests');
2
- const { nodeBackendUrl, nodeBackendSecret } = require('../../../../../env').getEnv();
3
-
4
- const Endpoints = {
5
- ocrToCoverage: `${nodeBackendUrl}/compliance/convert/ocr-to-coverage`,
6
- requirement: `${nodeBackendUrl}/compliance/convert/requirement`
7
- };
8
-
9
- const convertOcrToCoverage = async ocrData => {
10
- return requests.postRequestHandler(Endpoints.ocrToCoverage, nodeBackendSecret, ocrData);
11
- };
12
-
13
- const convertRequirement = async oldRequirement => {
14
- return requests.postRequestHandler(Endpoints.requirement, nodeBackendSecret, oldRequirement);
15
- };
16
-
17
- module.exports = { convertOcrToCoverage, convertRequirement };
1
+ const requests = require('../../../../../common/requests/apiKeyAuth/requests');
2
+ const { nodeBackendUrl, nodeBackendSecret } = require('../../../../../env').getEnv();
3
+
4
+ const Endpoints = {
5
+ ocrToCoverage: `${nodeBackendUrl}/compliance/convert/ocr-to-coverage`,
6
+ requirement: `${nodeBackendUrl}/compliance/convert/requirement`
7
+ };
8
+
9
+ const convertOcrToCoverage = async ocrData => {
10
+ return requests.postRequestHandler(Endpoints.ocrToCoverage, nodeBackendSecret, ocrData);
11
+ };
12
+
13
+ const convertRequirement = async oldRequirement => {
14
+ return requests.postRequestHandler(Endpoints.requirement, nodeBackendSecret, oldRequirement);
15
+ };
16
+
17
+ module.exports = { convertOcrToCoverage, convertRequirement };
@@ -1,11 +1,11 @@
1
- const convertApi = require('./convert.api');
2
-
3
- const convertOcrToCoverage = async ocrData => {
4
- return convertApi.convertOcrToCoverage(ocrData).then(res => res && res.data);
5
- };
6
-
7
- const convertRequirement = async requirement => {
8
- return convertApi.convertRequirement(requirement).then(res => res && res.data);
9
- };
10
-
11
- module.exports = { convertOcrToCoverage, convertRequirement };
1
+ const convertApi = require('./convert.api');
2
+
3
+ const convertOcrToCoverage = async ocrData => {
4
+ return convertApi.convertOcrToCoverage(ocrData).then(res => res && res.data);
5
+ };
6
+
7
+ const convertRequirement = async requirement => {
8
+ return convertApi.convertRequirement(requirement).then(res => res && res.data);
9
+ };
10
+
11
+ module.exports = { convertOcrToCoverage, convertRequirement };
@@ -1,33 +1,33 @@
1
- const apiKeyAuthRequests = require('../../../../../common/requests/apiKeyAuth/requests');
2
- const cookieAuthRequests = require('../../../../../common/requests/cookieAuth/requests');
3
- const { backendUrl, nodeBackendUrl } = require('../../../../../env').getEnv();
4
-
5
- const Endpoints = {
6
- saveCoverageNode: `${nodeBackendUrl}/coverage`,
7
- saveCoverageJava: `${backendUrl}/saas/contractors/coverage`,
8
- getCoverageByCoiId: coiId => `${nodeBackendUrl}/coverage/${coiId}`,
9
- deleteCoverageByCoiId: coiId => `${nodeBackendUrl}/coverage/${coiId}`
10
- };
11
-
12
- const saveCoverageNode = (coverage, nodeBackendSecret) => {
13
- return apiKeyAuthRequests.postRequestHandler(Endpoints.saveCoverageNode, nodeBackendSecret, coverage);
14
- };
15
-
16
- const saveCoverageJava = (auditorContext, auditDates, coverage) => {
17
- return cookieAuthRequests.postRequestHandler(Endpoints.saveCoverageJava, { auditDates, coverage }, auditorContext);
18
- };
19
-
20
- const getCoverageByCoiId = (coiId, nodeBackendSecret) => {
21
- return apiKeyAuthRequests.getRequestHandler(Endpoints.getCoverageByCoiId(coiId), nodeBackendSecret);
22
- };
23
-
24
- const deleteCoverageByCoiId = (coiId, icsContext) => {
25
- return cookieAuthRequests.deleteRequestHandler(Endpoints.deleteCoverageByCoiId(coiId), icsContext);
26
- };
27
-
28
- module.exports = {
29
- saveCoverageNode,
30
- saveCoverageJava,
31
- getCoverageByCoiId,
32
- deleteCoverageByCoiId
33
- };
1
+ const apiKeyAuthRequests = require('../../../../../common/requests/apiKeyAuth/requests');
2
+ const cookieAuthRequests = require('../../../../../common/requests/cookieAuth/requests');
3
+ const { backendUrl, nodeBackendUrl } = require('../../../../../env').getEnv();
4
+
5
+ const Endpoints = {
6
+ saveCoverageNode: `${nodeBackendUrl}/coverage`,
7
+ saveCoverageJava: `${backendUrl}/saas/contractors/coverage`,
8
+ getCoverageByCoiId: coiId => `${nodeBackendUrl}/coverage/${coiId}`,
9
+ deleteCoverageByCoiId: coiId => `${nodeBackendUrl}/coverage/${coiId}`
10
+ };
11
+
12
+ const saveCoverageNode = (coverage, nodeBackendSecret) => {
13
+ return apiKeyAuthRequests.postRequestHandler(Endpoints.saveCoverageNode, nodeBackendSecret, coverage);
14
+ };
15
+
16
+ const saveCoverageJava = (auditorContext, auditDates, coverage) => {
17
+ return cookieAuthRequests.postRequestHandler(Endpoints.saveCoverageJava, { auditDates, coverage }, auditorContext);
18
+ };
19
+
20
+ const getCoverageByCoiId = (coiId, nodeBackendSecret) => {
21
+ return apiKeyAuthRequests.getRequestHandler(Endpoints.getCoverageByCoiId(coiId), nodeBackendSecret);
22
+ };
23
+
24
+ const deleteCoverageByCoiId = (coiId, icsContext) => {
25
+ return cookieAuthRequests.deleteRequestHandler(Endpoints.deleteCoverageByCoiId(coiId), icsContext);
26
+ };
27
+
28
+ module.exports = {
29
+ saveCoverageNode,
30
+ saveCoverageJava,
31
+ getCoverageByCoiId,
32
+ deleteCoverageByCoiId
33
+ };
@@ -1,24 +1,24 @@
1
- const coverageApi = require('./coverage.api');
2
-
3
- const saveCoverageNode = (coverage, nodeBackendSecret) => {
4
- return coverageApi.saveCoverageNode(coverage, nodeBackendSecret);
5
- };
6
-
7
- const saveCoverageJava = (auditorContext, auditDates, coverage) => {
8
- return coverageApi.saveCoverageJava(auditorContext, auditDates, coverage);
9
- };
10
-
11
- const getCoverageByCoiId = (coiId, nodeBackendSecret) => {
12
- return coverageApi.getCoverageByCoiId(coiId, nodeBackendSecret).then(res => res && res.data);
13
- };
14
-
15
- const deleteCoverageByCoiId = (coiId, icsContext) => {
16
- return coverageApi.deleteCoverageByCoiId(coiId, icsContext);
17
- };
18
-
19
- module.exports = {
20
- saveCoverageNode,
21
- saveCoverageJava,
22
- getCoverageByCoiId,
23
- deleteCoverageByCoiId
24
- };
1
+ const coverageApi = require('./coverage.api');
2
+
3
+ const saveCoverageNode = (coverage, nodeBackendSecret) => {
4
+ return coverageApi.saveCoverageNode(coverage, nodeBackendSecret);
5
+ };
6
+
7
+ const saveCoverageJava = (auditorContext, auditDates, coverage) => {
8
+ return coverageApi.saveCoverageJava(auditorContext, auditDates, coverage);
9
+ };
10
+
11
+ const getCoverageByCoiId = (coiId, nodeBackendSecret) => {
12
+ return coverageApi.getCoverageByCoiId(coiId, nodeBackendSecret).then(res => res && res.data);
13
+ };
14
+
15
+ const deleteCoverageByCoiId = (coiId, icsContext) => {
16
+ return coverageApi.deleteCoverageByCoiId(coiId, icsContext);
17
+ };
18
+
19
+ module.exports = {
20
+ saveCoverageNode,
21
+ saveCoverageJava,
22
+ getCoverageByCoiId,
23
+ deleteCoverageByCoiId
24
+ };
@@ -1,21 +1,21 @@
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
- };
8
-
9
- const waive = async (contractorId, waiveRequestModel, context) => {
10
- const status = waiveRequestModel.status;
11
- delete waiveRequestModel.status;
12
- return requests.postRequestHandler(Endpoints.waive(contractorId), waiveRequestModel, context, {}, { status });
13
- };
14
-
15
- const retract = async (contractorId, retractRequestModel, context) => {
16
- const status = retractRequestModel.status;
17
- delete retractRequestModel.status;
18
- return requests.postRequestHandler(Endpoints.retract(contractorId), retractRequestModel, context, {}, { status });
19
- };
20
-
21
- module.exports = { waive, retract };
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
+ };
8
+
9
+ const waive = async (contractorId, waiveRequestModel, context) => {
10
+ const status = waiveRequestModel.status;
11
+ delete waiveRequestModel.status;
12
+ return requests.postRequestHandler(Endpoints.waive(contractorId), waiveRequestModel, context, {}, { status });
13
+ };
14
+
15
+ const retract = async (contractorId, retractRequestModel, context) => {
16
+ const status = retractRequestModel.status;
17
+ delete retractRequestModel.status;
18
+ return requests.postRequestHandler(Endpoints.retract(contractorId), retractRequestModel, context, {}, { status });
19
+ };
20
+
21
+ module.exports = { waive, retract };
@@ -1,15 +1,100 @@
1
- const waiveApi = require('./waive.api');
2
- const { WaiveRequestModel, RetractRequestModel } = require('../../models/waive/waive.model');
3
- const { validateType } = require('../../../../../common/validations/typeValidations');
4
-
5
- const waive = (waiveRequestModel, context) => {
6
- validateType(waiveRequestModel, WaiveRequestModel);
7
- return waiveApi.waive(waiveRequestModel.contractorId, waiveRequestModel, context);
8
- };
9
-
10
- const retract = (retractRequestModel, context) => {
11
- validateType(retractRequestModel, RetractRequestModel);
12
- return waiveApi.retract(retractRequestModel.contractorId, retractRequestModel, context);
13
- };
14
-
15
- module.exports = { waive, retract };
1
+ const env = require('../../../../../env');
2
+
3
+ const waiveApi = require('./waive.api');
4
+ const { WaiveRequestModel, RetractRequestModel } = require('../../models/waive/waive.model');
5
+ const { validateType } = require('../../../../../common/validations/typeValidations');
6
+ const util = require('../../utils/util');
7
+
8
+ const { credentials } = env.getEnv();
9
+ const userTypes = require('../../../../../common/consts/userTypes');
10
+
11
+ const waive = (waiveRequestModel, context) => {
12
+ validateType(waiveRequestModel, WaiveRequestModel);
13
+ return waiveApi.waive(waiveRequestModel.contractorId, waiveRequestModel, context);
14
+ };
15
+
16
+ const retract = (retractRequestModel, context) => {
17
+ validateType(retractRequestModel, RetractRequestModel);
18
+ return waiveApi.retract(retractRequestModel.contractorId, retractRequestModel, context);
19
+ };
20
+
21
+ const getWaiveModel = (
22
+ record,
23
+ policyName,
24
+ attributeName,
25
+ waiverReason,
26
+ remarks,
27
+ {
28
+ userId,
29
+ userRole
30
+ } = {}) => {
31
+ const auditId = getPolicyAuditIdFromRecord(record, policyName, util.getAttributeKey(attributeName));
32
+ userId = userId || env.getSystemUserIdentity(credentials.superUser).id;
33
+ userRole = userRole || userTypes.ICS;
34
+
35
+ const waiveModel = new WaiveRequestModel({
36
+ contractorId: record.id,
37
+ auditId,
38
+ waiverReason,
39
+ remarks,
40
+ userId,
41
+ userRole
42
+ });
43
+
44
+ return waiveModel;
45
+ };
46
+
47
+ const getWaiveModelByGap = (
48
+ record,
49
+ policyName,
50
+ gap,
51
+ reason,
52
+ note,
53
+ {
54
+ userId,
55
+ userRole
56
+ } = {}) => {
57
+ const attributeName = util.getAttributeNameByGap(record, policyName, gap);
58
+
59
+ return getWaiveModel(record, policyName, attributeName, reason, note, { userId, userRole });
60
+ };
61
+
62
+ const getRetractModel = (record, policyName, attributeName) => {
63
+ const auditId = getPolicyAuditIdFromRecord(record, policyName, util.getAttributeKey(attributeName));
64
+ const userId = env.getSystemUserIdentity(credentials.superUser).id;
65
+ const userRole = userTypes.ICS;
66
+
67
+ const retractModel = new RetractRequestModel({
68
+ contractorId: record.id,
69
+ auditId,
70
+ userId,
71
+ userRole
72
+ });
73
+
74
+ return retractModel;
75
+ };
76
+
77
+ const getPolicyAuditIdFromRecord = (record, policyName, attributeName) => {
78
+ const policy = record.reviewbyAuditor.find(contractorCoverage =>
79
+ contractorCoverage.insuranceName === policyName);
80
+
81
+ if (!policy) {
82
+ throw new Error(`Policy name: ${policyName} don't exist in record`);
83
+ }
84
+
85
+ const attribute = policy.errorList.find(error => error.limitname === attributeName);
86
+
87
+ if (!attribute) {
88
+ throw new Error(`Attribute name: ${attributeName} don't exist in record`);
89
+ }
90
+
91
+ return attribute.auditId;
92
+ };
93
+
94
+ module.exports = {
95
+ waive,
96
+ retract,
97
+ getWaiveModel,
98
+ getRetractModel,
99
+ getWaiveModelByGap
100
+ };