@getjones/test-infra 5.2.10 → 5.2.11

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 (288) hide show
  1. package/eslint.config.mjs +156 -156
  2. package/package.json +43 -42
  3. package/src/common/commonFlows/auth/auth.js +95 -95
  4. package/src/common/commonFlows/index.js +5 -5
  5. package/src/common/commonFlows/records/records.js +448 -423
  6. package/src/common/commonFlows/users/users.js +15 -15
  7. package/src/common/consts/accountSettings.js +112 -112
  8. package/src/common/consts/activationStatuses.js +6 -6
  9. package/src/common/consts/analysisStatuses.js +7 -7
  10. package/src/common/consts/autocomplete.js +10 -10
  11. package/src/common/consts/constantsForRecordsSortingAndFilters.js +49 -49
  12. package/src/common/consts/dashboardCharts.js +18 -18
  13. package/src/common/consts/homepage/AttentionTab.js +6 -6
  14. package/src/common/consts/homepage/sortOptions.js +19 -19
  15. package/src/common/consts/projectSettings.js +28 -28
  16. package/src/common/consts/recordTypes.js +5 -5
  17. package/src/common/consts/requirementActions.js +10 -10
  18. package/src/common/consts/s3FileTypes.js +12 -12
  19. package/src/common/consts/userRoles.js +21 -21
  20. package/src/common/consts/userTypes.js +16 -16
  21. package/src/common/errorCodes.js +12 -11
  22. package/src/common/httpResponseStatusCodes.json +19 -19
  23. package/src/common/httpResponseTypes.json +2 -2
  24. package/src/common/requests/apiKeyAuth/requests.js +45 -45
  25. package/src/common/requests/cookieAuth/requests.js +40 -40
  26. package/src/common/requests/internalAuth/requests.js +48 -48
  27. package/src/common/requests/requestHandlers.js +112 -112
  28. package/src/common/utils/arrayUtils.js +19 -19
  29. package/src/common/utils/complianceUtil.js +114 -114
  30. package/src/common/utils/configsUtil.js +22 -22
  31. package/src/common/utils/dataTypeUtils.js +41 -41
  32. package/src/common/utils/numberUtils.js +22 -22
  33. package/src/common/utils/objectUtils.js +102 -102
  34. package/src/common/utils/timeUtils.js +195 -195
  35. package/src/common/validations/typeValidations.js +36 -36
  36. package/src/defaults/configs/attributes.js +170 -170
  37. package/src/defaults/configs/auditConfigs.js +129 -129
  38. package/src/defaults/configs/coverage.js +144 -144
  39. package/src/defaults/configs/polices.js +28 -28
  40. package/src/defaults/configs/requirement.js +218 -218
  41. package/src/defaults/index.js +7 -7
  42. package/src/env.js +58 -58
  43. package/src/factory/globalRecord/globalRecord.js +43 -43
  44. package/src/factory/index.js +8 -8
  45. package/src/factory/records/records.js +295 -295
  46. package/src/factory/users/users.js +70 -70
  47. package/src/index.js +114 -114
  48. package/src/reporters/mochaReporter.js +273 -273
  49. package/src/resources/agreements/agreement.pdf +0 -0
  50. package/src/saas/internal-api/accountDirectory/api/accountDirectory.api.js +152 -152
  51. package/src/saas/internal-api/accountDirectory/api/accountDirectory.service.js +576 -576
  52. package/src/saas/internal-api/accountDirectory/consts/accountDirectory.consts.js +75 -75
  53. package/src/saas/internal-api/accountDirectory/index.js +5 -5
  54. package/src/saas/internal-api/accountDirectory/models/accountDirectory.models.js +172 -172
  55. package/src/saas/internal-api/accounts/api/core/accounts.core.api.js +48 -48
  56. package/src/saas/internal-api/accounts/api/core/accounts.core.service.js +104 -104
  57. package/src/saas/internal-api/accounts/api/emailCustomization/accounts.email.customizations.api.js +29 -29
  58. package/src/saas/internal-api/accounts/api/emailCustomization/accounts.email.customizations.service.js +60 -60
  59. package/src/saas/internal-api/accounts/api/emailCustomization/consts.js +8 -8
  60. package/src/saas/internal-api/accounts/api/openapi/accounts.openapi.api.js +54 -54
  61. package/src/saas/internal-api/accounts/api/openapi/accounts.openapi.service.js +67 -67
  62. package/src/saas/internal-api/accounts/api/settings/settings.api.js +21 -21
  63. package/src/saas/internal-api/accounts/api/settings/settings.service.js +58 -58
  64. package/src/saas/internal-api/accounts/consts/consts.js +8 -8
  65. package/src/saas/internal-api/accounts/index.js +22 -22
  66. package/src/saas/internal-api/accounts/models/core/create.account.model.js +16 -16
  67. package/src/saas/internal-api/accounts/models/settings/update.settings.model.js +110 -110
  68. package/src/saas/internal-api/accounts/utils/utils.js +60 -60
  69. package/src/saas/internal-api/agreement/api/agreement.api.js +39 -39
  70. package/src/saas/internal-api/agreement/api/agreement.service.js +121 -121
  71. package/src/saas/internal-api/agreement/consts/consts.js +11 -11
  72. package/src/saas/internal-api/agreement/index.js +12 -12
  73. package/src/saas/internal-api/agreement/models/create.agreement.model.js +12 -12
  74. package/src/saas/internal-api/agreement/models/createAgreementByAuditorModel.js +11 -11
  75. package/src/saas/internal-api/agreement/models/createAgreementByPMModel.js +13 -13
  76. package/src/saas/internal-api/auditCustomerRules/api/customer.rules.api.js +49 -49
  77. package/src/saas/internal-api/auditCustomerRules/api/customer.rules.service.js +121 -121
  78. package/src/saas/internal-api/auditCustomerRules/consts/customer.rule.js +40 -40
  79. package/src/saas/internal-api/auditCustomerRules/index.js +7 -7
  80. package/src/saas/internal-api/auditCustomerRules/models/customer.rule.model.js +55 -55
  81. package/src/saas/internal-api/auditCustomerRules/utils/customer.rule.util.js +70 -70
  82. package/src/saas/internal-api/auditNotes/api/audit.notes.api.js +40 -40
  83. package/src/saas/internal-api/auditNotes/api/audit.notes.service.js +116 -116
  84. package/src/saas/internal-api/auditNotes/index.js +4 -4
  85. package/src/saas/internal-api/auditNotes/models/audit.note.model.js +32 -32
  86. package/src/saas/internal-api/auditorComments/api/auditor.comments.api.js +20 -20
  87. package/src/saas/internal-api/auditorComments/api/auditor.comments.service.js +27 -27
  88. package/src/saas/internal-api/auditorComments/consts/auditor.comment.js +16 -16
  89. package/src/saas/internal-api/auditorComments/index.js +5 -5
  90. package/src/saas/internal-api/auditorComments/models/auditor.comment.model.js +40 -40
  91. package/src/saas/internal-api/auth/api/auth.api.js +78 -78
  92. package/src/saas/internal-api/auth/api/auth.service.js +172 -172
  93. package/src/saas/internal-api/auth/index.js +3 -3
  94. package/src/saas/internal-api/coi/api/coi.api.js +76 -76
  95. package/src/saas/internal-api/coi/api/coi.service.js +104 -104
  96. package/src/saas/internal-api/coi/consts/duplicateHandling.js +7 -7
  97. package/src/saas/internal-api/coi/consts/hashes.js +5 -5
  98. package/src/saas/internal-api/coi/consts/uploaderTypes.js +3 -3
  99. package/src/saas/internal-api/coi/index.js +16 -16
  100. package/src/saas/internal-api/coi/models/Combine.last.two.cois.model.js +25 -25
  101. package/src/saas/internal-api/coi/models/submit.coi.batch.model.js +23 -23
  102. package/src/saas/internal-api/coi/models/submit.coi.model.js +23 -23
  103. package/src/saas/internal-api/coi/utils/utils.js +185 -185
  104. package/src/saas/internal-api/compliance/api/amBestRating/am.best.rating.api.js +12 -12
  105. package/src/saas/internal-api/compliance/api/amBestRating/am.best.rating.service.js +14 -14
  106. package/src/saas/internal-api/compliance/api/audit/aiAudit/aiAudit.api.js +63 -63
  107. package/src/saas/internal-api/compliance/api/audit/aiAudit/aiAudit.service.js +99 -99
  108. package/src/saas/internal-api/compliance/api/audit/audit.api.js +124 -124
  109. package/src/saas/internal-api/compliance/api/audit/audit.service.js +390 -390
  110. package/src/saas/internal-api/compliance/api/complianceSnapshot/compliance.snapshot.api.js +32 -32
  111. package/src/saas/internal-api/compliance/api/complianceSnapshot/compliance.snapshot.service.js +73 -73
  112. package/src/saas/internal-api/compliance/api/convert/convert.api.js +12 -12
  113. package/src/saas/internal-api/compliance/api/convert/convert.service.js +7 -7
  114. package/src/saas/internal-api/compliance/api/coverage/coverage.api.js +33 -33
  115. package/src/saas/internal-api/compliance/api/coverage/coverage.service.js +46 -46
  116. package/src/saas/internal-api/compliance/api/overrideGap/override.gap.api.js +86 -86
  117. package/src/saas/internal-api/compliance/api/overrideGap/override.gap.service.js +300 -300
  118. package/src/saas/internal-api/compliance/consts/audit.js +130 -130
  119. package/src/saas/internal-api/compliance/consts/overrideGapRequest/override.gap.request.js +7 -7
  120. package/src/saas/internal-api/compliance/index.js +41 -41
  121. package/src/saas/internal-api/compliance/models/audit/audit.model.js +109 -109
  122. package/src/saas/internal-api/compliance/models/overrideGapRequest/override.gap.request.model.js +16 -16
  123. package/src/saas/internal-api/compliance/models/waive/waive.model.js +112 -112
  124. package/src/saas/internal-api/compliance/utils/auditUtil.js +308 -308
  125. package/src/saas/internal-api/compliance/utils/coverageUtil.js +45 -45
  126. package/src/saas/internal-api/contractors/api/contractors.service.js +482 -482
  127. package/src/saas/internal-api/contractors/consts/consts.js +6 -6
  128. package/src/saas/internal-api/contractors/index.js +8 -8
  129. package/src/saas/internal-api/contractors/models/assign.requirement.model.js +11 -11
  130. package/src/saas/internal-api/contractors/models/edit.contractor.model.js +73 -73
  131. package/src/saas/internal-api/contractors/models/link.request.model.js +10 -10
  132. package/src/saas/internal-api/contractors/models/verification.contractor.model.js +29 -29
  133. package/src/saas/internal-api/contractors/utils.js +25 -25
  134. package/src/saas/internal-api/customTags/api/customTags.api.js +47 -47
  135. package/src/saas/internal-api/customTags/api/customTags.service.js +96 -96
  136. package/src/saas/internal-api/customTags/index.js +4 -4
  137. package/src/saas/internal-api/customTags/models/customTagsModels.js +17 -17
  138. package/src/saas/internal-api/dashboard/api/recordList.api.js +38 -38
  139. package/src/saas/internal-api/dashboard/api/recordList.service.js +60 -60
  140. package/src/saas/internal-api/dashboard/index.js +5 -5
  141. package/src/saas/internal-api/dashboard/models/dashboard.filter.criteria.model.js +38 -38
  142. package/src/saas/internal-api/dbEmails/api/db.emails.api.js +25 -25
  143. package/src/saas/internal-api/dbEmails/api/db.emails.service.js +178 -178
  144. package/src/saas/internal-api/dbEmails/consts/consts.js +66 -66
  145. package/src/saas/internal-api/dbEmails/index.js +6 -6
  146. package/src/saas/internal-api/dbEmails/models/db.emails.model.js +22 -22
  147. package/src/saas/internal-api/dbEmails/utils/util.js +82 -82
  148. package/src/saas/internal-api/emailCustomization/api/email.customization.api.js +26 -26
  149. package/src/saas/internal-api/emailCustomization/api/email.customization.service.js +50 -50
  150. package/src/saas/internal-api/emailCustomization/index.js +3 -3
  151. package/src/saas/internal-api/fileScan/api/file.scan.api.js +14 -14
  152. package/src/saas/internal-api/fileScan/api/file.scan.service.js +35 -35
  153. package/src/saas/internal-api/fileScan/index.js +3 -3
  154. package/src/saas/internal-api/fileScan/models/update.scan.status.model.js +13 -13
  155. package/src/saas/internal-api/globalRecord/api/global.record.api.js +95 -95
  156. package/src/saas/internal-api/globalRecord/api/global.record.service.js +112 -112
  157. package/src/saas/internal-api/globalRecord/consts.js +20 -20
  158. package/src/saas/internal-api/globalRecord/index.js +6 -6
  159. package/src/saas/internal-api/globalRecord/models/global.record.model.js +60 -60
  160. package/src/saas/internal-api/globalRecord/utils/util.js +161 -161
  161. package/src/saas/internal-api/homepageCharts/api/charts.api.js +12 -12
  162. package/src/saas/internal-api/homepageCharts/api/charts.service.js +7 -7
  163. package/src/saas/internal-api/homepageCharts/index.js +3 -3
  164. package/src/saas/internal-api/notificationCenter/api/notification.center.api.js +32 -32
  165. package/src/saas/internal-api/notificationCenter/api/notification.center.service.js +49 -49
  166. package/src/saas/internal-api/notificationCenter/consts.js +9 -9
  167. package/src/saas/internal-api/notificationCenter/index.js +4 -4
  168. package/src/saas/internal-api/outlook/api/outlook.api.js +14 -14
  169. package/src/saas/internal-api/outlook/api/outlook.service.js +14 -14
  170. package/src/saas/internal-api/outlook/index.js +3 -3
  171. package/src/saas/internal-api/policyFile/api/policy.file.api.js +43 -43
  172. package/src/saas/internal-api/policyFile/api/policy.file.service.js +117 -117
  173. package/src/saas/internal-api/policyFile/consts.js +21 -21
  174. package/src/saas/internal-api/policyFile/index.js +11 -11
  175. package/src/saas/internal-api/policyFile/models/create.policy.file.model.js +11 -11
  176. package/src/saas/internal-api/policyFile/models/set.publish.flag.to.policy.model.js +13 -13
  177. package/src/saas/internal-api/projects/api/core/projects.api.js +39 -39
  178. package/src/saas/internal-api/projects/api/core/projects.service.js +77 -77
  179. package/src/saas/internal-api/projects/api/settings/project.settings.api.js +18 -18
  180. package/src/saas/internal-api/projects/api/settings/project.settings.service.js +35 -35
  181. package/src/saas/internal-api/projects/consts/defaultProject.js +3 -3
  182. package/src/saas/internal-api/projects/index.js +24 -24
  183. package/src/saas/internal-api/projects/models/core/create.project.model.js +41 -41
  184. package/src/saas/internal-api/projects/models/core/update.project.model.js +47 -47
  185. package/src/saas/internal-api/projects/models/settings/update.project.settings.model.js +48 -48
  186. package/src/saas/internal-api/projects/utils/utils.js +159 -159
  187. package/src/saas/internal-api/recordHub/api/record.hub.api.js +20 -20
  188. package/src/saas/internal-api/recordHub/api/record.hub.service.js +86 -86
  189. package/src/saas/internal-api/recordHub/index.js +3 -3
  190. package/src/saas/internal-api/recordNotes/api/record.notes.api.js +38 -38
  191. package/src/saas/internal-api/recordNotes/api/record.notes.service.js +56 -56
  192. package/src/saas/internal-api/recordNotes/api/record.notes.utils.js +12 -12
  193. package/src/saas/internal-api/recordNotes/index.js +3 -3
  194. package/src/saas/internal-api/relatedDocs/api/related.docs.api.js +98 -98
  195. package/src/saas/internal-api/relatedDocs/api/related.docs.service.js +180 -180
  196. package/src/saas/internal-api/relatedDocs/index.js +4 -4
  197. package/src/saas/internal-api/relatedDocs/models/related.doc.model.js +36 -36
  198. package/src/saas/internal-api/reports/api/reports.api.js +56 -56
  199. package/src/saas/internal-api/reports/api/reports.service.js +68 -68
  200. package/src/saas/internal-api/reports/consts/consts.js +71 -71
  201. package/src/saas/internal-api/reports/index.js +15 -15
  202. package/src/saas/internal-api/reports/models/report.model.js +27 -27
  203. package/src/saas/internal-api/requests/api/requests.api.js +132 -132
  204. package/src/saas/internal-api/requests/api/requests.service.js +315 -315
  205. package/src/saas/internal-api/requests/index.js +21 -21
  206. package/src/saas/internal-api/requests/models/create.request.model.js +39 -39
  207. package/src/saas/internal-api/requests/models/draft.request.criteria.model.js +18 -18
  208. package/src/saas/internal-api/requests/models/draft.request.report.model.js +14 -14
  209. package/src/saas/internal-api/requests/models/edit.request.model.js +31 -31
  210. package/src/saas/internal-api/requests/models/homepageRequestCriteriaModel.js +19 -19
  211. package/src/saas/internal-api/requests/models/requestListCriteriaModel.js +17 -17
  212. package/src/saas/internal-api/requests/models/tenant.request.model.js +9 -9
  213. package/src/saas/internal-api/requests/utils.js +16 -16
  214. package/src/saas/internal-api/requestsTable/api/requests.table.api.js +20 -20
  215. package/src/saas/internal-api/requestsTable/api/requests.table.service.js +14 -14
  216. package/src/saas/internal-api/requestsTable/index.js +3 -3
  217. package/src/saas/internal-api/requirements/api/lease/lease.api.js +74 -56
  218. package/src/saas/internal-api/requirements/api/lease/lease.service.js +167 -123
  219. package/src/saas/internal-api/requirements/api/requirements.api.js +65 -65
  220. package/src/saas/internal-api/requirements/api/requirements.service.js +198 -198
  221. package/src/saas/internal-api/requirements/consts/attributeTypes.json +8 -8
  222. package/src/saas/internal-api/requirements/consts/consts.js +20 -15
  223. package/src/saas/internal-api/requirements/index.js +22 -21
  224. package/src/saas/internal-api/requirements/models/create.requirement.model.js +17 -17
  225. package/src/saas/internal-api/requirements/models/extraction.request.model.js +16 -16
  226. package/src/saas/internal-api/requirements/models/policy.model.js +35 -35
  227. package/src/saas/internal-api/requirements/models/tab.extraction.request.model.js +14 -0
  228. package/src/saas/internal-api/requirements/models/update.requirement.model.js +19 -19
  229. package/src/saas/internal-api/requirements/utils/utils.js +129 -129
  230. package/src/saas/internal-api/sampleCoi/api/sample.coi.api.js +15 -15
  231. package/src/saas/internal-api/sampleCoi/api/sample.coi.service.js +48 -48
  232. package/src/saas/internal-api/sampleCoi/consts/consts.js +22 -22
  233. package/src/saas/internal-api/sampleCoi/index.js +4 -4
  234. package/src/saas/internal-api/serviceArea/api/coordinates.api.js +12 -12
  235. package/src/saas/internal-api/serviceArea/api/coordinates.service.js +7 -7
  236. package/src/saas/internal-api/serviceArea/index.js +4 -4
  237. package/src/saas/internal-api/serviceArea/utils/utils.js +8 -8
  238. package/src/saas/internal-api/tableOfContents/api/table.of.contents.api.js +37 -37
  239. package/src/saas/internal-api/tableOfContents/api/table.of.contents.service.js +19 -19
  240. package/src/saas/internal-api/tableOfContents/index.js +3 -3
  241. package/src/saas/internal-api/tabs/api/tabs.api.js +32 -32
  242. package/src/saas/internal-api/tabs/api/tabs.service.js +60 -60
  243. package/src/saas/internal-api/tabs/index.js +3 -3
  244. package/src/saas/internal-api/tabs/models/tabs.model.js +19 -19
  245. package/src/saas/internal-api/thread-scheduler/runner.js +69 -69
  246. package/src/saas/internal-api/thread-scheduler/schedulerJobs.js +8 -8
  247. package/src/saas/internal-api/uploadFiles/api/upload.file.api.js +49 -49
  248. package/src/saas/internal-api/uploadFiles/api/upload.file.service.js +162 -162
  249. package/src/saas/internal-api/uploadFiles/consts.js +36 -36
  250. package/src/saas/internal-api/uploadFiles/index.js +5 -5
  251. package/src/saas/internal-api/uploadFiles/utils.js +34 -34
  252. package/src/saas/internal-api/users/api/tenantApp/tenant.app.api.js +38 -38
  253. package/src/saas/internal-api/users/api/tenantApp/tenant.app.service.js +109 -109
  254. package/src/saas/internal-api/users/api/users.api.js +158 -158
  255. package/src/saas/internal-api/users/api/users.service.js +363 -363
  256. package/src/saas/internal-api/users/index.js +17 -17
  257. package/src/saas/internal-api/users/models/create.inner.system.user.model.js +18 -18
  258. package/src/saas/internal-api/users/models/notification.settings.model.js +14 -14
  259. package/src/saas/internal-api/users/models/tenant.user.model.js +11 -11
  260. package/src/saas/internal-api/users/models/users.model.js +43 -43
  261. package/src/saas/internal-api/users/utils/util.js +49 -49
  262. package/src/saas/internal-api/vendorProfile/api/vendor.profile.api.js +26 -26
  263. package/src/saas/internal-api/vendorProfile/api/vendor.profile.service.js +19 -19
  264. package/src/saas/internal-api/vendorProfile/index.js +3 -3
  265. package/src/saas/openapi/accounts/accounts.api.js +17 -17
  266. package/src/saas/openapi/accounts/accounts.service.js +11 -11
  267. package/src/saas/openapi/coi/coi.api.js +35 -35
  268. package/src/saas/openapi/coi/coi.service.js +53 -53
  269. package/src/saas/openapi/projects/projects.api.js +83 -83
  270. package/src/saas/openapi/projects/projects.service.js +71 -71
  271. package/src/saas/openapi/relatedDocs/related.docs.api.js +30 -30
  272. package/src/saas/openapi/relatedDocs/related.docs.service.js +55 -55
  273. package/src/saas/openapi/requests/index.js +7 -7
  274. package/src/saas/openapi/requests/models/invite.request.model.js +42 -42
  275. package/src/saas/openapi/requests/models/update.request.model.js +37 -37
  276. package/src/saas/openapi/requests/requests.api.js +93 -93
  277. package/src/saas/openapi/requests/requests.service.js +94 -94
  278. package/src/saas/openapi/requirements/index.js +6 -6
  279. package/src/saas/openapi/requirements/models/copy.requirement.model.js +10 -10
  280. package/src/saas/openapi/requirements/requirements.api.js +41 -41
  281. package/src/saas/openapi/requirements/requirements.service.js +55 -55
  282. package/src/saas/openapi/tabs/index.js +6 -6
  283. package/src/saas/openapi/tabs/models/create.tab.model.js +6 -6
  284. package/src/saas/openapi/tabs/tabs.api.js +27 -27
  285. package/src/saas/openapi/tabs/tabs.service.js +19 -19
  286. package/src/saas/openapi/users/user.model.js +10 -10
  287. package/src/saas/openapi/users/users.api.js +33 -33
  288. package/src/saas/openapi/users/users.service.js +51 -51
