@getjones/test-infra 2.1.2 → 2.1.4

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 (135) hide show
  1. package/package.json +29 -29
  2. package/src/common/commonFlows/index.js +3 -3
  3. package/src/common/commonFlows/records/records.js +71 -71
  4. package/src/common/httpResponseStatusCodes.json +11 -11
  5. package/src/common/requests/apiKeyAuth/requests.js +38 -38
  6. package/src/common/requests/cookieAuth/requests.js +40 -40
  7. package/src/common/requests/requestHandlers.js +60 -60
  8. package/src/common/utils/dataTypeUtils.js +41 -0
  9. package/src/common/utils/numberUtils.js +22 -22
  10. package/src/common/utils/timeUtils.js +167 -162
  11. package/src/common/validations/errorValidation.js +16 -16
  12. package/src/common/validations/typeValidations.js +36 -36
  13. package/src/env.js +45 -45
  14. package/src/index.js +71 -69
  15. package/src/saas/internal-api/accounts/api/core/accounts.core.api.js +28 -28
  16. package/src/saas/internal-api/accounts/api/core/accounts.core.service.js +77 -77
  17. package/src/saas/internal-api/accounts/api/openapi/accounts.openapi.api.js +48 -48
  18. package/src/saas/internal-api/accounts/api/openapi/accounts.openapi.service.js +74 -74
  19. package/src/saas/internal-api/accounts/api/settings/settings.api.js +21 -21
  20. package/src/saas/internal-api/accounts/api/settings/settings.service.js +24 -24
  21. package/src/saas/internal-api/accounts/index.js +20 -20
  22. package/src/saas/internal-api/accounts/models/core/create.account.model.js +15 -15
  23. package/src/saas/internal-api/accounts/models/settings/update.settings.model.js +23 -21
  24. package/src/saas/internal-api/accounts/utils/utils.js +32 -32
  25. package/src/saas/internal-api/auth/api/auth.api.js +18 -12
  26. package/src/saas/internal-api/auth/api/auth.service.js +75 -47
  27. package/src/saas/internal-api/auth/index.js +3 -3
  28. package/src/saas/internal-api/coi/api/coi.api.js +34 -34
  29. package/src/saas/internal-api/coi/api/coi.service.js +22 -22
  30. package/src/saas/internal-api/coi/consts/uploaderTypes.js +7 -7
  31. package/src/saas/internal-api/coi/index.js +13 -13
  32. package/src/saas/internal-api/coi/models/submit.coi.model.js +9 -9
  33. package/src/saas/internal-api/coi/utils/utils.js +48 -48
  34. package/src/saas/internal-api/compliance/api/audit/audit.api.js +41 -40
  35. package/src/saas/internal-api/compliance/api/audit/audit.service.js +151 -33
  36. package/src/saas/internal-api/compliance/api/convert/convert.api.js +17 -17
  37. package/src/saas/internal-api/compliance/api/convert/convert.service.js +11 -11
  38. package/src/saas/internal-api/compliance/api/coverage/coverage.api.js +33 -33
  39. package/src/saas/internal-api/compliance/api/coverage/coverage.service.js +24 -24
  40. package/src/saas/internal-api/compliance/api/waive/waive.api.js +21 -21
  41. package/src/saas/internal-api/compliance/api/waive/waive.service.js +15 -15
  42. package/src/saas/internal-api/compliance/consts/audit.js +81 -81
  43. package/src/saas/internal-api/compliance/index.js +28 -28
  44. package/src/saas/internal-api/compliance/models/audit/audit.model.js +84 -84
  45. package/src/saas/internal-api/compliance/models/waive/waive.model.js +45 -45
  46. package/src/saas/internal-api/compliance/utils/util.js +173 -218
  47. package/src/saas/internal-api/contractors/api/contractors.api.js +141 -141
  48. package/src/saas/internal-api/contractors/api/contractors.service.js +123 -123
  49. package/src/saas/internal-api/contractors/index.js +8 -8
  50. package/src/saas/internal-api/contractors/models/create.contractor.model.js +22 -22
  51. package/src/saas/internal-api/contractors/models/edit.contractor.model.js +60 -60
  52. package/src/saas/internal-api/contractors/models/verification.contractor.model.js +27 -27
  53. package/src/saas/internal-api/dashboardInnerPage/api/recordList.api.js +12 -0
  54. package/src/saas/internal-api/dashboardInnerPage/api/recordList.service.js +7 -0
  55. package/src/saas/internal-api/dashboardInnerPage/index.js +5 -0
  56. package/src/saas/internal-api/dashboardInnerPage/models/dashboard.filter.criteria.model.js +38 -0
  57. package/src/saas/internal-api/dbEmails/api/db.emails.api.js +25 -25
  58. package/src/saas/internal-api/dbEmails/api/db.emails.service.js +127 -127
  59. package/src/saas/internal-api/dbEmails/consts/consts.js +3 -3
  60. package/src/saas/internal-api/dbEmails/index.js +4 -4
  61. package/src/saas/internal-api/dbEmails/models/db.emails.model.js +21 -21
  62. package/src/saas/internal-api/dbEmails/utils/util.js +59 -59
  63. package/src/saas/internal-api/globalRecord/api/global.record.api.js +76 -76
  64. package/src/saas/internal-api/globalRecord/api/global.record.service.js +83 -83
  65. package/src/saas/internal-api/globalRecord/consts.js +20 -20
  66. package/src/saas/internal-api/globalRecord/index.js +6 -6
  67. package/src/saas/internal-api/globalRecord/models/global.record.model.js +43 -43
  68. package/src/saas/internal-api/globalRecord/utils/util.js +148 -148
  69. package/src/saas/internal-api/homepageCharts/api/charts.api.js +12 -12
  70. package/src/saas/internal-api/homepageCharts/api/charts.service.js +7 -7
  71. package/src/saas/internal-api/homepageCharts/index.js +3 -3
  72. package/src/saas/internal-api/projects/api/core/projects.api.js +39 -39
  73. package/src/saas/internal-api/projects/api/core/projects.service.js +65 -65
  74. package/src/saas/internal-api/projects/api/settings/project.settings.api.js +18 -18
  75. package/src/saas/internal-api/projects/api/settings/project.settings.service.js +17 -17
  76. package/src/saas/internal-api/projects/consts/defaultProject.js +3 -3
  77. package/src/saas/internal-api/projects/index.js +24 -24
  78. package/src/saas/internal-api/projects/models/core/create.project.model.js +41 -41
  79. package/src/saas/internal-api/projects/models/core/update.project.model.js +47 -47
  80. package/src/saas/internal-api/projects/models/settings/update.project.settings.model.js +39 -39
  81. package/src/saas/internal-api/projects/utils/utils.js +82 -82
  82. package/src/saas/internal-api/recordNotes/api/record.notes.api.js +38 -38
  83. package/src/saas/internal-api/recordNotes/api/record.notes.service.js +29 -29
  84. package/src/saas/internal-api/recordNotes/index.js +3 -3
  85. package/src/saas/internal-api/reports/api/reports.api.js +39 -39
  86. package/src/saas/internal-api/reports/api/reports.service.js +34 -34
  87. package/src/saas/internal-api/reports/consts/consts.js +63 -63
  88. package/src/saas/internal-api/reports/index.js +15 -15
  89. package/src/saas/internal-api/reports/models/report.model.js +27 -27
  90. package/src/saas/internal-api/requests/api/requests.api.js +54 -54
  91. package/src/saas/internal-api/requests/api/requests.service.js +51 -51
  92. package/src/saas/internal-api/requests/index.js +14 -14
  93. package/src/saas/internal-api/requests/models/create.request.model.js +22 -22
  94. package/src/saas/internal-api/requests/models/edit.request.model.js +31 -31
  95. package/src/saas/internal-api/requests/models/tenant.request.model.js +9 -9
  96. package/src/saas/internal-api/requests/utils.js +8 -8
  97. package/src/saas/internal-api/requirements/api/requirements.api.js +27 -27
  98. package/src/saas/internal-api/requirements/api/requirements.service.js +23 -23
  99. package/src/saas/internal-api/requirements/consts/attributeTypes.json +6 -0
  100. package/src/saas/internal-api/requirements/index.js +6 -6
  101. package/src/saas/internal-api/requirements/models/create.requirement.model.js +45 -45
  102. package/src/saas/internal-api/requirements/utils/utils.js +88 -0
  103. package/src/saas/internal-api/serviceArea/api/coordinates.api.js +12 -12
  104. package/src/saas/internal-api/serviceArea/api/coordinates.service.js +7 -7
  105. package/src/saas/internal-api/serviceArea/index.js +4 -4
  106. package/src/saas/internal-api/serviceArea/utils/utils.js +8 -8
  107. package/src/saas/internal-api/tabs/api/tabs.api.js +32 -32
  108. package/src/saas/internal-api/tabs/api/tabs.service.js +54 -54
  109. package/src/saas/internal-api/tabs/index.js +3 -3
  110. package/src/saas/internal-api/tabs/models/tabs.model.js +18 -18
  111. package/src/saas/internal-api/thread-scheduler/runner.js +13 -13
  112. package/src/saas/internal-api/users/api/users.api.js +77 -77
  113. package/src/saas/internal-api/users/api/users.service.js +101 -101
  114. package/src/saas/internal-api/users/index.js +4 -4
  115. package/src/saas/internal-api/users/models/users.model.js +31 -31
  116. package/src/saas/internal-api/users/utils/util.js +14 -14
  117. package/src/saas/internal-api/vendorProfile/api/vendor.profile.api.js +20 -20
  118. package/src/saas/internal-api/vendorProfile/api/vendor.profile.service.js +14 -14
  119. package/src/saas/internal-api/vendorProfile/index.js +3 -3
  120. package/src/saas/openapi/accounts/accounts.api.js +17 -17
  121. package/src/saas/openapi/accounts/accounts.service.js +11 -11
  122. package/src/saas/openapi/projects/projects.api.js +59 -59
  123. package/src/saas/openapi/projects/projects.service.js +44 -44
  124. package/src/saas/openapi/requests/index.js +6 -6
  125. package/src/saas/openapi/requests/models/invite.request.model.js +37 -37
  126. package/src/saas/openapi/requests/requests.api.js +20 -20
  127. package/src/saas/openapi/requests/requests.service.js +18 -18
  128. package/src/saas/openapi/requirements/index.js +6 -6
  129. package/src/saas/openapi/requirements/models/copy.requirement.model.js +10 -10
  130. package/src/saas/openapi/requirements/requirements.api.js +12 -12
  131. package/src/saas/openapi/requirements/requirements.service.js +20 -20
  132. package/src/saas/openapi/tabs/tabs.api.js +13 -13
  133. package/src/saas/openapi/tabs/tabs.service.js +7 -7
  134. package/tests/env.test.js +40 -40
  135. package/tests/validation.test.js +83 -83
