@getjones/test-infra 3.1.2 → 3.1.4

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 (214) 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 +146 -146
  5. package/src/common/consts/accountSettings.js +10 -10
  6. package/src/common/consts/activationStatuses.js +6 -6
  7. package/src/common/consts/constantsForRecordsSortingAndFilters.js +40 -40
  8. package/src/common/consts/dashboardCharts.js +18 -18
  9. package/src/common/consts/ocrStatuses.js +6 -6
  10. package/src/common/consts/projectSettings.js +6 -6
  11. package/src/common/consts/recordTypes.js +5 -5
  12. package/src/common/consts/s3FileTypes.js +12 -12
  13. package/src/common/consts/userTypes.js +8 -8
  14. package/src/common/errorCodes.js +3 -3
  15. package/src/common/httpResponseStatusCodes.json +11 -11
  16. package/src/common/requests/apiKeyAuth/requests.js +44 -44
  17. package/src/common/requests/cookieAuth/requests.js +40 -40
  18. package/src/common/requests/internalAuth/requests.js +48 -48
  19. package/src/common/requests/requestHandlers.js +78 -78
  20. package/src/common/utils/complianceUtil.js +106 -106
  21. package/src/common/utils/configsUtil.js +22 -22
  22. package/src/common/utils/dataTypeUtils.js +41 -41
  23. package/src/common/utils/numberUtils.js +22 -22
  24. package/src/common/utils/objectUtils.js +7 -7
  25. package/src/common/utils/timeUtils.js +177 -177
  26. package/src/common/validations/errorValidation.js +16 -16
  27. package/src/common/validations/typeValidations.js +36 -36
  28. package/src/defaults/configs/auditConfigs.js +99 -99
  29. package/src/defaults/configs/coverage.js +227 -227
  30. package/src/defaults/configs/polices.js +67 -67
  31. package/src/defaults/configs/requirement.js +32 -32
  32. package/src/defaults/index.js +6 -6
  33. package/src/env.js +57 -57
  34. package/src/factory/globalRecord/globalRecord.js +70 -70
  35. package/src/factory/index.js +8 -8
  36. package/src/factory/records/records.js +221 -225
  37. package/src/factory/users/users.js +77 -77
  38. package/src/index.js +91 -91
  39. package/src/saas/internal-api/accounts/api/core/accounts.core.api.js +35 -35
  40. package/src/saas/internal-api/accounts/api/core/accounts.core.service.js +93 -93
  41. package/src/saas/internal-api/accounts/api/emailCustomization/accounts.email.customizations.api.js +29 -29
  42. package/src/saas/internal-api/accounts/api/emailCustomization/accounts.email.customizations.service.js +61 -61
  43. package/src/saas/internal-api/accounts/api/openapi/accounts.openapi.api.js +48 -48
  44. package/src/saas/internal-api/accounts/api/openapi/accounts.openapi.service.js +74 -74
  45. package/src/saas/internal-api/accounts/api/settings/settings.api.js +21 -21
  46. package/src/saas/internal-api/accounts/api/settings/settings.service.js +41 -41
  47. package/src/saas/internal-api/accounts/consts/consts.js +6 -6
  48. package/src/saas/internal-api/accounts/index.js +22 -22
  49. package/src/saas/internal-api/accounts/models/core/create.account.model.js +16 -16
  50. package/src/saas/internal-api/accounts/models/settings/update.settings.model.js +38 -38
  51. package/src/saas/internal-api/accounts/utils/utils.js +58 -58
  52. package/src/saas/internal-api/agreement/api/agreement.api.js +35 -35
  53. package/src/saas/internal-api/agreement/api/agreement.service.js +81 -81
  54. package/src/saas/internal-api/agreement/consts/consts.js +8 -8
  55. package/src/saas/internal-api/agreement/index.js +11 -11
  56. package/src/saas/internal-api/agreement/models/create.agreement.model.js +12 -12
  57. package/src/saas/internal-api/auditCustomerRules/api/customer.rules.api.js +43 -43
  58. package/src/saas/internal-api/auditCustomerRules/api/customer.rules.service.js +105 -105
  59. package/src/saas/internal-api/auditCustomerRules/consts/customer.rule.js +11 -11
  60. package/src/saas/internal-api/auditCustomerRules/index.js +6 -6
  61. package/src/saas/internal-api/auditCustomerRules/models/customer.rule.model.js +46 -46
  62. package/src/saas/internal-api/auditCustomerRules/utils/customer.rule.util.js +19 -19
  63. package/src/saas/internal-api/auditNotes/api/audit.notes.api.js +40 -40
  64. package/src/saas/internal-api/auditNotes/api/audit.notes.service.js +115 -115
  65. package/src/saas/internal-api/auditNotes/index.js +4 -4
  66. package/src/saas/internal-api/auditNotes/models/audit.note.model.js +30 -30
  67. package/src/saas/internal-api/auth/api/auth.api.js +27 -27
  68. package/src/saas/internal-api/auth/api/auth.service.js +90 -90
  69. package/src/saas/internal-api/auth/index.js +3 -3
  70. package/src/saas/internal-api/coi/api/coi.api.js +40 -40
  71. package/src/saas/internal-api/coi/api/coi.service.js +26 -26
  72. package/src/saas/internal-api/coi/consts/hashes.js +4 -4
  73. package/src/saas/internal-api/coi/consts/uploaderTypes.js +5 -5
  74. package/src/saas/internal-api/coi/index.js +14 -14
  75. package/src/saas/internal-api/coi/models/submit.coi.model.js +19 -9
  76. package/src/saas/internal-api/coi/utils/utils.js +70 -48
  77. package/src/saas/internal-api/compliance/api/audit/audit.api.js +100 -100
  78. package/src/saas/internal-api/compliance/api/audit/audit.service.js +242 -242
  79. package/src/saas/internal-api/compliance/api/convert/convert.api.js +17 -17
  80. package/src/saas/internal-api/compliance/api/convert/convert.service.js +11 -11
  81. package/src/saas/internal-api/compliance/api/coverage/coverage.api.js +33 -33
  82. package/src/saas/internal-api/compliance/api/coverage/coverage.service.js +48 -48
  83. package/src/saas/internal-api/compliance/api/overrideGap/override.gap.api.js +33 -33
  84. package/src/saas/internal-api/compliance/api/overrideGap/override.gap.service.js +141 -141
  85. package/src/saas/internal-api/compliance/consts/audit.js +103 -103
  86. package/src/saas/internal-api/compliance/index.js +33 -33
  87. package/src/saas/internal-api/compliance/models/audit/audit.model.js +94 -94
  88. package/src/saas/internal-api/compliance/models/waive/waive.model.js +49 -49
  89. package/src/saas/internal-api/compliance/utils/auditUtil.js +222 -222
  90. package/src/saas/internal-api/compliance/utils/coverageUtil.js +40 -40
  91. package/src/saas/internal-api/contractors/api/contractors.api.js +203 -203
  92. package/src/saas/internal-api/contractors/api/contractors.service.js +318 -318
  93. package/src/saas/internal-api/contractors/consts/consts.js +6 -6
  94. package/src/saas/internal-api/contractors/index.js +8 -8
  95. package/src/saas/internal-api/contractors/models/assign.requirement.model.js +10 -10
  96. package/src/saas/internal-api/contractors/models/edit.contractor.model.js +62 -62
  97. package/src/saas/internal-api/contractors/models/link.request.model.js +10 -10
  98. package/src/saas/internal-api/contractors/models/subscription.contractor.model.js +13 -13
  99. package/src/saas/internal-api/contractors/models/verification.contractor.model.js +27 -27
  100. package/src/saas/internal-api/contractors/utils.js +25 -25
  101. package/src/saas/internal-api/dashboard/api/recordList.api.js +38 -38
  102. package/src/saas/internal-api/dashboard/api/recordList.service.js +60 -60
  103. package/src/saas/internal-api/dashboard/index.js +5 -5
  104. package/src/saas/internal-api/dashboard/models/dashboard.filter.criteria.model.js +38 -38
  105. package/src/saas/internal-api/dbEmails/api/db.emails.api.js +25 -25
  106. package/src/saas/internal-api/dbEmails/api/db.emails.service.js +156 -156
  107. package/src/saas/internal-api/dbEmails/consts/consts.js +54 -54
  108. package/src/saas/internal-api/dbEmails/index.js +6 -6
  109. package/src/saas/internal-api/dbEmails/models/db.emails.model.js +22 -22
  110. package/src/saas/internal-api/dbEmails/utils/util.js +87 -87
  111. package/src/saas/internal-api/emailCustomization/api/email.customization.api.js +26 -26
  112. package/src/saas/internal-api/emailCustomization/api/email.customization.service.js +50 -50
  113. package/src/saas/internal-api/emailCustomization/index.js +3 -3
  114. package/src/saas/internal-api/globalRecord/api/global.record.api.js +95 -95
  115. package/src/saas/internal-api/globalRecord/api/global.record.service.js +105 -105
  116. package/src/saas/internal-api/globalRecord/consts.js +20 -20
  117. package/src/saas/internal-api/globalRecord/index.js +6 -6
  118. package/src/saas/internal-api/globalRecord/models/global.record.model.js +60 -60
  119. package/src/saas/internal-api/globalRecord/utils/util.js +161 -161
  120. package/src/saas/internal-api/homepageCharts/api/charts.api.js +12 -12
  121. package/src/saas/internal-api/homepageCharts/api/charts.service.js +7 -7
  122. package/src/saas/internal-api/homepageCharts/index.js +3 -3
  123. package/src/saas/internal-api/projects/api/core/projects.api.js +39 -39
  124. package/src/saas/internal-api/projects/api/core/projects.service.js +65 -65
  125. package/src/saas/internal-api/projects/api/settings/project.settings.api.js +18 -18
  126. package/src/saas/internal-api/projects/api/settings/project.settings.service.js +35 -35
  127. package/src/saas/internal-api/projects/consts/defaultProject.js +3 -3
  128. package/src/saas/internal-api/projects/index.js +24 -24
  129. package/src/saas/internal-api/projects/models/core/create.project.model.js +41 -41
  130. package/src/saas/internal-api/projects/models/core/update.project.model.js +47 -47
  131. package/src/saas/internal-api/projects/models/settings/update.project.settings.model.js +41 -41
  132. package/src/saas/internal-api/projects/utils/utils.js +156 -156
  133. package/src/saas/internal-api/recordNotes/api/record.notes.api.js +38 -38
  134. package/src/saas/internal-api/recordNotes/api/record.notes.service.js +47 -47
  135. package/src/saas/internal-api/recordNotes/api/record.notes.utils.js +12 -12
  136. package/src/saas/internal-api/recordNotes/index.js +3 -3
  137. package/src/saas/internal-api/reports/api/reports.api.js +39 -39
  138. package/src/saas/internal-api/reports/api/reports.service.js +34 -34
  139. package/src/saas/internal-api/reports/consts/consts.js +65 -65
  140. package/src/saas/internal-api/reports/index.js +15 -15
  141. package/src/saas/internal-api/reports/models/report.model.js +27 -27
  142. package/src/saas/internal-api/requests/api/requests.api.js +120 -120
  143. package/src/saas/internal-api/requests/api/requests.service.js +272 -272
  144. package/src/saas/internal-api/requests/index.js +20 -20
  145. package/src/saas/internal-api/requests/models/create.request.model.js +33 -33
  146. package/src/saas/internal-api/requests/models/draft.request.criteria.model.js +18 -18
  147. package/src/saas/internal-api/requests/models/draft.request.report.model.js +14 -14
  148. package/src/saas/internal-api/requests/models/edit.request.model.js +31 -31
  149. package/src/saas/internal-api/requests/models/requestListCriteriaModel.js +17 -17
  150. package/src/saas/internal-api/requests/models/tenant.request.model.js +9 -9
  151. package/src/saas/internal-api/requests/utils.js +8 -8
  152. package/src/saas/internal-api/requestsTable/api/requests.table.api.js +20 -20
  153. package/src/saas/internal-api/requestsTable/api/requests.table.service.js +14 -14
  154. package/src/saas/internal-api/requestsTable/index.js +3 -3
  155. package/src/saas/internal-api/requirements/api/requirements.api.js +51 -51
  156. package/src/saas/internal-api/requirements/api/requirements.service.js +153 -153
  157. package/src/saas/internal-api/requirements/consts/attributeTypes.json +6 -6
  158. package/src/saas/internal-api/requirements/consts/consts.js +6 -6
  159. package/src/saas/internal-api/requirements/index.js +10 -10
  160. package/src/saas/internal-api/requirements/models/create.requirement.model.js +17 -17
  161. package/src/saas/internal-api/requirements/models/policy.model.js +33 -33
  162. package/src/saas/internal-api/requirements/models/update.requirement.model.js +19 -19
  163. package/src/saas/internal-api/requirements/utils/utils.js +116 -116
  164. package/src/saas/internal-api/serviceArea/api/coordinates.api.js +12 -12
  165. package/src/saas/internal-api/serviceArea/api/coordinates.service.js +7 -7
  166. package/src/saas/internal-api/serviceArea/index.js +4 -4
  167. package/src/saas/internal-api/serviceArea/utils/utils.js +8 -8
  168. package/src/saas/internal-api/tabs/api/tabs.api.js +32 -32
  169. package/src/saas/internal-api/tabs/api/tabs.service.js +54 -54
  170. package/src/saas/internal-api/tabs/index.js +3 -3
  171. package/src/saas/internal-api/tabs/models/tabs.model.js +19 -19
  172. package/src/saas/internal-api/thread-scheduler/runner.js +39 -39
  173. package/src/saas/internal-api/uploadFiles/api/upload.file.api.js +31 -31
  174. package/src/saas/internal-api/uploadFiles/api/upload.file.service.js +42 -42
  175. package/src/saas/internal-api/uploadFiles/consts.js +12 -12
  176. package/src/saas/internal-api/uploadFiles/index.js +3 -3
  177. package/src/saas/internal-api/users/api/tenantApp/tenant.app.api.js +32 -32
  178. package/src/saas/internal-api/users/api/tenantApp/tenant.app.service.js +97 -97
  179. package/src/saas/internal-api/users/api/users.api.js +115 -115
  180. package/src/saas/internal-api/users/api/users.service.js +203 -203
  181. package/src/saas/internal-api/users/index.js +16 -16
  182. package/src/saas/internal-api/users/models/create.inner.system.user.model.js +18 -18
  183. package/src/saas/internal-api/users/models/notification.settings.model.js +12 -12
  184. package/src/saas/internal-api/users/models/tenent.user.model.js +11 -11
  185. package/src/saas/internal-api/users/models/users.model.js +41 -41
  186. package/src/saas/internal-api/users/utils/util.js +39 -39
  187. package/src/saas/internal-api/vendorProfile/api/vendor.profile.api.js +20 -20
  188. package/src/saas/internal-api/vendorProfile/api/vendor.profile.service.js +14 -14
  189. package/src/saas/internal-api/vendorProfile/index.js +3 -3
  190. package/src/saas/openapi/accounts/accounts.api.js +17 -17
  191. package/src/saas/openapi/accounts/accounts.service.js +11 -11
  192. package/src/saas/openapi/coi/coi.api.js +20 -20
  193. package/src/saas/openapi/coi/coi.service.js +13 -13
  194. package/src/saas/openapi/projects/projects.api.js +83 -83
  195. package/src/saas/openapi/projects/projects.service.js +64 -64
  196. package/src/saas/openapi/requests/index.js +7 -7
  197. package/src/saas/openapi/requests/models/invite.request.model.js +37 -37
  198. package/src/saas/openapi/requests/models/update.request.model.js +35 -35
  199. package/src/saas/openapi/requests/requests.api.js +82 -82
  200. package/src/saas/openapi/requests/requests.service.js +70 -70
  201. package/src/saas/openapi/requirements/index.js +6 -6
  202. package/src/saas/openapi/requirements/models/copy.requirement.model.js +10 -10
  203. package/src/saas/openapi/requirements/requirements.api.js +32 -32
  204. package/src/saas/openapi/requirements/requirements.service.js +37 -37
  205. package/src/saas/openapi/tabs/index.js +6 -6
  206. package/src/saas/openapi/tabs/models/create.tab.model.js +6 -6
  207. package/src/saas/openapi/tabs/tabs.api.js +27 -27
  208. package/src/saas/openapi/tabs/tabs.service.js +19 -19
  209. package/src/saas/openapi/users/user.model.js +10 -10
  210. package/src/saas/openapi/users/users.api.js +33 -33
  211. package/src/saas/openapi/users/users.service.js +41 -41
  212. package/tests/env.test.js +40 -40
  213. package/tests/validation.test.js +83 -83
  214. package/src/resources/virusFile.pdf +0 -0
