@getjones/test-infra 4.5.0 → 4.5.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 (239) 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 +260 -260
  5. package/src/common/consts/accountSettings.js +14 -14
  6. package/src/common/consts/activationStatuses.js +6 -6
  7. package/src/common/consts/autocomplete.js +10 -10
  8. package/src/common/consts/constantsForRecordsSortingAndFilters.js +48 -48
  9. package/src/common/consts/dashboardCharts.js +18 -18
  10. package/src/common/consts/homepage/AttentionTab.js +5 -5
  11. package/src/common/consts/homepage/sortOptions.js +14 -14
  12. package/src/common/consts/ocrStatuses.js +6 -6
  13. package/src/common/consts/projectSettings.js +21 -21
  14. package/src/common/consts/recordTypes.js +5 -5
  15. package/src/common/consts/requirementActions.js +10 -10
  16. package/src/common/consts/s3FileTypes.js +13 -13
  17. package/src/common/consts/userRoles.js +18 -18
  18. package/src/common/consts/userTypes.js +8 -8
  19. package/src/common/errorCodes.js +3 -3
  20. package/src/common/httpResponseStatusCodes.json +11 -11
  21. package/src/common/httpResponseTypes.json +2 -2
  22. package/src/common/requests/apiKeyAuth/requests.js +44 -44
  23. package/src/common/requests/cookieAuth/requests.js +40 -40
  24. package/src/common/requests/internalAuth/requests.js +48 -48
  25. package/src/common/requests/requestHandlers.js +80 -80
  26. package/src/common/utils/complianceUtil.js +114 -114
  27. package/src/common/utils/configsUtil.js +22 -22
  28. package/src/common/utils/dataTypeUtils.js +41 -41
  29. package/src/common/utils/numberUtils.js +22 -22
  30. package/src/common/utils/objectUtils.js +7 -7
  31. package/src/common/utils/timeUtils.js +177 -177
  32. package/src/common/validations/errorValidation.js +16 -16
  33. package/src/common/validations/typeValidations.js +36 -36
  34. package/src/defaults/configs/auditConfigs.js +146 -125
  35. package/src/defaults/configs/coverage.js +236 -227
  36. package/src/defaults/configs/polices.js +75 -75
  37. package/src/defaults/configs/requirement.js +32 -32
  38. package/src/defaults/index.js +6 -6
  39. package/src/env.js +57 -57
  40. package/src/factory/globalRecord/globalRecord.js +43 -43
  41. package/src/factory/index.js +8 -8
  42. package/src/factory/records/records.js +297 -229
  43. package/src/factory/users/users.js +86 -86
  44. package/src/index.js +97 -97
  45. package/src/resources/virusFile.pdf +0 -0
  46. package/src/saas/internal-api/accountDirectory/api/accountDirectory.api.js +50 -50
  47. package/src/saas/internal-api/accountDirectory/api/accountDirectory.service.js +182 -182
  48. package/src/saas/internal-api/accountDirectory/index.js +4 -4
  49. package/src/saas/internal-api/accountDirectory/models/accountDirectory.model.js +40 -40
  50. package/src/saas/internal-api/accounts/api/core/accounts.core.api.js +35 -35
  51. package/src/saas/internal-api/accounts/api/core/accounts.core.service.js +93 -93
  52. package/src/saas/internal-api/accounts/api/emailCustomization/accounts.email.customizations.api.js +29 -29
  53. package/src/saas/internal-api/accounts/api/emailCustomization/accounts.email.customizations.service.js +61 -61
  54. package/src/saas/internal-api/accounts/api/openapi/accounts.openapi.api.js +48 -48
  55. package/src/saas/internal-api/accounts/api/openapi/accounts.openapi.service.js +74 -74
  56. package/src/saas/internal-api/accounts/api/settings/settings.api.js +21 -21
  57. package/src/saas/internal-api/accounts/api/settings/settings.service.js +41 -41
  58. package/src/saas/internal-api/accounts/consts/consts.js +8 -8
  59. package/src/saas/internal-api/accounts/index.js +22 -22
  60. package/src/saas/internal-api/accounts/models/core/create.account.model.js +16 -16
  61. package/src/saas/internal-api/accounts/models/settings/update.settings.model.js +51 -51
  62. package/src/saas/internal-api/accounts/utils/utils.js +60 -60
  63. package/src/saas/internal-api/agreement/api/agreement.api.js +39 -39
  64. package/src/saas/internal-api/agreement/api/agreement.service.js +121 -121
  65. package/src/saas/internal-api/agreement/consts/consts.js +11 -11
  66. package/src/saas/internal-api/agreement/index.js +12 -12
  67. package/src/saas/internal-api/agreement/models/create.agreement.model.js +12 -12
  68. package/src/saas/internal-api/agreement/models/createAgreementByAuditorModel.js +11 -11
  69. package/src/saas/internal-api/agreement/models/createAgreementByPMModel.js +13 -13
  70. package/src/saas/internal-api/auditCustomerRules/api/customer.rules.api.js +43 -43
  71. package/src/saas/internal-api/auditCustomerRules/api/customer.rules.service.js +105 -105
  72. package/src/saas/internal-api/auditCustomerRules/consts/customer.rule.js +11 -11
  73. package/src/saas/internal-api/auditCustomerRules/index.js +6 -6
  74. package/src/saas/internal-api/auditCustomerRules/models/customer.rule.model.js +46 -46
  75. package/src/saas/internal-api/auditCustomerRules/utils/customer.rule.util.js +19 -19
  76. package/src/saas/internal-api/auditNotes/api/audit.notes.api.js +40 -40
  77. package/src/saas/internal-api/auditNotes/api/audit.notes.service.js +115 -115
  78. package/src/saas/internal-api/auditNotes/index.js +4 -4
  79. package/src/saas/internal-api/auditNotes/models/audit.note.model.js +30 -30
  80. package/src/saas/internal-api/auth/api/auth.api.js +27 -27
  81. package/src/saas/internal-api/auth/api/auth.service.js +90 -90
  82. package/src/saas/internal-api/auth/index.js +3 -3
  83. package/src/saas/internal-api/coi/api/coi.api.js +45 -45
  84. package/src/saas/internal-api/coi/api/coi.service.js +39 -39
  85. package/src/saas/internal-api/coi/consts/hashes.js +4 -4
  86. package/src/saas/internal-api/coi/consts/uploaderTypes.js +5 -5
  87. package/src/saas/internal-api/coi/index.js +14 -14
  88. package/src/saas/internal-api/coi/models/Combine.last.two.cois.model.js +25 -25
  89. package/src/saas/internal-api/coi/models/submit.coi.model.js +19 -19
  90. package/src/saas/internal-api/coi/utils/utils.js +117 -117
  91. package/src/saas/internal-api/compliance/api/amBestRating/am.best.rating.api.js +12 -12
  92. package/src/saas/internal-api/compliance/api/amBestRating/am.best.rating.service.js +14 -14
  93. package/src/saas/internal-api/compliance/api/audit/audit.api.js +115 -115
  94. package/src/saas/internal-api/compliance/api/audit/audit.service.js +300 -300
  95. package/src/saas/internal-api/compliance/api/convert/convert.api.js +17 -17
  96. package/src/saas/internal-api/compliance/api/convert/convert.service.js +11 -11
  97. package/src/saas/internal-api/compliance/api/coverage/coverage.api.js +33 -33
  98. package/src/saas/internal-api/compliance/api/coverage/coverage.service.js +50 -48
  99. package/src/saas/internal-api/compliance/api/overrideGap/override.gap.api.js +38 -38
  100. package/src/saas/internal-api/compliance/api/overrideGap/override.gap.service.js +183 -183
  101. package/src/saas/internal-api/compliance/consts/audit.js +111 -111
  102. package/src/saas/internal-api/compliance/index.js +36 -36
  103. package/src/saas/internal-api/compliance/models/audit/audit.model.js +96 -96
  104. package/src/saas/internal-api/compliance/models/waive/waive.model.js +49 -49
  105. package/src/saas/internal-api/compliance/utils/auditUtil.js +254 -254
  106. package/src/saas/internal-api/compliance/utils/coverageUtil.js +55 -40
  107. package/src/saas/internal-api/contractors/api/contractors.api.js +209 -209
  108. package/src/saas/internal-api/contractors/api/contractors.service.js +361 -361
  109. package/src/saas/internal-api/contractors/consts/consts.js +6 -6
  110. package/src/saas/internal-api/contractors/index.js +8 -8
  111. package/src/saas/internal-api/contractors/models/assign.requirement.model.js +10 -10
  112. package/src/saas/internal-api/contractors/models/edit.contractor.model.js +73 -73
  113. package/src/saas/internal-api/contractors/models/link.request.model.js +10 -10
  114. package/src/saas/internal-api/contractors/models/subscription.contractor.model.js +13 -13
  115. package/src/saas/internal-api/contractors/models/verification.contractor.model.js +27 -27
  116. package/src/saas/internal-api/contractors/utils.js +25 -25
  117. package/src/saas/internal-api/dashboard/api/recordList.api.js +38 -38
  118. package/src/saas/internal-api/dashboard/api/recordList.service.js +60 -60
  119. package/src/saas/internal-api/dashboard/index.js +5 -5
  120. package/src/saas/internal-api/dashboard/models/dashboard.filter.criteria.model.js +38 -38
  121. package/src/saas/internal-api/dbEmails/api/db.emails.api.js +25 -25
  122. package/src/saas/internal-api/dbEmails/api/db.emails.service.js +156 -156
  123. package/src/saas/internal-api/dbEmails/consts/consts.js +55 -55
  124. package/src/saas/internal-api/dbEmails/index.js +6 -6
  125. package/src/saas/internal-api/dbEmails/models/db.emails.model.js +22 -22
  126. package/src/saas/internal-api/dbEmails/utils/util.js +87 -87
  127. package/src/saas/internal-api/emailCustomization/api/email.customization.api.js +26 -26
  128. package/src/saas/internal-api/emailCustomization/api/email.customization.service.js +50 -50
  129. package/src/saas/internal-api/emailCustomization/index.js +3 -3
  130. package/src/saas/internal-api/globalRecord/api/global.record.api.js +95 -95
  131. package/src/saas/internal-api/globalRecord/api/global.record.service.js +112 -112
  132. package/src/saas/internal-api/globalRecord/consts.js +20 -20
  133. package/src/saas/internal-api/globalRecord/index.js +6 -6
  134. package/src/saas/internal-api/globalRecord/models/global.record.model.js +60 -60
  135. package/src/saas/internal-api/globalRecord/utils/util.js +161 -161
  136. package/src/saas/internal-api/homepageCharts/api/charts.api.js +12 -12
  137. package/src/saas/internal-api/homepageCharts/api/charts.service.js +7 -7
  138. package/src/saas/internal-api/homepageCharts/index.js +3 -3
  139. package/src/saas/internal-api/policyFile/api/policy.file.api.js +43 -43
  140. package/src/saas/internal-api/policyFile/api/policy.file.service.js +117 -117
  141. package/src/saas/internal-api/policyFile/consts.js +21 -21
  142. package/src/saas/internal-api/policyFile/index.js +11 -11
  143. package/src/saas/internal-api/policyFile/models/create.policy.file.model.js +11 -11
  144. package/src/saas/internal-api/policyFile/models/set.publish.flag.to.policy.model.js +13 -13
  145. package/src/saas/internal-api/projects/api/core/projects.api.js +39 -39
  146. package/src/saas/internal-api/projects/api/core/projects.service.js +77 -77
  147. package/src/saas/internal-api/projects/api/settings/project.settings.api.js +18 -18
  148. package/src/saas/internal-api/projects/api/settings/project.settings.service.js +35 -35
  149. package/src/saas/internal-api/projects/consts/defaultProject.js +3 -3
  150. package/src/saas/internal-api/projects/index.js +24 -24
  151. package/src/saas/internal-api/projects/models/core/create.project.model.js +41 -41
  152. package/src/saas/internal-api/projects/models/core/update.project.model.js +47 -47
  153. package/src/saas/internal-api/projects/models/settings/update.project.settings.model.js +40 -40
  154. package/src/saas/internal-api/projects/utils/utils.js +155 -155
  155. package/src/saas/internal-api/recordHub/api/record.hub.api.js +14 -14
  156. package/src/saas/internal-api/recordHub/api/record.hub.service.js +21 -21
  157. package/src/saas/internal-api/recordHub/index.js +3 -3
  158. package/src/saas/internal-api/recordNotes/api/record.notes.api.js +38 -38
  159. package/src/saas/internal-api/recordNotes/api/record.notes.service.js +47 -47
  160. package/src/saas/internal-api/recordNotes/api/record.notes.utils.js +12 -12
  161. package/src/saas/internal-api/recordNotes/index.js +3 -3
  162. package/src/saas/internal-api/reports/api/reports.api.js +62 -62
  163. package/src/saas/internal-api/reports/api/reports.service.js +79 -79
  164. package/src/saas/internal-api/reports/consts/consts.js +74 -74
  165. package/src/saas/internal-api/reports/index.js +15 -15
  166. package/src/saas/internal-api/reports/models/report.model.js +27 -27
  167. package/src/saas/internal-api/requests/api/requests.api.js +126 -126
  168. package/src/saas/internal-api/requests/api/requests.service.js +301 -301
  169. package/src/saas/internal-api/requests/index.js +21 -21
  170. package/src/saas/internal-api/requests/models/create.request.model.js +36 -36
  171. package/src/saas/internal-api/requests/models/draft.request.criteria.model.js +18 -18
  172. package/src/saas/internal-api/requests/models/draft.request.report.model.js +14 -14
  173. package/src/saas/internal-api/requests/models/edit.request.model.js +31 -31
  174. package/src/saas/internal-api/requests/models/homepageRequestCriteriaModel.js +19 -19
  175. package/src/saas/internal-api/requests/models/requestListCriteriaModel.js +17 -17
  176. package/src/saas/internal-api/requests/models/tenant.request.model.js +9 -9
  177. package/src/saas/internal-api/requests/utils.js +16 -16
  178. package/src/saas/internal-api/requestsTable/api/requests.table.api.js +20 -20
  179. package/src/saas/internal-api/requestsTable/api/requests.table.service.js +14 -14
  180. package/src/saas/internal-api/requestsTable/index.js +3 -3
  181. package/src/saas/internal-api/requirements/api/requirements.api.js +57 -57
  182. package/src/saas/internal-api/requirements/api/requirements.service.js +177 -177
  183. package/src/saas/internal-api/requirements/consts/attributeTypes.json +8 -8
  184. package/src/saas/internal-api/requirements/consts/consts.js +6 -6
  185. package/src/saas/internal-api/requirements/index.js +10 -10
  186. package/src/saas/internal-api/requirements/models/create.requirement.model.js +17 -17
  187. package/src/saas/internal-api/requirements/models/policy.model.js +35 -35
  188. package/src/saas/internal-api/requirements/models/update.requirement.model.js +19 -19
  189. package/src/saas/internal-api/requirements/utils/utils.js +129 -129
  190. package/src/saas/internal-api/serviceArea/api/coordinates.api.js +12 -12
  191. package/src/saas/internal-api/serviceArea/api/coordinates.service.js +7 -7
  192. package/src/saas/internal-api/serviceArea/index.js +4 -4
  193. package/src/saas/internal-api/serviceArea/utils/utils.js +8 -8
  194. package/src/saas/internal-api/tabs/api/tabs.api.js +32 -32
  195. package/src/saas/internal-api/tabs/api/tabs.service.js +54 -54
  196. package/src/saas/internal-api/tabs/index.js +3 -3
  197. package/src/saas/internal-api/tabs/models/tabs.model.js +19 -19
  198. package/src/saas/internal-api/thread-scheduler/runner.js +55 -55
  199. package/src/saas/internal-api/uploadFiles/api/upload.file.api.js +43 -43
  200. package/src/saas/internal-api/uploadFiles/api/upload.file.service.js +107 -107
  201. package/src/saas/internal-api/uploadFiles/consts.js +12 -12
  202. package/src/saas/internal-api/uploadFiles/index.js +5 -5
  203. package/src/saas/internal-api/users/api/tenantApp/tenant.app.api.js +38 -38
  204. package/src/saas/internal-api/users/api/tenantApp/tenant.app.service.js +108 -108
  205. package/src/saas/internal-api/users/api/users.api.js +127 -127
  206. package/src/saas/internal-api/users/api/users.service.js +258 -258
  207. package/src/saas/internal-api/users/index.js +16 -16
  208. package/src/saas/internal-api/users/models/create.inner.system.user.model.js +18 -18
  209. package/src/saas/internal-api/users/models/notification.settings.model.js +12 -12
  210. package/src/saas/internal-api/users/models/tenent.user.model.js +11 -11
  211. package/src/saas/internal-api/users/models/users.model.js +43 -43
  212. package/src/saas/internal-api/users/utils/util.js +39 -39
  213. package/src/saas/internal-api/vendorProfile/api/vendor.profile.api.js +26 -26
  214. package/src/saas/internal-api/vendorProfile/api/vendor.profile.service.js +19 -19
  215. package/src/saas/internal-api/vendorProfile/index.js +3 -3
  216. package/src/saas/openapi/accounts/accounts.api.js +17 -17
  217. package/src/saas/openapi/accounts/accounts.service.js +11 -11
  218. package/src/saas/openapi/coi/coi.api.js +30 -30
  219. package/src/saas/openapi/coi/coi.service.js +43 -43
  220. package/src/saas/openapi/projects/projects.api.js +83 -83
  221. package/src/saas/openapi/projects/projects.service.js +64 -64
  222. package/src/saas/openapi/requests/index.js +7 -7
  223. package/src/saas/openapi/requests/models/invite.request.model.js +40 -40
  224. package/src/saas/openapi/requests/models/update.request.model.js +35 -35
  225. package/src/saas/openapi/requests/requests.api.js +93 -93
  226. package/src/saas/openapi/requests/requests.service.js +94 -94
  227. package/src/saas/openapi/requirements/index.js +6 -6
  228. package/src/saas/openapi/requirements/models/copy.requirement.model.js +10 -10
  229. package/src/saas/openapi/requirements/requirements.api.js +41 -41
  230. package/src/saas/openapi/requirements/requirements.service.js +49 -49
  231. package/src/saas/openapi/tabs/index.js +6 -6
  232. package/src/saas/openapi/tabs/models/create.tab.model.js +6 -6
  233. package/src/saas/openapi/tabs/tabs.api.js +27 -27
  234. package/src/saas/openapi/tabs/tabs.service.js +19 -19
  235. package/src/saas/openapi/users/user.model.js +10 -10
  236. package/src/saas/openapi/users/users.api.js +33 -33
  237. package/src/saas/openapi/users/users.service.js +51 -51
  238. package/tests/env.test.js +40 -40
  239. package/tests/validation.test.js +83 -83