@@ -1,21 +1,23 @@
1
- class UpdateAccountSettingsModel {
2
- constructor(
3
- accountId,
4
- isHighPriority,
5
- hasAnalyticsDashboard,
6
- isEmailOnWelcomePageVA,
7
- isExcludedFromNetwork,
8
- isOcrEnabled,
9
- isCoverageAudit
10
- ) {
11
- this.accountId = accountId;
12
- this.isHighPriority = isHighPriority;
13
- this.hasAnalyticsDashboard = hasAnalyticsDashboard;
14
- this.isEmailOnWelcomePageVA = isEmailOnWelcomePageVA;
15
- this.isExcludedFromNetwork = isExcludedFromNetwork;
16
- this.isOcrEnabled = isOcrEnabled;
17
- this.isCoverageAudit = isCoverageAudit;
18
- }
19
- }
20
-
21
- module.exports = UpdateAccountSettingsModel;
1
+ class UpdateAccountSettingsModel {
2
+ constructor(
3
+ accountId,
4
+ isHighPriority,
5
+ hasAnalyticsDashboard,
6
+ isEmailOnWelcomePageVA,
7
+ isExcludedFromNetwork,
8
+ isOcrEnabled,
9
+ isCoverageAudit,
10
+ isAccountRequirementsEnabled
11
+ ) {
12
+ this.accountId = accountId;
13
+ this.isHighPriority = isHighPriority;
14
+ this.hasAnalyticsDashboard = hasAnalyticsDashboard;
15
+ this.isEmailOnWelcomePageVA = isEmailOnWelcomePageVA;
16
+ this.isExcludedFromNetwork = isExcludedFromNetwork;
17
+ this.isOcrEnabled = isOcrEnabled;
18
+ this.isCoverageAudit = isCoverageAudit;
19
+ this.isAccountRequirementsEnabled = isAccountRequirementsEnabled;
20
+ }
21
+ }
22
+
23
+ module.exports = UpdateAccountSettingsModel;
@@ -1,32 +1,32 @@
1
- const coreService = require('../api/core/accounts.core.service');
2
- const CreateAccountModel = require('../models/core/create.account.model');
3
-
4
- const getOrCreateAccount = (context, accountName, email, { password, type } = {}) => {
5
- const createAccountModel = new CreateAccountModel(
6
- accountName,
7
- email,
8
- password,
9
- propertyType = type
10
- );
11
- return coreService.getOrCreateAccount(createAccountModel, context);
12
- };
13
-
14
- const createAccount = async (context, accountName, email, { password, type } = {}) => {
15
- const createAccountModel = new CreateAccountModel(
16
- accountName,
17
- email,
18
- password,
19
- propertyType = type
20
- );
21
-
22
- const response = await coreService.createAccount(createAccountModel, context);
23
- return response.data;
24
- };
25
-
26
- const deleteAccountByName = async (context, accountName) => {
27
- const existingAccount = await coreService.getAccount(accountName, context);
28
-
29
- return existingAccount && coreService.deleteAccountById(existingAccount.userId, context);
30
- };
31
-
32
- module.exports = { getOrCreateAccount, createAccount, deleteAccountByName };
1
+ const coreService = require('../api/core/accounts.core.service');
2
+ const CreateAccountModel = require('../models/core/create.account.model');
3
+
4
+ const getOrCreateAccount = (context, accountName, email, { password, type } = {}) => {
5
+ const createAccountModel = new CreateAccountModel(
6
+ accountName,
7
+ email,
8
+ password,
9
+ propertyType = type
10
+ );
11
+ return coreService.getOrCreateAccount(createAccountModel, context);
12
+ };
13
+
14
+ const createAccount = async (context, accountName, email, { password, type } = {}) => {
15
+ const createAccountModel = new CreateAccountModel(
16
+ accountName,
17
+ email,
18
+ password,
19
+ propertyType = type
20
+ );
21
+
22
+ const response = await coreService.createAccount(createAccountModel, context);
23
+ return response.data;
24
+ };
25
+
26
+ const deleteAccountByName = async (context, accountName) => {
27
+ const existingAccount = await coreService.getAccount(accountName, context);
28
+
29
+ return existingAccount && coreService.deleteAccountById(existingAccount.userId, context);
30
+ };
31
+
32
+ module.exports = { getOrCreateAccount, createAccount, deleteAccountByName };
@@ -1,12 +1,18 @@
1
- const requests = require('../../../../common/requests/cookieAuth/requests');
2
- const { backendUrl } = require('../../../../env').getEnv();
3
-
4
- const Endpoints = {
5
- login: `${backendUrl}/logincontroller`
6
- };
7
-
8
- const login = (email, password) => {
9
- return requests.postRequestHandler(Endpoints.login, { email, password });
10
- };
11
-
12
- module.exports = { login };
1
+ const requests = require('../../../../common/requests/cookieAuth/requests');
2
+ const { backendUrl } = require('../../../../env').getEnv();
3
+
4
+ const Endpoints = {
5
+ login: `${backendUrl}/logincontroller`,
6
+ isHubUser: email => `${backendUrl}/vendor-app/is-hub-user?email=${email}`
7
+
8
+ };
9
+
10
+ const login = (email, password) => {
11
+ return requests.postRequestHandler(Endpoints.login, { email, password });
12
+ };
13
+
14
+ const vendorHubLogin = email => {
15
+ return requests.postRequestHandler(Endpoints.isHubUser(email), { email });
16
+ };
17
+
18
+ module.exports = { login, vendorHubLogin };
@@ -1,47 +1,75 @@
1
- const { getEnv, requiredValidation } = require('../../../../env');
2
- const { credentials } = getEnv();
3
- const authApi = require('./auth.api');
4
-
5
- const getAuthCookie = async (email, password) => {
6
- try {
7
- const response = await authApi.login(email, password);
8
- const authCookie = response.headers['set-cookie'].find(item => item.startsWith('JonesToken='));
9
-
10
- return authCookie;
11
- } catch (error) {
12
- throw new Error(`Failed to login to email:${email}`, error);
13
- }
14
- };
15
-
16
- const getIcsCookie = () => {
17
- requiredValidation({
18
- 'credentials.superUser': credentials.superUser,
19
- 'credentials.superUserPassword': credentials.superUserPassword
20
- });
21
- return getAuthCookie(credentials.superUser, credentials.superUserPassword);
22
- };
23
-
24
- const getAuditorCookie = () => {
25
- const { auditorUser, auditorPassword } = credentials;
26
- requiredValidation({
27
- 'credentials.auditorUser': auditorUser,
28
- 'credentials.auditorPassword': auditorPassword
29
- });
30
- return getAuthCookie(auditorUser, auditorPassword);
31
- };
32
-
33
- const getOperatorCookie = () => {
34
- const { operatorUser, operatorPassword } = credentials;
35
- requiredValidation({
36
- 'credentials.operatorUser': operatorUser,
37
- 'credentials.operatorPassword': operatorPassword
38
- });
39
- return getAuthCookie(operatorUser, operatorPassword);
40
- };
41
-
42
- module.exports = {
43
- getAuthCookie,
44
- getIcsCookie,
45
- getAuditorCookie,
46
- getOperatorCookie
47
- };
1
+ const { getEnv, requiredValidation } = require('../../../../env');
2
+ const { credentials } = getEnv();
3
+ const authApi = require('./auth.api');
4
+
5
+ const getAuthCookie = async (email, password) => {
6
+ try {
7
+ const response = await authApi.login(email, password);
8
+ const authCookie = response.headers['set-cookie'].find(item => item.startsWith('JonesToken='));
9
+
10
+ return authCookie;
11
+ } catch (error) {
12
+ throw new Error(`Failed to login to email:${email}`, error);
13
+ }
14
+ };
15
+
16
+ const getVendorHubAuthCookie = async email => {
17
+ try {
18
+ const response = await authApi.vendorHubLogin(email);
19
+ const authCookie = response.headers['set-cookie'].find(item => item.startsWith('JonesToken2='));
20
+
21
+ return authCookie;
22
+ } catch (error) {
23
+ throw new Error(`Failed to login to vendor hub by email:${email}`, error);
24
+ }
25
+ };
26
+
27
+ const getIcsCookie = () => {
28
+ requiredValidation({
29
+ 'credentials.superUser': credentials.superUser,
30
+ 'credentials.superUserPassword': credentials.superUserPassword
31
+ });
32
+ return getAuthCookie(credentials.superUser, credentials.superUserPassword);
33
+ };
34
+
35
+ const getAuditorCookie = () => {
36
+ const { auditorUser, auditorPassword } = credentials;
37
+ requiredValidation({
38
+ 'credentials.auditorUser': auditorUser,
39
+ 'credentials.auditorPassword': auditorPassword
40
+ });
41
+ return getAuthCookie(auditorUser, auditorPassword);
42
+ };
43
+
44
+ const getOperatorCookie = () => {
45
+ const { operatorUser, operatorPassword } = credentials;
46
+ requiredValidation({
47
+ 'credentials.operatorUser': operatorUser,
48
+ 'credentials.operatorPassword': operatorPassword
49
+ });
50
+ return getAuthCookie(operatorUser, operatorPassword);
51
+ };
52
+
53
+ const getAuditorId = async () => {
54
+ const { auditorUser, auditorPassword } = credentials;
55
+ requiredValidation({
56
+ 'credentials.auditorUser': auditorUser,
57
+ 'credentials.auditorPassword': auditorPassword
58
+ });
59
+
60
+ try {
61
+ const response = await authApi.login(auditorUser, auditorPassword);
62
+ return response.data.id;
63
+ } catch (error) {
64
+ throw new Error('Failed to get auditor id', error);
65
+ }
66
+ };
67
+
68
+ module.exports = {
69
+ getAuthCookie,
70
+ getVendorHubAuthCookie,
71
+ getIcsCookie,
72
+ getAuditorCookie,
73
+ getOperatorCookie,
74
+ getAuditorId
75
+ };
@@ -1,3 +1,3 @@
1
- const services = require('./api/auth.service');
2
-
3
- module.exports = { services };
1
+ const services = require('./api/auth.service');
2
+
3
+ module.exports = { services };
@@ -1,34 +1,34 @@
1
- const axiosFile = require('axios-file');
2
- const requests = require('../../../../common/requests/cookieAuth/requests');
3
-
4
- const { backendUrl } = require('../../../../env').getEnv();
5
-
6
- const Endpoints = {
7
- uploadToS3: `${backendUrl}/_saas/coi/upload`,
8
- submitCoi: `${backendUrl}/coi/merge`,
9
- completeScan: contractorId => `${backendUrl}/saas/auditor/contractors/${contractorId}/coi/complete-scan`,
10
- getCoiPresignedUrl: fileName => `${backendUrl}/saas/coi/${fileName}`
11
- };
12
-
13
- const uploadToS3 = (contractorId, fileData) => {
14
- return axiosFile({
15
- url: Endpoints.uploadToS3,
16
- method: 'post',
17
- params: { contractorId },
18
- data: { fileData }
19
- });
20
- };
21
-
22
- const submitCoi = submitCoiModel => {
23
- return requests.postRequestHandler(Endpoints.submitCoi, submitCoiModel);
24
- };
25
-
26
- const completeScan = (contractorId, pdfFileName, context) => {
27
- return requests.postRequestHandler(Endpoints.completeScan(contractorId), { pdfFileName }, context);
28
- };
29
-
30
- const getCoiPreSignedUrl = (coiFileName, context) => {
31
- return requests.getRequestHandler(Endpoints.getCoiPresignedUrl(coiFileName), {}, context);
32
- };
33
-
34
- module.exports = { uploadToS3, submitCoi, getCoiPreSignedUrl, completeScan };
1
+ const axiosFile = require('axios-file');
2
+ const requests = require('../../../../common/requests/cookieAuth/requests');
3
+
4
+ const { backendUrl } = require('../../../../env').getEnv();
5
+
6
+ const Endpoints = {
7
+ uploadToS3: `${backendUrl}/_saas/coi/upload`,
8
+ submitCoi: `${backendUrl}/coi/merge`,
9
+ completeScan: contractorId => `${backendUrl}/saas/auditor/contractors/${contractorId}/coi/complete-scan`,
10
+ getCoiPresignedUrl: fileName => `${backendUrl}/saas/coi/${fileName}`
11
+ };
12
+
13
+ const uploadToS3 = (contractorId, fileData) => {
14
+ return axiosFile({
15
+ url: Endpoints.uploadToS3,
16
+ method: 'post',
17
+ params: { contractorId },
18
+ data: { fileData }
19
+ });
20
+ };
21
+
22
+ const submitCoi = submitCoiModel => {
23
+ return requests.postRequestHandler(Endpoints.submitCoi, submitCoiModel);
24
+ };
25
+
26
+ const completeScan = (contractorId, pdfFileName, context) => {
27
+ return requests.postRequestHandler(Endpoints.completeScan(contractorId), { pdfFileName }, context);
28
+ };
29
+
30
+ const getCoiPreSignedUrl = (coiFileName, context) => {
31
+ return requests.getRequestHandler(Endpoints.getCoiPresignedUrl(coiFileName), {}, context);
32
+ };
33
+
34
+ module.exports = { uploadToS3, submitCoi, getCoiPreSignedUrl, completeScan };
@@ -1,22 +1,22 @@
1
- const coiApi = require('./coi.api');
2
- const { SubmitCoiModel } = require('../models/submit.coi.model');
3
- const { validateType } = require('../../../../common/validations/typeValidations');
4
-
5
- const uploadToS3 = (contractorId, fileData) => {
6
- return coiApi.uploadToS3(contractorId, fileData);
7
- };
8
-
9
- const submitCoi = submitCoiModel => {
10
- validateType(submitCoiModel, SubmitCoiModel);
11
- return coiApi.submitCoi(submitCoiModel);
12
- };
13
-
14
- const completeScan = (contractorId, pdfFileName, context) => {
15
- return coiApi.completeScan(contractorId, pdfFileName, context);
16
- };
17
-
18
- const getCoiPreSignedUrl = (coiFileName, context) => {
19
- return coiApi.getCoiPreSignedUrl(coiFileName, context);
20
- };
21
-
22
- module.exports = { uploadToS3, submitCoi, getCoiPreSignedUrl, completeScan };
1
+ const coiApi = require('./coi.api');
2
+ const { SubmitCoiModel } = require('../models/submit.coi.model');
3
+ const { validateType } = require('../../../../common/validations/typeValidations');
4
+
5
+ const uploadToS3 = (contractorId, fileData) => {
6
+ return coiApi.uploadToS3(contractorId, fileData);
7
+ };
8
+
9
+ const submitCoi = submitCoiModel => {
10
+ validateType(submitCoiModel, SubmitCoiModel);
11
+ return coiApi.submitCoi(submitCoiModel);
12
+ };
13
+
14
+ const completeScan = (contractorId, pdfFileName, context) => {
15
+ return coiApi.completeScan(contractorId, pdfFileName, context);
16
+ };
17
+
18
+ const getCoiPreSignedUrl = (coiFileName, context) => {
19
+ return coiApi.getCoiPreSignedUrl(coiFileName, context);
20
+ };
21
+
22
+ module.exports = { uploadToS3, submitCoi, getCoiPreSignedUrl, completeScan };
@@ -1,7 +1,7 @@
1
- const UPLOADER_TYPES = {
2
- ICS: 'ICS',
3
- PM: 'PM',
4
- AUDITOR: 'AUDITOR'
5
- };
6
-
7
- module.exports = UPLOADER_TYPES;
1
+ const UPLOADER_TYPES = {
2
+ ICS: 'ICS',
3
+ PM: 'PM',
4
+ AUDITOR: 'AUDITOR'
5
+ };
6
+
7
+ module.exports = UPLOADER_TYPES;
@@ -1,13 +1,13 @@
1
- const services = require('./api/coi.service');
2
-
3
- const models = {
4
- submit: require('./models/submit.coi.model')
5
- };
6
-
7
- const utils = require('./utils/utils');
8
-
9
- const consts = {
10
- UPLOADER_TYPES: require('./consts/uploaderTypes')
11
- };
12
-
13
- module.exports = { services, models, utils, consts };
1
+ const services = require('./api/coi.service');
2
+
3
+ const models = {
4
+ submit: require('./models/submit.coi.model')
5
+ };
6
+
7
+ const utils = require('./utils/utils');
8
+
9
+ const consts = {
10
+ UPLOADER_TYPES: require('./consts/uploaderTypes')
11
+ };
12
+
13
+ module.exports = { services, models, utils, consts };
@@ -1,9 +1,9 @@
1
- function SubmitCoiModel(contractorId, fileIds, uploadedBy, uploaderEmail, isContractorExist = true) {
2
- this.contractorId = contractorId;
3
- this.chosenIds = fileIds;
4
- this.uploadedBy = uploadedBy;
5
- this.uploaderEmail = uploaderEmail;
6
- this.isContractorExist = isContractorExist;
7
- }
8
-
9
- module.exports = { SubmitCoiModel };
1
+ function SubmitCoiModel(contractorId, fileIds, uploadedBy, uploaderEmail, isContractorExist = true) {
2
+ this.contractorId = contractorId;
3
+ this.chosenIds = fileIds;
4
+ this.uploadedBy = uploadedBy;
5
+ this.uploaderEmail = uploaderEmail;
6
+ this.isContractorExist = isContractorExist;
7
+ }
8
+
9
+ module.exports = { SubmitCoiModel };
@@ -1,48 +1,48 @@
1
- const fs = require('fs');
2
-
3
- const services = require('../api/coi.service');
4
- const { SubmitCoiModel } = require('../models/submit.coi.model');
5
-
6
- const uploadFileToStorage = (recordId, filePath) => {
7
- const fileData = fs.createReadStream(filePath);
8
- return services.uploadToS3(recordId, fileData);
9
- };
10
-
11
- const submitCoiFilesUpload = (recordId, fileIds, uploaderType, uploaderEmail) => {
12
- const submitCoiModel = new SubmitCoiModel(
13
- recordId,
14
- fileIds,
15
- uploaderType,
16
- uploaderEmail
17
- );
18
- return services.submitCoi(submitCoiModel);
19
- };
20
-
21
- const uploadCoi = async (
22
- recordId,
23
- filePath,
24
- uploaderType,
25
- uploaderEmail,
26
- {
27
- markAsScaned, // Should be passed with context
28
- context
29
- } = {}
30
- ) => {
31
- const uploadResponse = await uploadFileToStorage(recordId, filePath);
32
- const fileId = uploadResponse.data.fileId;
33
-
34
- const submitResponse = fileId && await submitCoiFilesUpload(recordId, [fileId], uploaderType, uploaderEmail);
35
- const uploadedCoi = !!submitResponse.data.fileName && { id: fileId, name: submitResponse.data.fileName };
36
-
37
- if (uploadedCoi.name && markAsScaned && context) {
38
- await services.completeScan(recordId, uploadedCoi.name, context);
39
- }
40
-
41
- return uploadedCoi;
42
- };
43
-
44
- module.exports = {
45
- uploadCoi,
46
- uploadFileToStorage,
47
- submitCoiFilesUpload
48
- };
1
+ const fs = require('fs');
2
+
3
+ const services = require('../api/coi.service');
4
+ const { SubmitCoiModel } = require('../models/submit.coi.model');
5
+
6
+ const uploadFileToStorage = (recordId, filePath) => {
7
+ const fileData = fs.createReadStream(filePath);
8
+ return services.uploadToS3(recordId, fileData);
9
+ };
10
+
11
+ const submitCoiFilesUpload = (recordId, fileIds, uploaderType, uploaderEmail) => {
12
+ const submitCoiModel = new SubmitCoiModel(
13
+ recordId,
14
+ fileIds,
15
+ uploaderType,
16
+ uploaderEmail
17
+ );
18
+ return services.submitCoi(submitCoiModel);
19
+ };
20
+
21
+ const uploadCoi = async (
22
+ recordId,
23
+ filePath,
24
+ uploaderType,
25
+ uploaderEmail,
26
+ {
27
+ markAsScaned, // Should be passed with context
28
+ context
29
+ } = {}
30
+ ) => {
31
+ const uploadResponse = await uploadFileToStorage(recordId, filePath);
32
+ const fileId = uploadResponse.data.fileId;
33
+
34
+ const submitResponse = fileId && await submitCoiFilesUpload(recordId, [fileId], uploaderType, uploaderEmail);
35
+ const uploadedCoi = !!submitResponse.data.fileName && { id: fileId, name: submitResponse.data.fileName };
36
+
37
+ if (uploadedCoi.name && markAsScaned && context) {
38
+ await services.completeScan(recordId, uploadedCoi.name, context);
39
+ }
40
+
41
+ return uploadedCoi;
42
+ };
43
+
44
+ module.exports = {
45
+ uploadCoi,
46
+ uploadFileToStorage,
47
+ submitCoiFilesUpload
48
+ };
@@ -1,40 +1,41 @@
1
- const requests = require('../../../../../common/requests/cookieAuth/requests');
2
- const { backendUrl } = require('../../../../../env').getEnv();
3
-
4
- const Endpoints = {
5
- auditorContractorList: `${backendUrl}/saas/auditor/contractors`,
6
- preAudit: contractorId => `${backendUrl}/saas/auditor/contractors/${contractorId}/master-audit`,
7
- audit: `${backendUrl}/saas/auditor/contractors/submit/audits`,
8
- contractorDetailsForAudit: contractorId => `${backendUrl}/saas/auditor/contractors/${contractorId}/master-audit`,
9
- requirementDetailsForAudit: contractorId => `${backendUrl}/saas/auditor/contractor/${contractorId}/requirement`,
10
- isReaudit: contractorId => `${backendUrl}/saas/auditor/contractors/${contractorId}/isreaudit`
11
- };
12
-
13
- const audit = async (contractorId, auditRequestModel, context) => {
14
- await requests.getRequestHandler(Endpoints.preAudit(contractorId), {}, context);
15
- return requests.postRequestHandler(Endpoints.audit, auditRequestModel, context);
16
- };
17
-
18
- const isReaudit = (contractorId, context) => {
19
- return requests.getRequestHandler(Endpoints.isReaudit(contractorId), {}, context);
20
- };
21
-
22
- const getAuditorContractorList = (auditListParametersModel, context) => {
23
- return requests.postRequestHandler(Endpoints.auditorContractorList, auditListParametersModel, context);
24
- };
25
-
26
- const getContractorDetailsForAudit = (contractorId, context) => {
27
- return requests.getRequestHandler(Endpoints.contractorDetailsForAudit(contractorId), {}, context);
28
- };
29
-
30
- const getRequirementDetailsForAudit = (contractorId, context) => {
31
- return requests.getRequestHandler(Endpoints.requirementDetailsForAudit(contractorId), {}, context);
32
- };
33
-
34
- module.exports = {
35
- audit,
36
- isReaudit,
37
- getAuditorContractorList,
38
- getContractorDetailsForAudit,
39
- getRequirementDetailsForAudit
40
- };
1
+ const requests = require('../../../../../common/requests/cookieAuth/requests');
2
+ const { backendUrl } = require('../../../../../env').getEnv();
3
+ const { createAuditEntity } = require('../../utils/util');
4
+
5
+ const Endpoints = {
6
+ auditorContractorList: `${backendUrl}/saas/auditor/contractors`,
7
+ preAudit: contractorId => `${backendUrl}/saas/auditor/contractors/${contractorId}/master-audit`,
8
+ audit: `${backendUrl}/saas/auditor/contractors/submit/audits`,
9
+ contractorDetailsForAudit: contractorId => `${backendUrl}/saas/auditor/contractors/${contractorId}/master-audit`,
10
+ requirementDetailsForAudit: contractorId => `${backendUrl}/saas/auditor/contractor/${contractorId}/requirement`,
11
+ isReaudit: contractorId => `${backendUrl}/saas/auditor/contractors/${contractorId}/isreaudit`
12
+ };
13
+
14
+ const audit = async (contractorId, auditRequestModel, context) => {
15
+ await requests.getRequestHandler(Endpoints.preAudit(contractorId), {}, context);
16
+ return requests.postRequestHandler(Endpoints.audit, auditRequestModel, context);
17
+ };
18
+
19
+ const isReaudit = (contractorId, context) => {
20
+ return requests.getRequestHandler(Endpoints.isReaudit(contractorId), {}, context);
21
+ };
22
+
23
+ const getAuditorContractorList = (auditListParametersModel, context) => {
24
+ return requests.postRequestHandler(Endpoints.auditorContractorList, auditListParametersModel, context);
25
+ };
26
+
27
+ const getContractorDetailsForAudit = (contractorId, context) => {
28
+ return requests.getRequestHandler(Endpoints.contractorDetailsForAudit(contractorId), {}, context);
29
+ };
30
+
31
+ const getRequirementDetailsForAudit = (contractorId, context) => {
32
+ return requests.getRequestHandler(Endpoints.requirementDetailsForAudit(contractorId), {}, context);
33
+ };
34
+
35
+ module.exports = {
36
+ audit,
37
+ isReaudit,
38
+ getAuditorContractorList,
39
+ getContractorDetailsForAudit,
40
+ getRequirementDetailsForAudit
41
+ };