@@ -1,65 +1,65 @@
1
- const projectsApi = require('./projects.api');
2
- const { validateType } = require('../../../../../common/validations/typeValidations');
3
- const CreateProjectModel = require('../../models/core/create.project.model');
4
- const UpdateProjectModel = require('../../models/core/update.project.model');
5
-
6
- const getProjectsByAccountId = (accountId, context) => {
7
- return projectsApi.getProjectsByAccountId(accountId, context);
8
- };
9
-
10
- const getProjectByProjectId = (projectId, context) => {
11
- return projectsApi.getProjectByProjectId(projectId, context);
12
- };
13
-
14
- const getProjectByName = async (accountId, projectName, context) => {
15
- const { data: projects } = await getProjectsByAccountId(accountId, context);
16
- const requestedProject = projects.find(project => project.projectName === projectName);
17
- return requestedProject ? requestedProject : null;
18
- };
19
-
20
- const getProjectServiceArea = (projectId, context) => {
21
- return projectsApi.getProjectServiceAreaByProjectId(projectId, context);
22
- };
23
-
24
- const deleteProjectByName = async (accountId, projectName, context) => {
25
- const { data: projects } = await getProjectsByAccountId(accountId, context);
26
- const filteredProjects = projects.filter(project => project.projectName === projectName);
27
-
28
- return await Promise.all(
29
- filteredProjects.map(
30
- async project => await projectsApi.deleteProjectById(project.projectId, context)
31
- )
32
- );
33
- };
34
-
35
- const createProject = (createProjectModel, context) => {
36
- validateType(createProjectModel, CreateProjectModel);
37
- return projectsApi.create(createProjectModel, context);
38
- };
39
-
40
- const getOrCreateProject = async (createProjectModel, context) => {
41
- let project = await getProjectByName(createProjectModel.userId, createProjectModel.projectName, context);
42
-
43
- if (!project) {
44
- await createProject(createProjectModel, context);
45
- project = await getProjectByName(createProjectModel.userId, createProjectModel.projectName, context);
46
- }
47
-
48
- return project;
49
- };
50
-
51
- const updateProject = (updateProjectModel, context) => {
52
- validateType(updateProjectModel, UpdateProjectModel);
53
- return projectsApi.update(updateProjectModel, context);
54
- };
55
-
56
- module.exports = {
57
- getOrCreateProject,
58
- getProjectsByAccountId,
59
- getProjectByProjectId,
60
- getProjectByName,
61
- createProject,
62
- deleteProjectByName,
63
- updateProject,
64
- getProjectServiceArea
65
- };
1
+ const projectsApi = require('./projects.api');
2
+ const { validateType } = require('../../../../../common/validations/typeValidations');
3
+ const CreateProjectModel = require('../../models/core/create.project.model');
4
+ const UpdateProjectModel = require('../../models/core/update.project.model');
5
+
6
+ const getProjectsByAccountId = (accountId, context) => {
7
+ return projectsApi.getProjectsByAccountId(accountId, context);
8
+ };
9
+
10
+ const getProjectByProjectId = (projectId, context) => {
11
+ return projectsApi.getProjectByProjectId(projectId, context);
12
+ };
13
+
14
+ const getProjectByName = async (accountId, projectName, context) => {
15
+ const { data: projects } = await getProjectsByAccountId(accountId, context);
16
+ const requestedProject = projects.find(project => project.projectName === projectName);
17
+ return requestedProject ? requestedProject : null;
18
+ };
19
+
20
+ const getProjectServiceArea = (projectId, context) => {
21
+ return projectsApi.getProjectServiceAreaByProjectId(projectId, context);
22
+ };
23
+
24
+ const deleteProjectByName = async (accountId, projectName, context) => {
25
+ const { data: projects } = await getProjectsByAccountId(accountId, context);
26
+ const filteredProjects = projects.filter(project => project.projectName === projectName);
27
+
28
+ return await Promise.all(
29
+ filteredProjects.map(
30
+ async project => await projectsApi.deleteProjectById(project.projectId, context)
31
+ )
32
+ );
33
+ };
34
+
35
+ const createProject = (createProjectModel, context) => {
36
+ validateType(createProjectModel, CreateProjectModel);
37
+ return projectsApi.create(createProjectModel, context);
38
+ };
39
+
40
+ const getOrCreateProject = async (createProjectModel, context) => {
41
+ let project = await getProjectByName(createProjectModel.userId, createProjectModel.projectName, context);
42
+
43
+ if (!project) {
44
+ await createProject(createProjectModel, context);
45
+ project = await getProjectByName(createProjectModel.userId, createProjectModel.projectName, context);
46
+ }
47
+
48
+ return project;
49
+ };
50
+
51
+ const updateProject = (updateProjectModel, context) => {
52
+ validateType(updateProjectModel, UpdateProjectModel);
53
+ return projectsApi.update(updateProjectModel, context);
54
+ };
55
+
56
+ module.exports = {
57
+ getOrCreateProject,
58
+ getProjectsByAccountId,
59
+ getProjectByProjectId,
60
+ getProjectByName,
61
+ createProject,
62
+ deleteProjectByName,
63
+ updateProject,
64
+ getProjectServiceArea
65
+ };
@@ -1,18 +1,18 @@
1
- const requests = require('../../../../../common/requests/cookieAuth/requests');
2
- const { backendUrl } = require('../../../../../env').getEnv();
3
-
4
- const Endpoints = {
5
- getByProjectId: projectId => `${backendUrl}/saas/project/${projectId}/settings`,
6
- updateByProjectId: projectId => `${backendUrl}/saas/project/${projectId}/settings`
7
- };
8
-
9
- const getProjectSettingsByProjectId = (projectId, context) => {
10
- const params = { projectId };
11
- return requests.getRequestHandler(Endpoints.getByProjectId(projectId), params, context);
12
- };
13
-
14
- const updateProjectSettingsByProjectId = (settings, context) => {
15
- return requests.putRequestHandler(Endpoints.updateByProjectId(settings.projectId), settings, context);
16
- };
17
-
18
- module.exports = { getProjectSettingsByProjectId, updateProjectSettingsByProjectId };
1
+ const requests = require('../../../../../common/requests/cookieAuth/requests');
2
+ const { backendUrl } = require('../../../../../env').getEnv();
3
+
4
+ const Endpoints = {
5
+ getByProjectId: projectId => `${backendUrl}/saas/project/${projectId}/settings`,
6
+ updateByProjectId: projectId => `${backendUrl}/saas/project/${projectId}/settings`
7
+ };
8
+
9
+ const getProjectSettingsByProjectId = (projectId, context) => {
10
+ const params = { projectId };
11
+ return requests.getRequestHandler(Endpoints.getByProjectId(projectId), params, context);
12
+ };
13
+
14
+ const updateProjectSettingsByProjectId = (settings, context) => {
15
+ return requests.putRequestHandler(Endpoints.updateByProjectId(settings.projectId), settings, context);
16
+ };
17
+
18
+ module.exports = { getProjectSettingsByProjectId, updateProjectSettingsByProjectId };
@@ -1,35 +1,35 @@
1
- const { getProjectSettingsByProjectId, updateProjectSettingsByProjectId } = require('./project.settings.api');
2
- const { validateType } = require('../../../../../common/validations/typeValidations');
3
- const UpdateProjectSettingsModel = require('../../models/settings/update.project.settings.model');
4
- const util = require('../../utils/utils');
5
- const httpResponseStatusCodes = require('../../../../../common/httpResponseStatusCodes.json');
6
-
7
- const updateProjectSettings = (updateProjectSettingsModel, context) => {
8
- validateType(updateProjectSettingsModel, UpdateProjectSettingsModel);
9
- return updateProjectSettingsByProjectId(updateProjectSettingsModel, context);
10
- };
11
-
12
- const getProjectSettings = (projectId, context) => {
13
- return getProjectSettingsByProjectId(projectId, context);
14
- };
15
-
16
- const setProjectSettings = async (projectId, settings, context) => {
17
- const isUIConfig = util.isUIConfig(settings);
18
-
19
- const settingsConfig = isUIConfig ? util.parseProjectSettingsConfig(projectId, settings) : { ... settings, projectId };
20
- const settingsModel = new UpdateProjectSettingsModel(settingsConfig);
21
-
22
- const updateResponse = await updateProjectSettings(settingsModel, context);
23
-
24
- if (updateResponse.status !== httpResponseStatusCodes.OK) {
25
- throw new Error(`Failed to set project: ${projectId} settings\n${updateResponse.statusText}`);
26
- }
27
-
28
- return updateResponse;
29
- };
30
-
31
- module.exports = {
32
- updateProjectSettings,
33
- getProjectSettings,
34
- setProjectSettings
35
- };
1
+ const { getProjectSettingsByProjectId, updateProjectSettingsByProjectId } = require('./project.settings.api');
2
+ const { validateType } = require('../../../../../common/validations/typeValidations');
3
+ const UpdateProjectSettingsModel = require('../../models/settings/update.project.settings.model');
4
+ const util = require('../../utils/utils');
5
+ const httpResponseStatusCodes = require('../../../../../common/httpResponseStatusCodes.json');
6
+
7
+ const updateProjectSettings = (updateProjectSettingsModel, context) => {
8
+ validateType(updateProjectSettingsModel, UpdateProjectSettingsModel);
9
+ return updateProjectSettingsByProjectId(updateProjectSettingsModel, context);
10
+ };
11
+
12
+ const getProjectSettings = (projectId, context) => {
13
+ return getProjectSettingsByProjectId(projectId, context);
14
+ };
15
+
16
+ const setProjectSettings = async (projectId, settings, context) => {
17
+ const isUIConfig = util.isUIConfig(settings);
18
+
19
+ const settingsConfig = isUIConfig ? util.parseProjectSettingsConfig(projectId, settings) : { ... settings, projectId };
20
+ const settingsModel = new UpdateProjectSettingsModel(settingsConfig);
21
+
22
+ const updateResponse = await updateProjectSettings(settingsModel, context);
23
+
24
+ if (updateResponse.status !== httpResponseStatusCodes.OK) {
25
+ throw new Error(`Failed to set project: ${projectId} settings\n${updateResponse.statusText}`);
26
+ }
27
+
28
+ return updateResponse;
29
+ };
30
+
31
+ module.exports = {
32
+ updateProjectSettings,
33
+ getProjectSettings,
34
+ setProjectSettings
35
+ };
@@ -1,3 +1,3 @@
1
- const DEFAULT_PROJECT_NAME = 'My First Project';
2
-
3
- module.exports = { NAME: DEFAULT_PROJECT_NAME };
1
+ const DEFAULT_PROJECT_NAME = 'My First Project';
2
+
3
+ module.exports = { NAME: DEFAULT_PROJECT_NAME };
@@ -1,24 +1,24 @@
1
- const projectService = require('./api/core/projects.service');
2
- const projectSettingsService = require('./api/settings/project.settings.service');
3
- const CreateProjectModel = require('./models/core/create.project.model');
4
- const UpdateProjectModel = require('./models/core/update.project.model');
5
- const UpdateProjectSettingsModel = require('./models/settings/update.project.settings.model');
6
-
7
- const coreModels = { CreateProjectModel, UpdateProjectModel };
8
- const settingsModels = { UpdateProjectSettingsModel };
9
-
10
- const services = {
11
- core: projectService,
12
- settings: projectSettingsService
13
- };
14
- const models = {
15
- core: coreModels,
16
- settings: settingsModels
17
- };
18
-
19
- const utils = require('./utils/utils');
20
- const consts = {
21
- DEFAULT_PROJECT: require('./consts/defaultProject')
22
- };
23
-
24
- module.exports = { models, services, utils, consts };
1
+ const projectService = require('./api/core/projects.service');
2
+ const projectSettingsService = require('./api/settings/project.settings.service');
3
+ const CreateProjectModel = require('./models/core/create.project.model');
4
+ const UpdateProjectModel = require('./models/core/update.project.model');
5
+ const UpdateProjectSettingsModel = require('./models/settings/update.project.settings.model');
6
+
7
+ const coreModels = { CreateProjectModel, UpdateProjectModel };
8
+ const settingsModels = { UpdateProjectSettingsModel };
9
+
10
+ const services = {
11
+ core: projectService,
12
+ settings: projectSettingsService
13
+ };
14
+ const models = {
15
+ core: coreModels,
16
+ settings: settingsModels
17
+ };
18
+
19
+ const utils = require('./utils/utils');
20
+ const consts = {
21
+ DEFAULT_PROJECT: require('./consts/defaultProject')
22
+ };
23
+
24
+ module.exports = { models, services, utils, consts };
@@ -1,41 +1,41 @@
1
- function CreateProjectModel(
2
- accountId,
3
- name,
4
- description,
5
- address,
6
- number,
7
- startDate,
8
- endDate,
9
- city,
10
- state,
11
- zipCode,
12
- companyNameForProject,
13
- certificateHolder = '',
14
- additionalInsured = '',
15
- tenantSolutionEnabled = 0,
16
- onboardingEnabled = 0,
17
- automaticRenewalEnabled = 0
18
- ) {
19
- this.projectName = name;
20
- this.userId = accountId;
21
- this.regionOrDivision = description;
22
-
23
- this.address = address;
24
- this.projectNumber = number;
25
- this.projectStartDate = startDate;
26
- this.projectEndDate = endDate;
27
-
28
- this.city = city;
29
- this.state = state;
30
- this.zipCode = zipCode;
31
- this.companyNameForProject = companyNameForProject;
32
-
33
- this.certificateHolder = certificateHolder;
34
- this.additionalInsured = additionalInsured;
35
-
36
- this.tenantSolutionEnabled = tenantSolutionEnabled;
37
- this.onboardingEnabled = onboardingEnabled;
38
- this.automaticRenewalEnabled = automaticRenewalEnabled;
39
- }
40
-
41
- module.exports = CreateProjectModel;
1
+ function CreateProjectModel(
2
+ accountId,
3
+ name,
4
+ description,
5
+ address,
6
+ number,
7
+ startDate,
8
+ endDate,
9
+ city,
10
+ state,
11
+ zipCode,
12
+ companyNameForProject,
13
+ certificateHolder = '',
14
+ additionalInsured = '',
15
+ tenantSolutionEnabled = 0,
16
+ onboardingEnabled = 0,
17
+ automaticRenewalEnabled = 0
18
+ ) {
19
+ this.projectName = name;
20
+ this.userId = accountId;
21
+ this.regionOrDivision = description;
22
+
23
+ this.address = address;
24
+ this.projectNumber = number;
25
+ this.projectStartDate = startDate;
26
+ this.projectEndDate = endDate;
27
+
28
+ this.city = city;
29
+ this.state = state;
30
+ this.zipCode = zipCode;
31
+ this.companyNameForProject = companyNameForProject;
32
+
33
+ this.certificateHolder = certificateHolder;
34
+ this.additionalInsured = additionalInsured;
35
+
36
+ this.tenantSolutionEnabled = tenantSolutionEnabled;
37
+ this.onboardingEnabled = onboardingEnabled;
38
+ this.automaticRenewalEnabled = automaticRenewalEnabled;
39
+ }
40
+
41
+ module.exports = CreateProjectModel;
@@ -1,47 +1,47 @@
1
- function UpdateProjectModel(
2
- accountId,
3
- projectId,
4
- name,
5
- description,
6
- address,
7
- number,
8
- startDate,
9
- endDate,
10
- city,
11
- state,
12
- zipCode,
13
- companyNameForProject,
14
- certificateHolder = '',
15
- additionalInsured = '',
16
- tenantSolutionEnabled = 0,
17
- onboardingEnabled = 0,
18
- automaticRenewalEnabled = 0,
19
- onboardedVendors = 0,
20
- compliantVendorQuotationEnabled = 0
21
- ) {
22
- this.projectId = projectId;
23
- this.projectName = name;
24
- this.userId = accountId;
25
- this.regionOrDivision = description;
26
-
27
- this.address = address;
28
- this.projectNumber = number;
29
- this.projectStartDate = startDate;
30
- this.projectEndDate = endDate;
31
- this.onboardedVendors = onboardedVendors;
32
- this.compliantVendorQuotationEnabled = compliantVendorQuotationEnabled;
33
-
34
- this.city = city;
35
- this.state = state;
36
- this.zipCode = zipCode;
37
- this.companyNameForProject = companyNameForProject;
38
-
39
- this.certificateHolder = certificateHolder;
40
- this.additionalInsured = additionalInsured;
41
-
42
- this.tenantSolutionEnabled = tenantSolutionEnabled;
43
- this.onboardingEnabled = onboardingEnabled;
44
- this.automaticRenewalEnabled = automaticRenewalEnabled;
45
- }
46
-
47
- module.exports = UpdateProjectModel;
1
+ function UpdateProjectModel(
2
+ accountId,
3
+ projectId,
4
+ name,
5
+ description,
6
+ address,
7
+ number,
8
+ startDate,
9
+ endDate,
10
+ city,
11
+ state,
12
+ zipCode,
13
+ companyNameForProject,
14
+ certificateHolder = '',
15
+ additionalInsured = '',
16
+ tenantSolutionEnabled = 0,
17
+ onboardingEnabled = 0,
18
+ automaticRenewalEnabled = 0,
19
+ onboardedVendors = 0,
20
+ compliantVendorQuotationEnabled = 0
21
+ ) {
22
+ this.projectId = projectId;
23
+ this.projectName = name;
24
+ this.userId = accountId;
25
+ this.regionOrDivision = description;
26
+
27
+ this.address = address;
28
+ this.projectNumber = number;
29
+ this.projectStartDate = startDate;
30
+ this.projectEndDate = endDate;
31
+ this.onboardedVendors = onboardedVendors;
32
+ this.compliantVendorQuotationEnabled = compliantVendorQuotationEnabled;
33
+
34
+ this.city = city;
35
+ this.state = state;
36
+ this.zipCode = zipCode;
37
+ this.companyNameForProject = companyNameForProject;
38
+
39
+ this.certificateHolder = certificateHolder;
40
+ this.additionalInsured = additionalInsured;
41
+
42
+ this.tenantSolutionEnabled = tenantSolutionEnabled;
43
+ this.onboardingEnabled = onboardingEnabled;
44
+ this.automaticRenewalEnabled = automaticRenewalEnabled;
45
+ }
46
+
47
+ module.exports = UpdateProjectModel;
@@ -1,41 +1,41 @@
1
- class UpdateProjectSettingsModel {
2
- constructor(
3
- {
4
- autoGaps = {},
5
- autoRenewals = false,
6
- marketplaceSettings = {},
7
- ocrEnabled = false,
8
- onboardingPhase = false,
9
- projectId = null,
10
- tenantSolution = false,
11
- autocompleteSettings = {}
12
- } = {}
13
- ) {
14
- this.autoGaps = { ... DEFAULT_AUTOGAPS, ... autoGaps };
15
- this.autoRenewals = autoRenewals;
16
- this.marketplaceSettings = { ... DEFAULT_MARKETPLACE, ... marketplaceSettings };
17
- this.ocrEnabled = ocrEnabled;
18
- this.onboardingPhase = onboardingPhase;
19
- this.projectId = projectId;
20
- this.tenantSolution = tenantSolution;
21
- this.autocompleteSettings = { ... DEFAULT_AUTOCOMPLETE_ADD_VENDORS, ... autocompleteSettings };
22
- }
23
- }
24
-
25
- module.exports = UpdateProjectSettingsModel;
26
-
27
- const DEFAULT_MARKETPLACE = {
28
- marketplaceEnabled: false,
29
- marketplacePreApproved: false,
30
- marketplaceOnboardedVendors: false,
31
- marketplaceCompliantVendorQuotationEnabled: false
32
- };
33
- const DEFAULT_AUTOGAPS = {
34
- isAutoGapsEnabledForGuests: false,
35
- isAutoGapsEnabledForTenants: false,
36
- isAutoGapsEnabledForVendors: false
37
- };
38
- const DEFAULT_AUTOCOMPLETE_ADD_VENDORS = {
39
- autocompleteAddVendorsForPm: false,
40
- autocompleteAddVendorsForTenants: false
41
- };
1
+ class UpdateProjectSettingsModel {
2
+ constructor(
3
+ {
4
+ autoGaps = {},
5
+ autoRenewals = false,
6
+ marketplaceSettings = {},
7
+ ocrEnabled = false,
8
+ onboardingPhase = false,
9
+ projectId = null,
10
+ tenantSolution = false,
11
+ autocompleteSettings = {}
12
+ } = {}
13
+ ) {
14
+ this.autoGaps = { ... DEFAULT_AUTOGAPS, ... autoGaps };
15
+ this.autoRenewals = autoRenewals;
16
+ this.marketplaceSettings = { ... DEFAULT_MARKETPLACE, ... marketplaceSettings };
17
+ this.ocrEnabled = ocrEnabled;
18
+ this.onboardingPhase = onboardingPhase;
19
+ this.projectId = projectId;
20
+ this.tenantSolution = tenantSolution;
21
+ this.autocompleteSettings = { ... DEFAULT_AUTOCOMPLETE_ADD_VENDORS, ... autocompleteSettings };
22
+ }
23
+ }
24
+
25
+ module.exports = UpdateProjectSettingsModel;
26
+
27
+ const DEFAULT_MARKETPLACE = {
28
+ marketplaceEnabled: false,
29
+ marketplacePreApproved: false,
30
+ marketplaceOnboardedVendors: false,
31
+ marketplaceCompliantVendorQuotationEnabled: false
32
+ };
33
+ const DEFAULT_AUTOGAPS = {
34
+ isAutoGapsEnabledForGuests: false,
35
+ isAutoGapsEnabledForTenants: false,
36
+ isAutoGapsEnabledForVendors: false
37
+ };
38
+ const DEFAULT_AUTOCOMPLETE_ADD_VENDORS = {
39
+ autocompleteAddVendorsForPm: false,
40
+ autocompleteAddVendorsForTenants: false
41
+ };