@getjones/test-infra 2.14.0 → 3.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (209) hide show
  1. package/.npmrc.bak +2 -0
  2. package/package.json +30 -30
  3. package/package.json.bak +30 -0
  4. package/src/common/commonFlows/auth/auth.js +40 -40
  5. package/src/common/commonFlows/index.js +4 -4
  6. package/src/common/commonFlows/records/records.js +102 -102
  7. package/src/common/consts/activationStatuses.js +6 -6
  8. package/src/common/consts/dashboardCharts.js +18 -18
  9. package/src/common/consts/projectSettings.js +6 -6
  10. package/src/common/consts/recordTypes.js +5 -5
  11. package/src/common/consts/s3FileTypes.js +12 -12
  12. package/src/common/consts/userTypes.js +8 -8
  13. package/src/common/errorCodes.js +3 -3
  14. package/src/common/httpResponseStatusCodes.json +11 -11
  15. package/src/common/requests/apiKeyAuth/requests.js +44 -44
  16. package/src/common/requests/cookieAuth/requests.js +40 -40
  17. package/src/common/requests/internalAuth/requests.js +48 -38
  18. package/src/common/requests/requestHandlers.js +78 -78
  19. package/src/common/utils/complianceUtil.js +83 -83
  20. package/src/common/utils/configsUtil.js +22 -22
  21. package/src/common/utils/dataTypeUtils.js +41 -41
  22. package/src/common/utils/numberUtils.js +22 -22
  23. package/src/common/utils/objectUtils.js +7 -7
  24. package/src/common/utils/timeUtils.js +177 -177
  25. package/src/common/validations/errorValidation.js +16 -16
  26. package/src/common/validations/typeValidations.js +36 -36
  27. package/src/defaults/configs/auditConfigs.js +91 -91
  28. package/src/defaults/configs/coverage.js +227 -227
  29. package/src/defaults/configs/polices.js +64 -64
  30. package/src/defaults/configs/requirement.js +32 -32
  31. package/src/defaults/index.js +6 -6
  32. package/src/env.js +57 -57
  33. package/src/factory/globalRecord/globalRecord.js +70 -70
  34. package/src/factory/index.js +8 -8
  35. package/src/factory/records/records.js +183 -183
  36. package/src/factory/users/users.js +77 -77
  37. package/src/index.js +91 -91
  38. package/src/saas/internal-api/accounts/api/core/accounts.core.api.js +35 -35
  39. package/src/saas/internal-api/accounts/api/core/accounts.core.service.js +93 -93
  40. package/src/saas/internal-api/accounts/api/emailCustomization/accounts.email.customizations.api.js +29 -29
  41. package/src/saas/internal-api/accounts/api/emailCustomization/accounts.email.customizations.service.js +61 -61
  42. package/src/saas/internal-api/accounts/api/openapi/accounts.openapi.api.js +48 -48
  43. package/src/saas/internal-api/accounts/api/openapi/accounts.openapi.service.js +74 -74
  44. package/src/saas/internal-api/accounts/api/settings/settings.api.js +21 -21
  45. package/src/saas/internal-api/accounts/api/settings/settings.service.js +41 -41
  46. package/src/saas/internal-api/accounts/consts/consts.js +6 -6
  47. package/src/saas/internal-api/accounts/index.js +22 -22
  48. package/src/saas/internal-api/accounts/models/core/create.account.model.js +16 -16
  49. package/src/saas/internal-api/accounts/models/settings/update.settings.model.js +38 -38
  50. package/src/saas/internal-api/accounts/utils/utils.js +58 -58
  51. package/src/saas/internal-api/agreement/api/agreement.api.js +35 -35
  52. package/src/saas/internal-api/agreement/api/agreement.service.js +81 -81
  53. package/src/saas/internal-api/agreement/consts/consts.js +8 -8
  54. package/src/saas/internal-api/agreement/index.js +11 -11
  55. package/src/saas/internal-api/agreement/models/create.agreement.model.js +12 -12
  56. package/src/saas/internal-api/auditCustomerRules/api/customer.rules.api.js +43 -43
  57. package/src/saas/internal-api/auditCustomerRules/api/customer.rules.service.js +105 -105
  58. package/src/saas/internal-api/auditCustomerRules/consts/customer.rule.js +11 -11
  59. package/src/saas/internal-api/auditCustomerRules/index.js +6 -6
  60. package/src/saas/internal-api/auditCustomerRules/models/customer.rule.model.js +46 -46
  61. package/src/saas/internal-api/auditCustomerRules/utils/customer.rule.util.js +19 -19
  62. package/src/saas/internal-api/auditNotes/api/audit.notes.api.js +40 -40
  63. package/src/saas/internal-api/auditNotes/api/audit.notes.service.js +115 -115
  64. package/src/saas/internal-api/auditNotes/index.js +4 -4
  65. package/src/saas/internal-api/auditNotes/models/audit.note.model.js +30 -30
  66. package/src/saas/internal-api/auth/api/auth.api.js +27 -27
  67. package/src/saas/internal-api/auth/api/auth.service.js +90 -90
  68. package/src/saas/internal-api/auth/index.js +3 -3
  69. package/src/saas/internal-api/coi/api/coi.api.js +40 -34
  70. package/src/saas/internal-api/coi/api/coi.service.js +26 -22
  71. package/src/saas/internal-api/coi/consts/uploaderTypes.js +5 -5
  72. package/src/saas/internal-api/coi/index.js +13 -13
  73. package/src/saas/internal-api/coi/models/submit.coi.model.js +9 -9
  74. package/src/saas/internal-api/coi/utils/utils.js +48 -48
  75. package/src/saas/internal-api/compliance/api/audit/audit.api.js +100 -100
  76. package/src/saas/internal-api/compliance/api/audit/audit.service.js +230 -230
  77. package/src/saas/internal-api/compliance/api/convert/convert.api.js +17 -17
  78. package/src/saas/internal-api/compliance/api/convert/convert.service.js +11 -11
  79. package/src/saas/internal-api/compliance/api/coverage/coverage.api.js +33 -33
  80. package/src/saas/internal-api/compliance/api/coverage/coverage.service.js +48 -48
  81. package/src/saas/internal-api/compliance/api/overrideGap/override.gap.api.js +33 -33
  82. package/src/saas/internal-api/compliance/api/overrideGap/override.gap.service.js +141 -141
  83. package/src/saas/internal-api/compliance/consts/audit.js +103 -103
  84. package/src/saas/internal-api/compliance/index.js +33 -33
  85. package/src/saas/internal-api/compliance/models/audit/audit.model.js +94 -94
  86. package/src/saas/internal-api/compliance/models/waive/waive.model.js +49 -49
  87. package/src/saas/internal-api/compliance/utils/auditUtil.js +222 -222
  88. package/src/saas/internal-api/compliance/utils/coverageUtil.js +40 -40
  89. package/src/saas/internal-api/contractors/api/contractors.api.js +179 -179
  90. package/src/saas/internal-api/contractors/api/contractors.service.js +247 -234
  91. package/src/saas/internal-api/contractors/consts/consts.js +6 -6
  92. package/src/saas/internal-api/contractors/index.js +8 -8
  93. package/src/saas/internal-api/contractors/models/assign.requirement.model.js +10 -10
  94. package/src/saas/internal-api/contractors/models/edit.contractor.model.js +60 -60
  95. package/src/saas/internal-api/contractors/models/verification.contractor.model.js +27 -27
  96. package/src/saas/internal-api/contractors/utils.js +25 -25
  97. package/src/saas/internal-api/dashboard/api/recordList.api.js +38 -38
  98. package/src/saas/internal-api/dashboard/api/recordList.service.js +60 -60
  99. package/src/saas/internal-api/dashboard/index.js +5 -5
  100. package/src/saas/internal-api/dashboard/models/dashboard.filter.criteria.model.js +38 -38
  101. package/src/saas/internal-api/dbEmails/api/db.emails.api.js +25 -25
  102. package/src/saas/internal-api/dbEmails/api/db.emails.service.js +147 -147
  103. package/src/saas/internal-api/dbEmails/consts/consts.js +54 -54
  104. package/src/saas/internal-api/dbEmails/index.js +6 -6
  105. package/src/saas/internal-api/dbEmails/models/db.emails.model.js +22 -22
  106. package/src/saas/internal-api/dbEmails/utils/util.js +82 -82
  107. package/src/saas/internal-api/emailCustomization/api/email.customization.api.js +26 -26
  108. package/src/saas/internal-api/emailCustomization/api/email.customization.service.js +50 -50
  109. package/src/saas/internal-api/emailCustomization/index.js +3 -3
  110. package/src/saas/internal-api/globalRecord/api/global.record.api.js +95 -95
  111. package/src/saas/internal-api/globalRecord/api/global.record.service.js +105 -106
  112. package/src/saas/internal-api/globalRecord/consts.js +20 -20
  113. package/src/saas/internal-api/globalRecord/index.js +6 -6
  114. package/src/saas/internal-api/globalRecord/models/global.record.model.js +60 -60
  115. package/src/saas/internal-api/globalRecord/utils/util.js +161 -161
  116. package/src/saas/internal-api/homepageCharts/api/charts.api.js +12 -12
  117. package/src/saas/internal-api/homepageCharts/api/charts.service.js +7 -7
  118. package/src/saas/internal-api/homepageCharts/index.js +3 -3
  119. package/src/saas/internal-api/projects/api/core/projects.api.js +39 -39
  120. package/src/saas/internal-api/projects/api/core/projects.service.js +65 -65
  121. package/src/saas/internal-api/projects/api/settings/project.settings.api.js +18 -18
  122. package/src/saas/internal-api/projects/api/settings/project.settings.service.js +35 -35
  123. package/src/saas/internal-api/projects/consts/defaultProject.js +3 -3
  124. package/src/saas/internal-api/projects/index.js +24 -24
  125. package/src/saas/internal-api/projects/models/core/create.project.model.js +41 -41
  126. package/src/saas/internal-api/projects/models/core/update.project.model.js +47 -47
  127. package/src/saas/internal-api/projects/models/settings/update.project.settings.model.js +41 -41
  128. package/src/saas/internal-api/projects/utils/utils.js +156 -156
  129. package/src/saas/internal-api/recordNotes/api/record.notes.api.js +38 -38
  130. package/src/saas/internal-api/recordNotes/api/record.notes.service.js +47 -47
  131. package/src/saas/internal-api/recordNotes/api/record.notes.utils.js +12 -12
  132. package/src/saas/internal-api/recordNotes/index.js +3 -3
  133. package/src/saas/internal-api/reports/api/reports.api.js +39 -39
  134. package/src/saas/internal-api/reports/api/reports.service.js +34 -34
  135. package/src/saas/internal-api/reports/consts/consts.js +64 -64
  136. package/src/saas/internal-api/reports/index.js +15 -15
  137. package/src/saas/internal-api/reports/models/report.model.js +27 -27
  138. package/src/saas/internal-api/requests/api/requests.api.js +96 -90
  139. package/src/saas/internal-api/requests/api/requests.service.js +220 -208
  140. package/src/saas/internal-api/requests/index.js +18 -16
  141. package/src/saas/internal-api/requests/models/create.request.model.js +34 -34
  142. package/src/saas/internal-api/requests/models/draft.request.report.model.js +14 -14
  143. package/src/saas/internal-api/requests/models/edit.request.model.js +31 -31
  144. package/src/saas/internal-api/requests/models/{inner.page.request.criteria.model.js → requestListCriteriaModel.js} +17 -17
  145. package/src/saas/internal-api/requests/models/tenant.request.model.js +9 -9
  146. package/src/saas/internal-api/requests/utils.js +8 -8
  147. package/src/saas/internal-api/requestsTable/api/requests.table.api.js +20 -20
  148. package/src/saas/internal-api/requestsTable/api/requests.table.service.js +14 -14
  149. package/src/saas/internal-api/requestsTable/index.js +3 -3
  150. package/src/saas/internal-api/requirements/api/requirements.api.js +51 -45
  151. package/src/saas/internal-api/requirements/api/requirements.service.js +153 -142
  152. package/src/saas/internal-api/requirements/consts/attributeTypes.json +6 -6
  153. package/src/saas/internal-api/requirements/consts/consts.js +6 -6
  154. package/src/saas/internal-api/requirements/index.js +10 -10
  155. package/src/saas/internal-api/requirements/models/create.requirement.model.js +17 -17
  156. package/src/saas/internal-api/requirements/models/policy.model.js +33 -33
  157. package/src/saas/internal-api/requirements/models/update.requirement.model.js +19 -19
  158. package/src/saas/internal-api/requirements/utils/utils.js +116 -116
  159. package/src/saas/internal-api/serviceArea/api/coordinates.api.js +12 -12
  160. package/src/saas/internal-api/serviceArea/api/coordinates.service.js +7 -7
  161. package/src/saas/internal-api/serviceArea/index.js +4 -4
  162. package/src/saas/internal-api/serviceArea/utils/utils.js +8 -8
  163. package/src/saas/internal-api/tabs/api/tabs.api.js +32 -32
  164. package/src/saas/internal-api/tabs/api/tabs.service.js +54 -54
  165. package/src/saas/internal-api/tabs/index.js +3 -3
  166. package/src/saas/internal-api/tabs/models/tabs.model.js +19 -19
  167. package/src/saas/internal-api/thread-scheduler/runner.js +39 -39
  168. package/src/saas/internal-api/uploadFiles/api/upload.file.api.js +31 -31
  169. package/src/saas/internal-api/uploadFiles/api/upload.file.service.js +42 -42
  170. package/src/saas/internal-api/uploadFiles/consts.js +12 -12
  171. package/src/saas/internal-api/uploadFiles/index.js +3 -3
  172. package/src/saas/internal-api/users/api/tenantApp/tenant.app.api.js +32 -32
  173. package/src/saas/internal-api/users/api/tenantApp/tenant.app.service.js +97 -97
  174. package/src/saas/internal-api/users/api/users.api.js +115 -115
  175. package/src/saas/internal-api/users/api/users.service.js +203 -203
  176. package/src/saas/internal-api/users/index.js +16 -16
  177. package/src/saas/internal-api/users/models/create.inner.system.user.model.js +18 -18
  178. package/src/saas/internal-api/users/models/notification.settings.model.js +12 -12
  179. package/src/saas/internal-api/users/models/tenent.user.model.js +11 -11
  180. package/src/saas/internal-api/users/models/users.model.js +41 -41
  181. package/src/saas/internal-api/users/utils/util.js +39 -39
  182. package/src/saas/internal-api/vendorProfile/api/vendor.profile.api.js +20 -20
  183. package/src/saas/internal-api/vendorProfile/api/vendor.profile.service.js +14 -14
  184. package/src/saas/internal-api/vendorProfile/index.js +3 -3
  185. package/src/saas/openapi/accounts/accounts.api.js +17 -17
  186. package/src/saas/openapi/accounts/accounts.service.js +11 -11
  187. package/src/saas/openapi/coi/coi.api.js +20 -20
  188. package/src/saas/openapi/coi/coi.service.js +13 -13
  189. package/src/saas/openapi/projects/projects.api.js +83 -83
  190. package/src/saas/openapi/projects/projects.service.js +64 -64
  191. package/src/saas/openapi/requests/index.js +7 -7
  192. package/src/saas/openapi/requests/models/invite.request.model.js +37 -37
  193. package/src/saas/openapi/requests/models/update.request.model.js +35 -35
  194. package/src/saas/openapi/requests/requests.api.js +82 -82
  195. package/src/saas/openapi/requests/requests.service.js +70 -70
  196. package/src/saas/openapi/requirements/index.js +6 -6
  197. package/src/saas/openapi/requirements/models/copy.requirement.model.js +10 -10
  198. package/src/saas/openapi/requirements/requirements.api.js +32 -32
  199. package/src/saas/openapi/requirements/requirements.service.js +37 -37
  200. package/src/saas/openapi/tabs/index.js +6 -6
  201. package/src/saas/openapi/tabs/models/create.tab.model.js +6 -6
  202. package/src/saas/openapi/tabs/tabs.api.js +27 -27
  203. package/src/saas/openapi/tabs/tabs.service.js +19 -19
  204. package/src/saas/openapi/users/user.model.js +10 -10
  205. package/src/saas/openapi/users/users.api.js +33 -33
  206. package/src/saas/openapi/users/users.service.js +41 -41
  207. package/tests/env.test.js +40 -40
  208. package/tests/validation.test.js +83 -83
  209. package/src/resources/virusFile.pdf +0 -0
