@getjones/test-infra 4.5.25 → 4.5.26

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 (250) hide show
  1. package/eslint.config.mjs +156 -0
  2. package/package.json +36 -36
  3. package/src/common/commonFlows/auth/auth.js +40 -40
  4. package/src/common/commonFlows/index.js +4 -4
  5. package/src/common/commonFlows/records/records.js +269 -269
  6. package/src/common/consts/accountSettings.js +44 -44
  7. package/src/common/consts/activationStatuses.js +6 -6
  8. package/src/common/consts/autocomplete.js +10 -10
  9. package/src/common/consts/constantsForRecordsSortingAndFilters.js +49 -49
  10. package/src/common/consts/dashboardCharts.js +18 -18
  11. package/src/common/consts/homepage/AttentionTab.js +6 -6
  12. package/src/common/consts/homepage/sortOptions.js +19 -19
  13. package/src/common/consts/ocrStatuses.js +6 -6
  14. package/src/common/consts/projectSettings.js +21 -21
  15. package/src/common/consts/recordTypes.js +5 -5
  16. package/src/common/consts/requirementActions.js +10 -10
  17. package/src/common/consts/s3FileTypes.js +13 -13
  18. package/src/common/consts/userRoles.js +18 -18
  19. package/src/common/consts/userTypes.js +8 -8
  20. package/src/common/errorCodes.js +3 -3
  21. package/src/common/httpResponseStatusCodes.json +11 -11
  22. package/src/common/httpResponseTypes.json +2 -2
  23. package/src/common/requests/apiKeyAuth/requests.js +44 -44
  24. package/src/common/requests/cookieAuth/requests.js +40 -40
  25. package/src/common/requests/internalAuth/requests.js +48 -48
  26. package/src/common/requests/requestHandlers.js +80 -80
  27. package/src/common/utils/complianceUtil.js +113 -113
  28. package/src/common/utils/configsUtil.js +22 -22
  29. package/src/common/utils/dataTypeUtils.js +41 -41
  30. package/src/common/utils/numberUtils.js +22 -22
  31. package/src/common/utils/objectUtils.js +7 -7
  32. package/src/common/utils/timeUtils.js +177 -177
  33. package/src/common/validations/errorValidation.js +16 -16
  34. package/src/common/validations/typeValidations.js +36 -36
  35. package/src/defaults/configs/auditConfigs.js +125 -125
  36. package/src/defaults/configs/coverage.js +144 -144
  37. package/src/defaults/configs/polices.js +76 -76
  38. package/src/defaults/configs/requirement.js +32 -32
  39. package/src/defaults/index.js +6 -6
  40. package/src/env.js +57 -57
  41. package/src/factory/globalRecord/globalRecord.js +43 -43
  42. package/src/factory/index.js +8 -8
  43. package/src/factory/records/records.js +281 -281
  44. package/src/factory/users/users.js +69 -69
  45. package/src/index.js +105 -105
  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 +53 -53
  62. package/src/saas/internal-api/accounts/utils/utils.js +61 -61
  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 +58 -58
  84. package/src/saas/internal-api/coi/api/coi.service.js +61 -61
  85. package/src/saas/internal-api/coi/consts/hashes.js +5 -5
  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/aiAudit/aiAudit.api.js +27 -27
  94. package/src/saas/internal-api/compliance/api/audit/aiAudit/aiAudit.service.js +38 -38
  95. package/src/saas/internal-api/compliance/api/audit/audit.api.js +112 -112
  96. package/src/saas/internal-api/compliance/api/audit/audit.service.js +319 -319
  97. package/src/saas/internal-api/compliance/api/convert/convert.api.js +17 -17
  98. package/src/saas/internal-api/compliance/api/convert/convert.service.js +11 -11
  99. package/src/saas/internal-api/compliance/api/coverage/coverage.api.js +33 -33
  100. package/src/saas/internal-api/compliance/api/coverage/coverage.service.js +46 -46
  101. package/src/saas/internal-api/compliance/api/overrideGap/override.gap.api.js +38 -38
  102. package/src/saas/internal-api/compliance/api/overrideGap/override.gap.service.js +189 -189
  103. package/src/saas/internal-api/compliance/consts/audit.js +113 -113
  104. package/src/saas/internal-api/compliance/index.js +38 -38
  105. package/src/saas/internal-api/compliance/models/audit/audit.model.js +96 -96
  106. package/src/saas/internal-api/compliance/models/waive/waive.model.js +49 -49
  107. package/src/saas/internal-api/compliance/utils/auditUtil.js +269 -269
  108. package/src/saas/internal-api/compliance/utils/coverageUtil.js +45 -45
  109. package/src/saas/internal-api/contractors/api/contractors.api.js +209 -209
  110. package/src/saas/internal-api/contractors/api/contractors.service.js +367 -361
  111. package/src/saas/internal-api/contractors/consts/consts.js +6 -6
  112. package/src/saas/internal-api/contractors/index.js +8 -8
  113. package/src/saas/internal-api/contractors/models/assign.requirement.model.js +10 -10
  114. package/src/saas/internal-api/contractors/models/edit.contractor.model.js +73 -73
  115. package/src/saas/internal-api/contractors/models/link.request.model.js +10 -10
  116. package/src/saas/internal-api/contractors/models/subscription.contractor.model.js +13 -13
  117. package/src/saas/internal-api/contractors/models/verification.contractor.model.js +27 -27
  118. package/src/saas/internal-api/contractors/utils.js +25 -25
  119. package/src/saas/internal-api/dashboard/api/recordList.api.js +38 -38
  120. package/src/saas/internal-api/dashboard/api/recordList.service.js +60 -60
  121. package/src/saas/internal-api/dashboard/index.js +5 -5
  122. package/src/saas/internal-api/dashboard/models/dashboard.filter.criteria.model.js +38 -38
  123. package/src/saas/internal-api/dbEmails/api/db.emails.api.js +25 -25
  124. package/src/saas/internal-api/dbEmails/api/db.emails.service.js +163 -163
  125. package/src/saas/internal-api/dbEmails/consts/consts.js +56 -56
  126. package/src/saas/internal-api/dbEmails/index.js +6 -6
  127. package/src/saas/internal-api/dbEmails/models/db.emails.model.js +22 -22
  128. package/src/saas/internal-api/dbEmails/utils/util.js +87 -87
  129. package/src/saas/internal-api/emailCustomization/api/email.customization.api.js +26 -26
  130. package/src/saas/internal-api/emailCustomization/api/email.customization.service.js +50 -50
  131. package/src/saas/internal-api/emailCustomization/index.js +3 -3
  132. package/src/saas/internal-api/globalRecord/api/global.record.api.js +95 -95
  133. package/src/saas/internal-api/globalRecord/api/global.record.service.js +112 -112
  134. package/src/saas/internal-api/globalRecord/consts.js +20 -20
  135. package/src/saas/internal-api/globalRecord/index.js +6 -6
  136. package/src/saas/internal-api/globalRecord/models/global.record.model.js +60 -60
  137. package/src/saas/internal-api/globalRecord/utils/util.js +161 -161
  138. package/src/saas/internal-api/homepageCharts/api/charts.api.js +12 -12
  139. package/src/saas/internal-api/homepageCharts/api/charts.service.js +7 -7
  140. package/src/saas/internal-api/homepageCharts/index.js +3 -3
  141. package/src/saas/internal-api/jonesNetworkTab/api/jones.network.tab.api.js +14 -14
  142. package/src/saas/internal-api/jonesNetworkTab/api/jones.network.tab.service.js +16 -16
  143. package/src/saas/internal-api/jonesNetworkTab/index.js +3 -3
  144. package/src/saas/internal-api/notificationCenter/api/notification.center.api.js +32 -32
  145. package/src/saas/internal-api/notificationCenter/api/notification.center.service.js +49 -49
  146. package/src/saas/internal-api/notificationCenter/index.js +3 -3
  147. package/src/saas/internal-api/outlook/api/outlook.api.js +14 -14
  148. package/src/saas/internal-api/outlook/api/outlook.service.js +14 -14
  149. package/src/saas/internal-api/outlook/index.js +3 -3
  150. package/src/saas/internal-api/policyFile/api/policy.file.api.js +43 -43
  151. package/src/saas/internal-api/policyFile/api/policy.file.service.js +117 -117
  152. package/src/saas/internal-api/policyFile/consts.js +21 -21
  153. package/src/saas/internal-api/policyFile/index.js +11 -11
  154. package/src/saas/internal-api/policyFile/models/create.policy.file.model.js +11 -11
  155. package/src/saas/internal-api/policyFile/models/set.publish.flag.to.policy.model.js +13 -13
  156. package/src/saas/internal-api/projects/api/core/projects.api.js +39 -39
  157. package/src/saas/internal-api/projects/api/core/projects.service.js +77 -77
  158. package/src/saas/internal-api/projects/api/settings/project.settings.api.js +18 -18
  159. package/src/saas/internal-api/projects/api/settings/project.settings.service.js +35 -35
  160. package/src/saas/internal-api/projects/consts/defaultProject.js +3 -3
  161. package/src/saas/internal-api/projects/index.js +24 -24
  162. package/src/saas/internal-api/projects/models/core/create.project.model.js +41 -41
  163. package/src/saas/internal-api/projects/models/core/update.project.model.js +47 -47
  164. package/src/saas/internal-api/projects/models/settings/update.project.settings.model.js +40 -40
  165. package/src/saas/internal-api/projects/utils/utils.js +155 -155
  166. package/src/saas/internal-api/recordHub/api/record.hub.api.js +14 -14
  167. package/src/saas/internal-api/recordHub/api/record.hub.service.js +32 -32
  168. package/src/saas/internal-api/recordHub/index.js +3 -3
  169. package/src/saas/internal-api/recordNotes/api/record.notes.api.js +38 -38
  170. package/src/saas/internal-api/recordNotes/api/record.notes.service.js +56 -56
  171. package/src/saas/internal-api/recordNotes/api/record.notes.utils.js +12 -12
  172. package/src/saas/internal-api/recordNotes/index.js +3 -3
  173. package/src/saas/internal-api/reports/api/reports.api.js +62 -62
  174. package/src/saas/internal-api/reports/api/reports.service.js +79 -79
  175. package/src/saas/internal-api/reports/consts/consts.js +74 -74
  176. package/src/saas/internal-api/reports/index.js +15 -15
  177. package/src/saas/internal-api/reports/models/report.model.js +27 -27
  178. package/src/saas/internal-api/requests/api/requests.api.js +132 -132
  179. package/src/saas/internal-api/requests/api/requests.service.js +312 -312
  180. package/src/saas/internal-api/requests/index.js +21 -21
  181. package/src/saas/internal-api/requests/models/create.request.model.js +36 -36
  182. package/src/saas/internal-api/requests/models/draft.request.criteria.model.js +18 -18
  183. package/src/saas/internal-api/requests/models/draft.request.report.model.js +14 -14
  184. package/src/saas/internal-api/requests/models/edit.request.model.js +31 -31
  185. package/src/saas/internal-api/requests/models/homepageRequestCriteriaModel.js +19 -19
  186. package/src/saas/internal-api/requests/models/requestListCriteriaModel.js +17 -17
  187. package/src/saas/internal-api/requests/models/tenant.request.model.js +9 -9
  188. package/src/saas/internal-api/requests/utils.js +16 -16
  189. package/src/saas/internal-api/requestsTable/api/requests.table.api.js +20 -20
  190. package/src/saas/internal-api/requestsTable/api/requests.table.service.js +14 -14
  191. package/src/saas/internal-api/requestsTable/index.js +3 -3
  192. package/src/saas/internal-api/requirements/api/requirements.api.js +57 -57
  193. package/src/saas/internal-api/requirements/api/requirements.service.js +184 -184
  194. package/src/saas/internal-api/requirements/consts/attributeTypes.json +8 -8
  195. package/src/saas/internal-api/requirements/consts/consts.js +6 -6
  196. package/src/saas/internal-api/requirements/index.js +10 -10
  197. package/src/saas/internal-api/requirements/models/create.requirement.model.js +17 -17
  198. package/src/saas/internal-api/requirements/models/policy.model.js +35 -35
  199. package/src/saas/internal-api/requirements/models/update.requirement.model.js +19 -19
  200. package/src/saas/internal-api/requirements/utils/utils.js +129 -129
  201. package/src/saas/internal-api/serviceArea/api/coordinates.api.js +12 -12
  202. package/src/saas/internal-api/serviceArea/api/coordinates.service.js +7 -7
  203. package/src/saas/internal-api/serviceArea/index.js +4 -4
  204. package/src/saas/internal-api/serviceArea/utils/utils.js +8 -8
  205. package/src/saas/internal-api/tabs/api/tabs.api.js +32 -32
  206. package/src/saas/internal-api/tabs/api/tabs.service.js +60 -60
  207. package/src/saas/internal-api/tabs/index.js +3 -3
  208. package/src/saas/internal-api/tabs/models/tabs.model.js +19 -19
  209. package/src/saas/internal-api/thread-scheduler/runner.js +55 -55
  210. package/src/saas/internal-api/uploadFiles/api/upload.file.api.js +43 -43
  211. package/src/saas/internal-api/uploadFiles/api/upload.file.service.js +107 -107
  212. package/src/saas/internal-api/uploadFiles/consts.js +12 -12
  213. package/src/saas/internal-api/uploadFiles/index.js +5 -5
  214. package/src/saas/internal-api/users/api/tenantApp/tenant.app.api.js +38 -38
  215. package/src/saas/internal-api/users/api/tenantApp/tenant.app.service.js +108 -108
  216. package/src/saas/internal-api/users/api/users.api.js +126 -126
  217. package/src/saas/internal-api/users/api/users.service.js +258 -258
  218. package/src/saas/internal-api/users/index.js +16 -16
  219. package/src/saas/internal-api/users/models/create.inner.system.user.model.js +18 -18
  220. package/src/saas/internal-api/users/models/notification.settings.model.js +12 -12
  221. package/src/saas/internal-api/users/models/tenent.user.model.js +11 -11
  222. package/src/saas/internal-api/users/models/users.model.js +43 -43
  223. package/src/saas/internal-api/users/utils/util.js +39 -39
  224. package/src/saas/internal-api/vendorProfile/api/vendor.profile.api.js +26 -26
  225. package/src/saas/internal-api/vendorProfile/api/vendor.profile.service.js +19 -19
  226. package/src/saas/internal-api/vendorProfile/index.js +3 -3
  227. package/src/saas/openapi/accounts/accounts.api.js +17 -17
  228. package/src/saas/openapi/accounts/accounts.service.js +11 -11
  229. package/src/saas/openapi/coi/coi.api.js +30 -30
  230. package/src/saas/openapi/coi/coi.service.js +43 -43
  231. package/src/saas/openapi/projects/projects.api.js +83 -83
  232. package/src/saas/openapi/projects/projects.service.js +71 -64
  233. package/src/saas/openapi/requests/index.js +7 -7
  234. package/src/saas/openapi/requests/models/invite.request.model.js +40 -40
  235. package/src/saas/openapi/requests/models/update.request.model.js +35 -35
  236. package/src/saas/openapi/requests/requests.api.js +93 -93
  237. package/src/saas/openapi/requests/requests.service.js +94 -94
  238. package/src/saas/openapi/requirements/index.js +6 -6
  239. package/src/saas/openapi/requirements/models/copy.requirement.model.js +10 -10
  240. package/src/saas/openapi/requirements/requirements.api.js +41 -41
  241. package/src/saas/openapi/requirements/requirements.service.js +49 -49
  242. package/src/saas/openapi/tabs/index.js +6 -6
  243. package/src/saas/openapi/tabs/models/create.tab.model.js +6 -6
  244. package/src/saas/openapi/tabs/tabs.api.js +27 -27
  245. package/src/saas/openapi/tabs/tabs.service.js +19 -19
  246. package/src/saas/openapi/users/user.model.js +10 -10
  247. package/src/saas/openapi/users/users.api.js +33 -33
  248. package/src/saas/openapi/users/users.service.js +51 -51
  249. package/tests/env.test.js +40 -40
  250. package/tests/validation.test.js +83 -83
