@getjones/test-infra 3.0.1 → 3.0.2

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