@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,38 +1,38 @@
1
- class UpdateAccountSettingsModel {
2
- constructor(
3
- accountId,
4
- {
5
- isHighPriority = false,
6
- hasAnalyticsDashboard = false,
7
- isEmailOnWelcomePageVA = false,
8
- isExcludedFromNetwork = false,
9
- isOcrEnabled = false,
10
- isCoverageAudit = false,
11
- isAccountRequirementsEnabled = false,
12
- isAccountRequirementsAutoRenewalsEnabled = false,
13
- autoGaps = {},
14
- auditSlaHours = 24,
15
- shouldReachOutVendors = true
16
- } = {}
17
- ) {
18
- this.accountId = accountId;
19
- this.isHighPriority = isHighPriority;
20
- this.hasAnalyticsDashboard = hasAnalyticsDashboard;
21
- this.isEmailOnWelcomePageVA = isEmailOnWelcomePageVA;
22
- this.isExcludedFromNetwork = isExcludedFromNetwork;
23
- this.isOcrEnabled = isOcrEnabled;
24
- this.isCoverageAudit = isCoverageAudit;
25
- this.isAccountRequirementsEnabled = isAccountRequirementsEnabled;
26
- this.isAccountRequirementsAutoRenewalsEnabled = isAccountRequirementsAutoRenewalsEnabled;
27
- this.autoGaps = { ... DEFAULT_AUTO_GAPS, ... autoGaps };
28
- this.auditSlaHours = auditSlaHours;
29
- this.shouldReachOutVendors = shouldReachOutVendors;
30
- }
31
- }
32
-
33
- const DEFAULT_AUTO_GAPS = {
34
- isAutoGapsEnabledForTenants: false,
35
- isAutoGapsEnabledForVendors: false
36
- };
37
-
38
- module.exports = UpdateAccountSettingsModel;
1
+ class UpdateAccountSettingsModel {
2
+ constructor(
3
+ accountId,
4
+ {
5
+ isHighPriority = false,
6
+ hasAnalyticsDashboard = false,
7
+ isEmailOnWelcomePageVA = false,
8
+ isExcludedFromNetwork = false,
9
+ isOcrEnabled = false,
10
+ isCoverageAudit = false,
11
+ isAccountRequirementsEnabled = false,
12
+ isAccountRequirementsAutoRenewalsEnabled = false,
13
+ autoGaps = {},
14
+ auditSlaHours = 24,
15
+ shouldReachOutVendors = true
16
+ } = {}
17
+ ) {
18
+ this.accountId = accountId;
19
+ this.isHighPriority = isHighPriority;
20
+ this.hasAnalyticsDashboard = hasAnalyticsDashboard;
21
+ this.isEmailOnWelcomePageVA = isEmailOnWelcomePageVA;
22
+ this.isExcludedFromNetwork = isExcludedFromNetwork;
23
+ this.isOcrEnabled = isOcrEnabled;
24
+ this.isCoverageAudit = isCoverageAudit;
25
+ this.isAccountRequirementsEnabled = isAccountRequirementsEnabled;
26
+ this.isAccountRequirementsAutoRenewalsEnabled = isAccountRequirementsAutoRenewalsEnabled;
27
+ this.autoGaps = { ... DEFAULT_AUTO_GAPS, ... autoGaps };
28
+ this.auditSlaHours = auditSlaHours;
29
+ this.shouldReachOutVendors = shouldReachOutVendors;
30
+ }
31
+ }
32
+
33
+ const DEFAULT_AUTO_GAPS = {
34
+ isAutoGapsEnabledForTenants: false,
35
+ isAutoGapsEnabledForVendors: false
36
+ };
37
+
38
+ module.exports = UpdateAccountSettingsModel;
@@ -1,58 +1,58 @@
1
- const coreService = require('../api/core/accounts.core.service');
2
- const CreateAccountModel = require('../models/core/create.account.model');
3
- const configsUtil = require('../../../../common/utils/configsUtil');
4
-
5
- const getOrCreateAccount = (context, accountName, email, { password, type } = {}) => {
6
- const createAccountModel = new CreateAccountModel(
7
- accountName,
8
- email,
9
- password,
10
- propertyType = type
11
- );
12
- return coreService.getOrCreateAccount(createAccountModel, context);
13
- };
14
-
15
- const createAccount = async (context, accountName, email, { password, type } = {}) => {
16
- const createAccountModel = new CreateAccountModel(
17
- accountName,
18
- email,
19
- password,
20
- propertyType = type
21
- );
22
-
23
- const response = await coreService.createAccount(createAccountModel, context);
24
- return response.data;
25
- };
26
-
27
- const deleteAccountByName = async (context, accountName) => {
28
- const existingAccount = await coreService.getAccount(accountName, context);
29
-
30
- return existingAccount && coreService.deleteAccountById(existingAccount.userId, context);
31
- };
32
-
33
- const isUIConfig = config => {
34
- return configsUtil.isUIConfig(config, attributesConvertor);
35
- };
36
-
37
- const parseAccountSettingsConfig = (accountId, settingsConfig) => {
38
- const settings = configsUtil.objectConvertor(settingsConfig, attributesConvertor);
39
- return { ... settings, accountId };
40
- };
41
-
42
- module.exports = {
43
- getOrCreateAccount,
44
- createAccount,
45
- deleteAccountByName,
46
- parseAccountSettingsConfig,
47
- isUIConfig
48
- };
49
-
50
- const attributesConvertor = {
51
- 'Enable high priority in auditor portal': 'isHighPriority',
52
- 'Analytics Dashboard': 'hasAnalyticsDashboard',
53
- 'Email on welcome page experiment': 'isEmailOnWelcomePageVA',
54
- 'Exclude account records from the Jones Network': 'isExcludedFromNetwork',
55
- 'OCR Audit Enabled': 'isOcrEnabled',
56
- 'Coverage Auditing': 'isCoverageAudit',
57
- 'Account Requirements': 'isAccountRequirementsEnabled'
58
- };
1
+ const coreService = require('../api/core/accounts.core.service');
2
+ const CreateAccountModel = require('../models/core/create.account.model');
3
+ const configsUtil = require('../../../../common/utils/configsUtil');
4
+
5
+ const getOrCreateAccount = (context, accountName, email, { password, type } = {}) => {
6
+ const createAccountModel = new CreateAccountModel(
7
+ accountName,
8
+ email,
9
+ password,
10
+ propertyType = type
11
+ );
12
+ return coreService.getOrCreateAccount(createAccountModel, context);
13
+ };
14
+
15
+ const createAccount = async (context, accountName, email, { password, type } = {}) => {
16
+ const createAccountModel = new CreateAccountModel(
17
+ accountName,
18
+ email,
19
+ password,
20
+ propertyType = type
21
+ );
22
+
23
+ const response = await coreService.createAccount(createAccountModel, context);
24
+ return response.data;
25
+ };
26
+
27
+ const deleteAccountByName = async (context, accountName) => {
28
+ const existingAccount = await coreService.getAccount(accountName, context);
29
+
30
+ return existingAccount && coreService.deleteAccountById(existingAccount.userId, context);
31
+ };
32
+
33
+ const isUIConfig = config => {
34
+ return configsUtil.isUIConfig(config, attributesConvertor);
35
+ };
36
+
37
+ const parseAccountSettingsConfig = (accountId, settingsConfig) => {
38
+ const settings = configsUtil.objectConvertor(settingsConfig, attributesConvertor);
39
+ return { ... settings, accountId };
40
+ };
41
+
42
+ module.exports = {
43
+ getOrCreateAccount,
44
+ createAccount,
45
+ deleteAccountByName,
46
+ parseAccountSettingsConfig,
47
+ isUIConfig
48
+ };
49
+
50
+ const attributesConvertor = {
51
+ 'Enable high priority in auditor portal': 'isHighPriority',
52
+ 'Analytics Dashboard': 'hasAnalyticsDashboard',
53
+ 'Email on welcome page experiment': 'isEmailOnWelcomePageVA',
54
+ 'Exclude account records from the Jones Network': 'isExcludedFromNetwork',
55
+ 'OCR Audit Enabled': 'isOcrEnabled',
56
+ 'Coverage Auditing': 'isCoverageAudit',
57
+ 'Account Requirements': 'isAccountRequirementsEnabled'
58
+ };
@@ -1,35 +1,35 @@
1
- const requests = require('../../../../common/requests/cookieAuth/requests');
2
- const { backendUrl } = require('../../../../env').getEnv();
3
-
4
- const AGREEMENT_API_URL = `${backendUrl}/saas/contractor/agreement`;
5
-
6
- const Endpoints = {
7
- create: AGREEMENT_API_URL,
8
- delete: AGREEMENT_API_URL,
9
- getAgreementPreSignedUrl: `${backendUrl}/pre-signed-url/upload/agreement`
10
- };
11
-
12
- const getAgreementPreSignedUrl = (formData, context) => {
13
- return requests.postRequestHandler(Endpoints.getAgreementPreSignedUrl, formData, context, formData.getHeaders());
14
- };
15
-
16
- const uploadAgreementToS3 = (preSignedUrl, file) => {
17
- return requests.putRequestHandler(preSignedUrl, file);
18
- };
19
-
20
- const createAgreement = (createAgreementModel, context) => {
21
- return requests.postRequestHandler(Endpoints.create, createAgreementModel, context);
22
- };
23
-
24
- const deleteAgreement = (recordId, context) => {
25
- const headers = {};
26
- const params = { contractorId: recordId };
27
- return requests.deleteRequestHandler(Endpoints.delete, context, headers, params);
28
- };
29
-
30
- module.exports = {
31
- createAgreement,
32
- deleteAgreement,
33
- uploadAgreementToS3,
34
- getAgreementPreSignedUrl
35
- };
1
+ const requests = require('../../../../common/requests/cookieAuth/requests');
2
+ const { backendUrl } = require('../../../../env').getEnv();
3
+
4
+ const AGREEMENT_API_URL = `${backendUrl}/saas/contractor/agreement`;
5
+
6
+ const Endpoints = {
7
+ create: AGREEMENT_API_URL,
8
+ delete: AGREEMENT_API_URL,
9
+ getAgreementPreSignedUrl: `${backendUrl}/pre-signed-url/upload/agreement`
10
+ };
11
+
12
+ const getAgreementPreSignedUrl = (formData, context) => {
13
+ return requests.postRequestHandler(Endpoints.getAgreementPreSignedUrl, formData, context, formData.getHeaders());
14
+ };
15
+
16
+ const uploadAgreementToS3 = (preSignedUrl, file) => {
17
+ return requests.putRequestHandler(preSignedUrl, file);
18
+ };
19
+
20
+ const createAgreement = (createAgreementModel, context) => {
21
+ return requests.postRequestHandler(Endpoints.create, createAgreementModel, context);
22
+ };
23
+
24
+ const deleteAgreement = (recordId, context) => {
25
+ const headers = {};
26
+ const params = { contractorId: recordId };
27
+ return requests.deleteRequestHandler(Endpoints.delete, context, headers, params);
28
+ };
29
+
30
+ module.exports = {
31
+ createAgreement,
32
+ deleteAgreement,
33
+ uploadAgreementToS3,
34
+ getAgreementPreSignedUrl
35
+ };
@@ -1,81 +1,81 @@
1
- const FormData = require('form-data');
2
- const path = require('path');
3
- const uploadFileApi = require('../../../internal-api/uploadFiles/api/upload.file.api');
4
- const agreementAPI = require('./agreement.api');
5
- const { CreateAgreementModel } = require('../models/create.agreement.model');
6
- const { validateType } = require('../../../../common/validations/typeValidations');
7
- const httpResponseStatusCodes = require('../../../../common/httpResponseStatusCodes.json');
8
- const { CONTRACT, TEMP_DOCUMENTS } = require('../../../../common/consts/s3FileTypes');
9
-
10
- const createAgreement = (createAgreementModel, context) => {
11
- validateType(createAgreementModel, CreateAgreementModel);
12
- return agreementAPI.createAgreement(createAgreementModel, context);
13
- };
14
-
15
- const deleteAgreement = (recordId, context) => {
16
- return agreementAPI.deleteAgreement(recordId, context);
17
- };
18
-
19
- const getAgreementPreSignedUrl = (recordId, context, { filePath }) => {
20
- const formData = new FormData();
21
- const fileName = path.basename(filePath);
22
- formData.append('recordId', recordId);
23
- formData.append('fileType', TEMP_DOCUMENTS);
24
- formData.append('fileName', fileName) ;
25
-
26
- return agreementAPI.getAgreementPreSignedUrl(formData, context);
27
- };
28
-
29
- const uploadAgreementToTempBucket = (preSignedUrl, file) => {
30
- return agreementAPI.uploadAgreementToS3(preSignedUrl, file);
31
- };
32
-
33
- const uploadAgreementToS3 = (fileName, recordId) => {
34
- const formData = new FormData();
35
- formData.append('fileName', fileName) ;
36
- formData.append('fileType', CONTRACT);
37
- formData.append('recordId', recordId);
38
- return uploadFileApi.uploadFile(formData);
39
- };
40
-
41
- const validateResponse = (response, recordId) => {
42
- if (response.status !== httpResponseStatusCodes.OK) {
43
- throw new Error(`Failed to upload agreement to S3 for record ${recordId}`);
44
- }
45
- };
46
-
47
- const uploadAgreement = async (
48
- recordId,
49
- filePath,
50
- uploaderId,
51
- context,
52
- { contractorDateModified } = {}
53
- ) => {
54
- const { data: { preSignedUrl, fileName: fullFilePath } } = await getAgreementPreSignedUrl(recordId, context, { filePath });
55
-
56
- const uploadResults = await uploadAgreementToTempBucket(preSignedUrl, filePath);
57
- validateResponse(uploadResults, recordId);
58
-
59
- const response = await uploadAgreementToS3(fullFilePath, recordId);
60
- validateResponse(response, recordId);
61
-
62
- const createAgreementModel = new CreateAgreementModel({
63
- contractorId: recordId,
64
- contractorDateModified,
65
- uploaderId,
66
- signedContractName: fullFilePath
67
- });
68
-
69
- const createResponse = await createAgreement(createAgreementModel, context);
70
-
71
- if (createResponse.status !== httpResponseStatusCodes.OK) {
72
- throw new Error(`Failed to upload agreement for record ${recordId}`);
73
- }
74
-
75
- return createResponse;
76
- };
77
- module.exports = {
78
- createAgreement,
79
- deleteAgreement,
80
- uploadAgreement
81
- };
1
+ const FormData = require('form-data');
2
+ const path = require('path');
3
+ const uploadFileApi = require('../../../internal-api/uploadFiles/api/upload.file.api');
4
+ const agreementAPI = require('./agreement.api');
5
+ const { CreateAgreementModel } = require('../models/create.agreement.model');
6
+ const { validateType } = require('../../../../common/validations/typeValidations');
7
+ const httpResponseStatusCodes = require('../../../../common/httpResponseStatusCodes.json');
8
+ const { CONTRACT, TEMP_DOCUMENTS } = require('../../../../common/consts/s3FileTypes');
9
+
10
+ const createAgreement = (createAgreementModel, context) => {
11
+ validateType(createAgreementModel, CreateAgreementModel);
12
+ return agreementAPI.createAgreement(createAgreementModel, context);
13
+ };
14
+
15
+ const deleteAgreement = (recordId, context) => {
16
+ return agreementAPI.deleteAgreement(recordId, context);
17
+ };
18
+
19
+ const getAgreementPreSignedUrl = (recordId, context, { filePath }) => {
20
+ const formData = new FormData();
21
+ const fileName = path.basename(filePath);
22
+ formData.append('recordId', recordId);
23
+ formData.append('fileType', TEMP_DOCUMENTS);
24
+ formData.append('fileName', fileName) ;
25
+
26
+ return agreementAPI.getAgreementPreSignedUrl(formData, context);
27
+ };
28
+
29
+ const uploadAgreementToTempBucket = (preSignedUrl, file) => {
30
+ return agreementAPI.uploadAgreementToS3(preSignedUrl, file);
31
+ };
32
+
33
+ const uploadAgreementToS3 = (fileName, recordId) => {
34
+ const formData = new FormData();
35
+ formData.append('fileName', fileName) ;
36
+ formData.append('fileType', CONTRACT);
37
+ formData.append('recordId', recordId);
38
+ return uploadFileApi.uploadFile(formData);
39
+ };
40
+
41
+ const validateResponse = (response, recordId) => {
42
+ if (response.status !== httpResponseStatusCodes.OK) {
43
+ throw new Error(`Failed to upload agreement to S3 for record ${recordId}`);
44
+ }
45
+ };
46
+
47
+ const uploadAgreement = async (
48
+ recordId,
49
+ filePath,
50
+ uploaderId,
51
+ context,
52
+ { contractorDateModified } = {}
53
+ ) => {
54
+ const { data: { preSignedUrl, fileName: fullFilePath } } = await getAgreementPreSignedUrl(recordId, context, { filePath });
55
+
56
+ const uploadResults = await uploadAgreementToTempBucket(preSignedUrl, filePath);
57
+ validateResponse(uploadResults, recordId);
58
+
59
+ const response = await uploadAgreementToS3(fullFilePath, recordId);
60
+ validateResponse(response, recordId);
61
+
62
+ const createAgreementModel = new CreateAgreementModel({
63
+ contractorId: recordId,
64
+ contractorDateModified,
65
+ uploaderId,
66
+ signedContractName: fullFilePath
67
+ });
68
+
69
+ const createResponse = await createAgreement(createAgreementModel, context);
70
+
71
+ if (createResponse.status !== httpResponseStatusCodes.OK) {
72
+ throw new Error(`Failed to upload agreement for record ${recordId}`);
73
+ }
74
+
75
+ return createResponse;
76
+ };
77
+ module.exports = {
78
+ createAgreement,
79
+ deleteAgreement,
80
+ uploadAgreement
81
+ };
@@ -1,8 +1,8 @@
1
- const UPLOADER_TYPE = {
2
- VENDOR: 'VENDOR',
3
- USER: 'USER'
4
- };
5
-
6
- const DEFAULT_AGREEMENT_TEMPLATE = 'tpl_C3sgbpYx7LHyRNdtM7';
7
-
8
- module.exports = { UPLOADER_TYPE, DEFAULT_AGREEMENT_TEMPLATE };
1
+ const UPLOADER_TYPE = {
2
+ VENDOR: 'VENDOR',
3
+ USER: 'USER'
4
+ };
5
+
6
+ const DEFAULT_AGREEMENT_TEMPLATE = 'tpl_C3sgbpYx7LHyRNdtM7';
7
+
8
+ module.exports = { UPLOADER_TYPE, DEFAULT_AGREEMENT_TEMPLATE };
@@ -1,11 +1,11 @@
1
- const createModel = require('./models/create.agreement.model');
2
- const services = require('./api/agreement.service');
3
- const agreementConsts = require('./consts/consts');
4
-
5
- const models = { create: createModel };
6
-
7
- const consts = {
8
- agreement: agreementConsts
9
- };
10
-
11
- module.exports = { services, models, consts };
1
+ const createModel = require('./models/create.agreement.model');
2
+ const services = require('./api/agreement.service');
3
+ const agreementConsts = require('./consts/consts');
4
+
5
+ const models = { create: createModel };
6
+
7
+ const consts = {
8
+ agreement: agreementConsts
9
+ };
10
+
11
+ module.exports = { services, models, consts };
@@ -1,12 +1,12 @@
1
- const { UPLOADER_TYPE } = require('../consts/consts');
2
-
3
- class CreateAgreementModel {
4
- constructor({ contractorId, contractorDateModified, uploaderId, signedContractName, uploaderType = UPLOADER_TYPE.USER }) {
5
- this.contractorId = contractorId;
6
- this.contractorDateModified = contractorDateModified || null;
7
- this.uploaderId = uploaderId;
8
- this.signedContractName = signedContractName;
9
- this.uploaderType = uploaderType;
10
- }
11
- }
12
- module.exports = { CreateAgreementModel };
1
+ const { UPLOADER_TYPE } = require('../consts/consts');
2
+
3
+ class CreateAgreementModel {
4
+ constructor({ contractorId, contractorDateModified, uploaderId, signedContractName, uploaderType = UPLOADER_TYPE.USER }) {
5
+ this.contractorId = contractorId;
6
+ this.contractorDateModified = contractorDateModified || null;
7
+ this.uploaderId = uploaderId;
8
+ this.signedContractName = signedContractName;
9
+ this.uploaderType = uploaderType;
10
+ }
11
+ }
12
+ module.exports = { CreateAgreementModel };
@@ -1,43 +1,43 @@
1
- const requests = require('../../../../common/requests/cookieAuth/requests');
2
- const { backendUrl } = require('../../../../env').getEnv();
3
-
4
- const customerRuleBasePath = 'saas/customer-rule';
5
- const customerRulesBasePath = 'saas/customer-rules';
6
-
7
- const Endpoints = {
8
- createCustomerRule: `${backendUrl}/${customerRuleBasePath}`,
9
- getCustomerRulesForIcs: `${backendUrl}/${customerRulesBasePath}`,
10
- getCustomerRulesForAuditor: `${backendUrl}/${customerRulesBasePath}/auditor`,
11
- updateCustomerRule: ruleId => `${backendUrl}/${customerRuleBasePath}/${ruleId}`,
12
- deleteCustomerRule: ruleId => `${backendUrl}/${customerRuleBasePath}/${ruleId}`
13
- };
14
-
15
- const createCustomerRule = (customerRuleModel, context) => {
16
- return requests.postRequestHandler(Endpoints.createCustomerRule, customerRuleModel, context);
17
- };
18
-
19
- const getCustomerRulesForIcs = (projectId, context) => {
20
- const params = { projectId };
21
- return requests.getRequestHandler(Endpoints.getCustomerRulesForIcs, params, context);
22
- };
23
-
24
- const getCustomerRulesForAuditor = (recordId, context) => {
25
- const params = { recordId };
26
- return requests.getRequestHandler(Endpoints.getCustomerRulesForAuditor, params, context);
27
- };
28
-
29
- const updateCustomerRule = (customerRuleModel, customerRuleId, context) => {
30
- return requests.putRequestHandler(Endpoints.updateCustomerRule(customerRuleId), customerRuleModel, context);
31
- };
32
-
33
- const deleteCustomerRuleById = (customerRuleModel, customerRuleId, context) => {
34
- return requests.deleteRequestHandler(Endpoints.deleteCustomerRule(customerRuleId), context, {}, {}, customerRuleModel);
35
- };
36
-
37
- module.exports = {
38
- createCustomerRule,
39
- getCustomerRulesForIcs,
40
- getCustomerRulesForAuditor,
41
- updateCustomerRule,
42
- deleteCustomerRuleById
43
- };
1
+ const requests = require('../../../../common/requests/cookieAuth/requests');
2
+ const { backendUrl } = require('../../../../env').getEnv();
3
+
4
+ const customerRuleBasePath = 'saas/customer-rule';
5
+ const customerRulesBasePath = 'saas/customer-rules';
6
+
7
+ const Endpoints = {
8
+ createCustomerRule: `${backendUrl}/${customerRuleBasePath}`,
9
+ getCustomerRulesForIcs: `${backendUrl}/${customerRulesBasePath}`,
10
+ getCustomerRulesForAuditor: `${backendUrl}/${customerRulesBasePath}/auditor`,
11
+ updateCustomerRule: ruleId => `${backendUrl}/${customerRuleBasePath}/${ruleId}`,
12
+ deleteCustomerRule: ruleId => `${backendUrl}/${customerRuleBasePath}/${ruleId}`
13
+ };
14
+
15
+ const createCustomerRule = (customerRuleModel, context) => {
16
+ return requests.postRequestHandler(Endpoints.createCustomerRule, customerRuleModel, context);
17
+ };
18
+
19
+ const getCustomerRulesForIcs = (projectId, context) => {
20
+ const params = { projectId };
21
+ return requests.getRequestHandler(Endpoints.getCustomerRulesForIcs, params, context);
22
+ };
23
+
24
+ const getCustomerRulesForAuditor = (recordId, context) => {
25
+ const params = { recordId };
26
+ return requests.getRequestHandler(Endpoints.getCustomerRulesForAuditor, params, context);
27
+ };
28
+
29
+ const updateCustomerRule = (customerRuleModel, customerRuleId, context) => {
30
+ return requests.putRequestHandler(Endpoints.updateCustomerRule(customerRuleId), customerRuleModel, context);
31
+ };
32
+
33
+ const deleteCustomerRuleById = (customerRuleModel, customerRuleId, context) => {
34
+ return requests.deleteRequestHandler(Endpoints.deleteCustomerRule(customerRuleId), context, {}, {}, customerRuleModel);
35
+ };
36
+
37
+ module.exports = {
38
+ createCustomerRule,
39
+ getCustomerRulesForIcs,
40
+ getCustomerRulesForAuditor,
41
+ updateCustomerRule,
42
+ deleteCustomerRuleById
43
+ };