@getjones/test-infra 3.0.0 → 3.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (210) hide show
  1. package/package.json +30 -30
  2. package/src/common/commonFlows/auth/auth.js +40 -40
  3. package/src/common/commonFlows/index.js +4 -4
  4. package/src/common/commonFlows/records/records.js +123 -102
  5. package/src/common/consts/activationStatuses.js +6 -0
  6. package/src/common/consts/constantsForRecordsSortingAndFilters.js +40 -0
  7. package/src/common/consts/dashboardCharts.js +18 -18
  8. package/src/common/consts/projectSettings.js +6 -0
  9. package/src/common/consts/recordTypes.js +5 -5
  10. package/src/common/consts/s3FileTypes.js +12 -12
  11. package/src/common/consts/userTypes.js +8 -8
  12. package/src/common/errorCodes.js +3 -0
  13. package/src/common/httpResponseStatusCodes.json +11 -11
  14. package/src/common/requests/apiKeyAuth/requests.js +44 -44
  15. package/src/common/requests/cookieAuth/requests.js +40 -40
  16. package/src/common/requests/internalAuth/requests.js +48 -48
  17. package/src/common/requests/requestHandlers.js +78 -78
  18. package/src/common/utils/complianceUtil.js +83 -83
  19. package/src/common/utils/configsUtil.js +22 -22
  20. package/src/common/utils/dataTypeUtils.js +41 -41
  21. package/src/common/utils/numberUtils.js +22 -22
  22. package/src/common/utils/objectUtils.js +7 -7
  23. package/src/common/utils/timeUtils.js +177 -177
  24. package/src/common/validations/errorValidation.js +16 -16
  25. package/src/common/validations/typeValidations.js +36 -36
  26. package/src/defaults/configs/auditConfigs.js +91 -91
  27. package/src/defaults/configs/coverage.js +227 -227
  28. package/src/defaults/configs/polices.js +64 -64
  29. package/src/defaults/configs/requirement.js +32 -32
  30. package/src/defaults/index.js +6 -6
  31. package/src/env.js +57 -57
  32. package/src/factory/globalRecord/globalRecord.js +70 -70
  33. package/src/factory/index.js +8 -8
  34. package/src/factory/records/records.js +169 -147
  35. package/src/factory/users/users.js +77 -77
  36. package/src/index.js +91 -91
  37. package/src/saas/internal-api/accounts/api/core/accounts.core.api.js +35 -35
  38. package/src/saas/internal-api/accounts/api/core/accounts.core.service.js +93 -93
  39. package/src/saas/internal-api/accounts/api/emailCustomization/accounts.email.customizations.api.js +29 -0
  40. package/src/saas/internal-api/accounts/api/emailCustomization/accounts.email.customizations.service.js +61 -0
  41. package/src/saas/internal-api/accounts/api/openapi/accounts.openapi.api.js +48 -48
  42. package/src/saas/internal-api/accounts/api/openapi/accounts.openapi.service.js +74 -74
  43. package/src/saas/internal-api/accounts/api/settings/settings.api.js +21 -21
  44. package/src/saas/internal-api/accounts/api/settings/settings.service.js +41 -41
  45. package/src/saas/internal-api/accounts/consts/consts.js +6 -6
  46. package/src/saas/internal-api/accounts/index.js +22 -20
  47. package/src/saas/internal-api/accounts/models/core/create.account.model.js +16 -16
  48. package/src/saas/internal-api/accounts/models/settings/update.settings.model.js +38 -38
  49. package/src/saas/internal-api/accounts/utils/utils.js +58 -58
  50. package/src/saas/internal-api/agreement/api/agreement.api.js +35 -35
  51. package/src/saas/internal-api/agreement/api/agreement.service.js +81 -81
  52. package/src/saas/internal-api/agreement/consts/consts.js +8 -8
  53. package/src/saas/internal-api/agreement/index.js +11 -11
  54. package/src/saas/internal-api/agreement/models/create.agreement.model.js +12 -12
  55. package/src/saas/internal-api/auditCustomerRules/api/customer.rules.api.js +43 -43
  56. package/src/saas/internal-api/auditCustomerRules/api/customer.rules.service.js +105 -105
  57. package/src/saas/internal-api/auditCustomerRules/consts/customer.rule.js +11 -11
  58. package/src/saas/internal-api/auditCustomerRules/index.js +6 -6
  59. package/src/saas/internal-api/auditCustomerRules/models/customer.rule.model.js +46 -46
  60. package/src/saas/internal-api/auditCustomerRules/utils/customer.rule.util.js +19 -19
  61. package/src/saas/internal-api/auditNotes/api/audit.notes.api.js +40 -40
  62. package/src/saas/internal-api/auditNotes/api/audit.notes.service.js +115 -115
  63. package/src/saas/internal-api/auditNotes/index.js +4 -4
  64. package/src/saas/internal-api/auditNotes/models/audit.note.model.js +30 -30
  65. package/src/saas/internal-api/auth/api/auth.api.js +27 -27
  66. package/src/saas/internal-api/auth/api/auth.service.js +90 -90
  67. package/src/saas/internal-api/auth/index.js +3 -3
  68. package/src/saas/internal-api/coi/api/coi.api.js +40 -34
  69. package/src/saas/internal-api/coi/api/coi.service.js +26 -22
  70. package/src/saas/internal-api/coi/consts/hashes.js +4 -0
  71. package/src/saas/internal-api/coi/consts/uploaderTypes.js +5 -5
  72. package/src/saas/internal-api/coi/index.js +14 -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 +242 -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 +185 -179
  90. package/src/saas/internal-api/contractors/api/contractors.service.js +259 -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 +62 -60
  95. package/src/saas/internal-api/contractors/models/link.request.model.js +10 -0
  96. package/src/saas/internal-api/contractors/models/verification.contractor.model.js +27 -27
  97. package/src/saas/internal-api/contractors/utils.js +25 -25
  98. package/src/saas/internal-api/dashboard/api/recordList.api.js +38 -38
  99. package/src/saas/internal-api/dashboard/api/recordList.service.js +60 -60
  100. package/src/saas/internal-api/dashboard/index.js +5 -5
  101. package/src/saas/internal-api/dashboard/models/dashboard.filter.criteria.model.js +38 -38
  102. package/src/saas/internal-api/dbEmails/api/db.emails.api.js +25 -25
  103. package/src/saas/internal-api/dbEmails/api/db.emails.service.js +147 -147
  104. package/src/saas/internal-api/dbEmails/consts/consts.js +54 -54
  105. package/src/saas/internal-api/dbEmails/index.js +6 -6
  106. package/src/saas/internal-api/dbEmails/models/db.emails.model.js +22 -22
  107. package/src/saas/internal-api/dbEmails/utils/util.js +82 -82
  108. package/src/saas/internal-api/emailCustomization/api/email.customization.api.js +26 -26
  109. package/src/saas/internal-api/emailCustomization/api/email.customization.service.js +50 -50
  110. package/src/saas/internal-api/emailCustomization/index.js +3 -3
  111. package/src/saas/internal-api/globalRecord/api/global.record.api.js +95 -95
  112. package/src/saas/internal-api/globalRecord/api/global.record.service.js +105 -105
  113. package/src/saas/internal-api/globalRecord/consts.js +20 -20
  114. package/src/saas/internal-api/globalRecord/index.js +6 -6
  115. package/src/saas/internal-api/globalRecord/models/global.record.model.js +60 -60
  116. package/src/saas/internal-api/globalRecord/utils/util.js +161 -161
  117. package/src/saas/internal-api/homepageCharts/api/charts.api.js +12 -12
  118. package/src/saas/internal-api/homepageCharts/api/charts.service.js +7 -7
  119. package/src/saas/internal-api/homepageCharts/index.js +3 -3
  120. package/src/saas/internal-api/projects/api/core/projects.api.js +39 -39
  121. package/src/saas/internal-api/projects/api/core/projects.service.js +65 -65
  122. package/src/saas/internal-api/projects/api/settings/project.settings.api.js +18 -18
  123. package/src/saas/internal-api/projects/api/settings/project.settings.service.js +35 -35
  124. package/src/saas/internal-api/projects/consts/defaultProject.js +3 -3
  125. package/src/saas/internal-api/projects/index.js +24 -24
  126. package/src/saas/internal-api/projects/models/core/create.project.model.js +41 -41
  127. package/src/saas/internal-api/projects/models/core/update.project.model.js +47 -47
  128. package/src/saas/internal-api/projects/models/settings/update.project.settings.model.js +41 -41
  129. package/src/saas/internal-api/projects/utils/utils.js +156 -156
  130. package/src/saas/internal-api/recordNotes/api/record.notes.api.js +38 -38
  131. package/src/saas/internal-api/recordNotes/api/record.notes.service.js +47 -47
  132. package/src/saas/internal-api/recordNotes/api/record.notes.utils.js +12 -12
  133. package/src/saas/internal-api/recordNotes/index.js +3 -3
  134. package/src/saas/internal-api/reports/api/reports.api.js +39 -39
  135. package/src/saas/internal-api/reports/api/reports.service.js +34 -34
  136. package/src/saas/internal-api/reports/consts/consts.js +65 -64
  137. package/src/saas/internal-api/reports/index.js +15 -15
  138. package/src/saas/internal-api/reports/models/report.model.js +27 -27
  139. package/src/saas/internal-api/requests/api/requests.api.js +120 -78
  140. package/src/saas/internal-api/requests/api/requests.service.js +272 -153
  141. package/src/saas/internal-api/requests/index.js +20 -16
  142. package/src/saas/internal-api/requests/models/create.request.model.js +33 -34
  143. package/src/saas/internal-api/requests/models/draft.request.criteria.model.js +18 -0
  144. package/src/saas/internal-api/requests/models/draft.request.report.model.js +14 -0
  145. package/src/saas/internal-api/requests/models/edit.request.model.js +31 -31
  146. package/src/saas/internal-api/requests/models/{inner.page.request.criteria.model.js → requestListCriteriaModel.js} +17 -17
  147. package/src/saas/internal-api/requests/models/tenant.request.model.js +9 -9
  148. package/src/saas/internal-api/requests/utils.js +8 -8
  149. package/src/saas/internal-api/requestsTable/api/requests.table.api.js +20 -20
  150. package/src/saas/internal-api/requestsTable/api/requests.table.service.js +14 -14
  151. package/src/saas/internal-api/requestsTable/index.js +3 -3
  152. package/src/saas/internal-api/requirements/api/requirements.api.js +51 -45
  153. package/src/saas/internal-api/requirements/api/requirements.service.js +153 -142
  154. package/src/saas/internal-api/requirements/consts/attributeTypes.json +6 -6
  155. package/src/saas/internal-api/requirements/consts/consts.js +6 -6
  156. package/src/saas/internal-api/requirements/index.js +10 -10
  157. package/src/saas/internal-api/requirements/models/create.requirement.model.js +17 -17
  158. package/src/saas/internal-api/requirements/models/policy.model.js +33 -33
  159. package/src/saas/internal-api/requirements/models/update.requirement.model.js +19 -19
  160. package/src/saas/internal-api/requirements/utils/utils.js +116 -116
  161. package/src/saas/internal-api/serviceArea/api/coordinates.api.js +12 -12
  162. package/src/saas/internal-api/serviceArea/api/coordinates.service.js +7 -7
  163. package/src/saas/internal-api/serviceArea/index.js +4 -4
  164. package/src/saas/internal-api/serviceArea/utils/utils.js +8 -8
  165. package/src/saas/internal-api/tabs/api/tabs.api.js +32 -32
  166. package/src/saas/internal-api/tabs/api/tabs.service.js +54 -54
  167. package/src/saas/internal-api/tabs/index.js +3 -3
  168. package/src/saas/internal-api/tabs/models/tabs.model.js +19 -19
  169. package/src/saas/internal-api/thread-scheduler/runner.js +39 -39
  170. package/src/saas/internal-api/uploadFiles/api/upload.file.api.js +31 -31
  171. package/src/saas/internal-api/uploadFiles/api/upload.file.service.js +42 -42
  172. package/src/saas/internal-api/uploadFiles/consts.js +12 -12
  173. package/src/saas/internal-api/uploadFiles/index.js +3 -3
  174. package/src/saas/internal-api/users/api/tenantApp/tenant.app.api.js +32 -32
  175. package/src/saas/internal-api/users/api/tenantApp/tenant.app.service.js +97 -93
  176. package/src/saas/internal-api/users/api/users.api.js +115 -115
  177. package/src/saas/internal-api/users/api/users.service.js +203 -203
  178. package/src/saas/internal-api/users/index.js +16 -16
  179. package/src/saas/internal-api/users/models/create.inner.system.user.model.js +18 -18
  180. package/src/saas/internal-api/users/models/notification.settings.model.js +12 -12
  181. package/src/saas/internal-api/users/models/tenent.user.model.js +11 -11
  182. package/src/saas/internal-api/users/models/users.model.js +41 -41
  183. package/src/saas/internal-api/users/utils/util.js +39 -39
  184. package/src/saas/internal-api/vendorProfile/api/vendor.profile.api.js +20 -20
  185. package/src/saas/internal-api/vendorProfile/api/vendor.profile.service.js +14 -14
  186. package/src/saas/internal-api/vendorProfile/index.js +3 -3
  187. package/src/saas/openapi/accounts/accounts.api.js +17 -17
  188. package/src/saas/openapi/accounts/accounts.service.js +11 -11
  189. package/src/saas/openapi/coi/coi.api.js +20 -20
  190. package/src/saas/openapi/coi/coi.service.js +13 -13
  191. package/src/saas/openapi/projects/projects.api.js +83 -83
  192. package/src/saas/openapi/projects/projects.service.js +64 -64
  193. package/src/saas/openapi/requests/index.js +7 -7
  194. package/src/saas/openapi/requests/models/invite.request.model.js +37 -37
  195. package/src/saas/openapi/requests/models/update.request.model.js +35 -35
  196. package/src/saas/openapi/requests/requests.api.js +82 -82
  197. package/src/saas/openapi/requests/requests.service.js +70 -70
  198. package/src/saas/openapi/requirements/index.js +6 -6
  199. package/src/saas/openapi/requirements/models/copy.requirement.model.js +10 -10
  200. package/src/saas/openapi/requirements/requirements.api.js +32 -32
  201. package/src/saas/openapi/requirements/requirements.service.js +37 -37
  202. package/src/saas/openapi/tabs/index.js +6 -6
  203. package/src/saas/openapi/tabs/models/create.tab.model.js +6 -6
  204. package/src/saas/openapi/tabs/tabs.api.js +27 -27
  205. package/src/saas/openapi/tabs/tabs.service.js +19 -19
  206. package/src/saas/openapi/users/user.model.js +10 -10
  207. package/src/saas/openapi/users/users.api.js +33 -33
  208. package/src/saas/openapi/users/users.service.js +41 -41
  209. package/tests/env.test.js +40 -40
  210. package/tests/validation.test.js +83 -83
@@ -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
+ };