@getjones/test-infra 2.8.2 → 2.8.3

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 (171) hide show
  1. package/package.json +29 -29
  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 +72 -72
  5. package/src/common/consts/dashboardCharts.js +17 -17
  6. package/src/common/consts/recordTypes.js +5 -5
  7. package/src/common/consts/userTypes.js +5 -5
  8. package/src/common/httpResponseStatusCodes.json +11 -11
  9. package/src/common/requests/apiKeyAuth/requests.js +44 -44
  10. package/src/common/requests/cookieAuth/requests.js +40 -40
  11. package/src/common/requests/requestHandlers.js +78 -78
  12. package/src/common/utils/complianceUtil.js +56 -56
  13. package/src/common/utils/dataTypeUtils.js +41 -41
  14. package/src/common/utils/numberUtils.js +22 -22
  15. package/src/common/utils/objectUtils.js +7 -7
  16. package/src/common/utils/timeUtils.js +175 -175
  17. package/src/common/validations/errorValidation.js +16 -16
  18. package/src/common/validations/typeValidations.js +36 -36
  19. package/src/defaults/configs/auditConfigs.js +91 -91
  20. package/src/defaults/configs/coverage.js +227 -227
  21. package/src/defaults/configs/polices.js +49 -49
  22. package/src/defaults/configs/requirement.js +32 -32
  23. package/src/defaults/index.js +6 -6
  24. package/src/env.js +57 -57
  25. package/src/factory/index.js +7 -7
  26. package/src/factory/records/records.js +143 -141
  27. package/src/factory/users/users.js +79 -79
  28. package/src/index.js +81 -81
  29. package/src/saas/internal-api/accounts/api/core/accounts.core.api.js +28 -28
  30. package/src/saas/internal-api/accounts/api/core/accounts.core.service.js +77 -77
  31. package/src/saas/internal-api/accounts/api/openapi/accounts.openapi.api.js +48 -48
  32. package/src/saas/internal-api/accounts/api/openapi/accounts.openapi.service.js +74 -74
  33. package/src/saas/internal-api/accounts/api/settings/settings.api.js +21 -21
  34. package/src/saas/internal-api/accounts/api/settings/settings.service.js +41 -41
  35. package/src/saas/internal-api/accounts/consts/consts.js +6 -6
  36. package/src/saas/internal-api/accounts/index.js +21 -21
  37. package/src/saas/internal-api/accounts/models/core/create.account.model.js +16 -16
  38. package/src/saas/internal-api/accounts/models/settings/update.settings.model.js +38 -36
  39. package/src/saas/internal-api/accounts/utils/utils.js +66 -66
  40. package/src/saas/internal-api/auditNotes/api/audit.notes.api.js +40 -40
  41. package/src/saas/internal-api/auditNotes/api/audit.notes.service.js +115 -115
  42. package/src/saas/internal-api/auditNotes/index.js +4 -4
  43. package/src/saas/internal-api/auditNotes/models/audit.note.model.js +30 -30
  44. package/src/saas/internal-api/auth/api/auth.api.js +27 -27
  45. package/src/saas/internal-api/auth/api/auth.service.js +90 -90
  46. package/src/saas/internal-api/auth/index.js +3 -3
  47. package/src/saas/internal-api/coi/api/coi.api.js +34 -34
  48. package/src/saas/internal-api/coi/api/coi.service.js +22 -22
  49. package/src/saas/internal-api/coi/consts/uploaderTypes.js +5 -5
  50. package/src/saas/internal-api/coi/index.js +13 -13
  51. package/src/saas/internal-api/coi/models/submit.coi.model.js +9 -9
  52. package/src/saas/internal-api/coi/utils/utils.js +48 -48
  53. package/src/saas/internal-api/compliance/api/audit/audit.api.js +46 -46
  54. package/src/saas/internal-api/compliance/api/audit/audit.service.js +143 -143
  55. package/src/saas/internal-api/compliance/api/convert/convert.api.js +17 -17
  56. package/src/saas/internal-api/compliance/api/convert/convert.service.js +11 -11
  57. package/src/saas/internal-api/compliance/api/coverage/coverage.api.js +33 -33
  58. package/src/saas/internal-api/compliance/api/coverage/coverage.service.js +48 -48
  59. package/src/saas/internal-api/compliance/api/overrideGap/override.gap.api.js +33 -33
  60. package/src/saas/internal-api/compliance/api/overrideGap/override.gap.service.js +127 -127
  61. package/src/saas/internal-api/compliance/consts/audit.js +71 -71
  62. package/src/saas/internal-api/compliance/index.js +33 -33
  63. package/src/saas/internal-api/compliance/models/audit/audit.model.js +84 -84
  64. package/src/saas/internal-api/compliance/models/waive/waive.model.js +49 -49
  65. package/src/saas/internal-api/compliance/utils/auditUtil.js +222 -222
  66. package/src/saas/internal-api/compliance/utils/coverageUtil.js +40 -40
  67. package/src/saas/internal-api/contractors/api/contractors.api.js +153 -153
  68. package/src/saas/internal-api/contractors/api/contractors.service.js +169 -169
  69. package/src/saas/internal-api/contractors/consts/consts.js +6 -6
  70. package/src/saas/internal-api/contractors/index.js +9 -9
  71. package/src/saas/internal-api/contractors/models/assign.requirement.model.js +10 -10
  72. package/src/saas/internal-api/contractors/models/create.contractor.model.js +22 -22
  73. package/src/saas/internal-api/contractors/models/edit.contractor.model.js +60 -60
  74. package/src/saas/internal-api/contractors/models/verification.contractor.model.js +27 -27
  75. package/src/saas/internal-api/dashboard/api/recordList.api.js +38 -38
  76. package/src/saas/internal-api/dashboard/api/recordList.service.js +60 -60
  77. package/src/saas/internal-api/dashboard/index.js +5 -5
  78. package/src/saas/internal-api/dashboard/models/dashboard.filter.criteria.model.js +38 -38
  79. package/src/saas/internal-api/dbEmails/api/db.emails.api.js +25 -25
  80. package/src/saas/internal-api/dbEmails/api/db.emails.service.js +127 -127
  81. package/src/saas/internal-api/dbEmails/consts/consts.js +37 -37
  82. package/src/saas/internal-api/dbEmails/index.js +5 -5
  83. package/src/saas/internal-api/dbEmails/models/db.emails.model.js +21 -21
  84. package/src/saas/internal-api/dbEmails/utils/util.js +68 -68
  85. package/src/saas/internal-api/globalRecord/api/global.record.api.js +82 -82
  86. package/src/saas/internal-api/globalRecord/api/global.record.service.js +95 -95
  87. package/src/saas/internal-api/globalRecord/consts.js +20 -20
  88. package/src/saas/internal-api/globalRecord/index.js +6 -6
  89. package/src/saas/internal-api/globalRecord/models/global.record.model.js +43 -43
  90. package/src/saas/internal-api/globalRecord/utils/util.js +148 -148
  91. package/src/saas/internal-api/homepageCharts/api/charts.api.js +12 -12
  92. package/src/saas/internal-api/homepageCharts/api/charts.service.js +7 -7
  93. package/src/saas/internal-api/homepageCharts/index.js +3 -3
  94. package/src/saas/internal-api/projects/api/core/projects.api.js +39 -39
  95. package/src/saas/internal-api/projects/api/core/projects.service.js +65 -65
  96. package/src/saas/internal-api/projects/api/settings/project.settings.api.js +18 -18
  97. package/src/saas/internal-api/projects/api/settings/project.settings.service.js +35 -35
  98. package/src/saas/internal-api/projects/consts/defaultProject.js +3 -3
  99. package/src/saas/internal-api/projects/index.js +24 -24
  100. package/src/saas/internal-api/projects/models/core/create.project.model.js +41 -41
  101. package/src/saas/internal-api/projects/models/core/update.project.model.js +47 -47
  102. package/src/saas/internal-api/projects/models/settings/update.project.settings.model.js +41 -41
  103. package/src/saas/internal-api/projects/utils/utils.js +156 -156
  104. package/src/saas/internal-api/recordNotes/api/record.notes.api.js +38 -38
  105. package/src/saas/internal-api/recordNotes/api/record.notes.service.js +29 -29
  106. package/src/saas/internal-api/recordNotes/index.js +3 -3
  107. package/src/saas/internal-api/reports/api/reports.api.js +39 -39
  108. package/src/saas/internal-api/reports/api/reports.service.js +34 -34
  109. package/src/saas/internal-api/reports/consts/consts.js +63 -63
  110. package/src/saas/internal-api/reports/index.js +15 -15
  111. package/src/saas/internal-api/reports/models/report.model.js +27 -27
  112. package/src/saas/internal-api/requests/api/requests.api.js +72 -72
  113. package/src/saas/internal-api/requests/api/requests.service.js +114 -114
  114. package/src/saas/internal-api/requests/index.js +14 -14
  115. package/src/saas/internal-api/requests/models/create.request.model.js +33 -33
  116. package/src/saas/internal-api/requests/models/edit.request.model.js +31 -31
  117. package/src/saas/internal-api/requests/models/tenant.request.model.js +9 -9
  118. package/src/saas/internal-api/requests/utils.js +8 -8
  119. package/src/saas/internal-api/requestsTable/api/requests.table.api.js +20 -20
  120. package/src/saas/internal-api/requestsTable/api/requests.table.service.js +14 -14
  121. package/src/saas/internal-api/requestsTable/index.js +3 -3
  122. package/src/saas/internal-api/requirements/api/requirements.api.js +45 -45
  123. package/src/saas/internal-api/requirements/api/requirements.service.js +134 -134
  124. package/src/saas/internal-api/requirements/consts/attributeTypes.json +5 -5
  125. package/src/saas/internal-api/requirements/consts/consts.js +6 -6
  126. package/src/saas/internal-api/requirements/index.js +9 -9
  127. package/src/saas/internal-api/requirements/models/create.requirement.model.js +17 -17
  128. package/src/saas/internal-api/requirements/models/policy.model.js +32 -32
  129. package/src/saas/internal-api/requirements/models/update.requirement.model.js +19 -19
  130. package/src/saas/internal-api/requirements/utils/utils.js +102 -102
  131. package/src/saas/internal-api/serviceArea/api/coordinates.api.js +12 -12
  132. package/src/saas/internal-api/serviceArea/api/coordinates.service.js +7 -7
  133. package/src/saas/internal-api/serviceArea/index.js +4 -4
  134. package/src/saas/internal-api/serviceArea/utils/utils.js +8 -8
  135. package/src/saas/internal-api/tabs/api/tabs.api.js +32 -32
  136. package/src/saas/internal-api/tabs/api/tabs.service.js +54 -54
  137. package/src/saas/internal-api/tabs/index.js +3 -3
  138. package/src/saas/internal-api/tabs/models/tabs.model.js +18 -18
  139. package/src/saas/internal-api/thread-scheduler/runner.js +39 -39
  140. package/src/saas/internal-api/users/api/tenantApp/tenant.app.api.js +32 -32
  141. package/src/saas/internal-api/users/api/tenantApp/tenant.app.service.js +78 -78
  142. package/src/saas/internal-api/users/api/users.api.js +77 -77
  143. package/src/saas/internal-api/users/api/users.service.js +101 -101
  144. package/src/saas/internal-api/users/index.js +11 -11
  145. package/src/saas/internal-api/users/models/tenent.user.model.js +11 -11
  146. package/src/saas/internal-api/users/models/users.model.js +31 -31
  147. package/src/saas/internal-api/users/utils/util.js +20 -20
  148. package/src/saas/internal-api/vendorProfile/api/vendor.profile.api.js +20 -20
  149. package/src/saas/internal-api/vendorProfile/api/vendor.profile.service.js +14 -14
  150. package/src/saas/internal-api/vendorProfile/index.js +3 -3
  151. package/src/saas/openapi/accounts/accounts.api.js +17 -17
  152. package/src/saas/openapi/accounts/accounts.service.js +11 -11
  153. package/src/saas/openapi/coi/coi.api.js +20 -20
  154. package/src/saas/openapi/coi/coi.service.js +13 -13
  155. package/src/saas/openapi/projects/projects.api.js +59 -59
  156. package/src/saas/openapi/projects/projects.service.js +44 -44
  157. package/src/saas/openapi/requests/index.js +7 -7
  158. package/src/saas/openapi/requests/models/invite.request.model.js +37 -37
  159. package/src/saas/openapi/requests/models/update.request.model.js +35 -35
  160. package/src/saas/openapi/requests/requests.api.js +76 -76
  161. package/src/saas/openapi/requests/requests.service.js +65 -65
  162. package/src/saas/openapi/requirements/index.js +6 -6
  163. package/src/saas/openapi/requirements/models/copy.requirement.model.js +10 -10
  164. package/src/saas/openapi/requirements/requirements.api.js +26 -26
  165. package/src/saas/openapi/requirements/requirements.service.js +32 -32
  166. package/src/saas/openapi/tabs/index.js +6 -0
  167. package/src/saas/openapi/tabs/models/create.tab.model.js +6 -0
  168. package/src/saas/openapi/tabs/tabs.api.js +18 -13
  169. package/src/saas/openapi/tabs/tabs.service.js +11 -7
  170. package/tests/env.test.js +40 -40
  171. package/tests/validation.test.js +83 -83
