@getjones/test-infra 2.14.0 → 3.0.1

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 (209) hide show
  1. package/.npmrc.bak +2 -0
  2. package/package.json +30 -30
  3. package/package.json.bak +30 -0
  4. package/src/common/commonFlows/auth/auth.js +40 -40
  5. package/src/common/commonFlows/index.js +4 -4
  6. package/src/common/commonFlows/records/records.js +102 -102
  7. package/src/common/consts/activationStatuses.js +6 -6
  8. package/src/common/consts/dashboardCharts.js +18 -18
  9. package/src/common/consts/projectSettings.js +6 -6
  10. package/src/common/consts/recordTypes.js +5 -5
  11. package/src/common/consts/s3FileTypes.js +12 -12
  12. package/src/common/consts/userTypes.js +8 -8
  13. package/src/common/errorCodes.js +3 -3
  14. package/src/common/httpResponseStatusCodes.json +11 -11
  15. package/src/common/requests/apiKeyAuth/requests.js +44 -44
  16. package/src/common/requests/cookieAuth/requests.js +40 -40
  17. package/src/common/requests/internalAuth/requests.js +48 -38
  18. package/src/common/requests/requestHandlers.js +78 -78
  19. package/src/common/utils/complianceUtil.js +83 -83
  20. package/src/common/utils/configsUtil.js +22 -22
  21. package/src/common/utils/dataTypeUtils.js +41 -41
  22. package/src/common/utils/numberUtils.js +22 -22
  23. package/src/common/utils/objectUtils.js +7 -7
  24. package/src/common/utils/timeUtils.js +177 -177
  25. package/src/common/validations/errorValidation.js +16 -16
  26. package/src/common/validations/typeValidations.js +36 -36
  27. package/src/defaults/configs/auditConfigs.js +91 -91
  28. package/src/defaults/configs/coverage.js +227 -227
  29. package/src/defaults/configs/polices.js +64 -64
  30. package/src/defaults/configs/requirement.js +32 -32
  31. package/src/defaults/index.js +6 -6
  32. package/src/env.js +57 -57
  33. package/src/factory/globalRecord/globalRecord.js +70 -70
  34. package/src/factory/index.js +8 -8
  35. package/src/factory/records/records.js +183 -183
  36. package/src/factory/users/users.js +77 -77
  37. package/src/index.js +91 -91
  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 -34
  70. package/src/saas/internal-api/coi/api/coi.service.js +26 -22
  71. package/src/saas/internal-api/coi/consts/uploaderTypes.js +5 -5
  72. package/src/saas/internal-api/coi/index.js +13 -13
  73. package/src/saas/internal-api/coi/models/submit.coi.model.js +9 -9
  74. package/src/saas/internal-api/coi/utils/utils.js +48 -48
  75. package/src/saas/internal-api/compliance/api/audit/audit.api.js +100 -100
  76. package/src/saas/internal-api/compliance/api/audit/audit.service.js +230 -230
  77. package/src/saas/internal-api/compliance/api/convert/convert.api.js +17 -17
  78. package/src/saas/internal-api/compliance/api/convert/convert.service.js +11 -11
  79. package/src/saas/internal-api/compliance/api/coverage/coverage.api.js +33 -33
  80. package/src/saas/internal-api/compliance/api/coverage/coverage.service.js +48 -48
  81. package/src/saas/internal-api/compliance/api/overrideGap/override.gap.api.js +33 -33
  82. package/src/saas/internal-api/compliance/api/overrideGap/override.gap.service.js +141 -141
  83. package/src/saas/internal-api/compliance/consts/audit.js +103 -103
  84. package/src/saas/internal-api/compliance/index.js +33 -33
  85. package/src/saas/internal-api/compliance/models/audit/audit.model.js +94 -94
  86. package/src/saas/internal-api/compliance/models/waive/waive.model.js +49 -49
  87. package/src/saas/internal-api/compliance/utils/auditUtil.js +222 -222
  88. package/src/saas/internal-api/compliance/utils/coverageUtil.js +40 -40
  89. package/src/saas/internal-api/contractors/api/contractors.api.js +179 -179
  90. package/src/saas/internal-api/contractors/api/contractors.service.js +247 -234
  91. package/src/saas/internal-api/contractors/consts/consts.js +6 -6
  92. package/src/saas/internal-api/contractors/index.js +8 -8
  93. package/src/saas/internal-api/contractors/models/assign.requirement.model.js +10 -10
  94. package/src/saas/internal-api/contractors/models/edit.contractor.model.js +60 -60
  95. package/src/saas/internal-api/contractors/models/verification.contractor.model.js +27 -27
  96. package/src/saas/internal-api/contractors/utils.js +25 -25
  97. package/src/saas/internal-api/dashboard/api/recordList.api.js +38 -38
  98. package/src/saas/internal-api/dashboard/api/recordList.service.js +60 -60
  99. package/src/saas/internal-api/dashboard/index.js +5 -5
  100. package/src/saas/internal-api/dashboard/models/dashboard.filter.criteria.model.js +38 -38
  101. package/src/saas/internal-api/dbEmails/api/db.emails.api.js +25 -25
  102. package/src/saas/internal-api/dbEmails/api/db.emails.service.js +147 -147
  103. package/src/saas/internal-api/dbEmails/consts/consts.js +54 -54
  104. package/src/saas/internal-api/dbEmails/index.js +6 -6
  105. package/src/saas/internal-api/dbEmails/models/db.emails.model.js +22 -22
  106. package/src/saas/internal-api/dbEmails/utils/util.js +82 -82
  107. package/src/saas/internal-api/emailCustomization/api/email.customization.api.js +26 -26
  108. package/src/saas/internal-api/emailCustomization/api/email.customization.service.js +50 -50
  109. package/src/saas/internal-api/emailCustomization/index.js +3 -3
  110. package/src/saas/internal-api/globalRecord/api/global.record.api.js +95 -95
  111. package/src/saas/internal-api/globalRecord/api/global.record.service.js +105 -106
  112. package/src/saas/internal-api/globalRecord/consts.js +20 -20
  113. package/src/saas/internal-api/globalRecord/index.js +6 -6
  114. package/src/saas/internal-api/globalRecord/models/global.record.model.js +60 -60
  115. package/src/saas/internal-api/globalRecord/utils/util.js +161 -161
  116. package/src/saas/internal-api/homepageCharts/api/charts.api.js +12 -12
  117. package/src/saas/internal-api/homepageCharts/api/charts.service.js +7 -7
  118. package/src/saas/internal-api/homepageCharts/index.js +3 -3
  119. package/src/saas/internal-api/projects/api/core/projects.api.js +39 -39
  120. package/src/saas/internal-api/projects/api/core/projects.service.js +65 -65
  121. package/src/saas/internal-api/projects/api/settings/project.settings.api.js +18 -18
  122. package/src/saas/internal-api/projects/api/settings/project.settings.service.js +35 -35
  123. package/src/saas/internal-api/projects/consts/defaultProject.js +3 -3
  124. package/src/saas/internal-api/projects/index.js +24 -24
  125. package/src/saas/internal-api/projects/models/core/create.project.model.js +41 -41
  126. package/src/saas/internal-api/projects/models/core/update.project.model.js +47 -47
  127. package/src/saas/internal-api/projects/models/settings/update.project.settings.model.js +41 -41
  128. package/src/saas/internal-api/projects/utils/utils.js +156 -156
  129. package/src/saas/internal-api/recordNotes/api/record.notes.api.js +38 -38
  130. package/src/saas/internal-api/recordNotes/api/record.notes.service.js +47 -47
  131. package/src/saas/internal-api/recordNotes/api/record.notes.utils.js +12 -12
  132. package/src/saas/internal-api/recordNotes/index.js +3 -3
  133. package/src/saas/internal-api/reports/api/reports.api.js +39 -39
  134. package/src/saas/internal-api/reports/api/reports.service.js +34 -34
  135. package/src/saas/internal-api/reports/consts/consts.js +64 -64
  136. package/src/saas/internal-api/reports/index.js +15 -15
  137. package/src/saas/internal-api/reports/models/report.model.js +27 -27
  138. package/src/saas/internal-api/requests/api/requests.api.js +96 -90
  139. package/src/saas/internal-api/requests/api/requests.service.js +220 -208
  140. package/src/saas/internal-api/requests/index.js +18 -16
  141. package/src/saas/internal-api/requests/models/create.request.model.js +34 -34
  142. package/src/saas/internal-api/requests/models/draft.request.report.model.js +14 -14
  143. package/src/saas/internal-api/requests/models/edit.request.model.js +31 -31
  144. package/src/saas/internal-api/requests/models/{inner.page.request.criteria.model.js → requestListCriteriaModel.js} +17 -17
  145. package/src/saas/internal-api/requests/models/tenant.request.model.js +9 -9
  146. package/src/saas/internal-api/requests/utils.js +8 -8
  147. package/src/saas/internal-api/requestsTable/api/requests.table.api.js +20 -20
  148. package/src/saas/internal-api/requestsTable/api/requests.table.service.js +14 -14
  149. package/src/saas/internal-api/requestsTable/index.js +3 -3
  150. package/src/saas/internal-api/requirements/api/requirements.api.js +51 -45
  151. package/src/saas/internal-api/requirements/api/requirements.service.js +153 -142
  152. package/src/saas/internal-api/requirements/consts/attributeTypes.json +6 -6
  153. package/src/saas/internal-api/requirements/consts/consts.js +6 -6
  154. package/src/saas/internal-api/requirements/index.js +10 -10
  155. package/src/saas/internal-api/requirements/models/create.requirement.model.js +17 -17
  156. package/src/saas/internal-api/requirements/models/policy.model.js +33 -33
  157. package/src/saas/internal-api/requirements/models/update.requirement.model.js +19 -19
  158. package/src/saas/internal-api/requirements/utils/utils.js +116 -116
  159. package/src/saas/internal-api/serviceArea/api/coordinates.api.js +12 -12
  160. package/src/saas/internal-api/serviceArea/api/coordinates.service.js +7 -7
  161. package/src/saas/internal-api/serviceArea/index.js +4 -4
  162. package/src/saas/internal-api/serviceArea/utils/utils.js +8 -8
  163. package/src/saas/internal-api/tabs/api/tabs.api.js +32 -32
  164. package/src/saas/internal-api/tabs/api/tabs.service.js +54 -54
  165. package/src/saas/internal-api/tabs/index.js +3 -3
  166. package/src/saas/internal-api/tabs/models/tabs.model.js +19 -19
  167. package/src/saas/internal-api/thread-scheduler/runner.js +39 -39
  168. package/src/saas/internal-api/uploadFiles/api/upload.file.api.js +31 -31
  169. package/src/saas/internal-api/uploadFiles/api/upload.file.service.js +42 -42
  170. package/src/saas/internal-api/uploadFiles/consts.js +12 -12
  171. package/src/saas/internal-api/uploadFiles/index.js +3 -3
  172. package/src/saas/internal-api/users/api/tenantApp/tenant.app.api.js +32 -32
  173. package/src/saas/internal-api/users/api/tenantApp/tenant.app.service.js +97 -97
  174. package/src/saas/internal-api/users/api/users.api.js +115 -115
  175. package/src/saas/internal-api/users/api/users.service.js +203 -203
  176. package/src/saas/internal-api/users/index.js +16 -16
  177. package/src/saas/internal-api/users/models/create.inner.system.user.model.js +18 -18
  178. package/src/saas/internal-api/users/models/notification.settings.model.js +12 -12
  179. package/src/saas/internal-api/users/models/tenent.user.model.js +11 -11
  180. package/src/saas/internal-api/users/models/users.model.js +41 -41
  181. package/src/saas/internal-api/users/utils/util.js +39 -39
  182. package/src/saas/internal-api/vendorProfile/api/vendor.profile.api.js +20 -20
  183. package/src/saas/internal-api/vendorProfile/api/vendor.profile.service.js +14 -14
  184. package/src/saas/internal-api/vendorProfile/index.js +3 -3
  185. package/src/saas/openapi/accounts/accounts.api.js +17 -17
  186. package/src/saas/openapi/accounts/accounts.service.js +11 -11
  187. package/src/saas/openapi/coi/coi.api.js +20 -20
  188. package/src/saas/openapi/coi/coi.service.js +13 -13
  189. package/src/saas/openapi/projects/projects.api.js +83 -83
  190. package/src/saas/openapi/projects/projects.service.js +64 -64
  191. package/src/saas/openapi/requests/index.js +7 -7
  192. package/src/saas/openapi/requests/models/invite.request.model.js +37 -37
  193. package/src/saas/openapi/requests/models/update.request.model.js +35 -35
  194. package/src/saas/openapi/requests/requests.api.js +82 -82
  195. package/src/saas/openapi/requests/requests.service.js +70 -70
  196. package/src/saas/openapi/requirements/index.js +6 -6
  197. package/src/saas/openapi/requirements/models/copy.requirement.model.js +10 -10
  198. package/src/saas/openapi/requirements/requirements.api.js +32 -32
  199. package/src/saas/openapi/requirements/requirements.service.js +37 -37
  200. package/src/saas/openapi/tabs/index.js +6 -6
  201. package/src/saas/openapi/tabs/models/create.tab.model.js +6 -6
  202. package/src/saas/openapi/tabs/tabs.api.js +27 -27
  203. package/src/saas/openapi/tabs/tabs.service.js +19 -19
  204. package/src/saas/openapi/users/user.model.js +10 -10
  205. package/src/saas/openapi/users/users.api.js +33 -33
  206. package/src/saas/openapi/users/users.service.js +41 -41
  207. package/tests/env.test.js +40 -40
  208. package/tests/validation.test.js +83 -83
  209. 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
+ };