@getjones/test-infra 2.14.0 → 3.0.0

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 (206) 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 -12
  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/internalAuth/requests.js +48 -38
  13. package/src/common/requests/requestHandlers.js +78 -78
  14. package/src/common/utils/complianceUtil.js +83 -83
  15. package/src/common/utils/configsUtil.js +22 -22
  16. package/src/common/utils/dataTypeUtils.js +41 -41
  17. package/src/common/utils/numberUtils.js +22 -22
  18. package/src/common/utils/objectUtils.js +7 -7
  19. package/src/common/utils/timeUtils.js +177 -177
  20. package/src/common/validations/errorValidation.js +16 -16
  21. package/src/common/validations/typeValidations.js +36 -36
  22. package/src/defaults/configs/auditConfigs.js +91 -91
  23. package/src/defaults/configs/coverage.js +227 -227
  24. package/src/defaults/configs/polices.js +64 -64
  25. package/src/defaults/configs/requirement.js +32 -32
  26. package/src/defaults/index.js +6 -6
  27. package/src/env.js +57 -57
  28. package/src/factory/globalRecord/globalRecord.js +70 -70
  29. package/src/factory/index.js +8 -8
  30. package/src/factory/records/records.js +147 -183
  31. package/src/factory/users/users.js +77 -77
  32. package/src/index.js +91 -91
  33. package/src/saas/internal-api/accounts/api/core/accounts.core.api.js +35 -35
  34. package/src/saas/internal-api/accounts/api/core/accounts.core.service.js +93 -93
  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 -22
  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 +81 -81
  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/auditCustomerRules/api/customer.rules.api.js +43 -43
  50. package/src/saas/internal-api/auditCustomerRules/api/customer.rules.service.js +105 -105
  51. package/src/saas/internal-api/auditCustomerRules/consts/customer.rule.js +11 -11
  52. package/src/saas/internal-api/auditCustomerRules/index.js +6 -6
  53. package/src/saas/internal-api/auditCustomerRules/models/customer.rule.model.js +46 -46
  54. package/src/saas/internal-api/auditCustomerRules/utils/customer.rule.util.js +19 -19
  55. package/src/saas/internal-api/auditNotes/api/audit.notes.api.js +40 -40
  56. package/src/saas/internal-api/auditNotes/api/audit.notes.service.js +115 -115
  57. package/src/saas/internal-api/auditNotes/index.js +4 -4
  58. package/src/saas/internal-api/auditNotes/models/audit.note.model.js +30 -30
  59. package/src/saas/internal-api/auth/api/auth.api.js +27 -27
  60. package/src/saas/internal-api/auth/api/auth.service.js +90 -90
  61. package/src/saas/internal-api/auth/index.js +3 -3
  62. package/src/saas/internal-api/coi/api/coi.api.js +34 -34
  63. package/src/saas/internal-api/coi/api/coi.service.js +22 -22
  64. package/src/saas/internal-api/coi/consts/uploaderTypes.js +5 -5
  65. package/src/saas/internal-api/coi/index.js +13 -13
  66. package/src/saas/internal-api/coi/models/submit.coi.model.js +9 -9
  67. package/src/saas/internal-api/coi/utils/utils.js +48 -48
  68. package/src/saas/internal-api/compliance/api/audit/audit.api.js +100 -100
  69. package/src/saas/internal-api/compliance/api/audit/audit.service.js +230 -230
  70. package/src/saas/internal-api/compliance/api/convert/convert.api.js +17 -17
  71. package/src/saas/internal-api/compliance/api/convert/convert.service.js +11 -11
  72. package/src/saas/internal-api/compliance/api/coverage/coverage.api.js +33 -33
  73. package/src/saas/internal-api/compliance/api/coverage/coverage.service.js +48 -48
  74. package/src/saas/internal-api/compliance/api/overrideGap/override.gap.api.js +33 -33
  75. package/src/saas/internal-api/compliance/api/overrideGap/override.gap.service.js +141 -141
  76. package/src/saas/internal-api/compliance/consts/audit.js +103 -103
  77. package/src/saas/internal-api/compliance/index.js +33 -33
  78. package/src/saas/internal-api/compliance/models/audit/audit.model.js +94 -94
  79. package/src/saas/internal-api/compliance/models/waive/waive.model.js +49 -49
  80. package/src/saas/internal-api/compliance/utils/auditUtil.js +222 -222
  81. package/src/saas/internal-api/compliance/utils/coverageUtil.js +40 -40
  82. package/src/saas/internal-api/contractors/api/contractors.api.js +179 -179
  83. package/src/saas/internal-api/contractors/api/contractors.service.js +234 -234
  84. package/src/saas/internal-api/contractors/consts/consts.js +6 -6
  85. package/src/saas/internal-api/contractors/index.js +8 -8
  86. package/src/saas/internal-api/contractors/models/assign.requirement.model.js +10 -10
  87. package/src/saas/internal-api/contractors/models/edit.contractor.model.js +60 -60
  88. package/src/saas/internal-api/contractors/models/verification.contractor.model.js +27 -27
  89. package/src/saas/internal-api/contractors/utils.js +25 -25
  90. package/src/saas/internal-api/dashboard/api/recordList.api.js +38 -38
  91. package/src/saas/internal-api/dashboard/api/recordList.service.js +60 -60
  92. package/src/saas/internal-api/dashboard/index.js +5 -5
  93. package/src/saas/internal-api/dashboard/models/dashboard.filter.criteria.model.js +38 -38
  94. package/src/saas/internal-api/dbEmails/api/db.emails.api.js +25 -25
  95. package/src/saas/internal-api/dbEmails/api/db.emails.service.js +147 -147
  96. package/src/saas/internal-api/dbEmails/consts/consts.js +54 -54
  97. package/src/saas/internal-api/dbEmails/index.js +6 -6
  98. package/src/saas/internal-api/dbEmails/models/db.emails.model.js +22 -22
  99. package/src/saas/internal-api/dbEmails/utils/util.js +82 -82
  100. package/src/saas/internal-api/emailCustomization/api/email.customization.api.js +26 -26
  101. package/src/saas/internal-api/emailCustomization/api/email.customization.service.js +50 -50
  102. package/src/saas/internal-api/emailCustomization/index.js +3 -3
  103. package/src/saas/internal-api/globalRecord/api/global.record.api.js +95 -95
  104. package/src/saas/internal-api/globalRecord/api/global.record.service.js +105 -106
  105. package/src/saas/internal-api/globalRecord/consts.js +20 -20
  106. package/src/saas/internal-api/globalRecord/index.js +6 -6
  107. package/src/saas/internal-api/globalRecord/models/global.record.model.js +60 -60
  108. package/src/saas/internal-api/globalRecord/utils/util.js +161 -161
  109. package/src/saas/internal-api/homepageCharts/api/charts.api.js +12 -12
  110. package/src/saas/internal-api/homepageCharts/api/charts.service.js +7 -7
  111. package/src/saas/internal-api/homepageCharts/index.js +3 -3
  112. package/src/saas/internal-api/projects/api/core/projects.api.js +39 -39
  113. package/src/saas/internal-api/projects/api/core/projects.service.js +65 -65
  114. package/src/saas/internal-api/projects/api/settings/project.settings.api.js +18 -18
  115. package/src/saas/internal-api/projects/api/settings/project.settings.service.js +35 -35
  116. package/src/saas/internal-api/projects/consts/defaultProject.js +3 -3
  117. package/src/saas/internal-api/projects/index.js +24 -24
  118. package/src/saas/internal-api/projects/models/core/create.project.model.js +41 -41
  119. package/src/saas/internal-api/projects/models/core/update.project.model.js +47 -47
  120. package/src/saas/internal-api/projects/models/settings/update.project.settings.model.js +41 -41
  121. package/src/saas/internal-api/projects/utils/utils.js +156 -156
  122. package/src/saas/internal-api/recordNotes/api/record.notes.api.js +38 -38
  123. package/src/saas/internal-api/recordNotes/api/record.notes.service.js +47 -47
  124. package/src/saas/internal-api/recordNotes/api/record.notes.utils.js +12 -12
  125. package/src/saas/internal-api/recordNotes/index.js +3 -3
  126. package/src/saas/internal-api/reports/api/reports.api.js +39 -39
  127. package/src/saas/internal-api/reports/api/reports.service.js +34 -34
  128. package/src/saas/internal-api/reports/consts/consts.js +64 -64
  129. package/src/saas/internal-api/reports/index.js +15 -15
  130. package/src/saas/internal-api/reports/models/report.model.js +27 -27
  131. package/src/saas/internal-api/requests/api/requests.api.js +78 -90
  132. package/src/saas/internal-api/requests/api/requests.service.js +153 -208
  133. package/src/saas/internal-api/requests/index.js +16 -16
  134. package/src/saas/internal-api/requests/models/create.request.model.js +34 -34
  135. package/src/saas/internal-api/requests/models/edit.request.model.js +31 -31
  136. package/src/saas/internal-api/requests/models/inner.page.request.criteria.model.js +17 -17
  137. package/src/saas/internal-api/requests/models/tenant.request.model.js +9 -9
  138. package/src/saas/internal-api/requests/utils.js +8 -8
  139. package/src/saas/internal-api/requestsTable/api/requests.table.api.js +20 -20
  140. package/src/saas/internal-api/requestsTable/api/requests.table.service.js +14 -14
  141. package/src/saas/internal-api/requestsTable/index.js +3 -3
  142. package/src/saas/internal-api/requirements/api/requirements.api.js +45 -45
  143. package/src/saas/internal-api/requirements/api/requirements.service.js +142 -142
  144. package/src/saas/internal-api/requirements/consts/attributeTypes.json +6 -6
  145. package/src/saas/internal-api/requirements/consts/consts.js +6 -6
  146. package/src/saas/internal-api/requirements/index.js +10 -10
  147. package/src/saas/internal-api/requirements/models/create.requirement.model.js +17 -17
  148. package/src/saas/internal-api/requirements/models/policy.model.js +33 -33
  149. package/src/saas/internal-api/requirements/models/update.requirement.model.js +19 -19
  150. package/src/saas/internal-api/requirements/utils/utils.js +116 -116
  151. package/src/saas/internal-api/serviceArea/api/coordinates.api.js +12 -12
  152. package/src/saas/internal-api/serviceArea/api/coordinates.service.js +7 -7
  153. package/src/saas/internal-api/serviceArea/index.js +4 -4
  154. package/src/saas/internal-api/serviceArea/utils/utils.js +8 -8
  155. package/src/saas/internal-api/tabs/api/tabs.api.js +32 -32
  156. package/src/saas/internal-api/tabs/api/tabs.service.js +54 -54
  157. package/src/saas/internal-api/tabs/index.js +3 -3
  158. package/src/saas/internal-api/tabs/models/tabs.model.js +19 -19
  159. package/src/saas/internal-api/thread-scheduler/runner.js +39 -39
  160. package/src/saas/internal-api/uploadFiles/api/upload.file.api.js +31 -31
  161. package/src/saas/internal-api/uploadFiles/api/upload.file.service.js +42 -42
  162. package/src/saas/internal-api/uploadFiles/consts.js +12 -12
  163. package/src/saas/internal-api/uploadFiles/index.js +3 -3
  164. package/src/saas/internal-api/users/api/tenantApp/tenant.app.api.js +32 -32
  165. package/src/saas/internal-api/users/api/tenantApp/tenant.app.service.js +93 -97
  166. package/src/saas/internal-api/users/api/users.api.js +115 -115
  167. package/src/saas/internal-api/users/api/users.service.js +203 -203
  168. package/src/saas/internal-api/users/index.js +16 -16
  169. package/src/saas/internal-api/users/models/create.inner.system.user.model.js +18 -18
  170. package/src/saas/internal-api/users/models/notification.settings.model.js +12 -12
  171. package/src/saas/internal-api/users/models/tenent.user.model.js +11 -11
  172. package/src/saas/internal-api/users/models/users.model.js +41 -41
  173. package/src/saas/internal-api/users/utils/util.js +39 -39
  174. package/src/saas/internal-api/vendorProfile/api/vendor.profile.api.js +20 -20
  175. package/src/saas/internal-api/vendorProfile/api/vendor.profile.service.js +14 -14
  176. package/src/saas/internal-api/vendorProfile/index.js +3 -3
  177. package/src/saas/openapi/accounts/accounts.api.js +17 -17
  178. package/src/saas/openapi/accounts/accounts.service.js +11 -11
  179. package/src/saas/openapi/coi/coi.api.js +20 -20
  180. package/src/saas/openapi/coi/coi.service.js +13 -13
  181. package/src/saas/openapi/projects/projects.api.js +83 -83
  182. package/src/saas/openapi/projects/projects.service.js +64 -64
  183. package/src/saas/openapi/requests/index.js +7 -7
  184. package/src/saas/openapi/requests/models/invite.request.model.js +37 -37
  185. package/src/saas/openapi/requests/models/update.request.model.js +35 -35
  186. package/src/saas/openapi/requests/requests.api.js +82 -82
  187. package/src/saas/openapi/requests/requests.service.js +70 -70
  188. package/src/saas/openapi/requirements/index.js +6 -6
  189. package/src/saas/openapi/requirements/models/copy.requirement.model.js +10 -10
  190. package/src/saas/openapi/requirements/requirements.api.js +32 -32
  191. package/src/saas/openapi/requirements/requirements.service.js +37 -37
  192. package/src/saas/openapi/tabs/index.js +6 -6
  193. package/src/saas/openapi/tabs/models/create.tab.model.js +6 -6
  194. package/src/saas/openapi/tabs/tabs.api.js +27 -27
  195. package/src/saas/openapi/tabs/tabs.service.js +19 -19
  196. package/src/saas/openapi/users/user.model.js +10 -10
  197. package/src/saas/openapi/users/users.api.js +33 -33
  198. package/src/saas/openapi/users/users.service.js +41 -41
  199. package/tests/env.test.js +40 -40
  200. package/tests/validation.test.js +83 -83
  201. package/src/common/consts/activationStatuses.js +0 -6
  202. package/src/common/consts/projectSettings.js +0 -6
  203. package/src/common/errorCodes.js +0 -3
  204. package/src/saas/internal-api/accounts/api/emailCustomization/accounts.email.customizations.api.js +0 -29
  205. package/src/saas/internal-api/accounts/api/emailCustomization/accounts.email.customizations.service.js +0 -61
  206. package/src/saas/internal-api/requests/models/draft.request.report.model.js +0 -14