@@ -1,86 +1,86 @@
1
- const { getEnv } = require('../../env');
2
- const auth = require('../../saas/internal-api/auth/api/auth.service');
3
- const httpResponseStatusCodes = require('../../common/httpResponseStatusCodes.json');
4
-
5
- const { credentials } = getEnv();
6
-
7
- const users = require('../../saas/internal-api/users');
8
- const { InviteUserModel } = users.models;
9
-
10
- const defaultsPassword = credentials.strongPassword;
11
- const roles = {
12
- readOnly: 'Read-only User',
13
- inviter: 'Inviter',
14
- cm: 'Compliance Manager'
15
- };
16
-
17
- const inviteSaasUser = async (username, role, projectIds, context, { hasCompleteAccessPermission } = {}) => {
18
- const userResponse = await users.services.getUserByEmail(username, context);
19
-
20
- if (userResponse.data && userResponse.data.id) {
21
- const { projectPermissions } = userResponse.data;
22
- const projectPermissionsIds = projectPermissions.map(projectPermission => projectPermission.projectId);
23
-
24
- projectIds = projectIds.filter(projectId => !projectPermissionsIds.includes(projectId));
25
-
26
- if (!projectIds.length) {
27
- return;
28
- }
29
- }
30
-
31
- const inviteUserModel = new InviteUserModel(username, role, projectIds, hasCompleteAccessPermission);
32
- const inviteResponse = await users.services.inviteUser([inviteUserModel], context);
33
-
34
- if (inviteResponse.status !== httpResponseStatusCodes.NO_CONTENT) {
35
- throw new Error(`Failed to invite user with email: ${username}\n${inviteResponse}`);
36
- }
37
- };
38
-
39
- const signupSaasUser = async (username, role, context) => {
40
- const userResponse = await users.services.getUserByEmail(username, context);
41
-
42
- //Already signup user
43
- if (userResponse.data.isVerified) {
44
- return;
45
- }
46
-
47
- const signupUserModel = await users.util.getSignupUserModel(username, role, role, defaultsPassword, context);
48
- const signupResponse = await users.services.signupUser(signupUserModel, context);
49
-
50
- if (signupResponse.status !== httpResponseStatusCodes.OK) {
51
- throw new Error(`Failed to invite ${role} user with email: ${username}\n${signupResponse}`);
52
- }
53
- };
54
-
55
- const prepareUser = async (username, role, projectIds, context, { signup = true, hasCompleteAccessPermission } = {}) => {
56
- await inviteSaasUser(username, role, projectIds, context, { hasCompleteAccessPermission });
57
-
58
- const icsContext = await auth.getIcsCookie();
59
- signup && await signupSaasUser(username, role, icsContext); // Can not use other context than ics to use this function
60
-
61
- const userResponse = await users.services.getUserByEmail(username, icsContext); // Can not use other context than ics to use this function
62
-
63
- if (userResponse.status !== httpResponseStatusCodes.OK) {
64
- throw new Error(`Failed to prepare ${role} user with email: ${username}\n${userResponse}`);
65
- }
66
-
67
- return userResponse.data;
68
- };
69
-
70
- const prepareComplianceManagerUser = (username, projectIds, context, { signup, hasCompleteAccessPermission } = {}) => {
71
- return prepareUser(username, roles.cm, projectIds, context, { signup, hasCompleteAccessPermission });
72
- };
73
-
74
- const prepareInviterUser = (username, projectIds, context, { signup, hasCompleteAccessPermission } = {}) => {
75
- return prepareUser(username, roles.inviter, projectIds, context, { signup, hasCompleteAccessPermission });
76
- };
77
-
78
- const prepareReadOnlyUser = (username, projectIds, context, { signup, hasCompleteAccessPermission } = {}) => {
79
- return prepareUser(username, roles.readOnly, projectIds, context, { signup, hasCompleteAccessPermission });
80
- };
81
-
82
- module.exports = {
83
- prepareComplianceManagerUser,
84
- prepareInviterUser,
85
- prepareReadOnlyUser
86
- };
1
+ const { getEnv } = require('../../env');
2
+ const auth = require('../../saas/internal-api/auth/api/auth.service');
3
+ const httpResponseStatusCodes = require('../../common/httpResponseStatusCodes.json');
4
+
5
+ const { credentials } = getEnv();
6
+
7
+ const users = require('../../saas/internal-api/users');
8
+ const { InviteUserModel } = users.models;
9
+
10
+ const defaultsPassword = credentials.strongPassword;
11
+ const roles = {
12
+ readOnly: 'Read-only User',
13
+ inviter: 'Inviter',
14
+ cm: 'Compliance Manager'
15
+ };
16
+
17
+ const inviteSaasUser = async (username, role, projectIds, context, { hasCompleteAccessPermission } = {}) => {
18
+ const userResponse = await users.services.getUserByEmail(username, context);
19
+
20
+ if (userResponse.data && userResponse.data.id) {
21
+ const { projectPermissions } = userResponse.data;
22
+ const projectPermissionsIds = projectPermissions.map(projectPermission => projectPermission.projectId);
23
+
24
+ projectIds = projectIds.filter(projectId => !projectPermissionsIds.includes(projectId));
25
+
26
+ if (!projectIds.length) {
27
+ return;
28
+ }
29
+ }
30
+
31
+ const inviteUserModel = new InviteUserModel(username, role, projectIds, hasCompleteAccessPermission);
32
+ const inviteResponse = await users.services.inviteUser([inviteUserModel], context);
33
+
34
+ if (inviteResponse.status !== httpResponseStatusCodes.NO_CONTENT) {
35
+ throw new Error(`Failed to invite user with email: ${username}\n${inviteResponse}`);
36
+ }
37
+ };
38
+
39
+ const signupSaasUser = async (username, role, context) => {
40
+ const userResponse = await users.services.getUserByEmail(username, context);
41
+
42
+ //Already signup user
43
+ if (userResponse.data.isVerified) {
44
+ return;
45
+ }
46
+
47
+ const signupUserModel = await users.util.getSignupUserModel(username, role, role, defaultsPassword, context);
48
+ const signupResponse = await users.services.signupUser(signupUserModel, context);
49
+
50
+ if (signupResponse.status !== httpResponseStatusCodes.OK) {
51
+ throw new Error(`Failed to invite ${role} user with email: ${username}\n${signupResponse}`);
52
+ }
53
+ };
54
+
55
+ const prepareUser = async (username, role, projectIds, context, { signup = true, hasCompleteAccessPermission } = {}) => {
56
+ await inviteSaasUser(username, role, projectIds, context, { hasCompleteAccessPermission });
57
+
58
+ const icsContext = await auth.getIcsCookie();
59
+ signup && await signupSaasUser(username, role, icsContext); // Can not use other context than ics to use this function
60
+
61
+ const userResponse = await users.services.getUserByEmail(username, icsContext); // Can not use other context than ics to use this function
62
+
63
+ if (userResponse.status !== httpResponseStatusCodes.OK) {
64
+ throw new Error(`Failed to prepare ${role} user with email: ${username}\n${userResponse}`);
65
+ }
66
+
67
+ return userResponse.data;
68
+ };
69
+
70
+ const prepareComplianceManagerUser = (username, projectIds, context, { signup, hasCompleteAccessPermission } = {}) => {
71
+ return prepareUser(username, roles.cm, projectIds, context, { signup, hasCompleteAccessPermission });
72
+ };
73
+
74
+ const prepareInviterUser = (username, projectIds, context, { signup, hasCompleteAccessPermission } = {}) => {
75
+ return prepareUser(username, roles.inviter, projectIds, context, { signup, hasCompleteAccessPermission });
76
+ };
77
+
78
+ const prepareReadOnlyUser = (username, projectIds, context, { signup, hasCompleteAccessPermission } = {}) => {
79
+ return prepareUser(username, roles.readOnly, projectIds, context, { signup, hasCompleteAccessPermission });
80
+ };
81
+
82
+ module.exports = {
83
+ prepareComplianceManagerUser,
84
+ prepareInviterUser,
85
+ prepareReadOnlyUser
86
+ };
package/src/index.js CHANGED
@@ -1,97 +1,97 @@
1
- const env = require('./env');
2
- const init = conf => {
3
- env.init(conf);
4
- const internalAPI = getInternalAPI();
5
- const openAPI = getOpenAPI();
6
-
7
- return { internalAPI, openAPI };
8
- };
9
-
10
- const getInternalAPI = () => {
11
- const factory = require('./factory');
12
- const defaults = require('./defaults');
13
- const auth = require('./saas/internal-api/auth');
14
- const accounts = require('./saas/internal-api/accounts');
15
-
16
- const projects = require('./saas/internal-api/projects');
17
- const tabs = require('./saas/internal-api/tabs');
18
-
19
- const requirements = require('./saas/internal-api/requirements');
20
- const contractors = require('./saas/internal-api/contractors');
21
- const requests = require('./saas/internal-api/requests');
22
-
23
- const coi = require('./saas/internal-api/coi');
24
- const compliance = require('./saas/internal-api/compliance');
25
- const auditNotes = require('./saas/internal-api/auditNotes');
26
- const auditCustomerRules = require('./saas/internal-api/auditCustomerRules');
27
-
28
- const users = require('./saas/internal-api/users');
29
-
30
- const reports = require('./saas/internal-api/reports');
31
- const charts = require('./saas/internal-api/homepageCharts');
32
- const dashboard = require('./saas/internal-api/dashboard');
33
- const accountDirectory = require('./saas/internal-api/accountDirectory');
34
-
35
- const globalRecord = require('./saas/internal-api/globalRecord');
36
- const vendorProfile = require('./saas/internal-api/vendorProfile');
37
- const serviceArea = require('./saas/internal-api/serviceArea');
38
-
39
- const recordHub = require('./saas/internal-api/recordHub');
40
- const requestsTable = require('./saas/internal-api/requestsTable');
41
-
42
- const threadScheduler = require('./saas/internal-api/thread-scheduler/runner');
43
- const dbEmails = require('./saas/internal-api/dbEmails/index');
44
- const agreement = require('./saas/internal-api/agreement/index');
45
- const uploadFile = require('./saas/internal-api/uploadFiles/index');
46
- const policyFile = require('./saas/internal-api/policyFile');
47
-
48
- const emailCustomization = require('./saas/internal-api/emailCustomization');
49
-
50
- const internalAPI = {
51
- defaults,
52
- auth,
53
- accounts,
54
- projects,
55
- tabs,
56
- requirements,
57
- contractors,
58
- requests,
59
- coi,
60
- compliance,
61
- auditNotes,
62
- auditCustomerRules,
63
- reports,
64
- users,
65
- charts,
66
- dashboard,
67
- accountDirectory,
68
- globalRecord,
69
- vendorProfile,
70
- serviceArea,
71
- recordHub,
72
- requestsTable,
73
- threadScheduler,
74
- dbEmails,
75
- emailCustomization,
76
- factory,
77
- agreement,
78
- uploadFile,
79
- policyFile
80
- };
81
-
82
- return internalAPI;
83
- };
84
-
85
- const getOpenAPI = () => {
86
- const accounts = require('./saas/openapi/accounts/accounts.service');
87
- const projects = require('./saas/openapi/projects/projects.service');
88
- const tabs = require('./saas/openapi/tabs');
89
- const requirements = require('./saas/openapi/requirements');
90
- const requests = require('./saas/openapi/requests');
91
- const coi = require('./saas/openapi/coi/coi.service');
92
- const users = require('./saas/openapi/users/users.service');
93
- const openAPI = { accounts, projects, tabs, requirements, requests, coi, users };
94
- return openAPI;
95
- };
96
-
97
- module.exports = init;
1
+ const env = require('./env');
2
+ const init = conf => {
3
+ env.init(conf);
4
+ const internalAPI = getInternalAPI();
5
+ const openAPI = getOpenAPI();
6
+
7
+ return { internalAPI, openAPI };
8
+ };
9
+
10
+ const getInternalAPI = () => {
11
+ const factory = require('./factory');
12
+ const defaults = require('./defaults');
13
+ const auth = require('./saas/internal-api/auth');
14
+ const accounts = require('./saas/internal-api/accounts');
15
+
16
+ const projects = require('./saas/internal-api/projects');
17
+ const tabs = require('./saas/internal-api/tabs');
18
+
19
+ const requirements = require('./saas/internal-api/requirements');
20
+ const contractors = require('./saas/internal-api/contractors');
21
+ const requests = require('./saas/internal-api/requests');
22
+
23
+ const coi = require('./saas/internal-api/coi');
24
+ const compliance = require('./saas/internal-api/compliance');
25
+ const auditNotes = require('./saas/internal-api/auditNotes');
26
+ const auditCustomerRules = require('./saas/internal-api/auditCustomerRules');
27
+
28
+ const users = require('./saas/internal-api/users');
29
+
30
+ const reports = require('./saas/internal-api/reports');
31
+ const charts = require('./saas/internal-api/homepageCharts');
32
+ const dashboard = require('./saas/internal-api/dashboard');
33
+ const accountDirectory = require('./saas/internal-api/accountDirectory');
34
+
35
+ const globalRecord = require('./saas/internal-api/globalRecord');
36
+ const vendorProfile = require('./saas/internal-api/vendorProfile');
37
+ const serviceArea = require('./saas/internal-api/serviceArea');
38
+
39
+ const recordHub = require('./saas/internal-api/recordHub');
40
+ const requestsTable = require('./saas/internal-api/requestsTable');
41
+
42
+ const threadScheduler = require('./saas/internal-api/thread-scheduler/runner');
43
+ const dbEmails = require('./saas/internal-api/dbEmails/index');
44
+ const agreement = require('./saas/internal-api/agreement/index');
45
+ const uploadFile = require('./saas/internal-api/uploadFiles/index');
46
+ const policyFile = require('./saas/internal-api/policyFile');
47
+
48
+ const emailCustomization = require('./saas/internal-api/emailCustomization');
49
+
50
+ const internalAPI = {
51
+ defaults,
52
+ auth,
53
+ accounts,
54
+ projects,
55
+ tabs,
56
+ requirements,
57
+ contractors,
58
+ requests,
59
+ coi,
60
+ compliance,
61
+ auditNotes,
62
+ auditCustomerRules,
63
+ reports,
64
+ users,
65
+ charts,
66
+ dashboard,
67
+ accountDirectory,
68
+ globalRecord,
69
+ vendorProfile,
70
+ serviceArea,
71
+ recordHub,
72
+ requestsTable,
73
+ threadScheduler,
74
+ dbEmails,
75
+ emailCustomization,
76
+ factory,
77
+ agreement,
78
+ uploadFile,
79
+ policyFile
80
+ };
81
+
82
+ return internalAPI;
83
+ };
84
+
85
+ const getOpenAPI = () => {
86
+ const accounts = require('./saas/openapi/accounts/accounts.service');
87
+ const projects = require('./saas/openapi/projects/projects.service');
88
+ const tabs = require('./saas/openapi/tabs');
89
+ const requirements = require('./saas/openapi/requirements');
90
+ const requests = require('./saas/openapi/requests');
91
+ const coi = require('./saas/openapi/coi/coi.service');
92
+ const users = require('./saas/openapi/users/users.service');
93
+ const openAPI = { accounts, projects, tabs, requirements, requests, coi, users };
94
+ return openAPI;
95
+ };
96
+
97
+ module.exports = init;
Binary file
@@ -1,50 +1,50 @@
1
- const requests = require('../../../../common/requests/cookieAuth/requests');
2
- const { backendUrl } = require('../../../../env').getEnv();
3
-
4
- const Endpoints = {
5
- recordTable: `${backendUrl}/saas/account-directory/record-table`,
6
- recordsCount: `${backendUrl}/saas/account-directory/records-count`,
7
- projectLocations: `${backendUrl}/saas/account-directory/filter/location`,
8
- requestTable: `${backendUrl}/saas/account-directory/request-table`,
9
- requestTableFilters: `${backendUrl}/saas/account-directory/request-table/filters`,
10
- requestActivityCount: `${backendUrl}/saas/account-directory/request-activity-count`,
11
- recordDetails: `${backendUrl}/saas/account-directory/record-details`
12
- };
13
-
14
- const getRecordTable = (accountDirectoryRecordTableFilterModel, context) => {
15
- return requests.postRequestHandler(Endpoints.recordTable, accountDirectoryRecordTableFilterModel, context);
16
- };
17
-
18
- const getRecordsCount = (accountId, context) => {
19
- return requests.getRequestHandler(Endpoints.recordsCount, { accountId }, context);
20
- };
21
-
22
- const getProjectLocations = (accountId, context) => {
23
- return requests.getRequestHandler(Endpoints.projectLocations, { accountId }, context);
24
- };
25
-
26
- const getRequestTable = (accountDirectoryRequestTableFilterModel, context) => {
27
- return requests.postRequestHandler(Endpoints.requestTable, accountDirectoryRequestTableFilterModel, context);
28
- };
29
-
30
- const getRequestTableFilters = (accountDirectoryRequestTableFilterModel, context) => {
31
- return requests.postRequestHandler(Endpoints.requestTableFilters, accountDirectoryRequestTableFilterModel, context);
32
- };
33
-
34
- const getRequestActivityCount = (accountDirectoryRequestTableFilterModel, context) => {
35
- return requests.postRequestHandler(Endpoints.requestActivityCount, accountDirectoryRequestTableFilterModel, context);
36
- };
37
-
38
- const getRecordDetails = (accountDirectoryRequestTableFilterModel, context) => {
39
- return requests.postRequestHandler(Endpoints.recordDetails, accountDirectoryRequestTableFilterModel, context);
40
- };
41
-
42
- module.exports = {
43
- getRecordTable,
44
- getRecordsCount,
45
- getProjectLocations,
46
- getRequestTable,
47
- getRequestTableFilters,
48
- getRequestActivityCount,
49
- getRecordDetails
50
- };
1
+ const requests = require('../../../../common/requests/cookieAuth/requests');
2
+ const { backendUrl } = require('../../../../env').getEnv();
3
+
4
+ const Endpoints = {
5
+ recordTable: `${backendUrl}/saas/account-directory/record-table`,
6
+ recordsCount: `${backendUrl}/saas/account-directory/records-count`,
7
+ projectLocations: `${backendUrl}/saas/account-directory/filter/location`,
8
+ requestTable: `${backendUrl}/saas/account-directory/request-table`,
9
+ requestTableFilters: `${backendUrl}/saas/account-directory/request-table/filters`,
10
+ requestActivityCount: `${backendUrl}/saas/account-directory/request-activity-count`,
11
+ recordDetails: `${backendUrl}/saas/account-directory/record-details`
12
+ };
13
+
14
+ const getRecordTable = (accountDirectoryRecordTableFilterModel, context) => {
15
+ return requests.postRequestHandler(Endpoints.recordTable, accountDirectoryRecordTableFilterModel, context);
16
+ };
17
+
18
+ const getRecordsCount = (accountId, context) => {
19
+ return requests.getRequestHandler(Endpoints.recordsCount, { accountId }, context);
20
+ };
21
+
22
+ const getProjectLocations = (accountId, context) => {
23
+ return requests.getRequestHandler(Endpoints.projectLocations, { accountId }, context);
24
+ };
25
+
26
+ const getRequestTable = (accountDirectoryRequestTableFilterModel, context) => {
27
+ return requests.postRequestHandler(Endpoints.requestTable, accountDirectoryRequestTableFilterModel, context);
28
+ };
29
+
30
+ const getRequestTableFilters = (accountDirectoryRequestTableFilterModel, context) => {
31
+ return requests.postRequestHandler(Endpoints.requestTableFilters, accountDirectoryRequestTableFilterModel, context);
32
+ };
33
+
34
+ const getRequestActivityCount = (accountDirectoryRequestTableFilterModel, context) => {
35
+ return requests.postRequestHandler(Endpoints.requestActivityCount, accountDirectoryRequestTableFilterModel, context);
36
+ };
37
+
38
+ const getRecordDetails = (accountDirectoryRequestTableFilterModel, context) => {
39
+ return requests.postRequestHandler(Endpoints.recordDetails, accountDirectoryRequestTableFilterModel, context);
40
+ };
41
+
42
+ module.exports = {
43
+ getRecordTable,
44
+ getRecordsCount,
45
+ getProjectLocations,
46
+ getRequestTable,
47
+ getRequestTableFilters,
48
+ getRequestActivityCount,
49
+ getRecordDetails
50
+ };