@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.
- package/package.json +29 -29
- package/src/common/commonFlows/index.js +3 -3
- package/src/common/commonFlows/records/records.js +71 -71
- package/src/common/httpResponseStatusCodes.json +11 -11
- package/src/common/requests/apiKeyAuth/requests.js +38 -38
- package/src/common/requests/cookieAuth/requests.js +40 -40
- package/src/common/requests/requestHandlers.js +60 -60
- package/src/common/utils/dataTypeUtils.js +41 -0
- package/src/common/utils/numberUtils.js +22 -22
- package/src/common/utils/timeUtils.js +167 -162
- package/src/common/validations/errorValidation.js +16 -16
- package/src/common/validations/typeValidations.js +36 -36
- package/src/env.js +45 -45
- package/src/index.js +71 -69
- package/src/saas/internal-api/accounts/api/core/accounts.core.api.js +28 -28
- package/src/saas/internal-api/accounts/api/core/accounts.core.service.js +77 -77
- package/src/saas/internal-api/accounts/api/openapi/accounts.openapi.api.js +48 -48
- package/src/saas/internal-api/accounts/api/openapi/accounts.openapi.service.js +74 -74
- package/src/saas/internal-api/accounts/api/settings/settings.api.js +21 -21
- package/src/saas/internal-api/accounts/api/settings/settings.service.js +24 -24
- package/src/saas/internal-api/accounts/index.js +20 -20
- package/src/saas/internal-api/accounts/models/core/create.account.model.js +15 -15
- package/src/saas/internal-api/accounts/models/settings/update.settings.model.js +23 -21
- package/src/saas/internal-api/accounts/utils/utils.js +32 -32
- package/src/saas/internal-api/auth/api/auth.api.js +18 -12
- package/src/saas/internal-api/auth/api/auth.service.js +75 -47
- package/src/saas/internal-api/auth/index.js +3 -3
- package/src/saas/internal-api/coi/api/coi.api.js +34 -34
- package/src/saas/internal-api/coi/api/coi.service.js +22 -22
- package/src/saas/internal-api/coi/consts/uploaderTypes.js +7 -7
- package/src/saas/internal-api/coi/index.js +13 -13
- package/src/saas/internal-api/coi/models/submit.coi.model.js +9 -9
- package/src/saas/internal-api/coi/utils/utils.js +48 -48
- package/src/saas/internal-api/compliance/api/audit/audit.api.js +41 -40
- package/src/saas/internal-api/compliance/api/audit/audit.service.js +151 -33
- package/src/saas/internal-api/compliance/api/convert/convert.api.js +17 -17
- package/src/saas/internal-api/compliance/api/convert/convert.service.js +11 -11
- package/src/saas/internal-api/compliance/api/coverage/coverage.api.js +33 -33
- package/src/saas/internal-api/compliance/api/coverage/coverage.service.js +24 -24
- package/src/saas/internal-api/compliance/api/waive/waive.api.js +21 -21
- package/src/saas/internal-api/compliance/api/waive/waive.service.js +15 -15
- package/src/saas/internal-api/compliance/consts/audit.js +81 -81
- package/src/saas/internal-api/compliance/index.js +28 -28
- package/src/saas/internal-api/compliance/models/audit/audit.model.js +84 -84
- package/src/saas/internal-api/compliance/models/waive/waive.model.js +45 -45
- package/src/saas/internal-api/compliance/utils/util.js +173 -218
- package/src/saas/internal-api/contractors/api/contractors.api.js +141 -141
- package/src/saas/internal-api/contractors/api/contractors.service.js +123 -123
- package/src/saas/internal-api/contractors/index.js +8 -8
- package/src/saas/internal-api/contractors/models/create.contractor.model.js +22 -22
- package/src/saas/internal-api/contractors/models/edit.contractor.model.js +60 -60
- package/src/saas/internal-api/contractors/models/verification.contractor.model.js +27 -27
- package/src/saas/internal-api/dashboardInnerPage/api/recordList.api.js +12 -0
- package/src/saas/internal-api/dashboardInnerPage/api/recordList.service.js +7 -0
- package/src/saas/internal-api/dashboardInnerPage/index.js +5 -0
- package/src/saas/internal-api/dashboardInnerPage/models/dashboard.filter.criteria.model.js +38 -0
- package/src/saas/internal-api/dbEmails/api/db.emails.api.js +25 -25
- package/src/saas/internal-api/dbEmails/api/db.emails.service.js +127 -127
- package/src/saas/internal-api/dbEmails/consts/consts.js +3 -3
- package/src/saas/internal-api/dbEmails/index.js +4 -4
- package/src/saas/internal-api/dbEmails/models/db.emails.model.js +21 -21
- package/src/saas/internal-api/dbEmails/utils/util.js +59 -59
- package/src/saas/internal-api/globalRecord/api/global.record.api.js +76 -76
- package/src/saas/internal-api/globalRecord/api/global.record.service.js +83 -83
- package/src/saas/internal-api/globalRecord/consts.js +20 -20
- package/src/saas/internal-api/globalRecord/index.js +6 -6
- package/src/saas/internal-api/globalRecord/models/global.record.model.js +43 -43
- package/src/saas/internal-api/globalRecord/utils/util.js +148 -148
- package/src/saas/internal-api/homepageCharts/api/charts.api.js +12 -12
- package/src/saas/internal-api/homepageCharts/api/charts.service.js +7 -7
- package/src/saas/internal-api/homepageCharts/index.js +3 -3
- package/src/saas/internal-api/projects/api/core/projects.api.js +39 -39
- package/src/saas/internal-api/projects/api/core/projects.service.js +65 -65
- package/src/saas/internal-api/projects/api/settings/project.settings.api.js +18 -18
- package/src/saas/internal-api/projects/api/settings/project.settings.service.js +17 -17
- package/src/saas/internal-api/projects/consts/defaultProject.js +3 -3
- package/src/saas/internal-api/projects/index.js +24 -24
- package/src/saas/internal-api/projects/models/core/create.project.model.js +41 -41
- package/src/saas/internal-api/projects/models/core/update.project.model.js +47 -47
- package/src/saas/internal-api/projects/models/settings/update.project.settings.model.js +39 -39
- package/src/saas/internal-api/projects/utils/utils.js +82 -82
- package/src/saas/internal-api/recordNotes/api/record.notes.api.js +38 -38
- package/src/saas/internal-api/recordNotes/api/record.notes.service.js +29 -29
- package/src/saas/internal-api/recordNotes/index.js +3 -3
- package/src/saas/internal-api/reports/api/reports.api.js +39 -39
- package/src/saas/internal-api/reports/api/reports.service.js +34 -34
- package/src/saas/internal-api/reports/consts/consts.js +63 -63
- package/src/saas/internal-api/reports/index.js +15 -15
- package/src/saas/internal-api/reports/models/report.model.js +27 -27
- package/src/saas/internal-api/requests/api/requests.api.js +54 -54
- package/src/saas/internal-api/requests/api/requests.service.js +51 -51
- package/src/saas/internal-api/requests/index.js +14 -14
- package/src/saas/internal-api/requests/models/create.request.model.js +22 -22
- package/src/saas/internal-api/requests/models/edit.request.model.js +31 -31
- package/src/saas/internal-api/requests/models/tenant.request.model.js +9 -9
- package/src/saas/internal-api/requests/utils.js +8 -8
- package/src/saas/internal-api/requirements/api/requirements.api.js +27 -27
- package/src/saas/internal-api/requirements/api/requirements.service.js +23 -23
- package/src/saas/internal-api/requirements/consts/attributeTypes.json +6 -0
- package/src/saas/internal-api/requirements/index.js +6 -6
- package/src/saas/internal-api/requirements/models/create.requirement.model.js +45 -45
- package/src/saas/internal-api/requirements/utils/utils.js +88 -0
- package/src/saas/internal-api/serviceArea/api/coordinates.api.js +12 -12
- package/src/saas/internal-api/serviceArea/api/coordinates.service.js +7 -7
- package/src/saas/internal-api/serviceArea/index.js +4 -4
- package/src/saas/internal-api/serviceArea/utils/utils.js +8 -8
- package/src/saas/internal-api/tabs/api/tabs.api.js +32 -32
- package/src/saas/internal-api/tabs/api/tabs.service.js +54 -54
- package/src/saas/internal-api/tabs/index.js +3 -3
- package/src/saas/internal-api/tabs/models/tabs.model.js +18 -18
- package/src/saas/internal-api/thread-scheduler/runner.js +13 -13
- package/src/saas/internal-api/users/api/users.api.js +77 -77
- package/src/saas/internal-api/users/api/users.service.js +101 -101
- package/src/saas/internal-api/users/index.js +4 -4
- package/src/saas/internal-api/users/models/users.model.js +31 -31
- package/src/saas/internal-api/users/utils/util.js +14 -14
- package/src/saas/internal-api/vendorProfile/api/vendor.profile.api.js +20 -20
- package/src/saas/internal-api/vendorProfile/api/vendor.profile.service.js +14 -14
- package/src/saas/internal-api/vendorProfile/index.js +3 -3
- package/src/saas/openapi/accounts/accounts.api.js +17 -17
- package/src/saas/openapi/accounts/accounts.service.js +11 -11
- package/src/saas/openapi/projects/projects.api.js +59 -59
- package/src/saas/openapi/projects/projects.service.js +44 -44
- package/src/saas/openapi/requests/index.js +6 -6
- package/src/saas/openapi/requests/models/invite.request.model.js +37 -37
- package/src/saas/openapi/requests/requests.api.js +20 -20
- package/src/saas/openapi/requests/requests.service.js +18 -18
- package/src/saas/openapi/requirements/index.js +6 -6
- package/src/saas/openapi/requirements/models/copy.requirement.model.js +10 -10
- package/src/saas/openapi/requirements/requirements.api.js +12 -12
- package/src/saas/openapi/requirements/requirements.service.js +20 -20
- package/src/saas/openapi/tabs/tabs.api.js +13 -13
- package/src/saas/openapi/tabs/tabs.service.js +7 -7
- package/tests/env.test.js +40 -40
- 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
|
-
|
|
12
|
-
this.
|
|
13
|
-
this.
|
|
14
|
-
this.
|
|
15
|
-
this.
|
|
16
|
-
this.
|
|
17
|
-
this.
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
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
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
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
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
'
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
};
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
};
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
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
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
};
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
};
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
};
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
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
|
+
};
|