@@ -1,46 +1,46 @@
1
- const { customerRuleNames, customerRuleLevels } = require('../consts/customer.rule');
2
-
3
- class CustomerRuleModel {
4
- constructor(accountId, name, level, policyName, { attributeName, gapQuote, projectId, requirementId, id, dateModified } = {}) {
5
- this.ruleAssociation = new RuleAssociation(level, accountId, { projectId, requirementId });
6
- this.ruleConfig = new RuleConfig(name, policyName, { attributeName, gapQuote });
7
- this.dateModified = dateModified;
8
- this.id = id;
9
- }
10
- }
11
-
12
- module.exports = {
13
- CustomerRuleModel
14
- };
15
-
16
- class RuleAssociation {
17
- constructor(level, accountId, { projectId, requirementId } = {}) {
18
- validateCustomerRuleLevel(level);
19
-
20
- this.level = level;
21
- this.accountId = accountId;
22
- this.projectId = projectId;
23
- this.requirementId = requirementId;
24
- }
25
- }
26
-
27
- class RuleConfig {
28
- constructor(name, policyName, { attributeName, gapQuote } = {}) {
29
- validateCustomerRuleName(name);
30
- this.name = name;
31
- this.applyRuleToPolicy = { policyName, attributeName };
32
- this.gapQuote = gapQuote;
33
- }
34
- }
35
-
36
- const validateCustomerRuleLevel = level => {
37
- if (!Object.values(customerRuleLevels).includes(level)) {
38
- throw new Error(`Invalid rule level: ${level}`);
39
- }
40
- };
41
-
42
- const validateCustomerRuleName = customerRuleName => {
43
- if (!Object.values(customerRuleNames).includes(customerRuleName)) {
44
- throw new Error(`Invalid customerRuleName: ${customerRuleName}`);
45
- }
46
- };
1
+ const { customerRuleNames, customerRuleLevels } = require('../consts/customer.rule');
2
+
3
+ class CustomerRuleModel {
4
+ constructor(accountId, name, level, policyName, { attributeName, gapQuote, projectId, requirementId, id, dateModified } = {}) {
5
+ this.ruleAssociation = new RuleAssociation(level, accountId, { projectId, requirementId });
6
+ this.ruleConfig = new RuleConfig(name, policyName, { attributeName, gapQuote });
7
+ this.dateModified = dateModified;
8
+ this.id = id;
9
+ }
10
+ }
11
+
12
+ module.exports = {
13
+ CustomerRuleModel
14
+ };
15
+
16
+ class RuleAssociation {
17
+ constructor(level, accountId, { projectId, requirementId } = {}) {
18
+ validateCustomerRuleLevel(level);
19
+
20
+ this.level = level;
21
+ this.accountId = accountId;
22
+ this.projectId = projectId;
23
+ this.requirementId = requirementId;
24
+ }
25
+ }
26
+
27
+ class RuleConfig {
28
+ constructor(name, policyName, { attributeName, gapQuote } = {}) {
29
+ validateCustomerRuleName(name);
30
+ this.name = name;
31
+ this.applyRuleToPolicy = { policyName, attributeName };
32
+ this.gapQuote = gapQuote;
33
+ }
34
+ }
35
+
36
+ const validateCustomerRuleLevel = level => {
37
+ if (!Object.values(customerRuleLevels).includes(level)) {
38
+ throw new Error(`Invalid rule level: ${level}`);
39
+ }
40
+ };
41
+
42
+ const validateCustomerRuleName = customerRuleName => {
43
+ if (!Object.values(customerRuleNames).includes(customerRuleName)) {
44
+ throw new Error(`Invalid customerRuleName: ${customerRuleName}`);
45
+ }
46
+ };
@@ -1,19 +1,19 @@
1
- const convertGetRulesToModelConfig = rule => {
2
- const { accountId, projectId, requirementId, level } = rule.ruleAssociation;
3
- const { name, applyRuleToPolicy, gapQuote } = rule.ruleConfig;
4
- const customerRuleConfig = {
5
- id: rule.id,
6
- accountId,
7
- name,
8
- level,
9
- policyName: applyRuleToPolicy.policyName,
10
- projectId,
11
- requirementId,
12
- attributeName: applyRuleToPolicy.attributeName,
13
- gapQuote,
14
- dateModified: rule.dateModified
15
- };
16
- return customerRuleConfig;
17
- };
18
-
19
- module.exports = { convertGetRulesToModelConfig };
1
+ const convertGetRulesToModelConfig = rule => {
2
+ const { accountId, projectId, requirementId, level } = rule.ruleAssociation;
3
+ const { name, applyRuleToPolicy, gapQuote } = rule.ruleConfig;
4
+ const customerRuleConfig = {
5
+ id: rule.id,
6
+ accountId,
7
+ name,
8
+ level,
9
+ policyName: applyRuleToPolicy.policyName,
10
+ projectId,
11
+ requirementId,
12
+ attributeName: applyRuleToPolicy.attributeName,
13
+ gapQuote,
14
+ dateModified: rule.dateModified
15
+ };
16
+ return customerRuleConfig;
17
+ };
18
+
19
+ module.exports = { convertGetRulesToModelConfig };
@@ -1,40 +1,40 @@
1
- const requests = require('../../../../common/requests/cookieAuth/requests');
2
- const { backendUrl } = require('../../../../env').getEnv();
3
-
4
- const saas_notes_path = 'saas/notes';
5
- const Endpoints = {
6
- saasNotes: `${backendUrl}/${saas_notes_path}`,
7
- getNotesForAuditor: `${backendUrl}/${saas_notes_path}/auditor`,
8
- updateNote: `${backendUrl}/${saas_notes_path}/update`,
9
- deleteNote: noteId => `${backendUrl}/${saas_notes_path}/${noteId}`
10
- };
11
-
12
- const createAuditNote = (noteModel, context) => {
13
- return requests.postRequestHandler(Endpoints.saasNotes, noteModel, context);
14
- };
15
-
16
- const getAuditNotesByProjectId = (projectId, context) => {
17
- const params = { projectId };
18
- return requests.getRequestHandler(Endpoints.saasNotes, params, context);
19
- };
20
-
21
- const getAuditNotesByRecordId = (recordId, context) => {
22
- const params = { contractorId: recordId };
23
- return requests.getRequestHandler(Endpoints.getNotesForAuditor, params, context);
24
- };
25
-
26
- const updateAuditNote = (noteModel, context) => {
27
- return requests.postRequestHandler(Endpoints.updateNote, noteModel, context);
28
- };
29
-
30
- const deleteAuditNoteById = (noteId, context) => {
31
- return requests.deleteRequestHandler(Endpoints.deleteNote(noteId), context);
32
- };
33
-
34
- module.exports = {
35
- createAuditNote,
36
- getAuditNotesByProjectId,
37
- getAuditNotesByRecordId,
38
- updateAuditNote,
39
- deleteAuditNoteById
40
- };
1
+ const requests = require('../../../../common/requests/cookieAuth/requests');
2
+ const { backendUrl } = require('../../../../env').getEnv();
3
+
4
+ const saas_notes_path = 'saas/notes';
5
+ const Endpoints = {
6
+ saasNotes: `${backendUrl}/${saas_notes_path}`,
7
+ getNotesForAuditor: `${backendUrl}/${saas_notes_path}/auditor`,
8
+ updateNote: `${backendUrl}/${saas_notes_path}/update`,
9
+ deleteNote: noteId => `${backendUrl}/${saas_notes_path}/${noteId}`
10
+ };
11
+
12
+ const createAuditNote = (noteModel, context) => {
13
+ return requests.postRequestHandler(Endpoints.saasNotes, noteModel, context);
14
+ };
15
+
16
+ const getAuditNotesByProjectId = (projectId, context) => {
17
+ const params = { projectId };
18
+ return requests.getRequestHandler(Endpoints.saasNotes, params, context);
19
+ };
20
+
21
+ const getAuditNotesByRecordId = (recordId, context) => {
22
+ const params = { contractorId: recordId };
23
+ return requests.getRequestHandler(Endpoints.getNotesForAuditor, params, context);
24
+ };
25
+
26
+ const updateAuditNote = (noteModel, context) => {
27
+ return requests.postRequestHandler(Endpoints.updateNote, noteModel, context);
28
+ };
29
+
30
+ const deleteAuditNoteById = (noteId, context) => {
31
+ return requests.deleteRequestHandler(Endpoints.deleteNote(noteId), context);
32
+ };
33
+
34
+ module.exports = {
35
+ createAuditNote,
36
+ getAuditNotesByProjectId,
37
+ getAuditNotesByRecordId,
38
+ updateAuditNote,
39
+ deleteAuditNoteById
40
+ };
@@ -1,115 +1,115 @@
1
- const auditApi = require('./audit.notes.api');
2
- const { AuditNoteModel } = require('../models/audit.note.model');
3
- const { validateType } = require('../../../../common/validations/typeValidations');
4
- const httpResponseStatusCodes = require('../../../../common/httpResponseStatusCodes.json');
5
-
6
- const createAuditNote = async (auditNoteModel, context) => {
7
- validateType(auditNoteModel, AuditNoteModel);
8
- const response = await auditApi.createAuditNote(auditNoteModel, context);
9
-
10
- if (response.status !== httpResponseStatusCodes.NO_CONTENT) {
11
- throw Error(`Failed to create audit note - Response: ${response.status}`);
12
- }
13
-
14
- return response;
15
- };
16
-
17
- const getAuditNotesByProjectId = async (projectId, context) => {
18
- const response = await auditApi.getAuditNotesByProjectId(projectId, context);
19
-
20
- if (response.status !== httpResponseStatusCodes.OK) {
21
- throw Error(`Failed to get audit notes by project id: ${projectId} - Response: ${response.status}`);
22
- }
23
-
24
- return response.data;
25
- };
26
-
27
- const getAuditNotesByRecordId = async (recordId, context) => {
28
- const response = await auditApi.getAuditNotesByRecordId(recordId, context);
29
-
30
- if (response.status !== httpResponseStatusCodes.OK) {
31
- throw Error(`Failed to get audit notes by record id: ${recordId} - Response: ${response.status}`);
32
- }
33
-
34
- return response.data;
35
- };
36
-
37
- const updateAuditNote = async (auditNoteModel, context) => {
38
- validateType(auditNoteModel, AuditNoteModel);
39
- const response = await auditApi.updateAuditNote(auditNoteModel, context);
40
-
41
- if (response.status !== httpResponseStatusCodes.NO_CONTENT) {
42
- throw Error(`Failed to update audit note - Response: ${response.status}`);
43
- }
44
-
45
- return response;
46
- };
47
-
48
- const deleteAuditNoteById = (noteId, context) => {
49
- return auditApi.deleteAuditNoteById(noteId, context);
50
- };
51
-
52
- const deleteAllAuditNotesInProject = async (projectId, context) => {
53
- const existingAuditNotes = await getAuditNotesByProjectId(projectId, context);
54
-
55
- for (const auditNotesType in existingAuditNotes) {
56
- if (existingAuditNotes[auditNotesType] && existingAuditNotes[auditNotesType].length) {
57
- await deleteAuditNotesByIds(existingAuditNotes[auditNotesType], context);
58
- }
59
- }
60
- };
61
-
62
- const deleteAllAccountLevelNotes = async (projectId, context) => { //does not delete all notes in account, only account level notes!
63
- const existingAuditNotes = await getAuditNotesByProjectId(projectId, context);
64
- const accountLevelNotesArr = existingAuditNotes.Account;
65
-
66
- if (accountLevelNotesArr.length) {
67
- await deleteAuditNotesByIds(accountLevelNotesArr, context);
68
- }
69
- };
70
-
71
- const deleteAllProjectLevelNotes = async (projectId, context) => { //does not delete all notes in project, only project level notes!
72
- const existingAuditNotes = await getAuditNotesByProjectId(projectId, context);
73
- const projectLevelNotesArr = existingAuditNotes.Project;
74
-
75
- if (projectLevelNotesArr.length) {
76
- await deleteAuditNotesByIds(projectLevelNotesArr, context);
77
- }
78
- };
79
-
80
- const deleteAllRequirementLevelNotes = async (projectId, context) => {
81
- const existingAuditNotes = await getAuditNotesByProjectId(projectId, context);
82
- const requirementLevelNotesArr = existingAuditNotes.Requirement;
83
-
84
- if (requirementLevelNotesArr.length) {
85
- await deleteAuditNotesByIds(requirementLevelNotesArr, context);
86
- }
87
- };
88
-
89
- module.exports = {
90
- createAuditNote,
91
- getAuditNotesByProjectId,
92
- getAuditNotesByRecordId,
93
- updateAuditNote,
94
- deleteAuditNoteById,
95
- deleteAllAccountLevelNotes,
96
- deleteAllProjectLevelNotes,
97
- deleteAllRequirementLevelNotes,
98
- deleteAllAuditNotesInProject
99
- };
100
-
101
- async function deleteAuditNotesByIds(notes, context) {
102
- const failed = [];
103
- for (const note of notes) {
104
- const deleteNoteResponse = await deleteAuditNoteById(note.id, context);
105
-
106
- if (deleteNoteResponse.status !== httpResponseStatusCodes.NO_CONTENT) { //see what EP of delete is returning when all goes well - maybe need to change !status
107
- console.error('Failed to delete note: ', note.id);
108
- failed.push(deleteNoteResponse);
109
- }
110
- }
111
-
112
- if (failed.length) {
113
- throw Error(`Failed to delete ${failed.length} of ${notes.length} notes in account. Failed with status: ${ failed[0].status }`);
114
- }
115
- }
1
+ const auditApi = require('./audit.notes.api');
2
+ const { AuditNoteModel } = require('../models/audit.note.model');
3
+ const { validateType } = require('../../../../common/validations/typeValidations');
4
+ const httpResponseStatusCodes = require('../../../../common/httpResponseStatusCodes.json');
5
+
6
+ const createAuditNote = async (auditNoteModel, context) => {
7
+ validateType(auditNoteModel, AuditNoteModel);
8
+ const response = await auditApi.createAuditNote(auditNoteModel, context);
9
+
10
+ if (response.status !== httpResponseStatusCodes.NO_CONTENT) {
11
+ throw Error(`Failed to create audit note - Response: ${response.status}`);
12
+ }
13
+
14
+ return response;
15
+ };
16
+
17
+ const getAuditNotesByProjectId = async (projectId, context) => {
18
+ const response = await auditApi.getAuditNotesByProjectId(projectId, context);
19
+
20
+ if (response.status !== httpResponseStatusCodes.OK) {
21
+ throw Error(`Failed to get audit notes by project id: ${projectId} - Response: ${response.status}`);
22
+ }
23
+
24
+ return response.data;
25
+ };
26
+
27
+ const getAuditNotesByRecordId = async (recordId, context) => {
28
+ const response = await auditApi.getAuditNotesByRecordId(recordId, context);
29
+
30
+ if (response.status !== httpResponseStatusCodes.OK) {
31
+ throw Error(`Failed to get audit notes by record id: ${recordId} - Response: ${response.status}`);
32
+ }
33
+
34
+ return response.data;
35
+ };
36
+
37
+ const updateAuditNote = async (auditNoteModel, context) => {
38
+ validateType(auditNoteModel, AuditNoteModel);
39
+ const response = await auditApi.updateAuditNote(auditNoteModel, context);
40
+
41
+ if (response.status !== httpResponseStatusCodes.NO_CONTENT) {
42
+ throw Error(`Failed to update audit note - Response: ${response.status}`);
43
+ }
44
+
45
+ return response;
46
+ };
47
+
48
+ const deleteAuditNoteById = (noteId, context) => {
49
+ return auditApi.deleteAuditNoteById(noteId, context);
50
+ };
51
+
52
+ const deleteAllAuditNotesInProject = async (projectId, context) => {
53
+ const existingAuditNotes = await getAuditNotesByProjectId(projectId, context);
54
+
55
+ for (const auditNotesType in existingAuditNotes) {
56
+ if (existingAuditNotes[auditNotesType] && existingAuditNotes[auditNotesType].length) {
57
+ await deleteAuditNotesByIds(existingAuditNotes[auditNotesType], context);
58
+ }
59
+ }
60
+ };
61
+
62
+ const deleteAllAccountLevelNotes = async (projectId, context) => { //does not delete all notes in account, only account level notes!
63
+ const existingAuditNotes = await getAuditNotesByProjectId(projectId, context);
64
+ const accountLevelNotesArr = existingAuditNotes.Account;
65
+
66
+ if (accountLevelNotesArr.length) {
67
+ await deleteAuditNotesByIds(accountLevelNotesArr, context);
68
+ }
69
+ };
70
+
71
+ const deleteAllProjectLevelNotes = async (projectId, context) => { //does not delete all notes in project, only project level notes!
72
+ const existingAuditNotes = await getAuditNotesByProjectId(projectId, context);
73
+ const projectLevelNotesArr = existingAuditNotes.Project;
74
+
75
+ if (projectLevelNotesArr.length) {
76
+ await deleteAuditNotesByIds(projectLevelNotesArr, context);
77
+ }
78
+ };
79
+
80
+ const deleteAllRequirementLevelNotes = async (projectId, context) => {
81
+ const existingAuditNotes = await getAuditNotesByProjectId(projectId, context);
82
+ const requirementLevelNotesArr = existingAuditNotes.Requirement;
83
+
84
+ if (requirementLevelNotesArr.length) {
85
+ await deleteAuditNotesByIds(requirementLevelNotesArr, context);
86
+ }
87
+ };
88
+
89
+ module.exports = {
90
+ createAuditNote,
91
+ getAuditNotesByProjectId,
92
+ getAuditNotesByRecordId,
93
+ updateAuditNote,
94
+ deleteAuditNoteById,
95
+ deleteAllAccountLevelNotes,
96
+ deleteAllProjectLevelNotes,
97
+ deleteAllRequirementLevelNotes,
98
+ deleteAllAuditNotesInProject
99
+ };
100
+
101
+ async function deleteAuditNotesByIds(notes, context) {
102
+ const failed = [];
103
+ for (const note of notes) {
104
+ const deleteNoteResponse = await deleteAuditNoteById(note.id, context);
105
+
106
+ if (deleteNoteResponse.status !== httpResponseStatusCodes.NO_CONTENT) { //see what EP of delete is returning when all goes well - maybe need to change !status
107
+ console.error('Failed to delete note: ', note.id);
108
+ failed.push(deleteNoteResponse);
109
+ }
110
+ }
111
+
112
+ if (failed.length) {
113
+ throw Error(`Failed to delete ${failed.length} of ${notes.length} notes in account. Failed with status: ${ failed[0].status }`);
114
+ }
115
+ }
@@ -1,4 +1,4 @@
1
- const services = require('./api/audit.notes.service');
2
- const models = require('./models/audit.note.model');
3
-
4
- module.exports = { services, models };
1
+ const services = require('./api/audit.notes.service');
2
+ const models = require('./models/audit.note.model');
3
+
4
+ module.exports = { services, models };
@@ -1,30 +1,30 @@
1
- class AuditNoteModel {
2
- constructor(noteEntityType, entityId, note, { id, gapQuote, requirementName } = {}) {
3
- validateNoteEntityType(noteEntityType);
4
-
5
- this.noteEntityType = noteEntityType;
6
- this.entityId = entityId;
7
- this.note = note;
8
-
9
- this.id = id;
10
- this.gapQuote = gapQuote;
11
- this.requirementName = requirementName;
12
- }
13
- }
14
-
15
- const auditNoteTypes = {
16
- account: 'Account',
17
- project: 'Project',
18
- requirement: 'Requirement'
19
- };
20
-
21
- module.exports = {
22
- AuditNoteModel,
23
- auditNoteTypes
24
- };
25
-
26
- const validateNoteEntityType = noteEntityType => {
27
- if (![auditNoteTypes.account, auditNoteTypes.project, auditNoteTypes.requirement].includes(noteEntityType)) {
28
- throw new Error(`Invalid noteEntityType: ${noteEntityType}`);
29
- }
30
- };
1
+ class AuditNoteModel {
2
+ constructor(noteEntityType, entityId, note, { id, gapQuote, requirementName } = {}) {
3
+ validateNoteEntityType(noteEntityType);
4
+
5
+ this.noteEntityType = noteEntityType;
6
+ this.entityId = entityId;
7
+ this.note = note;
8
+
9
+ this.id = id;
10
+ this.gapQuote = gapQuote;
11
+ this.requirementName = requirementName;
12
+ }
13
+ }
14
+
15
+ const auditNoteTypes = {
16
+ account: 'Account',
17
+ project: 'Project',
18
+ requirement: 'Requirement'
19
+ };
20
+
21
+ module.exports = {
22
+ AuditNoteModel,
23
+ auditNoteTypes
24
+ };
25
+
26
+ const validateNoteEntityType = noteEntityType => {
27
+ if (![auditNoteTypes.account, auditNoteTypes.project, auditNoteTypes.requirement].includes(noteEntityType)) {
28
+ throw new Error(`Invalid noteEntityType: ${noteEntityType}`);
29
+ }
30
+ };
@@ -1,27 +1,27 @@
1
- const requests = require('../../../../common/requests/cookieAuth/requests');
2
- const { backendUrl } = require('../../../../env').getEnv();
3
-
4
- const Endpoints = {
5
- login: `${backendUrl}/logincontroller`,
6
- verifyEmail: `${backendUrl}/verify/email`,
7
- createOneTimeSession: `${backendUrl}/vendor-app/one-time-session/create`,
8
- verifyUser: `${backendUrl}/vendor-app/one-time-session/verify-user`
9
- };
10
-
11
- const login = (email, password) => {
12
- return requests.postRequestHandler(Endpoints.login, { email, password });
13
- };
14
-
15
- const verifyEmail = email => {
16
- return requests.postRequestHandler(Endpoints.verifyEmail, { email });
17
- };
18
-
19
- const createOneTimeSession = email => {
20
- return requests.postRequestHandler(Endpoints.createOneTimeSession, { email });
21
- };
22
-
23
- const verifyUser = (email, oneTimeCode) => {
24
- return requests.postRequestHandler(Endpoints.verifyUser, { email, oneTimeCode });
25
- };
26
-
27
- module.exports = { login, verifyEmail, createOneTimeSession, verifyUser };
1
+ const requests = require('../../../../common/requests/cookieAuth/requests');
2
+ const { backendUrl } = require('../../../../env').getEnv();
3
+
4
+ const Endpoints = {
5
+ login: `${backendUrl}/logincontroller`,
6
+ verifyEmail: `${backendUrl}/verify/email`,
7
+ createOneTimeSession: `${backendUrl}/vendor-app/one-time-session/create`,
8
+ verifyUser: `${backendUrl}/vendor-app/one-time-session/verify-user`
9
+ };
10
+
11
+ const login = (email, password) => {
12
+ return requests.postRequestHandler(Endpoints.login, { email, password });
13
+ };
14
+
15
+ const verifyEmail = email => {
16
+ return requests.postRequestHandler(Endpoints.verifyEmail, { email });
17
+ };
18
+
19
+ const createOneTimeSession = email => {
20
+ return requests.postRequestHandler(Endpoints.createOneTimeSession, { email });
21
+ };
22
+
23
+ const verifyUser = (email, oneTimeCode) => {
24
+ return requests.postRequestHandler(Endpoints.verifyUser, { email, oneTimeCode });
25
+ };
26
+
27
+ module.exports = { login, verifyEmail, createOneTimeSession, verifyUser };