@@ -1,21 +1,21 @@
1
- const requests = require('../../../../../common/requests/cookieAuth/requests');
2
- const { backendUrl } = require('../../../../../env').getEnv();
3
-
4
- const Endpoints = {
5
- get: accountId => `${backendUrl}/saas/account/${accountId}/settings`,
6
- edit: accountId => `${backendUrl}/saas/account/${accountId}/settings`
7
- };
8
-
9
- const getAccountSettings = (accountId, context) => {
10
- return requests.getRequestHandler(Endpoints.get(accountId), {}, context);
11
- };
12
-
13
- const updateAccountSettings = (updateAccountSettingsModel, context) => {
14
- const { accountId } = updateAccountSettingsModel;
15
- return requests.putRequestHandler(Endpoints.edit(accountId), updateAccountSettingsModel, context);
16
- };
17
-
18
- module.exports = {
19
- getAccountSettings,
20
- updateAccountSettings
21
- };
1
+ const requests = require('../../../../../common/requests/cookieAuth/requests');
2
+ const { backendUrl } = require('../../../../../env').getEnv();
3
+
4
+ const Endpoints = {
5
+ get: accountId => `${backendUrl}/saas/account/${accountId}/settings`,
6
+ edit: accountId => `${backendUrl}/saas/account/${accountId}/settings`
7
+ };
8
+
9
+ const getAccountSettings = (accountId, context) => {
10
+ return requests.getRequestHandler(Endpoints.get(accountId), {}, context);
11
+ };
12
+
13
+ const updateAccountSettings = (updateAccountSettingsModel, context) => {
14
+ const { accountId } = updateAccountSettingsModel;
15
+ return requests.putRequestHandler(Endpoints.edit(accountId), updateAccountSettingsModel, context);
16
+ };
17
+
18
+ module.exports = {
19
+ getAccountSettings,
20
+ updateAccountSettings
21
+ };
@@ -1,58 +1,58 @@
1
- const accountsAPI = require('./settings.api');
2
- const { validateType } = require('../../../../../common/validations/typeValidations');
3
- const UpdateAccountSettingsModel = require('../../models/settings/update.settings.model');
4
- const util = require('../../utils/utils');
5
- const httpResponseStatusCodes = require('../../../../../common/httpResponseStatusCodes.json');
6
-
7
- const getAccountSettings = (accountId, context) => {
8
- return accountsAPI.getAccountSettings(accountId, context);
9
- };
10
-
11
- const updateAccountSettings = (updateAccountSettingsModel, context) => {
12
- validateType(updateAccountSettingsModel, UpdateAccountSettingsModel);
13
- return accountsAPI.updateAccountSettings(updateAccountSettingsModel, context);
14
- };
15
-
16
- const restoreAccountSettings = (accountId, context) => {
17
- const updateAccountSettingsModel = new UpdateAccountSettingsModel(accountId);
18
- return accountsAPI.updateAccountSettings(updateAccountSettingsModel, context);
19
- };
20
-
21
- const setAccountSettings = async (accountId, settings, context) => {
22
- const isUIConfig = util.isUIConfig(settings);
23
- const settingsConfig = isUIConfig ? util.parseAccountSettingsConfig(accountId, settings) : settings;
24
-
25
- const currentResponse = await getAccountSettings(accountId, context);
26
- const current = currentResponse.data || {};
27
- const mergedConfig = mergeSettings(current, settingsConfig);
28
-
29
- const settingsModel = new UpdateAccountSettingsModel(accountId, mergedConfig);
30
- const updateResponse = await updateAccountSettings(settingsModel, context);
31
-
32
- if (updateResponse.status !== httpResponseStatusCodes.OK) {
33
- throw new Error(`Failed to set account: ${accountId} settings\n${updateResponse.data}`);
34
- }
35
-
36
- return updateResponse;
37
- };
38
-
39
- const mergeSettings = (current, patch) => ({
40
- ...current,
41
- ...patch,
42
- autoGaps: { ...(current.autoGaps || {}), ...(patch.autoGaps || {}) },
43
- integrations: { ...(current.integrations || {}), ...(patch.integrations || {}) },
44
- gapsChat: { ...(current.gapsChat || {}), ...(patch.gapsChat || {}) },
45
- supportAutomation: { ...(current.supportAutomation || {}), ...(patch.supportAutomation || {}) },
46
- marketplaceSettings: { ...(current.marketplaceSettings || {}), ...(patch.marketplaceSettings || {}) },
47
- autocompleteSettings: { ...(current.autocompleteSettings || {}), ...(patch.autocompleteSettings || {}) },
48
- overrideGapRequestSettings: { ...(current.overrideGapRequestSettings || {}), ...(patch.overrideGapRequestSettings || {}) },
49
- sampleCoi: { ...(current.sampleCoi || {}), ...(patch.sampleCoi || {}) }
50
- });
51
-
52
- module.exports = {
53
- getAccountSettings,
54
- updateAccountSettings,
55
- restoreAccountSettings,
56
- setAccountSettings,
57
- mergeSettings
58
- };
1
+ const accountsAPI = require('./settings.api');
2
+ const { validateType } = require('../../../../../common/validations/typeValidations');
3
+ const UpdateAccountSettingsModel = require('../../models/settings/update.settings.model');
4
+ const util = require('../../utils/utils');
5
+ const httpResponseStatusCodes = require('../../../../../common/httpResponseStatusCodes.json');
6
+
7
+ const getAccountSettings = (accountId, context) => {
8
+ return accountsAPI.getAccountSettings(accountId, context);
9
+ };
10
+
11
+ const updateAccountSettings = (updateAccountSettingsModel, context) => {
12
+ validateType(updateAccountSettingsModel, UpdateAccountSettingsModel);
13
+ return accountsAPI.updateAccountSettings(updateAccountSettingsModel, context);
14
+ };
15
+
16
+ const restoreAccountSettings = (accountId, context) => {
17
+ const updateAccountSettingsModel = new UpdateAccountSettingsModel(accountId);
18
+ return accountsAPI.updateAccountSettings(updateAccountSettingsModel, context);
19
+ };
20
+
21
+ const setAccountSettings = async (accountId, settings, context) => {
22
+ const isUIConfig = util.isUIConfig(settings);
23
+ const settingsConfig = isUIConfig ? util.parseAccountSettingsConfig(accountId, settings) : settings;
24
+
25
+ const currentResponse = await getAccountSettings(accountId, context);
26
+ const current = currentResponse.data || {};
27
+ const mergedConfig = mergeSettings(current, settingsConfig);
28
+
29
+ const settingsModel = new UpdateAccountSettingsModel(accountId, mergedConfig);
30
+ const updateResponse = await updateAccountSettings(settingsModel, context);
31
+
32
+ if (updateResponse.status !== httpResponseStatusCodes.OK) {
33
+ throw new Error(`Failed to set account: ${accountId} settings\n${updateResponse.data}`);
34
+ }
35
+
36
+ return updateResponse;
37
+ };
38
+
39
+ const mergeSettings = (current, patch) => ({
40
+ ...current,
41
+ ...patch,
42
+ autoGaps: { ...(current.autoGaps || {}), ...(patch.autoGaps || {}) },
43
+ integrations: { ...(current.integrations || {}), ...(patch.integrations || {}) },
44
+ gapsChat: { ...(current.gapsChat || {}), ...(patch.gapsChat || {}) },
45
+ supportAutomation: { ...(current.supportAutomation || {}), ...(patch.supportAutomation || {}) },
46
+ marketplaceSettings: { ...(current.marketplaceSettings || {}), ...(patch.marketplaceSettings || {}) },
47
+ autocompleteSettings: { ...(current.autocompleteSettings || {}), ...(patch.autocompleteSettings || {}) },
48
+ overrideGapRequestSettings: { ...(current.overrideGapRequestSettings || {}), ...(patch.overrideGapRequestSettings || {}) },
49
+ sampleCoi: { ...(current.sampleCoi || {}), ...(patch.sampleCoi || {}) }
50
+ });
51
+
52
+ module.exports = {
53
+ getAccountSettings,
54
+ updateAccountSettings,
55
+ restoreAccountSettings,
56
+ setAccountSettings,
57
+ mergeSettings
58
+ };
@@ -1,8 +1,8 @@
1
- const ACCOUNT_TYPES = {
2
- PROPERTY: 'Property Management',
3
- CONSTRUCTION: 'Construction'
4
- };
5
-
6
- const ICS_FULL_NAME = 'Jones Team';
7
-
8
- module.exports = { ACCOUNT_TYPES, ICS_FULL_NAME };
1
+ const ACCOUNT_TYPES = {
2
+ PROPERTY: 'Property Management',
3
+ CONSTRUCTION: 'Construction'
4
+ };
5
+
6
+ const ICS_FULL_NAME = 'Jones Team';
7
+
8
+ module.exports = { ACCOUNT_TYPES, ICS_FULL_NAME };
@@ -1,22 +1,22 @@
1
- const CreateAccountModel = require('./models/core/create.account.model');
2
- const coreModels = { CreateAccountModel };
3
- const UpdateAccountSettingsModel = require('./models/settings/update.settings.model');
4
- const settingsModels = { UpdateAccountSettingsModel };
5
-
6
- const models = { core: coreModels, settings: settingsModels };
7
- const utils = require('./utils/utils');
8
- const consts = require('./consts/consts');
9
-
10
- const coreService = require('./api/core/accounts.core.service');
11
- const openApiServices = require('./api/openapi/accounts.openapi.service');
12
- const settingsServices = require('./api/settings/settings.service');
13
- const emailCustomizationService = require('./api/emailCustomization/accounts.email.customizations.service');
14
-
15
- const services = {
16
- core: coreService,
17
- openApi: openApiServices,
18
- settings: settingsServices,
19
- emailCustomizations: emailCustomizationService
20
- };
21
-
22
- module.exports = { services, models, utils, consts };
1
+ const CreateAccountModel = require('./models/core/create.account.model');
2
+ const coreModels = { CreateAccountModel };
3
+ const UpdateAccountSettingsModel = require('./models/settings/update.settings.model');
4
+ const settingsModels = { UpdateAccountSettingsModel };
5
+
6
+ const models = { core: coreModels, settings: settingsModels };
7
+ const utils = require('./utils/utils');
8
+ const consts = require('./consts/consts');
9
+
10
+ const coreService = require('./api/core/accounts.core.service');
11
+ const openApiServices = require('./api/openapi/accounts.openapi.service');
12
+ const settingsServices = require('./api/settings/settings.service');
13
+ const emailCustomizationService = require('./api/emailCustomization/accounts.email.customizations.service');
14
+
15
+ const services = {
16
+ core: coreService,
17
+ openApi: openApiServices,
18
+ settings: settingsServices,
19
+ emailCustomizations: emailCustomizationService
20
+ };
21
+
22
+ module.exports = { services, models, utils, consts };
@@ -1,16 +1,16 @@
1
- const env = require('../../../../../env');
2
- const { credentials, accountCreationSecret } = env.getEnv();
3
- const { ACCOUNT_TYPES } = require('../../consts/consts');
4
-
5
- class CreateAccountModel {
6
- constructor(accountName, email, password = credentials.strongPassword, propertyType = ACCOUNT_TYPES.PROPERTY) {
7
- this.companyName = accountName;
8
- this.email = email;
9
- this.password = password;
10
- this.verifyPassword = password;
11
- this.accountType = propertyType;
12
- this.secret = accountCreationSecret;
13
- }
14
- }
15
-
16
- module.exports = CreateAccountModel;
1
+ const env = require('../../../../../env');
2
+ const { credentials, accountCreationSecret } = env.getEnv();
3
+ const { ACCOUNT_TYPES } = require('../../consts/consts');
4
+
5
+ class CreateAccountModel {
6
+ constructor(accountName, email, password = credentials.strongPassword, propertyType = ACCOUNT_TYPES.PROPERTY) {
7
+ this.companyName = accountName;
8
+ this.email = email;
9
+ this.password = password;
10
+ this.verifyPassword = password;
11
+ this.accountType = propertyType;
12
+ this.secret = accountCreationSecret;
13
+ }
14
+ }
15
+
16
+ module.exports = CreateAccountModel;
@@ -1,110 +1,110 @@
1
- class UpdateAccountSettingsModel {
2
- constructor(
3
- accountId,
4
- {
5
- isHighPriority = false,
6
- hasAnalyticsDashboard = false,
7
- hasPolicyVerification = false,
8
- isEmailOnWelcomePageVA = false,
9
- isExcludedFromNetwork = false,
10
- isAuditingAiEnabled = false,
11
- isAuditingAiScheduleVerificationEnabled = false,
12
- isAuditingAiNewReleasesEnabled = false,
13
- isAuditingAiInsuredNameEnabled = false,
14
- isCoiSnapshotAiEnabled = false,
15
- isComplianceSnapshotAiEnabled = false,
16
- isCoverageAudit = false,
17
- isAiEndorsementCodeCheckEnabled = false,
18
- isAccountRequirementsEnabled = false,
19
- isAccountRequirementsAutoRenewalsEnabled = false,
20
- autoGaps = {},
21
- integrations = {},
22
- gapsChat = {},
23
- supportAutomation = {},
24
- auditSlaHours = 24,
25
- shouldReachOutVendors = true,
26
- isWithoutAutocompleteDistanceLimitation = false,
27
- isJonesNetworkTabEnabled = false,
28
- isCustomTagsEnabled = false,
29
- isCertificateHolderStitchingEnabled = false,
30
- isConfigurableInviteGapCadenceEnabled = false,
31
- isConfigurableRenewalCadenceEnabled = false,
32
- renewalCadence = null,
33
- inviteGapCadence = null,
34
- isAcord25SplitExtractionEnabled = false,
35
- isCertificialEnabled = false,
36
- sampleCoi = {}
37
- } = {}
38
- ) {
39
- this.accountId = accountId;
40
- this.isHighPriority = isHighPriority;
41
- this.hasAnalyticsDashboard = hasAnalyticsDashboard;
42
- this.hasPolicyVerification = hasPolicyVerification;
43
- this.isEmailOnWelcomePageVA = isEmailOnWelcomePageVA;
44
- this.isExcludedFromNetwork = isExcludedFromNetwork;
45
- this.isAuditingAiEnabled = isAuditingAiEnabled;
46
- this.isAuditingAiScheduleVerificationEnabled = isAuditingAiScheduleVerificationEnabled;
47
- this.isAuditingAiNewReleasesEnabled = isAuditingAiNewReleasesEnabled;
48
- this.isAuditingAiInsuredNameEnabled = isAuditingAiInsuredNameEnabled;
49
- this.isCoiSnapshotAiEnabled = isCoiSnapshotAiEnabled;
50
- this.isComplianceSnapshotAiEnabled = isComplianceSnapshotAiEnabled;
51
- this.isCoverageAudit = isCoverageAudit;
52
- this.isAiEndorsementCodeCheckEnabled = isAiEndorsementCodeCheckEnabled;
53
- this.isAccountRequirementsEnabled = isAccountRequirementsEnabled;
54
- this.isAccountRequirementsAutoRenewalsEnabled = isAccountRequirementsAutoRenewalsEnabled;
55
- this.autoGaps = { ... DEFAULT_AUTO_GAPS, ... autoGaps };
56
- this.integrations = { ... DEFAULT_INTEGRATIONS, ... integrations };
57
- this.auditSlaHours = auditSlaHours;
58
- this.shouldReachOutVendors = shouldReachOutVendors;
59
- this.isWithoutAutocompleteDistanceLimitation = isWithoutAutocompleteDistanceLimitation;
60
- this.isJonesNetworkTabEnabled = isJonesNetworkTabEnabled;
61
- this.isCustomTagsEnabled = isCustomTagsEnabled;
62
- this.isCertificateHolderStitchingEnabled = isCertificateHolderStitchingEnabled;
63
- this.isConfigurableInviteGapCadenceEnabled = isConfigurableInviteGapCadenceEnabled;
64
- this.isConfigurableRenewalCadenceEnabled = isConfigurableRenewalCadenceEnabled;
65
- this.isAcord25SplitExtractionEnabled = isAcord25SplitExtractionEnabled;
66
- this.isCertificialEnabled = isCertificialEnabled;
67
- this.gapsChat = { ... DEFAULT_GAPS_CHAT, ... gapsChat };
68
- this.supportAutomation = { ... DEFAULT_SUPPORT_AUTOMATION, ... supportAutomation };
69
- this.sampleCoi = { ... DEFAULT_SAMPLE_COI, ... sampleCoi };
70
-
71
- if (inviteGapCadence !== null) {
72
- this.inviteGapCadence = inviteGapCadence;
73
- }
74
-
75
- if (renewalCadence !== null) {
76
- this.renewalCadence = renewalCadence;
77
- }
78
- }
79
- }
80
-
81
- const DEFAULT_AUTO_GAPS = {
82
- isAutoGapsEnabledForTenants: false,
83
- isAutoGapsEnabledForVendors: false
84
- };
85
-
86
- const DEFAULT_INTEGRATIONS = {
87
- isVendorIntegrationsEnabled: false,
88
- isTenantIntegrationsEnabled: false
89
- };
90
-
91
- const DEFAULT_GAPS_CHAT = {
92
- isGuestGapsChatEnabled: false,
93
- isTenantGapsChatEnabled: false,
94
- isVendorGapsChatEnabled: false
95
- };
96
-
97
- const DEFAULT_SUPPORT_AUTOMATION = {
98
- isSupportAutomationAutoReplyEnabled: false,
99
- isSupportAutomationTiersClassificationEnabled: false,
100
- isSupportAutomationNoActionNeededEnabled: false,
101
- isSupportAutomationStandardAutoUploadEnabled: true,
102
- isSupportAutomationEnhancedAutoUploadEnabled: false
103
- };
104
-
105
- const DEFAULT_SAMPLE_COI = {
106
- isSampleCoiVendorsEnabled: false,
107
- isSampleCoiTenantsEnabled: false
108
- };
109
-
110
- module.exports = UpdateAccountSettingsModel;
1
+ class UpdateAccountSettingsModel {
2
+ constructor(
3
+ accountId,
4
+ {
5
+ isHighPriority = false,
6
+ hasAnalyticsDashboard = false,
7
+ hasPolicyVerification = false,
8
+ isEmailOnWelcomePageVA = false,
9
+ isExcludedFromNetwork = false,
10
+ isAuditingAiEnabled = false,
11
+ isAuditingAiScheduleVerificationEnabled = false,
12
+ isAuditingAiNewReleasesEnabled = false,
13
+ isAuditingAiInsuredNameEnabled = false,
14
+ isCoiSnapshotAiEnabled = false,
15
+ isComplianceSnapshotAiEnabled = false,
16
+ isCoverageAudit = false,
17
+ isAiEndorsementCodeCheckEnabled = false,
18
+ isAccountRequirementsEnabled = false,
19
+ isAccountRequirementsAutoRenewalsEnabled = false,
20
+ autoGaps = {},
21
+ integrations = {},
22
+ gapsChat = {},
23
+ supportAutomation = {},
24
+ auditSlaHours = 24,
25
+ shouldReachOutVendors = true,
26
+ isWithoutAutocompleteDistanceLimitation = false,
27
+ isJonesNetworkTabEnabled = false,
28
+ isCustomTagsEnabled = false,
29
+ isCertificateHolderStitchingEnabled = false,
30
+ isConfigurableInviteGapCadenceEnabled = false,
31
+ isConfigurableRenewalCadenceEnabled = false,
32
+ renewalCadence = null,
33
+ inviteGapCadence = null,
34
+ isAcord25SplitExtractionEnabled = false,
35
+ isCertificialEnabled = false,
36
+ sampleCoi = {}
37
+ } = {}
38
+ ) {
39
+ this.accountId = accountId;
40
+ this.isHighPriority = isHighPriority;
41
+ this.hasAnalyticsDashboard = hasAnalyticsDashboard;
42
+ this.hasPolicyVerification = hasPolicyVerification;
43
+ this.isEmailOnWelcomePageVA = isEmailOnWelcomePageVA;
44
+ this.isExcludedFromNetwork = isExcludedFromNetwork;
45
+ this.isAuditingAiEnabled = isAuditingAiEnabled;
46
+ this.isAuditingAiScheduleVerificationEnabled = isAuditingAiScheduleVerificationEnabled;
47
+ this.isAuditingAiNewReleasesEnabled = isAuditingAiNewReleasesEnabled;
48
+ this.isAuditingAiInsuredNameEnabled = isAuditingAiInsuredNameEnabled;
49
+ this.isCoiSnapshotAiEnabled = isCoiSnapshotAiEnabled;
50
+ this.isComplianceSnapshotAiEnabled = isComplianceSnapshotAiEnabled;
51
+ this.isCoverageAudit = isCoverageAudit;
52
+ this.isAiEndorsementCodeCheckEnabled = isAiEndorsementCodeCheckEnabled;
53
+ this.isAccountRequirementsEnabled = isAccountRequirementsEnabled;
54
+ this.isAccountRequirementsAutoRenewalsEnabled = isAccountRequirementsAutoRenewalsEnabled;
55
+ this.autoGaps = { ... DEFAULT_AUTO_GAPS, ... autoGaps };
56
+ this.integrations = { ... DEFAULT_INTEGRATIONS, ... integrations };
57
+ this.auditSlaHours = auditSlaHours;
58
+ this.shouldReachOutVendors = shouldReachOutVendors;
59
+ this.isWithoutAutocompleteDistanceLimitation = isWithoutAutocompleteDistanceLimitation;
60
+ this.isJonesNetworkTabEnabled = isJonesNetworkTabEnabled;
61
+ this.isCustomTagsEnabled = isCustomTagsEnabled;
62
+ this.isCertificateHolderStitchingEnabled = isCertificateHolderStitchingEnabled;
63
+ this.isConfigurableInviteGapCadenceEnabled = isConfigurableInviteGapCadenceEnabled;
64
+ this.isConfigurableRenewalCadenceEnabled = isConfigurableRenewalCadenceEnabled;
65
+ this.isAcord25SplitExtractionEnabled = isAcord25SplitExtractionEnabled;
66
+ this.isCertificialEnabled = isCertificialEnabled;
67
+ this.gapsChat = { ... DEFAULT_GAPS_CHAT, ... gapsChat };
68
+ this.supportAutomation = { ... DEFAULT_SUPPORT_AUTOMATION, ... supportAutomation };
69
+ this.sampleCoi = { ... DEFAULT_SAMPLE_COI, ... sampleCoi };
70
+
71
+ if (inviteGapCadence !== null) {
72
+ this.inviteGapCadence = inviteGapCadence;
73
+ }
74
+
75
+ if (renewalCadence !== null) {
76
+ this.renewalCadence = renewalCadence;
77
+ }
78
+ }
79
+ }
80
+
81
+ const DEFAULT_AUTO_GAPS = {
82
+ isAutoGapsEnabledForTenants: false,
83
+ isAutoGapsEnabledForVendors: false
84
+ };
85
+
86
+ const DEFAULT_INTEGRATIONS = {
87
+ isVendorIntegrationsEnabled: false,
88
+ isTenantIntegrationsEnabled: false
89
+ };
90
+
91
+ const DEFAULT_GAPS_CHAT = {
92
+ isGuestGapsChatEnabled: false,
93
+ isTenantGapsChatEnabled: false,
94
+ isVendorGapsChatEnabled: false
95
+ };
96
+
97
+ const DEFAULT_SUPPORT_AUTOMATION = {
98
+ isSupportAutomationAutoReplyEnabled: false,
99
+ isSupportAutomationTiersClassificationEnabled: false,
100
+ isSupportAutomationNoActionNeededEnabled: false,
101
+ isSupportAutomationStandardAutoUploadEnabled: true,
102
+ isSupportAutomationEnhancedAutoUploadEnabled: false
103
+ };
104
+
105
+ const DEFAULT_SAMPLE_COI = {
106
+ isSampleCoiVendorsEnabled: false,
107
+ isSampleCoiTenantsEnabled: false
108
+ };
109
+
110
+ module.exports = UpdateAccountSettingsModel;
@@ -1,60 +1,60 @@
1
- const coreService = require('../api/core/accounts.core.service');
2
- const CreateAccountModel = require('../models/core/create.account.model');
3
- const configsUtil = require('../../../../common/utils/configsUtil');
4
-
5
- const getOrCreateAccount = (context, accountName, email, { password, type } = {}) => {
6
- const createAccountModel = new CreateAccountModel(
7
- accountName,
8
- email,
9
- password,
10
- propertyType = type
11
- );
12
- return coreService.getOrCreateAccount(createAccountModel, context);
13
- };
14
-
15
- const createAccount = async (context, accountName, email, { password, type } = {}) => {
16
- const createAccountModel = new CreateAccountModel(
17
- accountName,
18
- email,
19
- password,
20
- propertyType = type
21
- );
22
-
23
- const response = await coreService.createAccount(createAccountModel, context);
24
- return response.data;
25
- };
26
-
27
- const deleteAccountByName = async (context, accountName) => {
28
- const existingAccount = await coreService.getAccount(accountName, context);
29
-
30
- return existingAccount && coreService.deleteAccountById(existingAccount.userId, context);
31
- };
32
-
33
- const isUIConfig = config => {
34
- return configsUtil.isUIConfig(config, attributesConvertor);
35
- };
36
-
37
- const parseAccountSettingsConfig = (accountId, settingsConfig) => {
38
- const settings = configsUtil.objectConvertor(settingsConfig, attributesConvertor);
39
- return { ... settings, accountId };
40
- };
41
-
42
- module.exports = {
43
- getOrCreateAccount,
44
- createAccount,
45
- deleteAccountByName,
46
- parseAccountSettingsConfig,
47
- isUIConfig
48
- };
49
-
50
- const attributesConvertor = {
51
- 'Enable high priority in auditor portal': 'isHighPriority',
52
- 'Analytics Dashboard': 'hasAnalyticsDashboard',
53
- 'Email on welcome page experiment': 'isEmailOnWelcomePageVA',
54
- 'Exclude account records from the Jones Network': 'isExcludedFromNetwork',
55
- 'Coverage Auditing': 'isCoverageAudit',
56
- 'Account Requirements': 'isAccountRequirementsEnabled',
57
- 'Skip 50 miles autocomplete limitation': 'isWithoutAutocompleteDistanceLimitation',
58
- 'Policy Verification': 'hasPolicyVerification',
59
- 'Auditing AI Enabled': 'isAuditingAiEnabled'
60
- };
1
+ const coreService = require('../api/core/accounts.core.service');
2
+ const CreateAccountModel = require('../models/core/create.account.model');
3
+ const configsUtil = require('../../../../common/utils/configsUtil');
4
+
5
+ const getOrCreateAccount = (context, accountName, email, { password, type } = {}) => {
6
+ const createAccountModel = new CreateAccountModel(
7
+ accountName,
8
+ email,
9
+ password,
10
+ propertyType = type
11
+ );
12
+ return coreService.getOrCreateAccount(createAccountModel, context);
13
+ };
14
+
15
+ const createAccount = async (context, accountName, email, { password, type } = {}) => {
16
+ const createAccountModel = new CreateAccountModel(
17
+ accountName,
18
+ email,
19
+ password,
20
+ propertyType = type
21
+ );
22
+
23
+ const response = await coreService.createAccount(createAccountModel, context);
24
+ return response.data;
25
+ };
26
+
27
+ const deleteAccountByName = async (context, accountName) => {
28
+ const existingAccount = await coreService.getAccount(accountName, context);
29
+
30
+ return existingAccount && coreService.deleteAccountById(existingAccount.userId, context);
31
+ };
32
+
33
+ const isUIConfig = config => {
34
+ return configsUtil.isUIConfig(config, attributesConvertor);
35
+ };
36
+
37
+ const parseAccountSettingsConfig = (accountId, settingsConfig) => {
38
+ const settings = configsUtil.objectConvertor(settingsConfig, attributesConvertor);
39
+ return { ... settings, accountId };
40
+ };
41
+
42
+ module.exports = {
43
+ getOrCreateAccount,
44
+ createAccount,
45
+ deleteAccountByName,
46
+ parseAccountSettingsConfig,
47
+ isUIConfig
48
+ };
49
+
50
+ const attributesConvertor = {
51
+ 'Enable high priority in auditor portal': 'isHighPriority',
52
+ 'Analytics Dashboard': 'hasAnalyticsDashboard',
53
+ 'Email on welcome page experiment': 'isEmailOnWelcomePageVA',
54
+ 'Exclude account records from the Jones Network': 'isExcludedFromNetwork',
55
+ 'Coverage Auditing': 'isCoverageAudit',
56
+ 'Account Requirements': 'isAccountRequirementsEnabled',
57
+ 'Skip 50 miles autocomplete limitation': 'isWithoutAutocompleteDistanceLimitation',
58
+ 'Policy Verification': 'hasPolicyVerification',
59
+ 'Auditing AI Enabled': 'isAuditingAiEnabled'
60
+ };