@@ -1,77 +1,77 @@
1
- const { getEnv } = require('../../env');
2
- const httpResponseStatusCodes = require('../../common/httpResponseStatusCodes.json');
3
-
4
- const { credentials } = getEnv();
5
-
6
- const users = require('../../saas/internal-api/users');
7
- const { InviteUserModel } = users.models;
8
-
9
- const defaultsPassword = credentials.strongPassword;
10
- const roles = {
11
- readOnly: 'Read-only User',
12
- inviter: 'Inviter',
13
- cm: 'Compliance Manager'
14
- };
15
-
16
- const inviteSaasUser = async (username, role, projectIds, context) => {
17
- const userResponse = await users.services.getUserByEmail(username, context);
18
-
19
- if (userResponse.data && userResponse.data.subuserId) {
20
- return;
21
- }
22
-
23
- const inviteUserModel = new InviteUserModel(username, role, projectIds, context);
24
- const inviteResponse = await users.services.inviteUser([inviteUserModel], context);
25
-
26
- if (inviteResponse.status !== httpResponseStatusCodes.NO_CONTENT) {
27
- throw new Error(`Failed to invite user with email: ${username}\n${inviteResponse}`);
28
- }
29
- };
30
-
31
- const signupSaasUser = async (username, role, context) => {
32
- const userResponse = await users.services.getUserByEmail(username, context);
33
-
34
- //Already signup user
35
- if (userResponse.data.isVerified) {
36
- return;
37
- }
38
-
39
- const signupUserModel = await users.util.getSignupUserModel(username, role, role, defaultsPassword, context);
40
- const signupResponse = await users.services.signupUser(signupUserModel, context);
41
-
42
- if (signupResponse.status !== httpResponseStatusCodes.OK) {
43
- throw new Error(`Failed to invite ${role} user with email: ${username}\n${signupResponse}`);
44
- }
45
- };
46
-
47
- const prepareUser = async (username, role, projectIds, context, { signup = true } = {}) => {
48
- await inviteSaasUser(username, role, projectIds, context);
49
-
50
- signup && await signupSaasUser(username, role, context);
51
-
52
- const userResponse = await users.services.getUserByEmail(username, context);
53
-
54
- if (userResponse.status !== httpResponseStatusCodes.OK) {
55
- throw new Error(`Failed to prepare ${role} user with email: ${username}\n${userResponse}`);
56
- }
57
-
58
- return userResponse.data;
59
- };
60
-
61
- const prepareComplianceManagerUser = (username, projectIds, context, { signup } = {}) => {
62
- return prepareUser(username, roles.cm, projectIds, context, { signup });
63
- };
64
-
65
- const prepareInviterUser = (username, projectIds, context, { signup } = {}) => {
66
- return prepareUser(username, roles.inviter, projectIds, context, { signup });
67
- };
68
-
69
- const prepareReadOnlyUser = (username, projectIds, context, { signup } = {}) => {
70
- return prepareUser(username, roles.readOnly, projectIds, context, { signup });
71
- };
72
-
73
- module.exports = {
74
- prepareComplianceManagerUser,
75
- prepareInviterUser,
76
- prepareReadOnlyUser
77
- };
1
+ const { getEnv } = require('../../env');
2
+ const httpResponseStatusCodes = require('../../common/httpResponseStatusCodes.json');
3
+
4
+ const { credentials } = getEnv();
5
+
6
+ const users = require('../../saas/internal-api/users');
7
+ const { InviteUserModel } = users.models;
8
+
9
+ const defaultsPassword = credentials.strongPassword;
10
+ const roles = {
11
+ readOnly: 'Read-only User',
12
+ inviter: 'Inviter',
13
+ cm: 'Compliance Manager'
14
+ };
15
+
16
+ const inviteSaasUser = async (username, role, projectIds, context) => {
17
+ const userResponse = await users.services.getUserByEmail(username, context);
18
+
19
+ if (userResponse.data && userResponse.data.subuserId) {
20
+ return;
21
+ }
22
+
23
+ const inviteUserModel = new InviteUserModel(username, role, projectIds, context);
24
+ const inviteResponse = await users.services.inviteUser([inviteUserModel], context);
25
+
26
+ if (inviteResponse.status !== httpResponseStatusCodes.NO_CONTENT) {
27
+ throw new Error(`Failed to invite user with email: ${username}\n${inviteResponse}`);
28
+ }
29
+ };
30
+
31
+ const signupSaasUser = async (username, role, context) => {
32
+ const userResponse = await users.services.getUserByEmail(username, context);
33
+
34
+ //Already signup user
35
+ if (userResponse.data.isVerified) {
36
+ return;
37
+ }
38
+
39
+ const signupUserModel = await users.util.getSignupUserModel(username, role, role, defaultsPassword, context);
40
+ const signupResponse = await users.services.signupUser(signupUserModel, context);
41
+
42
+ if (signupResponse.status !== httpResponseStatusCodes.OK) {
43
+ throw new Error(`Failed to invite ${role} user with email: ${username}\n${signupResponse}`);
44
+ }
45
+ };
46
+
47
+ const prepareUser = async (username, role, projectIds, context, { signup = true } = {}) => {
48
+ await inviteSaasUser(username, role, projectIds, context);
49
+
50
+ signup && await signupSaasUser(username, role, context);
51
+
52
+ const userResponse = await users.services.getUserByEmail(username, context);
53
+
54
+ if (userResponse.status !== httpResponseStatusCodes.OK) {
55
+ throw new Error(`Failed to prepare ${role} user with email: ${username}\n${userResponse}`);
56
+ }
57
+
58
+ return userResponse.data;
59
+ };
60
+
61
+ const prepareComplianceManagerUser = (username, projectIds, context, { signup } = {}) => {
62
+ return prepareUser(username, roles.cm, projectIds, context, { signup });
63
+ };
64
+
65
+ const prepareInviterUser = (username, projectIds, context, { signup } = {}) => {
66
+ return prepareUser(username, roles.inviter, projectIds, context, { signup });
67
+ };
68
+
69
+ const prepareReadOnlyUser = (username, projectIds, context, { signup } = {}) => {
70
+ return prepareUser(username, roles.readOnly, projectIds, context, { signup });
71
+ };
72
+
73
+ module.exports = {
74
+ prepareComplianceManagerUser,
75
+ prepareInviterUser,
76
+ prepareReadOnlyUser
77
+ };
package/src/index.js CHANGED
@@ -1,91 +1,91 @@
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
-
34
- const globalRecord = require('./saas/internal-api/globalRecord');
35
- const vendorProfile = require('./saas/internal-api/vendorProfile');
36
- const serviceArea = require('./saas/internal-api/serviceArea');
37
-
38
- const requestsTable = require('./saas/internal-api/requestsTable');
39
-
40
- const threadScheduler = require('./saas/internal-api/thread-scheduler/runner');
41
- const dbEmails = require('./saas/internal-api/dbEmails/index');
42
- const agreement = require('./saas/internal-api/agreement/index');
43
- const uploadFile = require('./saas/internal-api/uploadFiles/index');
44
-
45
- const emailCustomization = require('./saas/internal-api/emailCustomization');
46
-
47
- const internalAPI = {
48
- defaults,
49
- auth,
50
- accounts,
51
- projects,
52
- tabs,
53
- requirements,
54
- contractors,
55
- requests,
56
- coi,
57
- compliance,
58
- auditNotes,
59
- auditCustomerRules,
60
- reports,
61
- users,
62
- charts,
63
- dashboard,
64
- globalRecord,
65
- vendorProfile,
66
- serviceArea,
67
- requestsTable,
68
- threadScheduler,
69
- dbEmails,
70
- emailCustomization,
71
- factory,
72
- agreement,
73
- uploadFile
74
- };
75
-
76
- return internalAPI;
77
- };
78
-
79
- const getOpenAPI = () => {
80
- const accounts = require('./saas/openapi/accounts/accounts.service');
81
- const projects = require('./saas/openapi/projects/projects.service');
82
- const tabs = require('./saas/openapi/tabs');
83
- const requirements = require('./saas/openapi/requirements');
84
- const requests = require('./saas/openapi/requests');
85
- const coi = require('./saas/openapi/coi/coi.service');
86
- const users = require('./saas/openapi/users/users.service');
87
- const openAPI = { accounts, projects, tabs, requirements, requests, coi, users };
88
- return openAPI;
89
- };
90
-
91
- 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
+
34
+ const globalRecord = require('./saas/internal-api/globalRecord');
35
+ const vendorProfile = require('./saas/internal-api/vendorProfile');
36
+ const serviceArea = require('./saas/internal-api/serviceArea');
37
+
38
+ const requestsTable = require('./saas/internal-api/requestsTable');
39
+
40
+ const threadScheduler = require('./saas/internal-api/thread-scheduler/runner');
41
+ const dbEmails = require('./saas/internal-api/dbEmails/index');
42
+ const agreement = require('./saas/internal-api/agreement/index');
43
+ const uploadFile = require('./saas/internal-api/uploadFiles/index');
44
+
45
+ const emailCustomization = require('./saas/internal-api/emailCustomization');
46
+
47
+ const internalAPI = {
48
+ defaults,
49
+ auth,
50
+ accounts,
51
+ projects,
52
+ tabs,
53
+ requirements,
54
+ contractors,
55
+ requests,
56
+ coi,
57
+ compliance,
58
+ auditNotes,
59
+ auditCustomerRules,
60
+ reports,
61
+ users,
62
+ charts,
63
+ dashboard,
64
+ globalRecord,
65
+ vendorProfile,
66
+ serviceArea,
67
+ requestsTable,
68
+ threadScheduler,
69
+ dbEmails,
70
+ emailCustomization,
71
+ factory,
72
+ agreement,
73
+ uploadFile
74
+ };
75
+
76
+ return internalAPI;
77
+ };
78
+
79
+ const getOpenAPI = () => {
80
+ const accounts = require('./saas/openapi/accounts/accounts.service');
81
+ const projects = require('./saas/openapi/projects/projects.service');
82
+ const tabs = require('./saas/openapi/tabs');
83
+ const requirements = require('./saas/openapi/requirements');
84
+ const requests = require('./saas/openapi/requests');
85
+ const coi = require('./saas/openapi/coi/coi.service');
86
+ const users = require('./saas/openapi/users/users.service');
87
+ const openAPI = { accounts, projects, tabs, requirements, requests, coi, users };
88
+ return openAPI;
89
+ };
90
+
91
+ module.exports = init;
@@ -1,35 +1,35 @@
1
- const requests = require('../../../../../common/requests/cookieAuth/requests');
2
- const internalRequests = require('../../../../../common/requests/internalAuth/requests');
3
-
4
- const { backendUrl } = require('../../../../../env').getEnv();
5
-
6
- const Endpoints = {
7
- getAccount: `${backendUrl}/saas/accounts`,
8
- create: `${backendUrl}/saas/createaccount`,
9
- delete: `${backendUrl}/saas/account`,
10
- edit: accountId => `${backendUrl}/saas/account/${accountId}/settings`,
11
- getFromCertificateHolder: certificateHolder => `${backendUrl}/jcsc/account/certificate-holder-name/${certificateHolder}`
12
- };
13
-
14
- const create = (account, context) => {
15
- return requests.postRequestHandler(Endpoints.create, account, context);
16
- };
17
-
18
- const deleteAccount = (accountId, context) => {
19
- return requests.deleteRequestHandler(Endpoints.delete, context, {}, { 'userId': accountId });
20
- };
21
-
22
- const updateAccountSettings = (accountId, settings, context) => {
23
- return requests.putRequestHandler(Endpoints.edit(accountId), { accountId, ... settings }, context);
24
- };
25
-
26
- const getByName = (accountName, context) => {
27
- const params = { name: accountName };
28
- return requests.getRequestHandler(Endpoints.getAccount, params, context);
29
- };
30
-
31
- const getFromCertificateHolder = certificateHolder => {
32
- return internalRequests.getRequestHandler(Endpoints.getFromCertificateHolder(certificateHolder), {});
33
- };
34
-
35
- module.exports = { create, getByName, deleteAccount, updateAccountSettings, getFromCertificateHolder };
1
+ const requests = require('../../../../../common/requests/cookieAuth/requests');
2
+ const internalRequests = require('../../../../../common/requests/internalAuth/requests');
3
+
4
+ const { backendUrl } = require('../../../../../env').getEnv();
5
+
6
+ const Endpoints = {
7
+ getAccount: `${backendUrl}/saas/accounts`,
8
+ create: `${backendUrl}/saas/createaccount`,
9
+ delete: `${backendUrl}/saas/account`,
10
+ edit: accountId => `${backendUrl}/saas/account/${accountId}/settings`,
11
+ getFromCertificateHolder: certificateHolder => `${backendUrl}/jcsc/account/certificate-holder-name/${certificateHolder}`
12
+ };
13
+
14
+ const create = (account, context) => {
15
+ return requests.postRequestHandler(Endpoints.create, account, context);
16
+ };
17
+
18
+ const deleteAccount = (accountId, context) => {
19
+ return requests.deleteRequestHandler(Endpoints.delete, context, {}, { 'userId': accountId });
20
+ };
21
+
22
+ const updateAccountSettings = (accountId, settings, context) => {
23
+ return requests.putRequestHandler(Endpoints.edit(accountId), { accountId, ... settings }, context);
24
+ };
25
+
26
+ const getByName = (accountName, context) => {
27
+ const params = { name: accountName };
28
+ return requests.getRequestHandler(Endpoints.getAccount, params, context);
29
+ };
30
+
31
+ const getFromCertificateHolder = certificateHolder => {
32
+ return internalRequests.getRequestHandler(Endpoints.getFromCertificateHolder(certificateHolder), {});
33
+ };
34
+
35
+ module.exports = { create, getByName, deleteAccount, updateAccountSettings, getFromCertificateHolder };
@@ -1,93 +1,93 @@
1
- const { expect } = require('chai');
2
- const env = require('../../../../../env');
3
- const accountsAPI = require('./accounts.core.api');
4
- const CreateAccountModel = require('../../models/core/create.account.model');
5
- const { validateType } = require('../../../../../common/validations/typeValidations');
6
- const httpResponseStatusCodes = require('../../../../../common/httpResponseStatusCodes.json');
7
-
8
- const { accountCreationSecret } = env.getEnv();
9
-
10
- const createAccount = async (createAccountModel, context) => {
11
- validateType(createAccountModel, CreateAccountModel);
12
-
13
- env.requiredValidation({
14
- accountCreationSecret: accountCreationSecret,
15
- 'credentials.strongPassword': createAccountModel.password
16
- });
17
-
18
- return accountsAPI.create(createAccountModel, context);
19
- };
20
-
21
- const getAccount = async (accountName, context) => {
22
- const response = await accountsAPI.getByName(accountName, context);
23
- expect(response.status, 'Failed to get accounts by name').to.equal(httpResponseStatusCodes.OK);
24
-
25
- const existingAccounts = response.data;
26
-
27
- if (!existingAccounts || !existingAccounts.length) {
28
- return null;
29
- }
30
-
31
- if (existingAccounts.length > 1) {
32
- throw new Error(`Got more than one account with the name: ${accountName}. IDs: ${existingAccounts.map(item => item.userId).join(', ')}`);
33
- }
34
-
35
- return existingAccounts[0];
36
- };
37
-
38
- const getOrCreateAccount = async (createAccountModel, context) => {
39
- validateType(createAccountModel, CreateAccountModel);
40
- const existingAccount = await getAccount(createAccountModel.companyName, context);
41
-
42
- if (existingAccount) {
43
- return existingAccount;
44
- }
45
-
46
- const response = await accountsAPI.create(createAccountModel, context);
47
-
48
- if (!response.data) {
49
- throw new Error(`Account by the name ${createAccountModel.companyName} was not created\n${response}`);
50
- }
51
-
52
- return response.data;
53
- };
54
-
55
- const getAccountId = async (accountName, context) => {
56
- const account = await getAccount(accountName, context);
57
-
58
- if (!account) {
59
- console.error(`Account ${accountName} does not exist`);
60
- return null;
61
- }
62
-
63
- return account.userId;
64
- };
65
-
66
- const deleteAccountByName = async (accountName, context) => {
67
- const accountId = await getAccountId(accountName, context);
68
- return accountsAPI.deleteAccount(accountId, context);
69
- };
70
-
71
- const deleteAccountById = async (accountId, context) => {
72
- return accountsAPI.deleteAccount(accountId, context);
73
- };
74
-
75
- const getFromCertificateHolder = async certificateHolder => {
76
- const response = await accountsAPI.getFromCertificateHolder(certificateHolder);
77
-
78
- if (response.status !== httpResponseStatusCodes.OK) {
79
- throw Error(`Failed to get account by certificate holder: ${certificateHolder} - Response: ${response.status}`);
80
- }
81
-
82
- return response.data;
83
- };
84
-
85
- module.exports = {
86
- getAccount,
87
- getOrCreateAccount,
88
- getAccountId,
89
- createAccount,
90
- deleteAccountByName,
91
- deleteAccountById,
92
- getFromCertificateHolder
93
- };
1
+ const { expect } = require('chai');
2
+ const env = require('../../../../../env');
3
+ const accountsAPI = require('./accounts.core.api');
4
+ const CreateAccountModel = require('../../models/core/create.account.model');
5
+ const { validateType } = require('../../../../../common/validations/typeValidations');
6
+ const httpResponseStatusCodes = require('../../../../../common/httpResponseStatusCodes.json');
7
+
8
+ const { accountCreationSecret } = env.getEnv();
9
+
10
+ const createAccount = async (createAccountModel, context) => {
11
+ validateType(createAccountModel, CreateAccountModel);
12
+
13
+ env.requiredValidation({
14
+ accountCreationSecret: accountCreationSecret,
15
+ 'credentials.strongPassword': createAccountModel.password
16
+ });
17
+
18
+ return accountsAPI.create(createAccountModel, context);
19
+ };
20
+
21
+ const getAccount = async (accountName, context) => {
22
+ const response = await accountsAPI.getByName(accountName, context);
23
+ expect(response.status, 'Failed to get accounts by name').to.equal(httpResponseStatusCodes.OK);
24
+
25
+ const existingAccounts = response.data;
26
+
27
+ if (!existingAccounts || !existingAccounts.length) {
28
+ return null;
29
+ }
30
+
31
+ if (existingAccounts.length > 1) {
32
+ throw new Error(`Got more than one account with the name: ${accountName}. IDs: ${existingAccounts.map(item => item.userId).join(', ')}`);
33
+ }
34
+
35
+ return existingAccounts[0];
36
+ };
37
+
38
+ const getOrCreateAccount = async (createAccountModel, context) => {
39
+ validateType(createAccountModel, CreateAccountModel);
40
+ const existingAccount = await getAccount(createAccountModel.companyName, context);
41
+
42
+ if (existingAccount) {
43
+ return existingAccount;
44
+ }
45
+
46
+ const response = await accountsAPI.create(createAccountModel, context);
47
+
48
+ if (!response.data) {
49
+ throw new Error(`Account by the name ${createAccountModel.companyName} was not created\n${response}`);
50
+ }
51
+
52
+ return response.data;
53
+ };
54
+
55
+ const getAccountId = async (accountName, context) => {
56
+ const account = await getAccount(accountName, context);
57
+
58
+ if (!account) {
59
+ console.error(`Account ${accountName} does not exist`);
60
+ return null;
61
+ }
62
+
63
+ return account.userId;
64
+ };
65
+
66
+ const deleteAccountByName = async (accountName, context) => {
67
+ const accountId = await getAccountId(accountName, context);
68
+ return accountsAPI.deleteAccount(accountId, context);
69
+ };
70
+
71
+ const deleteAccountById = async (accountId, context) => {
72
+ return accountsAPI.deleteAccount(accountId, context);
73
+ };
74
+
75
+ const getFromCertificateHolder = async certificateHolder => {
76
+ const response = await accountsAPI.getFromCertificateHolder(certificateHolder);
77
+
78
+ if (response.status !== httpResponseStatusCodes.OK) {
79
+ throw Error(`Failed to get account by certificate holder: ${certificateHolder} - Response: ${response.status}`);
80
+ }
81
+
82
+ return response.data;
83
+ };
84
+
85
+ module.exports = {
86
+ getAccount,
87
+ getOrCreateAccount,
88
+ getAccountId,
89
+ createAccount,
90
+ deleteAccountByName,
91
+ deleteAccountById,
92
+ getFromCertificateHolder
93
+ };
@@ -1,29 +1,29 @@
1
- const requests = require('../../../../../common/requests/cookieAuth/requests');
2
- const internalRequests = require('../../../../../common/requests/internalAuth/requests');
3
-
4
- const { backendUrl } = require('../../../../../env').getEnv();
5
-
6
- const Endpoints = {
7
- getCobranding: accountId => `${backendUrl}/saas/cobranding/fetch?accountId=${accountId}`,
8
- deleteCobranding: accountId => `${backendUrl}/saas/cobranding/archive?accountId=${accountId}`,
9
- publishCobranding: `${backendUrl}/saas/cobranding/publish`,
10
- getAccountsByCobrandingEmail: email => `${backendUrl}/jcsc/account/from-email/${email}`
11
- };
12
-
13
- const getCobranding = (accountId, context) => {
14
- return requests.getRequestHandler(Endpoints.getCobranding(accountId), {}, context);
15
- };
16
-
17
- const deleteCobranding = (accountId, context) => {
18
- return requests.deleteRequestHandler(Endpoints.deleteCobranding(accountId), context);
19
- };
20
-
21
- const publishCobranding = (formData, context) => {
22
- return requests.postRequestHandler(Endpoints.publishCobranding, formData, context, formData.getHeaders());
23
- };
24
-
25
- const getAccountsByCobrandingEmail = email => {
26
- return internalRequests.getRequestHandler(Endpoints.getAccountsByCobrandingEmail(email), {});
27
- };
28
-
29
- module.exports = { getCobranding, deleteCobranding, publishCobranding, getAccountsByCobrandingEmail };
1
+ const requests = require('../../../../../common/requests/cookieAuth/requests');
2
+ const internalRequests = require('../../../../../common/requests/internalAuth/requests');
3
+
4
+ const { backendUrl } = require('../../../../../env').getEnv();
5
+
6
+ const Endpoints = {
7
+ getCobranding: accountId => `${backendUrl}/saas/cobranding/fetch?accountId=${accountId}`,
8
+ deleteCobranding: accountId => `${backendUrl}/saas/cobranding/archive?accountId=${accountId}`,
9
+ publishCobranding: `${backendUrl}/saas/cobranding/publish`,
10
+ getAccountsByCobrandingEmail: email => `${backendUrl}/jcsc/account/from-email/${email}`
11
+ };
12
+
13
+ const getCobranding = (accountId, context) => {
14
+ return requests.getRequestHandler(Endpoints.getCobranding(accountId), {}, context);
15
+ };
16
+
17
+ const deleteCobranding = (accountId, context) => {
18
+ return requests.deleteRequestHandler(Endpoints.deleteCobranding(accountId), context);
19
+ };
20
+
21
+ const publishCobranding = (formData, context) => {
22
+ return requests.postRequestHandler(Endpoints.publishCobranding, formData, context, formData.getHeaders());
23
+ };
24
+
25
+ const getAccountsByCobrandingEmail = email => {
26
+ return internalRequests.getRequestHandler(Endpoints.getAccountsByCobrandingEmail(email), {});
27
+ };
28
+
29
+ module.exports = { getCobranding, deleteCobranding, publishCobranding, getAccountsByCobrandingEmail };