@@ -1,77 +1,77 @@
1
- const requests = require('../../../../common/requests/cookieAuth/requests');
2
- const { backendUrl } = require('../../../../env').getEnv();
3
-
4
- const Endpoints = {
5
- invite: `${backendUrl}/saas/project/team-member`,
6
- editUserProjects: `${backendUrl}/saas/project/team-member`,
7
- editUserRole: userId => `${backendUrl}/secured/users/${userId}/change-role`,
8
- getByProjectId: projectId =>
9
- `${backendUrl}/saas/project/${projectId}/team-members`,
10
- getByEmail: email => `${backendUrl}/saas/team-member/by-email/${email}`,
11
- delete: userId => `${backendUrl}/saas/users/${userId}`,
12
- deleteSingleProject: (userId, projectId) => `${backendUrl}/saas/project/${projectId}/sub-account/${userId}`,
13
- reinvite: `${backendUrl}/saas/project/team-member/reinvite`,
14
- getUserEncryptedData: (email, userRole) => `${backendUrl}/saas/team-member/email/${email}/role/${userRole}/signup-data`,
15
- signupUser: `${backendUrl}/_saas/guests/signup`,
16
- removeAllUserTraceFromDb: userId => `${backendUrl}/saas/user/automation/${userId}`
17
- };
18
-
19
- const invite = (invitedUser, context, { disableSendMail = true } = {}) => {
20
- return requests.putRequestHandler(Endpoints.invite, invitedUser, context, {}, { disableSendMail });
21
- };
22
-
23
- const signupUser = (signupUserModel, context) => {
24
- return requests.postRequestHandler(Endpoints.signupUser, signupUserModel, context, {}, {});
25
- };
26
-
27
- const editUserRole = (userId, data, context) => {
28
- return requests.patchRequestHandler(Endpoints.editUserRole(userId), context, data);
29
- };
30
-
31
- const editUserProjects = (data, context) => {
32
- const params = { disableSendMail: true };
33
- return requests.putRequestHandler(Endpoints.editUserProjects, data, context, {}, params);
34
- };
35
-
36
- const getUsersByProjectId = (projectId, context) => {
37
- return requests.getRequestHandler(Endpoints.getByProjectId(projectId), null, context);
38
- };
39
-
40
- const getUserByEmail = (email, context) => {
41
- return requests.getRequestHandler(Endpoints.getByEmail(email), null, context);
42
- };
43
-
44
- const getUserEncryptedData = (email, role, context) => {
45
- return requests.getRequestHandler(Endpoints.getUserEncryptedData(email, role), null, context);
46
- };
47
-
48
- const deleteUser = (userId, context) => {
49
- return requests.deleteRequestHandler(Endpoints.delete(userId), context);
50
- };
51
-
52
- const deleteUserFromSingleProject = (userId, projectId, context) => {
53
- return requests.deleteRequestHandler(Endpoints.deleteSingleProject(userId, projectId), context);
54
- };
55
-
56
- const removeAllUserTraceFromDb = (userId, context) => {
57
- return requests.deleteRequestHandler(Endpoints.removeAllUserTraceFromDb(userId), context);
58
- };
59
-
60
- const reinviteUser = (userId, context) => {
61
- const params = { id: userId };
62
- return requests.postRequestHandler(Endpoints.reinvite, {}, context, {}, params);
63
- };
64
-
65
- module.exports = {
66
- invite,
67
- signupUser,
68
- getUsersByProjectId,
69
- getUserByEmail,
70
- getUserEncryptedData,
71
- deleteUser,
72
- deleteUserFromSingleProject,
73
- removeAllUserTraceFromDb,
74
- editUserRole,
75
- editUserProjects,
76
- reinviteUser
77
- };
1
+ const requests = require('../../../../common/requests/cookieAuth/requests');
2
+ const { backendUrl } = require('../../../../env').getEnv();
3
+
4
+ const Endpoints = {
5
+ invite: `${backendUrl}/saas/project/team-member`,
6
+ editUserProjects: `${backendUrl}/saas/project/team-member`,
7
+ editUserRole: userId => `${backendUrl}/secured/users/${userId}/change-role`,
8
+ getByProjectId: projectId =>
9
+ `${backendUrl}/saas/project/${projectId}/team-members`,
10
+ getByEmail: email => `${backendUrl}/saas/team-member/by-email/${email}`,
11
+ delete: userId => `${backendUrl}/saas/users/${userId}`,
12
+ deleteSingleProject: (userId, projectId) => `${backendUrl}/saas/project/${projectId}/sub-account/${userId}`,
13
+ reinvite: `${backendUrl}/saas/project/team-member/reinvite`,
14
+ getUserEncryptedData: (email, userRole) => `${backendUrl}/saas/team-member/email/${email}/role/${userRole}/signup-data`,
15
+ signupUser: `${backendUrl}/_saas/guests/signup`,
16
+ removeAllUserTraceFromDb: userId => `${backendUrl}/saas/user/automation/${userId}`
17
+ };
18
+
19
+ const invite = (invitedUser, context, { disableSendMail = true } = {}) => {
20
+ return requests.putRequestHandler(Endpoints.invite, invitedUser, context, {}, { disableSendMail });
21
+ };
22
+
23
+ const signupUser = (signupUserModel, context) => {
24
+ return requests.postRequestHandler(Endpoints.signupUser, signupUserModel, context, {}, {});
25
+ };
26
+
27
+ const editUserRole = (userId, data, context) => {
28
+ return requests.patchRequestHandler(Endpoints.editUserRole(userId), context, data);
29
+ };
30
+
31
+ const editUserProjects = (data, context) => {
32
+ const params = { disableSendMail: true };
33
+ return requests.putRequestHandler(Endpoints.editUserProjects, data, context, {}, params);
34
+ };
35
+
36
+ const getUsersByProjectId = (projectId, context) => {
37
+ return requests.getRequestHandler(Endpoints.getByProjectId(projectId), null, context);
38
+ };
39
+
40
+ const getUserByEmail = (email, context) => {
41
+ return requests.getRequestHandler(Endpoints.getByEmail(email), null, context);
42
+ };
43
+
44
+ const getUserEncryptedData = (email, role, context) => {
45
+ return requests.getRequestHandler(Endpoints.getUserEncryptedData(email, role), null, context);
46
+ };
47
+
48
+ const deleteUser = (userId, context) => {
49
+ return requests.deleteRequestHandler(Endpoints.delete(userId), context);
50
+ };
51
+
52
+ const deleteUserFromSingleProject = (userId, projectId, context) => {
53
+ return requests.deleteRequestHandler(Endpoints.deleteSingleProject(userId, projectId), context);
54
+ };
55
+
56
+ const removeAllUserTraceFromDb = (userId, context) => {
57
+ return requests.deleteRequestHandler(Endpoints.removeAllUserTraceFromDb(userId), context);
58
+ };
59
+
60
+ const reinviteUser = (userId, context) => {
61
+ const params = { id: userId };
62
+ return requests.postRequestHandler(Endpoints.reinvite, {}, context, {}, params);
63
+ };
64
+
65
+ module.exports = {
66
+ invite,
67
+ signupUser,
68
+ getUsersByProjectId,
69
+ getUserByEmail,
70
+ getUserEncryptedData,
71
+ deleteUser,
72
+ deleteUserFromSingleProject,
73
+ removeAllUserTraceFromDb,
74
+ editUserRole,
75
+ editUserProjects,
76
+ reinviteUser
77
+ };
@@ -1,101 +1,101 @@
1
- const { InviteUserModel, SignupUserModel, EditUserModel } = require('../models/users.model');
2
- const { validateType } = require('../../../../common/validations/typeValidations');
3
- const { getEnv } = require('../../../../env');
4
- const { credentials } = getEnv();
5
- const userAPI = require('./users.api');
6
- const util = require('../utils/util');
7
- const httpResponseStatusCodes = require('../../../../common/httpResponseStatusCodes.json');
8
-
9
- const inviteUser = async (invitedUser, context, { disableSendMail } = {}) => {
10
- return userAPI.invite(invitedUser, context, { disableSendMail });
11
- };
12
-
13
- const signupUser = (signupUserModel, context) => {
14
- validateType(signupUserModel, SignupUserModel);
15
- return userAPI.signupUser(signupUserModel, context);
16
- };
17
-
18
- const editUserRole = async (userId, data, context) => {
19
- return userAPI.editUserRole(userId, data, context);
20
- };
21
-
22
- const editUserProjects = async (editUserModel, context) => {
23
- validateType(editUserModel, EditUserModel);
24
- return userAPI.editUserProjects([editUserModel], context);
25
- };
26
-
27
- const getUsersByProjectId = async (projectId, context) => {
28
- return userAPI.getUsersByProjectId(projectId, context);
29
- };
30
-
31
- const getUserByEmail = async (email, context) => {
32
- return userAPI.getUserByEmail(email, context);
33
- };
34
-
35
- const getOrCreateUser = async (email, role, projectsIds, context, { fullName = role, password = credentials.strongPassword } = {}) => {
36
- let userResponse = await getUserByEmail(email, context);
37
-
38
- if (userResponse.data && userResponse.data.subuserId && userResponse.data.isVerified) {
39
- return userResponse.data;
40
- }
41
-
42
- const inviteUserModel = new InviteUserModel(email, role, projectsIds, context);
43
- const inviteResponse = await inviteUser([inviteUserModel], context);
44
-
45
- if (inviteResponse.status !== httpResponseStatusCodes.NO_CONTENT) {
46
- throw new Error(`Failed to invite user with email: ${email}\n${inviteResponse}`);
47
- }
48
-
49
- userResponse = await getUserByEmail(email, context);
50
-
51
- //Already signup user
52
- if (userResponse.data.isVerified) {
53
- return userResponse.data;
54
- }
55
-
56
- const signupUserModel = await util.getSignupUserModel(email, role, fullName, password, context);
57
- const signupResponse = await signupUser(signupUserModel, context);
58
-
59
- if (signupResponse.status !== httpResponseStatusCodes.OK) {
60
- throw new Error(`Failed to signup user with email: ${email}\n${signupResponse}`);
61
- }
62
-
63
- userResponse = await getUserByEmail(email, context);
64
- return userResponse.data;
65
- };
66
-
67
- const deleteUser = (userId, context) => {
68
- return userAPI.deleteUser(userId, context);
69
- };
70
-
71
- const deleteUserFromSingleProject = (userId, projectId, context) => {
72
- return userAPI.deleteUserFromSingleProject(userId, projectId, context);
73
- };
74
-
75
- const removeAllUserTraceFromDb = (userId, context) => {
76
- return userAPI.removeAllUserTraceFromDb(userId, context);
77
- };
78
-
79
- const deleteUserByEmail = async (userEmail, context) => {
80
- const { data: user } = await getUserByEmail(userEmail, context);
81
- return deleteUser(user.subuserId, context);
82
- };
83
-
84
- const reinviteUser = (userId, context) => {
85
- return userAPI.reinviteUser(userId, context);
86
- };
87
-
88
- module.exports = {
89
- inviteUser,
90
- signupUser,
91
- getUsersByProjectId,
92
- getUserByEmail,
93
- getOrCreateUser,
94
- deleteUser,
95
- deleteUserFromSingleProject,
96
- deleteUserByEmail,
97
- removeAllUserTraceFromDb,
98
- editUserRole,
99
- editUserProjects,
100
- reinviteUser
101
- };
1
+ const { InviteUserModel, SignupUserModel, EditUserModel } = require('../models/users.model');
2
+ const { validateType } = require('../../../../common/validations/typeValidations');
3
+ const { getEnv } = require('../../../../env');
4
+ const { credentials } = getEnv();
5
+ const userAPI = require('./users.api');
6
+ const util = require('../utils/util');
7
+ const httpResponseStatusCodes = require('../../../../common/httpResponseStatusCodes.json');
8
+
9
+ const inviteUser = async (invitedUser, context, { disableSendMail } = {}) => {
10
+ return userAPI.invite(invitedUser, context, { disableSendMail });
11
+ };
12
+
13
+ const signupUser = (signupUserModel, context) => {
14
+ validateType(signupUserModel, SignupUserModel);
15
+ return userAPI.signupUser(signupUserModel, context);
16
+ };
17
+
18
+ const editUserRole = async (userId, data, context) => {
19
+ return userAPI.editUserRole(userId, data, context);
20
+ };
21
+
22
+ const editUserProjects = async (editUserModel, context) => {
23
+ validateType(editUserModel, EditUserModel);
24
+ return userAPI.editUserProjects([editUserModel], context);
25
+ };
26
+
27
+ const getUsersByProjectId = async (projectId, context) => {
28
+ return userAPI.getUsersByProjectId(projectId, context);
29
+ };
30
+
31
+ const getUserByEmail = async (email, context) => {
32
+ return userAPI.getUserByEmail(email, context);
33
+ };
34
+
35
+ const getOrCreateUser = async (email, role, projectsIds, context, { fullName = role, password = credentials.strongPassword } = {}) => {
36
+ let userResponse = await getUserByEmail(email, context);
37
+
38
+ if (userResponse.data && userResponse.data.subuserId && userResponse.data.isVerified) {
39
+ return userResponse.data;
40
+ }
41
+
42
+ const inviteUserModel = new InviteUserModel(email, role, projectsIds, context);
43
+ const inviteResponse = await inviteUser([inviteUserModel], context);
44
+
45
+ if (inviteResponse.status !== httpResponseStatusCodes.NO_CONTENT) {
46
+ throw new Error(`Failed to invite user with email: ${email}\n${inviteResponse}`);
47
+ }
48
+
49
+ userResponse = await getUserByEmail(email, context);
50
+
51
+ //Already signup user
52
+ if (userResponse.data.isVerified) {
53
+ return userResponse.data;
54
+ }
55
+
56
+ const signupUserModel = await util.getSignupUserModel(email, role, fullName, password, context);
57
+ const signupResponse = await signupUser(signupUserModel, context);
58
+
59
+ if (signupResponse.status !== httpResponseStatusCodes.OK) {
60
+ throw new Error(`Failed to signup user with email: ${email}\n${signupResponse}`);
61
+ }
62
+
63
+ userResponse = await getUserByEmail(email, context);
64
+ return userResponse.data;
65
+ };
66
+
67
+ const deleteUser = (userId, context) => {
68
+ return userAPI.deleteUser(userId, context);
69
+ };
70
+
71
+ const deleteUserFromSingleProject = (userId, projectId, context) => {
72
+ return userAPI.deleteUserFromSingleProject(userId, projectId, context);
73
+ };
74
+
75
+ const removeAllUserTraceFromDb = (userId, context) => {
76
+ return userAPI.removeAllUserTraceFromDb(userId, context);
77
+ };
78
+
79
+ const deleteUserByEmail = async (userEmail, context) => {
80
+ const { data: user } = await getUserByEmail(userEmail, context);
81
+ return deleteUser(user.subuserId, context);
82
+ };
83
+
84
+ const reinviteUser = (userId, context) => {
85
+ return userAPI.reinviteUser(userId, context);
86
+ };
87
+
88
+ module.exports = {
89
+ inviteUser,
90
+ signupUser,
91
+ getUsersByProjectId,
92
+ getUserByEmail,
93
+ getOrCreateUser,
94
+ deleteUser,
95
+ deleteUserFromSingleProject,
96
+ deleteUserByEmail,
97
+ removeAllUserTraceFromDb,
98
+ editUserRole,
99
+ editUserProjects,
100
+ reinviteUser
101
+ };
@@ -1,11 +1,11 @@
1
- const models = require('./models/users.model');
2
- const services = require('./api/users.service');
3
- const util = require('./utils/util');
4
-
5
- const tenantUserService = require('./api/tenantApp/tenant.app.service');
6
-
7
- const tenants = {
8
- services: tenantUserService
9
- };
10
-
11
- module.exports = { services, models, util, tenants };
1
+ const models = require('./models/users.model');
2
+ const services = require('./api/users.service');
3
+ const util = require('./utils/util');
4
+
5
+ const tenantUserService = require('./api/tenantApp/tenant.app.service');
6
+
7
+ const tenants = {
8
+ services: tenantUserService
9
+ };
10
+
11
+ module.exports = { services, models, util, tenants };
@@ -1,11 +1,11 @@
1
- class InviteTenantUserModel {
2
- constructor(email, companyName, requestId) {
3
- this.email = email;
4
- this.companyName = companyName;
5
- this.id = requestId;
6
- }
7
- }
8
-
9
- module.exports = {
10
- InviteTenantUserModel
11
- };
1
+ class InviteTenantUserModel {
2
+ constructor(email, companyName, requestId) {
3
+ this.email = email;
4
+ this.companyName = companyName;
5
+ this.id = requestId;
6
+ }
7
+ }
8
+
9
+ module.exports = {
10
+ InviteTenantUserModel
11
+ };
@@ -1,31 +1,31 @@
1
- class InviteUserModel {
2
- constructor(email, role, projects = []) {
3
- this.email = email;
4
- this.role = role;
5
- this.projects = projects;
6
- }
7
- }
8
-
9
- class SignupUserModel {
10
- constructor(fullName, role, password, encryptedData) {
11
- this.fullName = fullName;
12
- this.role = role;
13
- this.password = password;
14
- this.encryptedData = encryptedData;
15
- }
16
- }
17
-
18
- class EditUserModel {
19
- constructor(subUserId, email, role, projects = []) {
20
- this.subUserId = subUserId;
21
- this.email = email;
22
- this.role = role;
23
- this.projects = projects;
24
- }
25
- }
26
-
27
- module.exports = {
28
- InviteUserModel,
29
- SignupUserModel,
30
- EditUserModel
31
- };
1
+ class InviteUserModel {
2
+ constructor(email, role, projects = []) {
3
+ this.email = email;
4
+ this.role = role;
5
+ this.projects = projects;
6
+ }
7
+ }
8
+
9
+ class SignupUserModel {
10
+ constructor(fullName, role, password, encryptedData) {
11
+ this.fullName = fullName;
12
+ this.role = role;
13
+ this.password = password;
14
+ this.encryptedData = encryptedData;
15
+ }
16
+ }
17
+
18
+ class EditUserModel {
19
+ constructor(subUserId, email, role, projects = []) {
20
+ this.subUserId = subUserId;
21
+ this.email = email;
22
+ this.role = role;
23
+ this.projects = projects;
24
+ }
25
+ }
26
+
27
+ module.exports = {
28
+ InviteUserModel,
29
+ SignupUserModel,
30
+ EditUserModel
31
+ };
@@ -1,20 +1,20 @@
1
- const { SignupUserModel } = require('../models/users.model');
2
- const usersApi = require('../api/users.api');
3
- const httpResponseStatusCodes = require('../../../../common/httpResponseStatusCodes.json');
4
-
5
- const getUserEncryptedData = async (email, role, context) => {
6
- const response = await usersApi.getUserEncryptedData(email, role, context);
7
-
8
- if (response.status !== httpResponseStatusCodes.OK) {
9
- throw new Error(`Failed to retrieve user: ${email} encrypted data\n${response}`);
10
- }
11
-
12
- return response.data;
13
- };
14
-
15
- const getSignupUserModel = async (email, role, fullName, password, context) => {
16
- const userEncryptedData = await getUserEncryptedData(email, role, context);
17
- return new SignupUserModel(fullName, role, password, userEncryptedData);
18
- };
19
-
20
- module.exports = { getSignupUserModel };
1
+ const { SignupUserModel } = require('../models/users.model');
2
+ const usersApi = require('../api/users.api');
3
+ const httpResponseStatusCodes = require('../../../../common/httpResponseStatusCodes.json');
4
+
5
+ const getUserEncryptedData = async (email, role, context) => {
6
+ const response = await usersApi.getUserEncryptedData(email, role, context);
7
+
8
+ if (response.status !== httpResponseStatusCodes.OK) {
9
+ throw new Error(`Failed to retrieve user: ${email} encrypted data\n${response}`);
10
+ }
11
+
12
+ return response.data;
13
+ };
14
+
15
+ const getSignupUserModel = async (email, role, fullName, password, context) => {
16
+ const userEncryptedData = await getUserEncryptedData(email, role, context);
17
+ return new SignupUserModel(fullName, role, password, userEncryptedData);
18
+ };
19
+
20
+ module.exports = { getSignupUserModel };
@@ -1,20 +1,20 @@
1
- const requests = require('../../../../common/requests/cookieAuth/requests');
2
- const { backendUrl } = require('../../../../env').getEnv();
3
-
4
- const Endpoints = {
5
- getVendorProfileJson: (contractorId, requirementId) => `${backendUrl}/saas/vendorProfile/contractor/${contractorId}/requirement/${requirementId}/immediateComplianceReport`,
6
- shouldShowRecordProfile: recordId => `${backendUrl}/saas/record-profile/record/${recordId}/should-show-record-profile`
7
- };
8
-
9
- const createVendorProfileReport = async (contractorId, requirementId, context) => {
10
- return requests.getRequestHandler(Endpoints.getVendorProfileJson(contractorId, requirementId), {}, context);
11
- };
12
-
13
- const getShouldShowRecordProfile = async (recordId, context) => {
14
- return requests.getRequestHandler(Endpoints.shouldShowRecordProfile(recordId), {}, context);
15
- };
16
-
17
- module.exports = {
18
- getShouldShowRecordProfile,
19
- createVendorProfileReport
20
- };
1
+ const requests = require('../../../../common/requests/cookieAuth/requests');
2
+ const { backendUrl } = require('../../../../env').getEnv();
3
+
4
+ const Endpoints = {
5
+ getVendorProfileJson: (contractorId, requirementId) => `${backendUrl}/saas/vendorProfile/contractor/${contractorId}/requirement/${requirementId}/immediateComplianceReport`,
6
+ shouldShowRecordProfile: recordId => `${backendUrl}/saas/record-profile/record/${recordId}/should-show-record-profile`
7
+ };
8
+
9
+ const createVendorProfileReport = async (contractorId, requirementId, context) => {
10
+ return requests.getRequestHandler(Endpoints.getVendorProfileJson(contractorId, requirementId), {}, context);
11
+ };
12
+
13
+ const getShouldShowRecordProfile = async (recordId, context) => {
14
+ return requests.getRequestHandler(Endpoints.shouldShowRecordProfile(recordId), {}, context);
15
+ };
16
+
17
+ module.exports = {
18
+ getShouldShowRecordProfile,
19
+ createVendorProfileReport
20
+ };
@@ -1,14 +1,14 @@
1
- const vendorProfileApi = require('./vendor.profile.api');
2
-
3
- const createVendorProfileReport = async (contractorId, requirementId, context) => {
4
- return vendorProfileApi.createVendorProfileReport(contractorId, requirementId, context);
5
- };
6
-
7
- const getShouldShowRecordProfile = async (recordId, context) => {
8
- return vendorProfileApi.getShouldShowRecordProfile(recordId, context);
9
- };
10
-
11
- module.exports = {
12
- getShouldShowRecordProfile,
13
- createVendorProfileReport
14
- };
1
+ const vendorProfileApi = require('./vendor.profile.api');
2
+
3
+ const createVendorProfileReport = async (contractorId, requirementId, context) => {
4
+ return vendorProfileApi.createVendorProfileReport(contractorId, requirementId, context);
5
+ };
6
+
7
+ const getShouldShowRecordProfile = async (recordId, context) => {
8
+ return vendorProfileApi.getShouldShowRecordProfile(recordId, context);
9
+ };
10
+
11
+ module.exports = {
12
+ getShouldShowRecordProfile,
13
+ createVendorProfileReport
14
+ };
@@ -1,3 +1,3 @@
1
- const services = require('./api/vendor.profile.service');
2
-
3
- module.exports = { services };
1
+ const services = require('./api/vendor.profile.service');
2
+
3
+ module.exports = { services };
@@ -1,17 +1,17 @@
1
- const requests = require('../../../common/requests/apiKeyAuth/requests');
2
- const { openapiUrl } = require('../../../env').getEnv();
3
-
4
- const Endpoints = {
5
- getAccountList: `${openapiUrl}/accounts`,
6
- dynamicApiKey: accountId => `${openapiUrl}/accounts/${accountId}/dynamic-api-key`
7
- };
8
-
9
- const getAccountList = async apiKey => {
10
- return requests.getRequestHandler(Endpoints.getAccountList, apiKey).then(res => res.data);
11
- };
12
-
13
- const generateDynamicApiKey = async (accountId, masterApiKey) => {
14
- return requests.getRequestHandler(Endpoints.dynamicApiKey(accountId), masterApiKey).then(res => res.data);
15
- };
16
-
17
- module.exports = { getAccountList, generateDynamicApiKey };
1
+ const requests = require('../../../common/requests/apiKeyAuth/requests');
2
+ const { openapiUrl } = require('../../../env').getEnv();
3
+
4
+ const Endpoints = {
5
+ getAccountList: `${openapiUrl}/accounts`,
6
+ dynamicApiKey: accountId => `${openapiUrl}/accounts/${accountId}/dynamic-api-key`
7
+ };
8
+
9
+ const getAccountList = async apiKey => {
10
+ return requests.getRequestHandler(Endpoints.getAccountList, apiKey).then(res => res.data);
11
+ };
12
+
13
+ const generateDynamicApiKey = async (accountId, masterApiKey) => {
14
+ return requests.getRequestHandler(Endpoints.dynamicApiKey(accountId), masterApiKey).then(res => res.data);
15
+ };
16
+
17
+ module.exports = { getAccountList, generateDynamicApiKey };
@@ -1,11 +1,11 @@
1
- const accountsApi = require('./accounts.api');
2
-
3
- const getAccountList = async apiKey => {
4
- return accountsApi.getAccountList(apiKey);
5
- };
6
-
7
- const generateDynamicApiKey = async (accountId, masterApiKey) => {
8
- return accountsApi.generateDynamicApiKey(accountId, masterApiKey);
9
- };
10
-
11
- module.exports = { getAccountList, generateDynamicApiKey };
1
+ const accountsApi = require('./accounts.api');
2
+
3
+ const getAccountList = async apiKey => {
4
+ return accountsApi.getAccountList(apiKey);
5
+ };
6
+
7
+ const generateDynamicApiKey = async (accountId, masterApiKey) => {
8
+ return accountsApi.generateDynamicApiKey(accountId, masterApiKey);
9
+ };
10
+
11
+ module.exports = { getAccountList, generateDynamicApiKey };