@@ -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 };
@@ -1,61 +1,61 @@
1
- const FormData = require('form-data');
2
-
3
- const emailCustomizationsAPI = require('./accounts.email.customizations.api');
4
- const httpResponseStatusCodes = require('../../../../../common/httpResponseStatusCodes.json');
5
-
6
- const getCobranding = async (accountId, context) => {
7
- const response = await emailCustomizationsAPI.getCobranding(accountId, context);
8
-
9
- if (response.status !== httpResponseStatusCodes.OK) {
10
- throw Error(`Failed to get cobranding by account id: ${accountId} - Response: ${response.status}`);
11
- }
12
-
13
- return response.data;
14
- };
15
-
16
- const deleteCobranding = async (accountId, context) => {
17
- const response = await emailCustomizationsAPI.deleteCobranding(accountId, context);
18
-
19
- if (response.status !== httpResponseStatusCodes.OK) {
20
- throw Error(`Failed to delete cobranding by account id: ${accountId} - Response: ${response.status}`);
21
- }
22
-
23
- return response.data;
24
- };
25
-
26
- const publishCobranding = async (publishCobrandingModel, context) => {
27
- const publishCobrandingStr = JSON.stringify(publishCobrandingModel);
28
-
29
- const formData = new FormData();
30
- // File names are passed as empty so the integration tests won't need to start handle files
31
- // In this case the backend just take the file name from the cobrandingData object
32
- // and doesn't check against S3. This will work as long as we won't check the content of the cobranded
33
- // emails themselves as there there won't be images.
34
- formData.append('file', '');
35
- formData.append('coBrandingData', publishCobrandingStr) ;
36
-
37
- const response = await emailCustomizationsAPI.publishCobranding(formData, context);
38
-
39
- if (response.status !== httpResponseStatusCodes.OK) {
40
- throw Error(`Failed to publish cobranding with from email: ${publishCobrandingModel.fromEmailAddress} - Response: ${response.status}`);
41
- }
42
-
43
- return response.data;
44
- };
45
-
46
- const getAccountsByCobrandingEmail = async email => {
47
- const response = await emailCustomizationsAPI.getAccountsByCobrandingEmail(email);
48
-
49
- if (response.status !== httpResponseStatusCodes.OK) {
50
- throw Error(`Failed to get account ids by email: ${email} - Response: ${response.status}`);
51
- }
52
-
53
- return response.data;
54
- };
55
-
56
- module.exports = {
57
- getCobranding,
58
- deleteCobranding,
59
- publishCobranding,
60
- getAccountsByCobrandingEmail
61
- };
1
+ const FormData = require('form-data');
2
+
3
+ const emailCustomizationsAPI = require('./accounts.email.customizations.api');
4
+ const httpResponseStatusCodes = require('../../../../../common/httpResponseStatusCodes.json');
5
+
6
+ const getCobranding = async (accountId, context) => {
7
+ const response = await emailCustomizationsAPI.getCobranding(accountId, context);
8
+
9
+ if (response.status !== httpResponseStatusCodes.OK) {
10
+ throw Error(`Failed to get cobranding by account id: ${accountId} - Response: ${response.status}`);
11
+ }
12
+
13
+ return response.data;
14
+ };
15
+
16
+ const deleteCobranding = async (accountId, context) => {
17
+ const response = await emailCustomizationsAPI.deleteCobranding(accountId, context);
18
+
19
+ if (response.status !== httpResponseStatusCodes.OK) {
20
+ throw Error(`Failed to delete cobranding by account id: ${accountId} - Response: ${response.status}`);
21
+ }
22
+
23
+ return response.data;
24
+ };
25
+
26
+ const publishCobranding = async (publishCobrandingModel, context) => {
27
+ const publishCobrandingStr = JSON.stringify(publishCobrandingModel);
28
+
29
+ const formData = new FormData();
30
+ // File names are passed as empty so the integration tests won't need to start handle files
31
+ // In this case the backend just take the file name from the cobrandingData object
32
+ // and doesn't check against S3. This will work as long as we won't check the content of the cobranded
33
+ // emails themselves as there there won't be images.
34
+ formData.append('file', '');
35
+ formData.append('coBrandingData', publishCobrandingStr) ;
36
+
37
+ const response = await emailCustomizationsAPI.publishCobranding(formData, context);
38
+
39
+ if (response.status !== httpResponseStatusCodes.OK) {
40
+ throw Error(`Failed to publish cobranding with from email: ${publishCobrandingModel.fromEmailAddress} - Response: ${response.status}`);
41
+ }
42
+
43
+ return response.data;
44
+ };
45
+
46
+ const getAccountsByCobrandingEmail = async email => {
47
+ const response = await emailCustomizationsAPI.getAccountsByCobrandingEmail(email);
48
+
49
+ if (response.status !== httpResponseStatusCodes.OK) {
50
+ throw Error(`Failed to get account ids by email: ${email} - Response: ${response.status}`);
51
+ }
52
+
53
+ return response.data;
54
+ };
55
+
56
+ module.exports = {
57
+ getCobranding,
58
+ deleteCobranding,
59
+ publishCobranding,
60
+ getAccountsByCobrandingEmail
61
+ };
@@ -1,48 +1,48 @@
1
- const requests = require('../../../../../common/requests/cookieAuth/requests');
2
- const { backendUrl } = require('../../../../../env').getEnv();
3
-
4
- const Endpoints = {
5
- createApiKey: `${backendUrl}/saas/integration-tests/api-keys`,
6
- getStaticApiKeyByAccountId: accountId => `${backendUrl}/saas/integration-tests/accounts/${accountId}/static-api-keys`,
7
- getApiKeyByKeyValue: `${backendUrl}/saas/integration-tests/api-keys`,
8
- removeStaticApiKey: accountId => `${backendUrl}/saas/integration-tests/accounts/${accountId}/static-api-keys`,
9
- dynamicApiKey: accountId => `${backendUrl}/saas/integration-tests/accounts/${accountId}/dynamic-api-key`
10
- };
11
-
12
- const createStaticApiKey = (data, context) => {
13
- return requests.postRequestHandler(Endpoints.createApiKey, data, context);
14
- };
15
-
16
- const createGeneratorApiKey = (data, context) => {
17
- return requests.postRequestHandler(Endpoints.createApiKey, data, context);
18
- };
19
-
20
- const getStaticApiKeyByAccountId = (accountId, context) => {
21
- return requests.getRequestHandler(Endpoints.getStaticApiKeyByAccountId(accountId), {}, context);
22
- };
23
-
24
- const getApiKeyDetails = (apiKeyValue, context) => {
25
- return requests.getRequestHandler(Endpoints.getApiKeyByKeyValue, { apiKeyValue }, context);
26
- };
27
-
28
- const deleteStaticApiKey = (accountId, context) => {
29
- return requests.deleteRequestHandler(Endpoints.removeStaticApiKey(accountId), context);
30
- };
31
-
32
- const deleteDynamicApiKey = (accountId, context) => {
33
- return requests.deleteRequestHandler(Endpoints.dynamicApiKey(accountId), context);
34
- };
35
-
36
- const makeDynamicApiKeyExpired = (accountId, context) => {
37
- return requests.patchRequestHandler(Endpoints.dynamicApiKey(accountId), context, {});
38
- };
39
-
40
- module.exports = {
41
- createStaticApiKey,
42
- createGeneratorApiKey,
43
- getStaticApiKeyByAccountId,
44
- getApiKeyDetails,
45
- makeDynamicApiKeyExpired,
46
- deleteStaticApiKey,
47
- deleteDynamicApiKey
48
- };
1
+ const requests = require('../../../../../common/requests/cookieAuth/requests');
2
+ const { backendUrl } = require('../../../../../env').getEnv();
3
+
4
+ const Endpoints = {
5
+ createApiKey: `${backendUrl}/saas/integration-tests/api-keys`,
6
+ getStaticApiKeyByAccountId: accountId => `${backendUrl}/saas/integration-tests/accounts/${accountId}/static-api-keys`,
7
+ getApiKeyByKeyValue: `${backendUrl}/saas/integration-tests/api-keys`,
8
+ removeStaticApiKey: accountId => `${backendUrl}/saas/integration-tests/accounts/${accountId}/static-api-keys`,
9
+ dynamicApiKey: accountId => `${backendUrl}/saas/integration-tests/accounts/${accountId}/dynamic-api-key`
10
+ };
11
+
12
+ const createStaticApiKey = (data, context) => {
13
+ return requests.postRequestHandler(Endpoints.createApiKey, data, context);
14
+ };
15
+
16
+ const createGeneratorApiKey = (data, context) => {
17
+ return requests.postRequestHandler(Endpoints.createApiKey, data, context);
18
+ };
19
+
20
+ const getStaticApiKeyByAccountId = (accountId, context) => {
21
+ return requests.getRequestHandler(Endpoints.getStaticApiKeyByAccountId(accountId), {}, context);
22
+ };
23
+
24
+ const getApiKeyDetails = (apiKeyValue, context) => {
25
+ return requests.getRequestHandler(Endpoints.getApiKeyByKeyValue, { apiKeyValue }, context);
26
+ };
27
+
28
+ const deleteStaticApiKey = (accountId, context) => {
29
+ return requests.deleteRequestHandler(Endpoints.removeStaticApiKey(accountId), context);
30
+ };
31
+
32
+ const deleteDynamicApiKey = (accountId, context) => {
33
+ return requests.deleteRequestHandler(Endpoints.dynamicApiKey(accountId), context);
34
+ };
35
+
36
+ const makeDynamicApiKeyExpired = (accountId, context) => {
37
+ return requests.patchRequestHandler(Endpoints.dynamicApiKey(accountId), context, {});
38
+ };
39
+
40
+ module.exports = {
41
+ createStaticApiKey,
42
+ createGeneratorApiKey,
43
+ getStaticApiKeyByAccountId,
44
+ getApiKeyDetails,
45
+ makeDynamicApiKeyExpired,
46
+ deleteStaticApiKey,
47
+ deleteDynamicApiKey
48
+ };
@@ -1,74 +1,74 @@
1
- const accountsAPI = require('./accounts.openapi.api');
2
- const crypto = require('crypto');
3
-
4
- const generateApiKeyValue = accountName => {
5
- return crypto.createHash('sha256').update(accountName).digest('base64');
6
- };
7
-
8
- const createStaticApiKey = async (accountId, apiKeyValue, context, { apiKeyType = 'ACCOUNT_STATIC', apiKeyName = null } = {}) => {
9
- const data = { accountId, apiKeyValue, apiKeyName, apiKeyType };
10
- return accountsAPI.createStaticApiKey(data, context);
11
- };
12
-
13
- const createGeneratorApiKey = async (accountId, apiKeyValue, context, { apiKeyType = 'GENERATOR', apiKeyName = null } = {}) => {
14
- const data = { accountId, apiKeyValue, apiKeyName, apiKeyType };
15
- return accountsAPI.createGeneratorApiKey(data, context);
16
- };
17
-
18
- const getStaticApiKeyByAccountId = async (accountId, context) => {
19
- return accountsAPI.getStaticApiKeyByAccountId(accountId, context);
20
- };
21
-
22
- const getApiKeyDetails = async (apiKeyValue, context) => {
23
- return accountsAPI.getApiKeyDetails(apiKeyValue, context);
24
- };
25
-
26
- const deleteStaticApiKey = async (accountId, context) => {
27
- return accountsAPI.deleteStaticApiKey(accountId, context);
28
- };
29
-
30
- const getOrCreateStaticApiKey = async (accountId, apiKeyValue, context, { apiKeyType = 'ACCOUNT_STATIC', apiKeyName = null } = {}) => {
31
- let response = await getStaticApiKeyByAccountId(accountId, context);
32
-
33
- if (response.data.apiKeyValue) {
34
- return response.data;
35
- }
36
-
37
- response = await getApiKeyDetails(apiKeyValue, context);
38
-
39
- if (!response.data.apiKeyValue) {
40
- response = await createStaticApiKey(accountId, apiKeyValue, context, { apiKeyType, apiKeyName });
41
- }
42
-
43
- return response.data;
44
- };
45
-
46
- const getOrCreateGeneratorApiKey = async (accountId, apiKeyValue, context, { apiKeyType = 'GENERATOR', apiKeyName = null } = {}) => {
47
- const existingApiKey = await getApiKeyDetails(apiKeyValue, context);
48
-
49
- if (!existingApiKey.apiKeyValue) {
50
- return createGeneratorApiKey(accountId, apiKeyValue, context, { apiKeyType, apiKeyName });
51
- }
52
-
53
- return existingApiKey;
54
- };
55
-
56
- const deleteDynamicApiKey = async (accountId, context) => {
57
- return accountsAPI.deleteDynamicApiKey(accountId, context);
58
- };
59
-
60
- const makeDynamicApiKeyExpired = async (accountId, context) => {
61
- return accountsAPI.makeDynamicApiKeyExpired(accountId, context);
62
- };
63
-
64
- module.exports = {
65
- createStaticApiKey,
66
- generateApiKeyValue,
67
- getOrCreateStaticApiKey,
68
- getOrCreateGeneratorApiKey,
69
- getStaticApiKeyByAccountId,
70
- getApiKeyDetails,
71
- makeDynamicApiKeyExpired,
72
- deleteStaticApiKey,
73
- deleteDynamicApiKey
74
- };
1
+ const accountsAPI = require('./accounts.openapi.api');
2
+ const crypto = require('crypto');
3
+
4
+ const generateApiKeyValue = accountName => {
5
+ return crypto.createHash('sha256').update(accountName).digest('base64');
6
+ };
7
+
8
+ const createStaticApiKey = async (accountId, apiKeyValue, context, { apiKeyType = 'ACCOUNT_STATIC', apiKeyName = null } = {}) => {
9
+ const data = { accountId, apiKeyValue, apiKeyName, apiKeyType };
10
+ return accountsAPI.createStaticApiKey(data, context);
11
+ };
12
+
13
+ const createGeneratorApiKey = async (accountId, apiKeyValue, context, { apiKeyType = 'GENERATOR', apiKeyName = null } = {}) => {
14
+ const data = { accountId, apiKeyValue, apiKeyName, apiKeyType };
15
+ return accountsAPI.createGeneratorApiKey(data, context);
16
+ };
17
+
18
+ const getStaticApiKeyByAccountId = async (accountId, context) => {
19
+ return accountsAPI.getStaticApiKeyByAccountId(accountId, context);
20
+ };
21
+
22
+ const getApiKeyDetails = async (apiKeyValue, context) => {
23
+ return accountsAPI.getApiKeyDetails(apiKeyValue, context);
24
+ };
25
+
26
+ const deleteStaticApiKey = async (accountId, context) => {
27
+ return accountsAPI.deleteStaticApiKey(accountId, context);
28
+ };
29
+
30
+ const getOrCreateStaticApiKey = async (accountId, apiKeyValue, context, { apiKeyType = 'ACCOUNT_STATIC', apiKeyName = null } = {}) => {
31
+ let response = await getStaticApiKeyByAccountId(accountId, context);
32
+
33
+ if (response.data.apiKeyValue) {
34
+ return response.data;
35
+ }
36
+
37
+ response = await getApiKeyDetails(apiKeyValue, context);
38
+
39
+ if (!response.data.apiKeyValue) {
40
+ response = await createStaticApiKey(accountId, apiKeyValue, context, { apiKeyType, apiKeyName });
41
+ }
42
+
43
+ return response.data;
44
+ };
45
+
46
+ const getOrCreateGeneratorApiKey = async (accountId, apiKeyValue, context, { apiKeyType = 'GENERATOR', apiKeyName = null } = {}) => {
47
+ const existingApiKey = await getApiKeyDetails(apiKeyValue, context);
48
+
49
+ if (!existingApiKey.apiKeyValue) {
50
+ return createGeneratorApiKey(accountId, apiKeyValue, context, { apiKeyType, apiKeyName });
51
+ }
52
+
53
+ return existingApiKey;
54
+ };
55
+
56
+ const deleteDynamicApiKey = async (accountId, context) => {
57
+ return accountsAPI.deleteDynamicApiKey(accountId, context);
58
+ };
59
+
60
+ const makeDynamicApiKeyExpired = async (accountId, context) => {
61
+ return accountsAPI.makeDynamicApiKeyExpired(accountId, context);
62
+ };
63
+
64
+ module.exports = {
65
+ createStaticApiKey,
66
+ generateApiKeyValue,
67
+ getOrCreateStaticApiKey,
68
+ getOrCreateGeneratorApiKey,
69
+ getStaticApiKeyByAccountId,
70
+ getApiKeyDetails,
71
+ makeDynamicApiKeyExpired,
72
+ deleteStaticApiKey,
73
+ deleteDynamicApiKey
74
+ };
@@ -1,21 +1,21 @@
1
- const requests = require('../../../../../common/requests/cookieAuth/requests');
2
- const { backendUrl } = require('../../../../../env').getEnv();
3
-
4
- const Endpoints = {
5
- get: accountId => `${backendUrl}/saas/account/${accountId}/settings`,
6
- edit: accountId => `${backendUrl}/saas/account/${accountId}/settings`
7
- };
8
-
9
- const getAccountSettings = (accountId, context) => {
10
- return requests.getRequestHandler(Endpoints.get(accountId), {}, context);
11
- };
12
-
13
- const updateAccountSettings = (updateAccountSettingsModel, context) => {
14
- const { accountId } = updateAccountSettingsModel;
15
- return requests.putRequestHandler(Endpoints.edit(accountId), updateAccountSettingsModel, context);
16
- };
17
-
18
- module.exports = {
19
- getAccountSettings,
20
- updateAccountSettings
21
- };
1
+ const requests = require('../../../../../common/requests/cookieAuth/requests');
2
+ const { backendUrl } = require('../../../../../env').getEnv();
3
+
4
+ const Endpoints = {
5
+ get: accountId => `${backendUrl}/saas/account/${accountId}/settings`,
6
+ edit: accountId => `${backendUrl}/saas/account/${accountId}/settings`
7
+ };
8
+
9
+ const getAccountSettings = (accountId, context) => {
10
+ return requests.getRequestHandler(Endpoints.get(accountId), {}, context);
11
+ };
12
+
13
+ const updateAccountSettings = (updateAccountSettingsModel, context) => {
14
+ const { accountId } = updateAccountSettingsModel;
15
+ return requests.putRequestHandler(Endpoints.edit(accountId), updateAccountSettingsModel, context);
16
+ };
17
+
18
+ module.exports = {
19
+ getAccountSettings,
20
+ updateAccountSettings
21
+ };