@getjones/test-infra 2.6.1 → 2.6.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (149) hide show
  1. package/package.json +29 -30
  2. package/src/common/commonFlows/index.js +3 -3
  3. package/src/common/commonFlows/records/records.js +71 -71
  4. package/src/common/consts/userTypes.js +5 -0
  5. package/src/common/httpResponseStatusCodes.json +11 -11
  6. package/src/common/requests/apiKeyAuth/requests.js +38 -38
  7. package/src/common/requests/cookieAuth/requests.js +40 -40
  8. package/src/common/requests/requestHandlers.js +60 -60
  9. package/src/common/utils/dataTypeUtils.js +41 -41
  10. package/src/common/utils/numberUtils.js +22 -22
  11. package/src/common/utils/objectUtils.js +7 -9
  12. package/src/common/utils/timeUtils.js +171 -171
  13. package/src/common/validations/errorValidation.js +16 -16
  14. package/src/common/validations/typeValidations.js +36 -36
  15. package/src/defaults/configs/auditConfigs.js +85 -85
  16. package/src/defaults/configs/polices.js +47 -47
  17. package/src/defaults/configs/requirement.js +29 -29
  18. package/src/defaults/index.js +5 -5
  19. package/src/env.js +57 -57
  20. package/src/factory/index.js +5 -0
  21. package/src/factory/records/records.js +105 -0
  22. package/src/index.js +74 -73
  23. package/src/resources/coi/coi.pdf +0 -0
  24. package/src/resources/coi/realCoi.pdf +5617 -20
  25. package/src/saas/internal-api/accounts/api/core/accounts.core.api.js +28 -28
  26. package/src/saas/internal-api/accounts/api/core/accounts.core.service.js +77 -77
  27. package/src/saas/internal-api/accounts/api/openapi/accounts.openapi.api.js +48 -48
  28. package/src/saas/internal-api/accounts/api/openapi/accounts.openapi.service.js +74 -74
  29. package/src/saas/internal-api/accounts/api/settings/settings.api.js +21 -21
  30. package/src/saas/internal-api/accounts/api/settings/settings.service.js +24 -24
  31. package/src/saas/internal-api/accounts/consts/consts.js +6 -6
  32. package/src/saas/internal-api/accounts/index.js +21 -21
  33. package/src/saas/internal-api/accounts/models/core/create.account.model.js +16 -16
  34. package/src/saas/internal-api/accounts/models/settings/update.settings.model.js +23 -23
  35. package/src/saas/internal-api/accounts/utils/utils.js +32 -32
  36. package/src/saas/internal-api/auth/api/auth.api.js +18 -18
  37. package/src/saas/internal-api/auth/api/auth.service.js +67 -67
  38. package/src/saas/internal-api/auth/index.js +3 -3
  39. package/src/saas/internal-api/coi/api/coi.api.js +34 -34
  40. package/src/saas/internal-api/coi/api/coi.service.js +22 -22
  41. package/src/saas/internal-api/coi/consts/uploaderTypes.js +5 -7
  42. package/src/saas/internal-api/coi/index.js +13 -13
  43. package/src/saas/internal-api/coi/models/submit.coi.model.js +9 -9
  44. package/src/saas/internal-api/coi/utils/utils.js +48 -48
  45. package/src/saas/internal-api/compliance/api/audit/audit.api.js +40 -40
  46. package/src/saas/internal-api/compliance/api/audit/audit.service.js +152 -151
  47. package/src/saas/internal-api/compliance/api/convert/convert.api.js +17 -17
  48. package/src/saas/internal-api/compliance/api/convert/convert.service.js +11 -11
  49. package/src/saas/internal-api/compliance/api/coverage/coverage.api.js +33 -33
  50. package/src/saas/internal-api/compliance/api/coverage/coverage.service.js +24 -24
  51. package/src/saas/internal-api/compliance/api/waive/waive.api.js +21 -21
  52. package/src/saas/internal-api/compliance/api/waive/waive.service.js +100 -15
  53. package/src/saas/internal-api/compliance/consts/audit.js +71 -81
  54. package/src/saas/internal-api/compliance/index.js +28 -28
  55. package/src/saas/internal-api/compliance/models/audit/audit.model.js +84 -84
  56. package/src/saas/internal-api/compliance/models/waive/waive.model.js +48 -45
  57. package/src/saas/internal-api/compliance/utils/util.js +207 -175
  58. package/src/saas/internal-api/contractors/api/contractors.api.js +141 -141
  59. package/src/saas/internal-api/contractors/api/contractors.service.js +147 -147
  60. package/src/saas/internal-api/contractors/index.js +8 -8
  61. package/src/saas/internal-api/contractors/models/create.contractor.model.js +22 -22
  62. package/src/saas/internal-api/contractors/models/edit.contractor.model.js +60 -60
  63. package/src/saas/internal-api/contractors/models/verification.contractor.model.js +27 -27
  64. package/src/saas/internal-api/dashboardInnerPage/api/recordList.api.js +12 -12
  65. package/src/saas/internal-api/dashboardInnerPage/api/recordList.service.js +7 -7
  66. package/src/saas/internal-api/dashboardInnerPage/index.js +5 -5
  67. package/src/saas/internal-api/dashboardInnerPage/models/dashboard.filter.criteria.model.js +38 -38
  68. package/src/saas/internal-api/dbEmails/api/db.emails.api.js +25 -25
  69. package/src/saas/internal-api/dbEmails/api/db.emails.service.js +127 -127
  70. package/src/saas/internal-api/dbEmails/consts/consts.js +3 -3
  71. package/src/saas/internal-api/dbEmails/index.js +4 -4
  72. package/src/saas/internal-api/dbEmails/models/db.emails.model.js +21 -21
  73. package/src/saas/internal-api/dbEmails/utils/util.js +59 -59
  74. package/src/saas/internal-api/globalRecord/api/global.record.api.js +76 -76
  75. package/src/saas/internal-api/globalRecord/api/global.record.service.js +83 -83
  76. package/src/saas/internal-api/globalRecord/consts.js +20 -20
  77. package/src/saas/internal-api/globalRecord/index.js +6 -6
  78. package/src/saas/internal-api/globalRecord/models/global.record.model.js +43 -43
  79. package/src/saas/internal-api/globalRecord/utils/util.js +148 -148
  80. package/src/saas/internal-api/homepageCharts/api/charts.api.js +12 -12
  81. package/src/saas/internal-api/homepageCharts/api/charts.service.js +7 -7
  82. package/src/saas/internal-api/homepageCharts/index.js +3 -3
  83. package/src/saas/internal-api/projects/api/core/projects.api.js +39 -39
  84. package/src/saas/internal-api/projects/api/core/projects.service.js +65 -65
  85. package/src/saas/internal-api/projects/api/settings/project.settings.api.js +18 -18
  86. package/src/saas/internal-api/projects/api/settings/project.settings.service.js +17 -17
  87. package/src/saas/internal-api/projects/consts/defaultProject.js +3 -3
  88. package/src/saas/internal-api/projects/index.js +24 -24
  89. package/src/saas/internal-api/projects/models/core/create.project.model.js +41 -41
  90. package/src/saas/internal-api/projects/models/core/update.project.model.js +47 -47
  91. package/src/saas/internal-api/projects/models/settings/update.project.settings.model.js +39 -39
  92. package/src/saas/internal-api/projects/utils/utils.js +82 -82
  93. package/src/saas/internal-api/recordNotes/api/record.notes.api.js +38 -38
  94. package/src/saas/internal-api/recordNotes/api/record.notes.service.js +29 -29
  95. package/src/saas/internal-api/recordNotes/index.js +3 -3
  96. package/src/saas/internal-api/reports/api/reports.api.js +39 -39
  97. package/src/saas/internal-api/reports/api/reports.service.js +34 -34
  98. package/src/saas/internal-api/reports/consts/consts.js +63 -63
  99. package/src/saas/internal-api/reports/index.js +15 -15
  100. package/src/saas/internal-api/reports/models/report.model.js +27 -27
  101. package/src/saas/internal-api/requests/api/requests.api.js +54 -54
  102. package/src/saas/internal-api/requests/api/requests.service.js +84 -51
  103. package/src/saas/internal-api/requests/index.js +14 -14
  104. package/src/saas/internal-api/requests/models/create.request.model.js +22 -22
  105. package/src/saas/internal-api/requests/models/edit.request.model.js +31 -31
  106. package/src/saas/internal-api/requests/models/tenant.request.model.js +9 -9
  107. package/src/saas/internal-api/requests/utils.js +8 -8
  108. package/src/saas/internal-api/requirements/api/requirements.api.js +45 -45
  109. package/src/saas/internal-api/requirements/api/requirements.service.js +94 -94
  110. package/src/saas/internal-api/requirements/consts/attributeTypes.json +5 -5
  111. package/src/saas/internal-api/requirements/consts/consts.js +6 -6
  112. package/src/saas/internal-api/requirements/index.js +8 -8
  113. package/src/saas/internal-api/requirements/models/create.requirement.model.js +17 -17
  114. package/src/saas/internal-api/requirements/models/policy.model.js +32 -32
  115. package/src/saas/internal-api/requirements/models/update.requirement.model.js +21 -21
  116. package/src/saas/internal-api/requirements/utils/utils.js +101 -101
  117. package/src/saas/internal-api/serviceArea/api/coordinates.api.js +12 -12
  118. package/src/saas/internal-api/serviceArea/api/coordinates.service.js +7 -7
  119. package/src/saas/internal-api/serviceArea/index.js +4 -4
  120. package/src/saas/internal-api/serviceArea/utils/utils.js +8 -8
  121. package/src/saas/internal-api/tabs/api/tabs.api.js +32 -32
  122. package/src/saas/internal-api/tabs/api/tabs.service.js +54 -54
  123. package/src/saas/internal-api/tabs/index.js +3 -3
  124. package/src/saas/internal-api/tabs/models/tabs.model.js +18 -18
  125. package/src/saas/internal-api/thread-scheduler/runner.js +39 -39
  126. package/src/saas/internal-api/users/api/users.api.js +77 -77
  127. package/src/saas/internal-api/users/api/users.service.js +101 -101
  128. package/src/saas/internal-api/users/index.js +4 -4
  129. package/src/saas/internal-api/users/models/users.model.js +31 -31
  130. package/src/saas/internal-api/users/utils/util.js +14 -14
  131. package/src/saas/internal-api/vendorProfile/api/vendor.profile.api.js +20 -20
  132. package/src/saas/internal-api/vendorProfile/api/vendor.profile.service.js +14 -14
  133. package/src/saas/internal-api/vendorProfile/index.js +3 -3
  134. package/src/saas/openapi/accounts/accounts.api.js +17 -17
  135. package/src/saas/openapi/accounts/accounts.service.js +11 -11
  136. package/src/saas/openapi/projects/projects.api.js +59 -59
  137. package/src/saas/openapi/projects/projects.service.js +44 -44
  138. package/src/saas/openapi/requests/index.js +6 -6
  139. package/src/saas/openapi/requests/models/invite.request.model.js +37 -37
  140. package/src/saas/openapi/requests/requests.api.js +20 -20
  141. package/src/saas/openapi/requests/requests.service.js +18 -18
  142. package/src/saas/openapi/requirements/index.js +6 -6
  143. package/src/saas/openapi/requirements/models/copy.requirement.model.js +10 -10
  144. package/src/saas/openapi/requirements/requirements.api.js +12 -12
  145. package/src/saas/openapi/requirements/requirements.service.js +20 -20
  146. package/src/saas/openapi/tabs/tabs.api.js +13 -13
  147. package/src/saas/openapi/tabs/tabs.service.js +7 -7
  148. package/tests/env.test.js +40 -40
  149. 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
+ };
@@ -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,5 @@
1
+ const records = require('./records/records');
2
+
3
+ module.exports = {
4
+ records
5
+ };
@@ -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
- const init = conf => {
4
- env.init(conf);
5
- const internalAPI = getInternalAPI();
6
- const openAPI = getOpenAPI();
7
-
8
- return { internalAPI, openAPI };
9
- };
10
-
11
- const getInternalAPI = () => {
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
- return internalAPI;
61
- };
62
-
63
- const getOpenAPI = () => {
64
- const accounts = require('./saas/openapi/accounts/accounts.service');
65
- const tabs = require('./saas/openapi/tabs/tabs.service');
66
- const requests = require('./saas/openapi/requests');
67
- const projects = require('./saas/openapi/projects/projects.service');
68
- const requirements = require('./saas/openapi/requirements');
69
- const openAPI = { accounts, tabs, requests, projects, requirements };
70
- return openAPI;
71
- };
72
-
73
- module.exports = init;
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