@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,39 +1,39 @@
1
- const requests = require('../../../../common/requests/cookieAuth/requests');
2
- const { backendUrl } = require('../../../../env').getEnv();
3
-
4
- const Endpoints = {
5
- generateReportAndSendViaEmail: (accountId, reportType) => `${backendUrl}/saas/ExportXLSXReport/account/${accountId}/${reportType}`,
6
- generateReportAndUploadToS3: reportType => `${backendUrl}/saas/integration-tests/ExportXLSXReport/${reportType}`,
7
- getScheduledReports: accountId => `${backendUrl}/saas/scheduled-report/account/${accountId}`,
8
- deleteScheduledReport: scheduledReportId => `${backendUrl}/saas/scheduled-report/${scheduledReportId}`,
9
- updateScheduledReportLastSentDate: scheduledReportId => `${backendUrl}/saas/automation/scheduled-report/${scheduledReportId}`
10
- };
11
-
12
- const generateReportAndSendViaEmail = (reportFilters, accountId, reportType, context) => {
13
- return requests.postRequestHandler(Endpoints.generateReportAndSendViaEmail(accountId, reportType), reportFilters, context);
14
- };
15
-
16
- const generateReportAndUploadToS3 = (reportFilters, reportType, context) => {
17
- return requests.postRequestHandler(Endpoints.generateReportAndUploadToS3(reportType), reportFilters, context);
18
- };
19
-
20
- const getScheduledReports = (accountId, context) => {
21
- return requests.getRequestHandler(Endpoints.getScheduledReports(accountId), null, context);
22
- };
23
-
24
- const deleteScheduledReport = (scheduledReportId, context) => {
25
- return requests.deleteRequestHandler(Endpoints.deleteScheduledReport(scheduledReportId), context);
26
- };
27
-
28
- const updateScheduledReportLastSentDate = (scheduledReportId, customLastSentDate, context) => {
29
- const url = `${Endpoints.updateScheduledReportLastSentDate(scheduledReportId)}?customLastSentDate=${customLastSentDate.toISOString()}`;
30
- return requests.putRequestHandler(url, {}, context);
31
- };
32
-
33
- module.exports = {
34
- generateReportAndSendViaEmail,
35
- generateReportAndUploadToS3,
36
- getScheduledReports,
37
- deleteScheduledReport,
38
- updateScheduledReportLastSentDate
39
- };
1
+ const requests = require('../../../../common/requests/cookieAuth/requests');
2
+ const { backendUrl } = require('../../../../env').getEnv();
3
+
4
+ const Endpoints = {
5
+ generateReportAndSendViaEmail: (accountId, reportType) => `${backendUrl}/saas/ExportXLSXReport/account/${accountId}/${reportType}`,
6
+ generateReportAndUploadToS3: reportType => `${backendUrl}/saas/integration-tests/ExportXLSXReport/${reportType}`,
7
+ getScheduledReports: accountId => `${backendUrl}/saas/scheduled-report/account/${accountId}`,
8
+ deleteScheduledReport: scheduledReportId => `${backendUrl}/saas/scheduled-report/${scheduledReportId}`,
9
+ updateScheduledReportLastSentDate: scheduledReportId => `${backendUrl}/saas/automation/scheduled-report/${scheduledReportId}`
10
+ };
11
+
12
+ const generateReportAndSendViaEmail = (reportFilters, accountId, reportType, context) => {
13
+ return requests.postRequestHandler(Endpoints.generateReportAndSendViaEmail(accountId, reportType), reportFilters, context);
14
+ };
15
+
16
+ const generateReportAndUploadToS3 = (reportFilters, reportType, context) => {
17
+ return requests.postRequestHandler(Endpoints.generateReportAndUploadToS3(reportType), reportFilters, context);
18
+ };
19
+
20
+ const getScheduledReports = (accountId, context) => {
21
+ return requests.getRequestHandler(Endpoints.getScheduledReports(accountId), null, context);
22
+ };
23
+
24
+ const deleteScheduledReport = (scheduledReportId, context) => {
25
+ return requests.deleteRequestHandler(Endpoints.deleteScheduledReport(scheduledReportId), context);
26
+ };
27
+
28
+ const updateScheduledReportLastSentDate = (scheduledReportId, customLastSentDate, context) => {
29
+ const url = `${Endpoints.updateScheduledReportLastSentDate(scheduledReportId)}?customLastSentDate=${customLastSentDate.toISOString()}`;
30
+ return requests.putRequestHandler(url, {}, context);
31
+ };
32
+
33
+ module.exports = {
34
+ generateReportAndSendViaEmail,
35
+ generateReportAndUploadToS3,
36
+ getScheduledReports,
37
+ deleteScheduledReport,
38
+ updateScheduledReportLastSentDate
39
+ };
@@ -1,34 +1,34 @@
1
- const reportsApi = require('./reports.api');
2
- const { validateType } = require('../../../../common/validations/typeValidations');
3
- const { ReportFilters } = require('../models/report.model');
4
-
5
- const generateReportAndSendViaEmail = (reportFilters, accountId, reportType, context) => {
6
- validateType(reportFilters, ReportFilters);
7
- return reportsApi.generateReportAndSendViaEmail(reportFilters, accountId, reportType, context);
8
- };
9
-
10
- const generateReportAndUploadToS3 = (reportFilters, reportType, context) => {
11
- validateType(reportFilters, ReportFilters);
12
- return reportsApi.generateReportAndUploadToS3(reportFilters, reportType, context);
13
- };
14
-
15
- const getScheduledReports = (accountId, context) => {
16
- return reportsApi.getScheduledReports(accountId, context);
17
- };
18
-
19
- const deleteScheduledReport = (scheduledReportId, context) => {
20
- return reportsApi.deleteScheduledReport(scheduledReportId, context);
21
- };
22
-
23
- const updateScheduledReportLastSentDate = (scheduledReportId, customLastSentDate, context) => {
24
- validateType(customLastSentDate, Date);
25
- return reportsApi.updateScheduledReportLastSentDate(scheduledReportId, customLastSentDate, context);
26
- };
27
-
28
- module.exports = {
29
- generateReportAndSendViaEmail,
30
- generateReportAndUploadToS3,
31
- getScheduledReports,
32
- deleteScheduledReport,
33
- updateScheduledReportLastSentDate
34
- };
1
+ const reportsApi = require('./reports.api');
2
+ const { validateType } = require('../../../../common/validations/typeValidations');
3
+ const { ReportFilters } = require('../models/report.model');
4
+
5
+ const generateReportAndSendViaEmail = (reportFilters, accountId, reportType, context) => {
6
+ validateType(reportFilters, ReportFilters);
7
+ return reportsApi.generateReportAndSendViaEmail(reportFilters, accountId, reportType, context);
8
+ };
9
+
10
+ const generateReportAndUploadToS3 = (reportFilters, reportType, context) => {
11
+ validateType(reportFilters, ReportFilters);
12
+ return reportsApi.generateReportAndUploadToS3(reportFilters, reportType, context);
13
+ };
14
+
15
+ const getScheduledReports = (accountId, context) => {
16
+ return reportsApi.getScheduledReports(accountId, context);
17
+ };
18
+
19
+ const deleteScheduledReport = (scheduledReportId, context) => {
20
+ return reportsApi.deleteScheduledReport(scheduledReportId, context);
21
+ };
22
+
23
+ const updateScheduledReportLastSentDate = (scheduledReportId, customLastSentDate, context) => {
24
+ validateType(customLastSentDate, Date);
25
+ return reportsApi.updateScheduledReportLastSentDate(scheduledReportId, customLastSentDate, context);
26
+ };
27
+
28
+ module.exports = {
29
+ generateReportAndSendViaEmail,
30
+ generateReportAndUploadToS3,
31
+ getScheduledReports,
32
+ deleteScheduledReport,
33
+ updateScheduledReportLastSentDate
34
+ };
@@ -1,63 +1,63 @@
1
- const REPORT_COMPLIANCE_STATUSES = {
2
- COMPLIANT: 'COMPLIANT',
3
- NOT_COMPLIANT: 'NOT_COMPLIANT',
4
- AWAITING_COI: 'AWAITING_COI',
5
- WAIVED: 'WAIVED',
6
- EXPIRED: 'EXPIRED'
7
- };
8
-
9
- const EXPIRING_RECORDS_REPORT_COMPLIANCE_STATUSES = {
10
- EXPIRING_SOON: 'EXPIRING_SOON'
11
- };
12
-
13
- const REPORT_CONTRACTOR_TYPES = {
14
- VENDORS: 'Vendors',
15
- TENANTS: 'Tenants',
16
- GUESTS: 'Guests'
17
- };
18
-
19
- const ALL_REPORT_COMPLIANCE_STATUSES = [
20
- REPORT_COMPLIANCE_STATUSES.COMPLIANT,
21
- REPORT_COMPLIANCE_STATUSES.NOT_COMPLIANT,
22
- REPORT_COMPLIANCE_STATUSES.AWAITING_COI,
23
- REPORT_COMPLIANCE_STATUSES.WAIVED,
24
- REPORT_COMPLIANCE_STATUSES.EXPIRED
25
- ];
26
-
27
- const ALL_REPORT_CONTRACTOR_TYPES = [
28
- REPORT_CONTRACTOR_TYPES.VENDORS,
29
- REPORT_CONTRACTOR_TYPES.TENANTS,
30
- REPORT_CONTRACTOR_TYPES.GUESTS
31
- ];
32
-
33
- const XlsxReportTypes = {
34
- HIGH_LEVEL_PROPERTY_METRICS: 'HighLevelPropertyMetrics',
35
- MASTER_COMPLIANCE_REPORT: 'MasterComplianceReport',
36
- WAIVERS_REPORT: 'WaiversReport',
37
- USER_MANAGEMENT_REPORT: 'UserManagementReport',
38
- COVERAGE_GAPS_REPORT: 'CoverageGapsReport',
39
- EXPIRING_RECORDS_REPORT: 'ExpiringRecordsReport'
40
- };
41
-
42
- const ScheduledReportFrequency = {
43
- DAILY: 'Daily',
44
- WEEKLY: 'Weekly',
45
- MONTHLY: 'Monthly',
46
- QUARTERLY: 'Quarterly'
47
- };
48
-
49
- const SelectionType = {
50
- ALL: 'All',
51
- SELECTION: 'Selection'
52
- };
53
-
54
- module.exports = {
55
- REPORT_COMPLIANCE_STATUSES,
56
- REPORT_CONTRACTOR_TYPES,
57
- ALL_REPORT_COMPLIANCE_STATUSES,
58
- EXPIRING_RECORDS_REPORT_COMPLIANCE_STATUSES,
59
- ALL_REPORT_CONTRACTOR_TYPES,
60
- XlsxReportTypes,
61
- ScheduledReportFrequency,
62
- SelectionType
63
- };
1
+ const REPORT_COMPLIANCE_STATUSES = {
2
+ COMPLIANT: 'COMPLIANT',
3
+ NOT_COMPLIANT: 'NOT_COMPLIANT',
4
+ AWAITING_COI: 'AWAITING_COI',
5
+ WAIVED: 'WAIVED',
6
+ EXPIRED: 'EXPIRED'
7
+ };
8
+
9
+ const EXPIRING_RECORDS_REPORT_COMPLIANCE_STATUSES = {
10
+ EXPIRING_SOON: 'EXPIRING_SOON'
11
+ };
12
+
13
+ const REPORT_CONTRACTOR_TYPES = {
14
+ VENDORS: 'Vendors',
15
+ TENANTS: 'Tenants',
16
+ GUESTS: 'Guests'
17
+ };
18
+
19
+ const ALL_REPORT_COMPLIANCE_STATUSES = [
20
+ REPORT_COMPLIANCE_STATUSES.COMPLIANT,
21
+ REPORT_COMPLIANCE_STATUSES.NOT_COMPLIANT,
22
+ REPORT_COMPLIANCE_STATUSES.AWAITING_COI,
23
+ REPORT_COMPLIANCE_STATUSES.WAIVED,
24
+ REPORT_COMPLIANCE_STATUSES.EXPIRED
25
+ ];
26
+
27
+ const ALL_REPORT_CONTRACTOR_TYPES = [
28
+ REPORT_CONTRACTOR_TYPES.VENDORS,
29
+ REPORT_CONTRACTOR_TYPES.TENANTS,
30
+ REPORT_CONTRACTOR_TYPES.GUESTS
31
+ ];
32
+
33
+ const XlsxReportTypes = {
34
+ HIGH_LEVEL_PROPERTY_METRICS: 'HighLevelPropertyMetrics',
35
+ MASTER_COMPLIANCE_REPORT: 'MasterComplianceReport',
36
+ WAIVERS_REPORT: 'WaiversReport',
37
+ USER_MANAGEMENT_REPORT: 'UserManagementReport',
38
+ COVERAGE_GAPS_REPORT: 'CoverageGapsReport',
39
+ EXPIRING_RECORDS_REPORT: 'ExpiringRecordsReport'
40
+ };
41
+
42
+ const ScheduledReportFrequency = {
43
+ DAILY: 'Daily',
44
+ WEEKLY: 'Weekly',
45
+ MONTHLY: 'Monthly',
46
+ QUARTERLY: 'Quarterly'
47
+ };
48
+
49
+ const SelectionType = {
50
+ ALL: 'All',
51
+ SELECTION: 'Selection'
52
+ };
53
+
54
+ module.exports = {
55
+ REPORT_COMPLIANCE_STATUSES,
56
+ REPORT_CONTRACTOR_TYPES,
57
+ ALL_REPORT_COMPLIANCE_STATUSES,
58
+ EXPIRING_RECORDS_REPORT_COMPLIANCE_STATUSES,
59
+ ALL_REPORT_CONTRACTOR_TYPES,
60
+ XlsxReportTypes,
61
+ ScheduledReportFrequency,
62
+ SelectionType
63
+ };
@@ -1,15 +1,15 @@
1
- const reportService = require('./api/reports.service');
2
- const reportModels = require('./models/report.model');
3
- const reportConsts = require('./consts/consts');
4
-
5
- const services = {
6
- report: reportService
7
- };
8
- const models = {
9
- report: reportModels
10
- };
11
- const consts = {
12
- report: reportConsts
13
- };
14
-
15
- module.exports = { models, services, consts };
1
+ const reportService = require('./api/reports.service');
2
+ const reportModels = require('./models/report.model');
3
+ const reportConsts = require('./consts/consts');
4
+
5
+ const services = {
6
+ report: reportService
7
+ };
8
+ const models = {
9
+ report: reportModels
10
+ };
11
+ const consts = {
12
+ report: reportConsts
13
+ };
14
+
15
+ module.exports = { models, services, consts };
@@ -1,27 +1,27 @@
1
- const { ALL_REPORT_COMPLIANCE_STATUSES, ALL_REPORT_CONTRACTOR_TYPES } = require('../consts/consts');
2
-
3
- class ReportFilters {
4
- constructor(
5
- projects,
6
- {
7
- complianceStatuses = ALL_REPORT_COMPLIANCE_STATUSES,
8
- contractorTypes = ALL_REPORT_CONTRACTOR_TYPES,
9
- scheduledReportFrequency,
10
- isAllProjects,
11
- isAllTabTypes,
12
- isAllComplianceStatuses
13
- }
14
- ) {
15
- this.projects = projects;
16
- this.vendorTabTypes = contractorTypes;
17
- this.complianceStatuses = complianceStatuses;
18
- this.scheduledReportFrequency = scheduledReportFrequency,
19
- this.isAllProjects = isAllProjects,
20
- this.isAllTabTypes = isAllTabTypes,
21
- this.isAllComplianceStatuses = isAllComplianceStatuses;
22
- }
23
- }
24
-
25
- module.exports = {
26
- ReportFilters
27
- };
1
+ const { ALL_REPORT_COMPLIANCE_STATUSES, ALL_REPORT_CONTRACTOR_TYPES } = require('../consts/consts');
2
+
3
+ class ReportFilters {
4
+ constructor(
5
+ projects,
6
+ {
7
+ complianceStatuses = ALL_REPORT_COMPLIANCE_STATUSES,
8
+ contractorTypes = ALL_REPORT_CONTRACTOR_TYPES,
9
+ scheduledReportFrequency,
10
+ isAllProjects,
11
+ isAllTabTypes,
12
+ isAllComplianceStatuses
13
+ }
14
+ ) {
15
+ this.projects = projects;
16
+ this.vendorTabTypes = contractorTypes;
17
+ this.complianceStatuses = complianceStatuses;
18
+ this.scheduledReportFrequency = scheduledReportFrequency,
19
+ this.isAllProjects = isAllProjects,
20
+ this.isAllTabTypes = isAllTabTypes,
21
+ this.isAllComplianceStatuses = isAllComplianceStatuses;
22
+ }
23
+ }
24
+
25
+ module.exports = {
26
+ ReportFilters
27
+ };
@@ -1,54 +1,54 @@
1
- const requests = require('../../../../common/requests/cookieAuth/requests');
2
- const { backendUrl } = require('../../../../env').getEnv();
3
-
4
- const Endpoints = {
5
- create: `${backendUrl}/saas/requests/invite`,
6
- publicLinkInvite: `${backendUrl}/_saas/requests/publicinvite`,
7
- edit: contractorId => `${backendUrl}/saas/requests/${contractorId}/update`,
8
- getById: requestId => `${backendUrl}/saas/request/${requestId}`,
9
- getAccountRequests: accountId => `${backendUrl}/saas/requests/${accountId}`,
10
- getByTabId: `${backendUrl}/saas/requests`,
11
- requestsGlobalSearch: (projectId, searchWord) =>
12
- `${backendUrl}/saas/requests/search?&projectId=${projectId}&searchWord=${searchWord}`
13
- };
14
-
15
- const createRequest = (createRequestModel, context) => {
16
- return requests.postRequestHandler(Endpoints.create, createRequestModel, context);
17
- };
18
-
19
- const inviteRequestViaPublicLink = (createRequestModel, context) => {
20
- return requests.postRequestHandler(Endpoints.publicLinkInvite, createRequestModel, context);
21
- };
22
-
23
- const editRequestAndRecordDetails = (editRequestModel, context) => {
24
- const params = { updateInfoUser: 'EditVendor' };
25
- const { record: { contractorId } } = editRequestModel;
26
- return requests.postRequestHandler(Endpoints.edit(contractorId), editRequestModel, context, {}, params);
27
- };
28
-
29
- const getReqeustById = (requestId, context) => {
30
- return requests.getRequestHandler(Endpoints.getById(requestId), {}, context);
31
- };
32
-
33
- const getRequestsByAccountId = (accountId, context, params) => {
34
- return requests.getRequestHandler(Endpoints.getAccountRequests(accountId), params, context);
35
- };
36
-
37
- const getRequestsByTabId = (tabId, context, activityStatus) => {
38
- const body = { tabId, activityStatus };
39
- return requests.postRequestHandler(Endpoints.getByTabId, body, context);
40
- };
41
-
42
- const requestsGlobalSearch = (projectId, searchWord, context) => {
43
- return requests.getRequestHandler(Endpoints.requestsGlobalSearch(projectId, searchWord), {}, context);
44
- };
45
-
46
- module.exports = {
47
- createRequest,
48
- inviteRequestViaPublicLink,
49
- editRequestAndRecordDetails,
50
- getReqeustById,
51
- getRequestsByAccountId,
52
- getRequestsByTabId,
53
- requestsGlobalSearch
54
- };
1
+ const requests = require('../../../../common/requests/cookieAuth/requests');
2
+ const { backendUrl } = require('../../../../env').getEnv();
3
+
4
+ const Endpoints = {
5
+ create: `${backendUrl}/saas/contractors/invite`,
6
+ publicLinkInvite: `${backendUrl}/_saas/contractors/publicinvite`,
7
+ edit: contractorId => `${backendUrl}/saas/contractors/${contractorId}/update`,
8
+ getById: requestId => `${backendUrl}/saas/request/${requestId}`,
9
+ getAccountRequests: accountId => `${backendUrl}/saas/requests/${accountId}`,
10
+ getByTabId: `${backendUrl}/saas/contractors`,
11
+ requestsGlobalSearch: (projectId, searchWord) =>
12
+ `${backendUrl}/saas/contractors/search?&projectId=${projectId}&searchWord=${searchWord}`
13
+ };
14
+
15
+ const createRequest = (createRequestModel, context) => {
16
+ return requests.postRequestHandler(Endpoints.create, createRequestModel, context);
17
+ };
18
+
19
+ const inviteRequestViaPublicLink = (createRequestModel, context) => {
20
+ return requests.postRequestHandler(Endpoints.publicLinkInvite, createRequestModel, context);
21
+ };
22
+
23
+ const editRequestAndRecordDetails = (editRequestModel, context) => {
24
+ const params = { updateInfoUser: 'EditVendor' };
25
+ const { record: { contractorId } } = editRequestModel;
26
+ return requests.postRequestHandler(Endpoints.edit(contractorId), editRequestModel, context, {}, params);
27
+ };
28
+
29
+ const getReqeustById = (requestId, context) => {
30
+ return requests.getRequestHandler(Endpoints.getById(requestId), {}, context);
31
+ };
32
+
33
+ const getRequestsByAccountId = (accountId, context, params) => {
34
+ return requests.getRequestHandler(Endpoints.getAccountRequests(accountId), params, context);
35
+ };
36
+
37
+ const getRequestsByTabId = (tabId, context, activityStatus) => {
38
+ const body = { tabId, activityStatus };
39
+ return requests.postRequestHandler(Endpoints.getByTabId, body, context);
40
+ };
41
+
42
+ const requestsGlobalSearch = (projectId, searchWord, context) => {
43
+ return requests.getRequestHandler(Endpoints.requestsGlobalSearch(projectId, searchWord), {}, context);
44
+ };
45
+
46
+ module.exports = {
47
+ createRequest,
48
+ inviteRequestViaPublicLink,
49
+ editRequestAndRecordDetails,
50
+ getReqeustById,
51
+ getRequestsByAccountId,
52
+ getRequestsByTabId,
53
+ requestsGlobalSearch
54
+ };
@@ -1,51 +1,84 @@
1
- const requestsAPI = require('./requests.api');
2
- const { CreateRequestModel } = require('../models/create.request.model');
3
- const { RequestModel } = require('../models/edit.request.model');
4
- const { validateType } = require('../../../../common/validations/typeValidations');
5
-
6
- const createRequest = async (createRequestModel, context) => {
7
- validateType(createRequestModel, CreateRequestModel);
8
- return requestsAPI.createRequest(createRequestModel, context);
9
- };
10
-
11
- const inviteRequestViaPublicLink = async (createRequestModel, context) => {
12
- validateType(createRequestModel, CreateRequestModel);
13
- return requestsAPI.inviteRequestViaPublicLink(createRequestModel, context);
14
- };
15
-
16
- const editRequestAndRecordDetails = (editRequestModel, context) => {
17
- validateType(editRequestModel, RequestModel);
18
- return requestsAPI.editRequestAndRecordDetails(editRequestModel, context);
19
- };
20
-
21
- const getRequestsByTabId = (tabId, context, activityStatus = 'Active') => {
22
- return requestsAPI.getRequestsByTabId(tabId, context, activityStatus);
23
- };
24
-
25
- const getReqeustById = (requestId, context) => {
26
- return requestsAPI.getReqeustById(requestId, context);
27
- };
28
-
29
- const getRequestsByAccountId = (accountId, context, activationStatus) => {
30
- if (activationStatus) {
31
- activationStatus = activationStatus.reduce((f, s) => `${f},${s}`);
32
- }
33
-
34
- const params = { activationStatus };
35
-
36
- return requestsAPI.getRequestsByAccountId(accountId, context, params);
37
- };
38
-
39
- const requestsGlobalSearch = (projectId, searchWord, context) => {
40
- return requestsAPI.requestsGlobalSearch(projectId, searchWord, context);
41
- };
42
-
43
- module.exports = {
44
- createRequest,
45
- inviteRequestViaPublicLink,
46
- editRequestAndRecordDetails,
47
- getRequestsByTabId,
48
- getReqeustById,
49
- getRequestsByAccountId,
50
- requestsGlobalSearch
51
- };
1
+ const requestsAPI = require('./requests.api');
2
+ const { CreateRequestModel, ContractorInfo } = require('../models/create.request.model');
3
+ const { RequestModel } = require('../models/edit.request.model');
4
+ const { validateType } = require('../../../../common/validations/typeValidations');
5
+
6
+ const createRequest = async (createRequestModel, context) => {
7
+ validateType(createRequestModel, CreateRequestModel);
8
+ return requestsAPI.createRequest(createRequestModel, context);
9
+ };
10
+
11
+ const inviteRequestViaPublicLink = async (createRequestModel, context) => {
12
+ validateType(createRequestModel, CreateRequestModel);
13
+ return requestsAPI.inviteRequestViaPublicLink(createRequestModel, context);
14
+ };
15
+
16
+ const editRequestAndRecordDetails = (editRequestModel, context) => {
17
+ validateType(editRequestModel, RequestModel);
18
+ return requestsAPI.editRequestAndRecordDetails(editRequestModel, context);
19
+ };
20
+
21
+ const getRequestsByTabId = (tabId, context, activityStatus = 'Active') => {
22
+ return requestsAPI.getRequestsByTabId(tabId, context, activityStatus);
23
+ };
24
+
25
+ const getReqeustById = (requestId, context) => {
26
+ return requestsAPI.getReqeustById(requestId, context);
27
+ };
28
+
29
+ const getRequestsByAccountId = (accountId, context, activationStatus) => {
30
+ if (activationStatus) {
31
+ activationStatus = activationStatus.reduce((f, s) => `${f},${s}`);
32
+ }
33
+
34
+ const params = { activationStatus };
35
+
36
+ return requestsAPI.getRequestsByAccountId(accountId, context, params);
37
+ };
38
+
39
+ const getCreateRequestModel = (requirementId, contractor, { tabId, publicLink, sendMail } = {}) => {
40
+ const { recordType, email, companyName, additionalEmails } = contractor;
41
+ const contractorInfoModel = new ContractorInfo(recordType, email, companyName, additionalEmails);
42
+
43
+ return new CreateRequestModel(
44
+ requirementId,
45
+ contractor.inviterEmail,
46
+ contractorInfoModel,
47
+ {
48
+ tabId,
49
+ publicLink,
50
+ sendMail
51
+ }
52
+ );
53
+ };
54
+
55
+ const getOrCreateRequest = async (context, tabId, requirementId, contractor, activationStatus, { sendMail } = {}) => {
56
+ const { data: existingRequests } = await getRequestsByTabId(tabId, context, activationStatus);
57
+
58
+ const filteredRequests = Array.isArray(existingRequests) ? existingRequests.filter(({ record }) =>
59
+ record.company === contractor.companyName) : [];
60
+
61
+ if (filteredRequests.length) {
62
+ return filteredRequests[0];
63
+ }
64
+
65
+ const createContractorModel = getCreateRequestModel(requirementId, contractor, { tabId, sendMail });
66
+ const createContractorResponse = await createRequest(createContractorModel, context);
67
+ return createContractorResponse.data;
68
+ };
69
+
70
+ const requestsGlobalSearch = (projectId, searchWord, context) => {
71
+ return requestsAPI.requestsGlobalSearch(projectId, searchWord, context);
72
+ };
73
+
74
+ module.exports = {
75
+ createRequest,
76
+ inviteRequestViaPublicLink,
77
+ editRequestAndRecordDetails,
78
+ getRequestsByTabId,
79
+ getReqeustById,
80
+ getRequestsByAccountId,
81
+ getOrCreateRequest,
82
+ getCreateRequestModel,
83
+ requestsGlobalSearch
84
+ };
@@ -1,14 +1,14 @@
1
- const services = require('./api/requests.service');
2
-
3
- const { TenantRequestModel, RequestModel, TabModel } = require('./models/edit.request.model');
4
- const { CreateRequestModel, ContractorInfo } = require('./models/create.request.model');
5
-
6
- const models = {
7
- TenantRequestModel,
8
- RequestModel,
9
- TabModel,
10
- CreateRequestModel,
11
- ContractorInfo
12
- };
13
-
14
- module.exports = { services, models };
1
+ const services = require('./api/requests.service');
2
+
3
+ const { TenantRequestModel, RequestModel, TabModel } = require('./models/edit.request.model');
4
+ const { CreateRequestModel, ContractorInfo } = require('./models/create.request.model');
5
+
6
+ const models = {
7
+ TenantRequestModel,
8
+ RequestModel,
9
+ TabModel,
10
+ CreateRequestModel,
11
+ ContractorInfo
12
+ };
13
+
14
+ module.exports = { services, models };