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