@getjones/test-infra 3.0.3 → 3.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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 -83
  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 -91
  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 +225 -169
  37. package/src/factory/users/users.js +77 -77
  38. package/src/index.js +91 -91
  39. package/src/resources/virusFile.pdf +0 -0
  40. package/src/saas/internal-api/accounts/api/core/accounts.core.api.js +35 -35
  41. package/src/saas/internal-api/accounts/api/core/accounts.core.service.js +93 -93
  42. package/src/saas/internal-api/accounts/api/emailCustomization/accounts.email.customizations.api.js +29 -29
  43. package/src/saas/internal-api/accounts/api/emailCustomization/accounts.email.customizations.service.js +61 -61
  44. package/src/saas/internal-api/accounts/api/openapi/accounts.openapi.api.js +48 -48
  45. package/src/saas/internal-api/accounts/api/openapi/accounts.openapi.service.js +74 -74
  46. package/src/saas/internal-api/accounts/api/settings/settings.api.js +21 -21
  47. package/src/saas/internal-api/accounts/api/settings/settings.service.js +41 -41
  48. package/src/saas/internal-api/accounts/consts/consts.js +6 -6
  49. package/src/saas/internal-api/accounts/index.js +22 -22
  50. package/src/saas/internal-api/accounts/models/core/create.account.model.js +16 -16
  51. package/src/saas/internal-api/accounts/models/settings/update.settings.model.js +38 -38
  52. package/src/saas/internal-api/accounts/utils/utils.js +58 -58
  53. package/src/saas/internal-api/agreement/api/agreement.api.js +35 -35
  54. package/src/saas/internal-api/agreement/api/agreement.service.js +81 -81
  55. package/src/saas/internal-api/agreement/consts/consts.js +8 -8
  56. package/src/saas/internal-api/agreement/index.js +11 -11
  57. package/src/saas/internal-api/agreement/models/create.agreement.model.js +12 -12
  58. package/src/saas/internal-api/auditCustomerRules/api/customer.rules.api.js +43 -43
  59. package/src/saas/internal-api/auditCustomerRules/api/customer.rules.service.js +105 -105
  60. package/src/saas/internal-api/auditCustomerRules/consts/customer.rule.js +11 -11
  61. package/src/saas/internal-api/auditCustomerRules/index.js +6 -6
  62. package/src/saas/internal-api/auditCustomerRules/models/customer.rule.model.js +46 -46
  63. package/src/saas/internal-api/auditCustomerRules/utils/customer.rule.util.js +19 -19
  64. package/src/saas/internal-api/auditNotes/api/audit.notes.api.js +40 -40
  65. package/src/saas/internal-api/auditNotes/api/audit.notes.service.js +115 -115
  66. package/src/saas/internal-api/auditNotes/index.js +4 -4
  67. package/src/saas/internal-api/auditNotes/models/audit.note.model.js +30 -30
  68. package/src/saas/internal-api/auth/api/auth.api.js +27 -27
  69. package/src/saas/internal-api/auth/api/auth.service.js +90 -90
  70. package/src/saas/internal-api/auth/index.js +3 -3
  71. package/src/saas/internal-api/coi/api/coi.api.js +40 -40
  72. package/src/saas/internal-api/coi/api/coi.service.js +26 -26
  73. package/src/saas/internal-api/coi/consts/hashes.js +4 -4
  74. package/src/saas/internal-api/coi/consts/uploaderTypes.js +5 -5
  75. package/src/saas/internal-api/coi/index.js +14 -14
  76. package/src/saas/internal-api/coi/models/submit.coi.model.js +9 -19
  77. package/src/saas/internal-api/coi/utils/utils.js +48 -70
  78. package/src/saas/internal-api/compliance/api/audit/audit.api.js +100 -100
  79. package/src/saas/internal-api/compliance/api/audit/audit.service.js +242 -242
  80. package/src/saas/internal-api/compliance/api/convert/convert.api.js +17 -17
  81. package/src/saas/internal-api/compliance/api/convert/convert.service.js +11 -11
  82. package/src/saas/internal-api/compliance/api/coverage/coverage.api.js +33 -33
  83. package/src/saas/internal-api/compliance/api/coverage/coverage.service.js +48 -48
  84. package/src/saas/internal-api/compliance/api/overrideGap/override.gap.api.js +33 -33
  85. package/src/saas/internal-api/compliance/api/overrideGap/override.gap.service.js +141 -141
  86. package/src/saas/internal-api/compliance/consts/audit.js +103 -103
  87. package/src/saas/internal-api/compliance/index.js +33 -33
  88. package/src/saas/internal-api/compliance/models/audit/audit.model.js +94 -94
  89. package/src/saas/internal-api/compliance/models/waive/waive.model.js +49 -49
  90. package/src/saas/internal-api/compliance/utils/auditUtil.js +222 -222
  91. package/src/saas/internal-api/compliance/utils/coverageUtil.js +40 -40
  92. package/src/saas/internal-api/contractors/api/contractors.api.js +203 -203
  93. package/src/saas/internal-api/contractors/api/contractors.service.js +318 -318
  94. package/src/saas/internal-api/contractors/consts/consts.js +6 -6
  95. package/src/saas/internal-api/contractors/index.js +8 -8
  96. package/src/saas/internal-api/contractors/models/assign.requirement.model.js +10 -10
  97. package/src/saas/internal-api/contractors/models/edit.contractor.model.js +62 -62
  98. package/src/saas/internal-api/contractors/models/link.request.model.js +10 -10
  99. package/src/saas/internal-api/contractors/models/subscription.contractor.model.js +13 -13
  100. package/src/saas/internal-api/contractors/models/verification.contractor.model.js +27 -27
  101. package/src/saas/internal-api/contractors/utils.js +25 -25
  102. package/src/saas/internal-api/dashboard/api/recordList.api.js +38 -38
  103. package/src/saas/internal-api/dashboard/api/recordList.service.js +60 -60
  104. package/src/saas/internal-api/dashboard/index.js +5 -5
  105. package/src/saas/internal-api/dashboard/models/dashboard.filter.criteria.model.js +38 -38
  106. package/src/saas/internal-api/dbEmails/api/db.emails.api.js +25 -25
  107. package/src/saas/internal-api/dbEmails/api/db.emails.service.js +156 -156
  108. package/src/saas/internal-api/dbEmails/consts/consts.js +54 -54
  109. package/src/saas/internal-api/dbEmails/index.js +6 -6
  110. package/src/saas/internal-api/dbEmails/models/db.emails.model.js +22 -22
  111. package/src/saas/internal-api/dbEmails/utils/util.js +87 -87
  112. package/src/saas/internal-api/emailCustomization/api/email.customization.api.js +26 -26
  113. package/src/saas/internal-api/emailCustomization/api/email.customization.service.js +50 -50
  114. package/src/saas/internal-api/emailCustomization/index.js +3 -3
  115. package/src/saas/internal-api/globalRecord/api/global.record.api.js +95 -95
  116. package/src/saas/internal-api/globalRecord/api/global.record.service.js +105 -105
  117. package/src/saas/internal-api/globalRecord/consts.js +20 -20
  118. package/src/saas/internal-api/globalRecord/index.js +6 -6
  119. package/src/saas/internal-api/globalRecord/models/global.record.model.js +60 -60
  120. package/src/saas/internal-api/globalRecord/utils/util.js +161 -161
  121. package/src/saas/internal-api/homepageCharts/api/charts.api.js +12 -12
  122. package/src/saas/internal-api/homepageCharts/api/charts.service.js +7 -7
  123. package/src/saas/internal-api/homepageCharts/index.js +3 -3
  124. package/src/saas/internal-api/projects/api/core/projects.api.js +39 -39
  125. package/src/saas/internal-api/projects/api/core/projects.service.js +65 -65
  126. package/src/saas/internal-api/projects/api/settings/project.settings.api.js +18 -18
  127. package/src/saas/internal-api/projects/api/settings/project.settings.service.js +35 -35
  128. package/src/saas/internal-api/projects/consts/defaultProject.js +3 -3
  129. package/src/saas/internal-api/projects/index.js +24 -24
  130. package/src/saas/internal-api/projects/models/core/create.project.model.js +41 -41
  131. package/src/saas/internal-api/projects/models/core/update.project.model.js +47 -47
  132. package/src/saas/internal-api/projects/models/settings/update.project.settings.model.js +41 -41
  133. package/src/saas/internal-api/projects/utils/utils.js +156 -156
  134. package/src/saas/internal-api/recordNotes/api/record.notes.api.js +38 -38
  135. package/src/saas/internal-api/recordNotes/api/record.notes.service.js +47 -47
  136. package/src/saas/internal-api/recordNotes/api/record.notes.utils.js +12 -12
  137. package/src/saas/internal-api/recordNotes/index.js +3 -3
  138. package/src/saas/internal-api/reports/api/reports.api.js +39 -39
  139. package/src/saas/internal-api/reports/api/reports.service.js +34 -34
  140. package/src/saas/internal-api/reports/consts/consts.js +65 -65
  141. package/src/saas/internal-api/reports/index.js +15 -15
  142. package/src/saas/internal-api/reports/models/report.model.js +27 -27
  143. package/src/saas/internal-api/requests/api/requests.api.js +120 -120
  144. package/src/saas/internal-api/requests/api/requests.service.js +272 -272
  145. package/src/saas/internal-api/requests/index.js +20 -20
  146. package/src/saas/internal-api/requests/models/create.request.model.js +33 -33
  147. package/src/saas/internal-api/requests/models/draft.request.criteria.model.js +18 -18
  148. package/src/saas/internal-api/requests/models/draft.request.report.model.js +14 -14
  149. package/src/saas/internal-api/requests/models/edit.request.model.js +31 -31
  150. package/src/saas/internal-api/requests/models/requestListCriteriaModel.js +17 -17
  151. package/src/saas/internal-api/requests/models/tenant.request.model.js +9 -9
  152. package/src/saas/internal-api/requests/utils.js +8 -8
  153. package/src/saas/internal-api/requestsTable/api/requests.table.api.js +20 -20
  154. package/src/saas/internal-api/requestsTable/api/requests.table.service.js +14 -14
  155. package/src/saas/internal-api/requestsTable/index.js +3 -3
  156. package/src/saas/internal-api/requirements/api/requirements.api.js +51 -51
  157. package/src/saas/internal-api/requirements/api/requirements.service.js +153 -153
  158. package/src/saas/internal-api/requirements/consts/attributeTypes.json +6 -6
  159. package/src/saas/internal-api/requirements/consts/consts.js +6 -6
  160. package/src/saas/internal-api/requirements/index.js +10 -10
  161. package/src/saas/internal-api/requirements/models/create.requirement.model.js +17 -17
  162. package/src/saas/internal-api/requirements/models/policy.model.js +33 -33
  163. package/src/saas/internal-api/requirements/models/update.requirement.model.js +19 -19
  164. package/src/saas/internal-api/requirements/utils/utils.js +116 -116
  165. package/src/saas/internal-api/serviceArea/api/coordinates.api.js +12 -12
  166. package/src/saas/internal-api/serviceArea/api/coordinates.service.js +7 -7
  167. package/src/saas/internal-api/serviceArea/index.js +4 -4
  168. package/src/saas/internal-api/serviceArea/utils/utils.js +8 -8
  169. package/src/saas/internal-api/tabs/api/tabs.api.js +32 -32
  170. package/src/saas/internal-api/tabs/api/tabs.service.js +54 -54
  171. package/src/saas/internal-api/tabs/index.js +3 -3
  172. package/src/saas/internal-api/tabs/models/tabs.model.js +19 -19
  173. package/src/saas/internal-api/thread-scheduler/runner.js +39 -39
  174. package/src/saas/internal-api/uploadFiles/api/upload.file.api.js +31 -31
  175. package/src/saas/internal-api/uploadFiles/api/upload.file.service.js +42 -42
  176. package/src/saas/internal-api/uploadFiles/consts.js +12 -12
  177. package/src/saas/internal-api/uploadFiles/index.js +3 -3
  178. package/src/saas/internal-api/users/api/tenantApp/tenant.app.api.js +32 -32
  179. package/src/saas/internal-api/users/api/tenantApp/tenant.app.service.js +97 -97
  180. package/src/saas/internal-api/users/api/users.api.js +115 -115
  181. package/src/saas/internal-api/users/api/users.service.js +203 -203
  182. package/src/saas/internal-api/users/index.js +16 -16
  183. package/src/saas/internal-api/users/models/create.inner.system.user.model.js +18 -18
  184. package/src/saas/internal-api/users/models/notification.settings.model.js +12 -12
  185. package/src/saas/internal-api/users/models/tenent.user.model.js +11 -11
  186. package/src/saas/internal-api/users/models/users.model.js +41 -41
  187. package/src/saas/internal-api/users/utils/util.js +39 -39
  188. package/src/saas/internal-api/vendorProfile/api/vendor.profile.api.js +20 -20
  189. package/src/saas/internal-api/vendorProfile/api/vendor.profile.service.js +14 -14
  190. package/src/saas/internal-api/vendorProfile/index.js +3 -3
  191. package/src/saas/openapi/accounts/accounts.api.js +17 -17
  192. package/src/saas/openapi/accounts/accounts.service.js +11 -11
  193. package/src/saas/openapi/coi/coi.api.js +20 -20
  194. package/src/saas/openapi/coi/coi.service.js +13 -13
  195. package/src/saas/openapi/projects/projects.api.js +83 -83
  196. package/src/saas/openapi/projects/projects.service.js +64 -64
  197. package/src/saas/openapi/requests/index.js +7 -7
  198. package/src/saas/openapi/requests/models/invite.request.model.js +37 -37
  199. package/src/saas/openapi/requests/models/update.request.model.js +35 -35
  200. package/src/saas/openapi/requests/requests.api.js +82 -82
  201. package/src/saas/openapi/requests/requests.service.js +70 -70
  202. package/src/saas/openapi/requirements/index.js +6 -6
  203. package/src/saas/openapi/requirements/models/copy.requirement.model.js +10 -10
  204. package/src/saas/openapi/requirements/requirements.api.js +32 -32
  205. package/src/saas/openapi/requirements/requirements.service.js +37 -37
  206. package/src/saas/openapi/tabs/index.js +6 -6
  207. package/src/saas/openapi/tabs/models/create.tab.model.js +6 -6
  208. package/src/saas/openapi/tabs/tabs.api.js +27 -27
  209. package/src/saas/openapi/tabs/tabs.service.js +19 -19
  210. package/src/saas/openapi/users/user.model.js +10 -10
  211. package/src/saas/openapi/users/users.api.js +33 -33
  212. package/src/saas/openapi/users/users.service.js +41 -41
  213. package/tests/env.test.js +40 -40
  214. package/tests/validation.test.js +83 -83
@@ -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
+ };