@getjones/test-infra 2.6.1 → 2.6.3
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 -30
- package/src/common/commonFlows/index.js +3 -3
- package/src/common/commonFlows/records/records.js +71 -71
- package/src/common/consts/userTypes.js +5 -0
- 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 -41
- package/src/common/utils/numberUtils.js +22 -22
- package/src/common/utils/objectUtils.js +7 -9
- package/src/common/utils/timeUtils.js +171 -171
- package/src/common/validations/errorValidation.js +16 -16
- package/src/common/validations/typeValidations.js +36 -36
- package/src/defaults/configs/auditConfigs.js +85 -85
- package/src/defaults/configs/polices.js +47 -47
- package/src/defaults/configs/requirement.js +29 -29
- package/src/defaults/index.js +5 -5
- package/src/env.js +57 -57
- package/src/factory/index.js +5 -0
- package/src/factory/records/records.js +105 -0
- package/src/index.js +74 -73
- package/src/resources/coi/coi.pdf +0 -0
- package/src/resources/coi/realCoi.pdf +5617 -20
- 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/consts/consts.js +6 -6
- package/src/saas/internal-api/accounts/index.js +21 -21
- package/src/saas/internal-api/accounts/models/core/create.account.model.js +16 -16
- package/src/saas/internal-api/accounts/models/settings/update.settings.model.js +23 -23
- package/src/saas/internal-api/accounts/utils/utils.js +32 -32
- package/src/saas/internal-api/auth/api/auth.api.js +18 -18
- package/src/saas/internal-api/auth/api/auth.service.js +67 -67
- 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 +5 -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 +40 -40
- package/src/saas/internal-api/compliance/api/audit/audit.service.js +152 -151
- 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 +100 -15
- package/src/saas/internal-api/compliance/consts/audit.js +71 -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 +48 -45
- package/src/saas/internal-api/compliance/utils/util.js +207 -175
- package/src/saas/internal-api/contractors/api/contractors.api.js +141 -141
- package/src/saas/internal-api/contractors/api/contractors.service.js +147 -147
- 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 -12
- package/src/saas/internal-api/dashboardInnerPage/api/recordList.service.js +7 -7
- package/src/saas/internal-api/dashboardInnerPage/index.js +5 -5
- package/src/saas/internal-api/dashboardInnerPage/models/dashboard.filter.criteria.model.js +38 -38
- 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 +84 -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 +45 -45
- package/src/saas/internal-api/requirements/api/requirements.service.js +94 -94
- package/src/saas/internal-api/requirements/consts/attributeTypes.json +5 -5
- package/src/saas/internal-api/requirements/consts/consts.js +6 -6
- package/src/saas/internal-api/requirements/index.js +8 -8
- package/src/saas/internal-api/requirements/models/create.requirement.model.js +17 -17
- package/src/saas/internal-api/requirements/models/policy.model.js +32 -32
- package/src/saas/internal-api/requirements/models/update.requirement.model.js +21 -21
- package/src/saas/internal-api/requirements/utils/utils.js +101 -101
- 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 +39 -39
- 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,47 +1,47 @@
|
|
|
1
|
-
const policyNames = {
|
|
2
|
-
certificateOfInsurance: 'Certificate of Insurance',
|
|
3
|
-
certificateIssueDate: 'Certificate issue date',
|
|
4
|
-
generalLiability: 'General Liability',
|
|
5
|
-
excessLiability: 'Excess Liability',
|
|
6
|
-
umbrella: 'Umbrella',
|
|
7
|
-
professionalLiability: 'Professional Liability',
|
|
8
|
-
environmentalLiability: 'Environmental Liability',
|
|
9
|
-
liquorLiability: 'Liquor Liability',
|
|
10
|
-
garageLiability: 'Garage Liability',
|
|
11
|
-
garageKeepersLiability: 'Garage Keepers Liability',
|
|
12
|
-
workersCompensation: 'Workers’ Compensation',
|
|
13
|
-
automobileLiability: 'Automobile Liability',
|
|
14
|
-
propertyInsurance: 'Property Insurance',
|
|
15
|
-
rentedLeasedEquipment: 'Rented/Leased Equipment',
|
|
16
|
-
fidelityCrime: 'Fidelity / Crime',
|
|
17
|
-
employmentPracticesLiability: 'Employment Practices Liability',
|
|
18
|
-
directorsAndOfficersLiability: 'Directors and Officers Liability',
|
|
19
|
-
cyberLiability: 'Cyber Liability',
|
|
20
|
-
waiverOfSubrogation: 'Waiver Of Subrogation',
|
|
21
|
-
agreement: 'Agreement',
|
|
22
|
-
certificateHolder: 'Certificate Holder',
|
|
23
|
-
additionalInformation: 'Additional Information',
|
|
24
|
-
additionalInsured: 'Additional Insured'
|
|
25
|
-
};
|
|
26
|
-
|
|
27
|
-
const attributeNames = {
|
|
28
|
-
insuredAddress: 'Insured Address',
|
|
29
|
-
insuredName: 'Insured Name',
|
|
30
|
-
amScore: 'AM Score',
|
|
31
|
-
coverageExists: 'Coverage Exists',
|
|
32
|
-
eachOccurrence: 'Each Occurrence',
|
|
33
|
-
policyNumber: 'Policy Number',
|
|
34
|
-
policyExpired: 'Policy Expiry',
|
|
35
|
-
perPolicy: 'Per Policy',
|
|
36
|
-
perProject: 'Per Project',
|
|
37
|
-
perLocation: 'Per Location',
|
|
38
|
-
perOccurrence: 'Per Occur',
|
|
39
|
-
cancellationTerms: 'Cancellation Terms',
|
|
40
|
-
coiAuthentication: 'COI authentication',
|
|
41
|
-
signature: 'Signature'
|
|
42
|
-
};
|
|
43
|
-
|
|
44
|
-
module.exports = {
|
|
45
|
-
policyNames,
|
|
46
|
-
attributeNames
|
|
47
|
-
};
|
|
1
|
+
const policyNames = {
|
|
2
|
+
certificateOfInsurance: 'Certificate of Insurance',
|
|
3
|
+
certificateIssueDate: 'Certificate issue date',
|
|
4
|
+
generalLiability: 'General Liability',
|
|
5
|
+
excessLiability: 'Excess Liability',
|
|
6
|
+
umbrella: 'Umbrella',
|
|
7
|
+
professionalLiability: 'Professional Liability',
|
|
8
|
+
environmentalLiability: 'Environmental Liability',
|
|
9
|
+
liquorLiability: 'Liquor Liability',
|
|
10
|
+
garageLiability: 'Garage Liability',
|
|
11
|
+
garageKeepersLiability: 'Garage Keepers Liability',
|
|
12
|
+
workersCompensation: 'Workers’ Compensation',
|
|
13
|
+
automobileLiability: 'Automobile Liability',
|
|
14
|
+
propertyInsurance: 'Property Insurance',
|
|
15
|
+
rentedLeasedEquipment: 'Rented/Leased Equipment',
|
|
16
|
+
fidelityCrime: 'Fidelity / Crime',
|
|
17
|
+
employmentPracticesLiability: 'Employment Practices Liability',
|
|
18
|
+
directorsAndOfficersLiability: 'Directors and Officers Liability',
|
|
19
|
+
cyberLiability: 'Cyber Liability',
|
|
20
|
+
waiverOfSubrogation: 'Waiver Of Subrogation',
|
|
21
|
+
agreement: 'Agreement',
|
|
22
|
+
certificateHolder: 'Certificate Holder',
|
|
23
|
+
additionalInformation: 'Additional Information',
|
|
24
|
+
additionalInsured: 'Additional Insured'
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
const attributeNames = {
|
|
28
|
+
insuredAddress: 'Insured Address',
|
|
29
|
+
insuredName: 'Insured Name',
|
|
30
|
+
amScore: 'AM Score',
|
|
31
|
+
coverageExists: 'Coverage Exists',
|
|
32
|
+
eachOccurrence: 'Each Occurrence',
|
|
33
|
+
policyNumber: 'Policy Number',
|
|
34
|
+
policyExpired: 'Policy Expiry',
|
|
35
|
+
perPolicy: 'Per Policy',
|
|
36
|
+
perProject: 'Per Project',
|
|
37
|
+
perLocation: 'Per Location',
|
|
38
|
+
perOccurrence: 'Per Occur',
|
|
39
|
+
cancellationTerms: 'Cancellation Terms',
|
|
40
|
+
coiAuthentication: 'COI authentication',
|
|
41
|
+
signature: 'Signature'
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
module.exports = {
|
|
45
|
+
policyNames,
|
|
46
|
+
attributeNames
|
|
47
|
+
};
|
|
@@ -1,29 +1,29 @@
|
|
|
1
|
-
const { policyNames, attributeNames } = require('../configs/polices');
|
|
2
|
-
const { cloneObject } = require('../../common/utils/objectUtils');
|
|
3
|
-
|
|
4
|
-
const { eachOccurrence } = attributeNames;
|
|
5
|
-
const { generalLiability } = policyNames;
|
|
6
|
-
|
|
7
|
-
const DEFAULT_REQUIREMENT_NAME = 'Integration Requirement';
|
|
8
|
-
const DEFAULT_COVERAGE_VALUE = 1000000;
|
|
9
|
-
|
|
10
|
-
const getDefaultRequirementPolices = () => {
|
|
11
|
-
return cloneObject({
|
|
12
|
-
[generalLiability]: {
|
|
13
|
-
[eachOccurrence]: DEFAULT_COVERAGE_VALUE
|
|
14
|
-
}
|
|
15
|
-
});
|
|
16
|
-
};
|
|
17
|
-
|
|
18
|
-
const defaultRequirementConfig = () => {
|
|
19
|
-
return {
|
|
20
|
-
name: DEFAULT_REQUIREMENT_NAME,
|
|
21
|
-
policies: getDefaultRequirementPolices()
|
|
22
|
-
};
|
|
23
|
-
};
|
|
24
|
-
|
|
25
|
-
module.exports = {
|
|
26
|
-
name: DEFAULT_REQUIREMENT_NAME,
|
|
27
|
-
getDefaultRequirementPolices,
|
|
28
|
-
defaultRequirementConfig
|
|
29
|
-
};
|
|
1
|
+
const { policyNames, attributeNames } = require('../configs/polices');
|
|
2
|
+
const { cloneObject } = require('../../common/utils/objectUtils');
|
|
3
|
+
|
|
4
|
+
const { eachOccurrence } = attributeNames;
|
|
5
|
+
const { generalLiability } = policyNames;
|
|
6
|
+
|
|
7
|
+
const DEFAULT_REQUIREMENT_NAME = 'Integration Requirement';
|
|
8
|
+
const DEFAULT_COVERAGE_VALUE = 1000000;
|
|
9
|
+
|
|
10
|
+
const getDefaultRequirementPolices = () => {
|
|
11
|
+
return cloneObject({
|
|
12
|
+
[generalLiability]: {
|
|
13
|
+
[eachOccurrence]: DEFAULT_COVERAGE_VALUE
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
const defaultRequirementConfig = () => {
|
|
19
|
+
return {
|
|
20
|
+
name: DEFAULT_REQUIREMENT_NAME,
|
|
21
|
+
policies: getDefaultRequirementPolices()
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
module.exports = {
|
|
26
|
+
name: DEFAULT_REQUIREMENT_NAME,
|
|
27
|
+
getDefaultRequirementPolices,
|
|
28
|
+
defaultRequirementConfig
|
|
29
|
+
};
|
package/src/defaults/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
const audit = require('./configs/auditConfigs');
|
|
2
|
-
const polices = require('./configs/polices');
|
|
3
|
-
const requirement = require('./configs/requirement');
|
|
4
|
-
|
|
5
|
-
module.exports = { audit, polices, requirement };
|
|
1
|
+
const audit = require('./configs/auditConfigs');
|
|
2
|
+
const polices = require('./configs/polices');
|
|
3
|
+
const requirement = require('./configs/requirement');
|
|
4
|
+
|
|
5
|
+
module.exports = { audit, polices, requirement };
|
package/src/env.js
CHANGED
|
@@ -1,57 +1,57 @@
|
|
|
1
|
-
let privateMembers = {
|
|
2
|
-
backendUrl: null,
|
|
3
|
-
openapiUrl: null,
|
|
4
|
-
nodeBackendUrl: null,
|
|
5
|
-
credentials: null,
|
|
6
|
-
environment: null,
|
|
7
|
-
accountCreationSecret: null,
|
|
8
|
-
threadSchedulerSecret: null,
|
|
9
|
-
nodeBackendSecret: null,
|
|
10
|
-
dbEmailsSecrets: null
|
|
11
|
-
};
|
|
12
|
-
|
|
13
|
-
const init = conf => {
|
|
14
|
-
privateMembers = Object.assign(privateMembers, conf);
|
|
15
|
-
requiredValidation({
|
|
16
|
-
backendUrl: privateMembers.backendUrl,
|
|
17
|
-
openapiUrl: privateMembers.openapiUrl,
|
|
18
|
-
nodeBackendUrl: privateMembers.nodeBackendUrl,
|
|
19
|
-
environment: privateMembers.environment
|
|
20
|
-
});
|
|
21
|
-
};
|
|
22
|
-
|
|
23
|
-
const requiredValidation = object => {
|
|
24
|
-
const invalidKeys = [];
|
|
25
|
-
Object.keys(object).forEach(key => {
|
|
26
|
-
if (!object[key]) {
|
|
27
|
-
invalidKeys.push(` '${key}'`);
|
|
28
|
-
}
|
|
29
|
-
});
|
|
30
|
-
|
|
31
|
-
if (invalidKeys.length > 0) {
|
|
32
|
-
throw Error(`Missing required configuration on your environment variables.\nThe missing env-vars are:${invalidKeys}`);
|
|
33
|
-
}
|
|
34
|
-
};
|
|
35
|
-
|
|
36
|
-
const isLocalhost = () => {
|
|
37
|
-
return privateMembers.backendUrl.includes('localhost');
|
|
38
|
-
};
|
|
39
|
-
|
|
40
|
-
const systemUserIdentities = {};
|
|
41
|
-
|
|
42
|
-
const getSystemUserIdentity = email => {
|
|
43
|
-
return systemUserIdentities[email] || null;
|
|
44
|
-
};
|
|
45
|
-
|
|
46
|
-
const addUserIdentity = (email, cookie, id) => {
|
|
47
|
-
systemUserIdentities[email] = { cookie, id };
|
|
48
|
-
};
|
|
49
|
-
|
|
50
|
-
module.exports = {
|
|
51
|
-
init,
|
|
52
|
-
getEnv: () => privateMembers,
|
|
53
|
-
requiredValidation,
|
|
54
|
-
isLocalhost,
|
|
55
|
-
getSystemUserIdentity,
|
|
56
|
-
addUserIdentity
|
|
57
|
-
};
|
|
1
|
+
let privateMembers = {
|
|
2
|
+
backendUrl: null,
|
|
3
|
+
openapiUrl: null,
|
|
4
|
+
nodeBackendUrl: null,
|
|
5
|
+
credentials: null,
|
|
6
|
+
environment: null,
|
|
7
|
+
accountCreationSecret: null,
|
|
8
|
+
threadSchedulerSecret: null,
|
|
9
|
+
nodeBackendSecret: null,
|
|
10
|
+
dbEmailsSecrets: null
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
const init = conf => {
|
|
14
|
+
privateMembers = Object.assign(privateMembers, conf);
|
|
15
|
+
requiredValidation({
|
|
16
|
+
backendUrl: privateMembers.backendUrl,
|
|
17
|
+
openapiUrl: privateMembers.openapiUrl,
|
|
18
|
+
nodeBackendUrl: privateMembers.nodeBackendUrl,
|
|
19
|
+
environment: privateMembers.environment
|
|
20
|
+
});
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
const requiredValidation = object => {
|
|
24
|
+
const invalidKeys = [];
|
|
25
|
+
Object.keys(object).forEach(key => {
|
|
26
|
+
if (!object[key]) {
|
|
27
|
+
invalidKeys.push(` '${key}'`);
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
if (invalidKeys.length > 0) {
|
|
32
|
+
throw Error(`Missing required configuration on your environment variables.\nThe missing env-vars are:${invalidKeys}`);
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
const isLocalhost = () => {
|
|
37
|
+
return privateMembers.backendUrl.includes('localhost');
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
const systemUserIdentities = {};
|
|
41
|
+
|
|
42
|
+
const getSystemUserIdentity = email => {
|
|
43
|
+
return systemUserIdentities[email] || null;
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
const addUserIdentity = (email, cookie, id) => {
|
|
47
|
+
systemUserIdentities[email] = { cookie, id };
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
module.exports = {
|
|
51
|
+
init,
|
|
52
|
+
getEnv: () => privateMembers,
|
|
53
|
+
requiredValidation,
|
|
54
|
+
isLocalhost,
|
|
55
|
+
getSystemUserIdentity,
|
|
56
|
+
addUserIdentity
|
|
57
|
+
};
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
const requests = require('../../saas/internal-api/requests');
|
|
2
|
+
const { credentials } = require('../../../../../src/env');
|
|
3
|
+
const coi = require('../../saas/internal-api/coi');
|
|
4
|
+
const compliance = require('../../saas/internal-api/compliance');
|
|
5
|
+
const auth = require('../../saas/internal-api/auth');
|
|
6
|
+
const auditConfigs = require('../../defaults/configs/auditConfigs');
|
|
7
|
+
const httpResponseStatusCodes = require('../../common/httpResponseStatusCodes.json');
|
|
8
|
+
const timeUtils = require('../../common/utils/timeUtils');
|
|
9
|
+
|
|
10
|
+
const filePath = 'src/resources/coi/coi.pdf';
|
|
11
|
+
const complianceStatuses = {
|
|
12
|
+
complaint: 'complaint',
|
|
13
|
+
notCompliant: 'notCompliant',
|
|
14
|
+
expired: 'expired',
|
|
15
|
+
aboutToExpired: 'aboutToExpired'
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
const prepareRecord = async (recordCompany, recordEmail, status, tabId, requirementId, context) => {
|
|
19
|
+
const requestData = await requests.services.getOrCreateRequest(
|
|
20
|
+
context,
|
|
21
|
+
tabId,
|
|
22
|
+
requirementId,
|
|
23
|
+
{
|
|
24
|
+
inviterEmail: credentials.superUser,
|
|
25
|
+
email: recordEmail,
|
|
26
|
+
companyName: recordCompany
|
|
27
|
+
}
|
|
28
|
+
);
|
|
29
|
+
|
|
30
|
+
if (!(requestData && requestData.id)) {
|
|
31
|
+
throw Error(`Failed to create record ${record.company}\n`, requestData);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
const accountId = requestData.record.userId;
|
|
35
|
+
const projectId = requestData.projectInfo.projectId;
|
|
36
|
+
|
|
37
|
+
const coiUpload = await coi.utils.uploadCoi(
|
|
38
|
+
requestData.id,
|
|
39
|
+
filePath,
|
|
40
|
+
uploaderType = coi.consts.UPLOADER_TYPES.ICS,
|
|
41
|
+
uploaderEmail = credentials.superUser
|
|
42
|
+
);
|
|
43
|
+
|
|
44
|
+
if (!(coiUpload && coiUpload.name)) {
|
|
45
|
+
throw Error(`Failed to upload COI for record ${record.company}\n`, coiUpload);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
const auditorContext = await auth.services.getAuditorCookie();
|
|
49
|
+
|
|
50
|
+
let auditConfig;
|
|
51
|
+
switch (status) {
|
|
52
|
+
case complianceStatuses.notCompliant:
|
|
53
|
+
auditConfig = auditConfigs.getNotCompliantConfig();
|
|
54
|
+
break;
|
|
55
|
+
case complianceStatuses.expired:
|
|
56
|
+
auditConfig = auditConfigs.getExpiredConfig();
|
|
57
|
+
break;
|
|
58
|
+
case complianceStatuses.aboutToExpired:
|
|
59
|
+
auditConfig = auditConfigs.getAboutExpiredConfig();
|
|
60
|
+
break;
|
|
61
|
+
default:
|
|
62
|
+
auditConfig = auditConfigs.getCompliantAuditConfig();
|
|
63
|
+
break;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
let auditResponse, retries = 5;
|
|
67
|
+
do {
|
|
68
|
+
await timeUtils.waitFor(1).seconds;
|
|
69
|
+
auditResponse = await compliance.services.audit.auditRecord(
|
|
70
|
+
auditorContext,
|
|
71
|
+
accountId,
|
|
72
|
+
projectId,
|
|
73
|
+
record.requirementId,
|
|
74
|
+
requestData.id,
|
|
75
|
+
auditConfig
|
|
76
|
+
);
|
|
77
|
+
} while (auditResponse.status !== httpResponseStatusCodes.NO_CONTENT && retries--);
|
|
78
|
+
|
|
79
|
+
if (auditResponse.status !== httpResponseStatusCodes.NO_CONTENT) {
|
|
80
|
+
throw Error(`Failed to audit record ${record.company}\n`, auditResponse);
|
|
81
|
+
}
|
|
82
|
+
};
|
|
83
|
+
|
|
84
|
+
const prepareCompliantRecord = (recordCompany, recordEmail, tabId, requirementId, context) => {
|
|
85
|
+
return prepareRecord(recordCompany, recordEmail, complianceStatuses.complaint, tabId, requirementId, context);
|
|
86
|
+
};
|
|
87
|
+
|
|
88
|
+
const prepareNotCompliantRecord = (recordCompany, recordEmail, tabId, requirementId, context) => {
|
|
89
|
+
return prepareRecord(recordCompany, recordEmail, complianceStatuses.notCompliant, tabId, requirementId, context);
|
|
90
|
+
};
|
|
91
|
+
|
|
92
|
+
const prepareExpiredRecord = (recordCompany, recordEmail, tabId, requirementId, context) => {
|
|
93
|
+
return prepareRecord(recordCompany, recordEmail, complianceStatuses.expired, tabId, requirementId, context);
|
|
94
|
+
};
|
|
95
|
+
|
|
96
|
+
const prepareAboutToExpiredRecord = (recordCompany, recordEmail, tabId, requirementId, context) => {
|
|
97
|
+
return prepareRecord(recordCompany, recordEmail, complianceStatuses.aboutToExpired, tabId, requirementId, context);
|
|
98
|
+
};
|
|
99
|
+
|
|
100
|
+
module.exports = {
|
|
101
|
+
prepareCompliantRecord,
|
|
102
|
+
prepareNotCompliantRecord,
|
|
103
|
+
prepareExpiredRecord,
|
|
104
|
+
prepareAboutToExpiredRecord
|
|
105
|
+
};
|
package/src/index.js
CHANGED
|
@@ -1,73 +1,74 @@
|
|
|
1
|
-
const env = require('./env');
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
const
|
|
12
|
-
const defaults = require('./defaults');
|
|
13
|
-
const auth = require('./saas/internal-api/auth');
|
|
14
|
-
const accounts = require('./saas/internal-api/accounts');
|
|
15
|
-
|
|
16
|
-
const projects = require('./saas/internal-api/projects');
|
|
17
|
-
const tabs = require('./saas/internal-api/tabs');
|
|
18
|
-
|
|
19
|
-
const requirements = require('./saas/internal-api/requirements');
|
|
20
|
-
const contractors = require('./saas/internal-api/contractors');
|
|
21
|
-
const requests = require('./saas/internal-api/requests');
|
|
22
|
-
|
|
23
|
-
const coi = require('./saas/internal-api/coi');
|
|
24
|
-
const compliance = require('./saas/internal-api/compliance');
|
|
25
|
-
const users = require('./saas/internal-api/users');
|
|
26
|
-
|
|
27
|
-
const reports = require('./saas/internal-api/reports');
|
|
28
|
-
const charts = require('./saas/internal-api/homepageCharts');
|
|
29
|
-
const dashboardInnerPage = require('./saas/internal-api/dashboardInnerPage');
|
|
30
|
-
|
|
31
|
-
const globalRecord = require('./saas/internal-api/globalRecord');
|
|
32
|
-
const vendorProfile = require('./saas/internal-api/vendorProfile');
|
|
33
|
-
const serviceArea = require('./saas/internal-api/serviceArea');
|
|
34
|
-
|
|
35
|
-
const threadScheduler = require('./saas/internal-api/thread-scheduler/runner');
|
|
36
|
-
const dbEmails = require('./saas/internal-api/dbEmails/index');
|
|
37
|
-
|
|
38
|
-
const internalAPI = {
|
|
39
|
-
defaults,
|
|
40
|
-
auth,
|
|
41
|
-
accounts,
|
|
42
|
-
projects,
|
|
43
|
-
tabs,
|
|
44
|
-
requirements,
|
|
45
|
-
contractors,
|
|
46
|
-
requests,
|
|
47
|
-
coi,
|
|
48
|
-
compliance,
|
|
49
|
-
reports,
|
|
50
|
-
users,
|
|
51
|
-
charts,
|
|
52
|
-
dashboardInnerPage,
|
|
53
|
-
globalRecord,
|
|
54
|
-
vendorProfile,
|
|
55
|
-
serviceArea,
|
|
56
|
-
threadScheduler,
|
|
57
|
-
dbEmails
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
const
|
|
66
|
-
const
|
|
67
|
-
const
|
|
68
|
-
const
|
|
69
|
-
const
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
1
|
+
const env = require('./env');
|
|
2
|
+
const init = conf => {
|
|
3
|
+
env.init(conf);
|
|
4
|
+
const internalAPI = getInternalAPI();
|
|
5
|
+
const openAPI = getOpenAPI();
|
|
6
|
+
|
|
7
|
+
return { internalAPI, openAPI };
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
const getInternalAPI = () => {
|
|
11
|
+
const factory = require('./factory');
|
|
12
|
+
const defaults = require('./defaults');
|
|
13
|
+
const auth = require('./saas/internal-api/auth');
|
|
14
|
+
const accounts = require('./saas/internal-api/accounts');
|
|
15
|
+
|
|
16
|
+
const projects = require('./saas/internal-api/projects');
|
|
17
|
+
const tabs = require('./saas/internal-api/tabs');
|
|
18
|
+
|
|
19
|
+
const requirements = require('./saas/internal-api/requirements');
|
|
20
|
+
const contractors = require('./saas/internal-api/contractors');
|
|
21
|
+
const requests = require('./saas/internal-api/requests');
|
|
22
|
+
|
|
23
|
+
const coi = require('./saas/internal-api/coi');
|
|
24
|
+
const compliance = require('./saas/internal-api/compliance');
|
|
25
|
+
const users = require('./saas/internal-api/users');
|
|
26
|
+
|
|
27
|
+
const reports = require('./saas/internal-api/reports');
|
|
28
|
+
const charts = require('./saas/internal-api/homepageCharts');
|
|
29
|
+
const dashboardInnerPage = require('./saas/internal-api/dashboardInnerPage');
|
|
30
|
+
|
|
31
|
+
const globalRecord = require('./saas/internal-api/globalRecord');
|
|
32
|
+
const vendorProfile = require('./saas/internal-api/vendorProfile');
|
|
33
|
+
const serviceArea = require('./saas/internal-api/serviceArea');
|
|
34
|
+
|
|
35
|
+
const threadScheduler = require('./saas/internal-api/thread-scheduler/runner');
|
|
36
|
+
const dbEmails = require('./saas/internal-api/dbEmails/index');
|
|
37
|
+
|
|
38
|
+
const internalAPI = {
|
|
39
|
+
defaults,
|
|
40
|
+
auth,
|
|
41
|
+
accounts,
|
|
42
|
+
projects,
|
|
43
|
+
tabs,
|
|
44
|
+
requirements,
|
|
45
|
+
contractors,
|
|
46
|
+
requests,
|
|
47
|
+
coi,
|
|
48
|
+
compliance,
|
|
49
|
+
reports,
|
|
50
|
+
users,
|
|
51
|
+
charts,
|
|
52
|
+
dashboardInnerPage,
|
|
53
|
+
globalRecord,
|
|
54
|
+
vendorProfile,
|
|
55
|
+
serviceArea,
|
|
56
|
+
threadScheduler,
|
|
57
|
+
dbEmails,
|
|
58
|
+
factory
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
return internalAPI;
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
const getOpenAPI = () => {
|
|
65
|
+
const accounts = require('./saas/openapi/accounts/accounts.service');
|
|
66
|
+
const tabs = require('./saas/openapi/tabs/tabs.service');
|
|
67
|
+
const requests = require('./saas/openapi/requests');
|
|
68
|
+
const projects = require('./saas/openapi/projects/projects.service');
|
|
69
|
+
const requirements = require('./saas/openapi/requirements');
|
|
70
|
+
const openAPI = { accounts, tabs, requests, projects, requirements };
|
|
71
|
+
return openAPI;
|
|
72
|
+
};
|
|
73
|
+
|
|
74
|
+
module.exports = init;
|
|
Binary file
|