@getjones/test-infra 2.1.1 → 2.1.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 -29
- package/src/common/commonFlows/index.js +3 -3
- package/src/common/commonFlows/records/records.js +71 -71
- package/src/common/httpResponseStatusCodes.json +11 -11
- package/src/common/requests/apiKeyAuth/requests.js +38 -38
- package/src/common/requests/cookieAuth/requests.js +40 -40
- package/src/common/requests/requestHandlers.js +60 -60
- package/src/common/utils/dataTypeUtils.js +41 -0
- package/src/common/utils/numberUtils.js +22 -22
- package/src/common/utils/timeUtils.js +167 -162
- package/src/common/validations/errorValidation.js +16 -16
- package/src/common/validations/typeValidations.js +36 -36
- package/src/env.js +45 -45
- package/src/index.js +71 -69
- package/src/saas/internal-api/accounts/api/core/accounts.core.api.js +28 -28
- package/src/saas/internal-api/accounts/api/core/accounts.core.service.js +77 -77
- package/src/saas/internal-api/accounts/api/openapi/accounts.openapi.api.js +48 -48
- package/src/saas/internal-api/accounts/api/openapi/accounts.openapi.service.js +74 -74
- package/src/saas/internal-api/accounts/api/settings/settings.api.js +21 -21
- package/src/saas/internal-api/accounts/api/settings/settings.service.js +24 -24
- package/src/saas/internal-api/accounts/index.js +20 -20
- package/src/saas/internal-api/accounts/models/core/create.account.model.js +15 -15
- package/src/saas/internal-api/accounts/models/settings/update.settings.model.js +23 -19
- package/src/saas/internal-api/accounts/utils/utils.js +32 -32
- package/src/saas/internal-api/auth/api/auth.api.js +12 -12
- package/src/saas/internal-api/auth/api/auth.service.js +63 -47
- package/src/saas/internal-api/auth/index.js +3 -3
- package/src/saas/internal-api/coi/api/coi.api.js +34 -34
- package/src/saas/internal-api/coi/api/coi.service.js +22 -22
- package/src/saas/internal-api/coi/consts/uploaderTypes.js +7 -7
- package/src/saas/internal-api/coi/index.js +13 -13
- package/src/saas/internal-api/coi/models/submit.coi.model.js +9 -9
- package/src/saas/internal-api/coi/utils/utils.js +48 -48
- package/src/saas/internal-api/compliance/api/audit/audit.api.js +41 -40
- package/src/saas/internal-api/compliance/api/audit/audit.service.js +152 -33
- package/src/saas/internal-api/compliance/api/convert/convert.api.js +17 -17
- package/src/saas/internal-api/compliance/api/convert/convert.service.js +11 -11
- package/src/saas/internal-api/compliance/api/coverage/coverage.api.js +33 -33
- package/src/saas/internal-api/compliance/api/coverage/coverage.service.js +24 -24
- package/src/saas/internal-api/compliance/api/waive/waive.api.js +21 -21
- package/src/saas/internal-api/compliance/api/waive/waive.service.js +15 -15
- package/src/saas/internal-api/compliance/consts/audit.js +81 -0
- package/src/saas/internal-api/compliance/index.js +28 -22
- package/src/saas/internal-api/compliance/models/audit/audit.model.js +84 -110
- package/src/saas/internal-api/compliance/models/waive/waive.model.js +45 -45
- package/src/saas/internal-api/compliance/utils/util.js +173 -0
- package/src/saas/internal-api/contractors/api/contractors.api.js +141 -147
- package/src/saas/internal-api/contractors/api/contractors.service.js +123 -129
- package/src/saas/internal-api/contractors/index.js +8 -8
- package/src/saas/internal-api/contractors/models/create.contractor.model.js +22 -22
- package/src/saas/internal-api/contractors/models/edit.contractor.model.js +60 -60
- package/src/saas/internal-api/contractors/models/verification.contractor.model.js +27 -27
- package/src/saas/internal-api/dashboardInnerPage/api/recordList.api.js +12 -0
- package/src/saas/internal-api/dashboardInnerPage/api/recordList.service.js +7 -0
- package/src/saas/internal-api/dashboardInnerPage/index.js +5 -0
- package/src/saas/internal-api/dashboardInnerPage/models/dashboard.filter.criteria.model.js +38 -0
- package/src/saas/internal-api/dbEmails/api/db.emails.api.js +25 -25
- package/src/saas/internal-api/dbEmails/api/db.emails.service.js +127 -127
- package/src/saas/internal-api/dbEmails/consts/consts.js +3 -3
- package/src/saas/internal-api/dbEmails/index.js +4 -4
- package/src/saas/internal-api/dbEmails/models/db.emails.model.js +21 -21
- package/src/saas/internal-api/dbEmails/utils/util.js +59 -59
- package/src/saas/internal-api/globalRecord/api/global.record.api.js +76 -76
- package/src/saas/internal-api/globalRecord/api/global.record.service.js +83 -83
- package/src/saas/internal-api/globalRecord/consts.js +20 -20
- package/src/saas/internal-api/globalRecord/index.js +6 -6
- package/src/saas/internal-api/globalRecord/models/global.record.model.js +43 -43
- package/src/saas/internal-api/globalRecord/utils/util.js +148 -148
- package/src/saas/internal-api/homepageCharts/api/charts.api.js +12 -12
- package/src/saas/internal-api/homepageCharts/api/charts.service.js +7 -7
- package/src/saas/internal-api/homepageCharts/index.js +3 -3
- package/src/saas/internal-api/projects/api/core/projects.api.js +39 -39
- package/src/saas/internal-api/projects/api/core/projects.service.js +65 -65
- package/src/saas/internal-api/projects/api/settings/project.settings.api.js +18 -18
- package/src/saas/internal-api/projects/api/settings/project.settings.service.js +17 -17
- package/src/saas/internal-api/projects/consts/defaultProject.js +3 -3
- package/src/saas/internal-api/projects/index.js +24 -24
- package/src/saas/internal-api/projects/models/core/create.project.model.js +41 -41
- package/src/saas/internal-api/projects/models/core/update.project.model.js +47 -47
- package/src/saas/internal-api/projects/models/settings/update.project.settings.model.js +39 -39
- package/src/saas/internal-api/projects/utils/utils.js +82 -82
- package/src/saas/internal-api/recordNotes/api/record.notes.api.js +38 -38
- package/src/saas/internal-api/recordNotes/api/record.notes.service.js +29 -29
- package/src/saas/internal-api/recordNotes/index.js +3 -3
- package/src/saas/internal-api/reports/api/reports.api.js +39 -39
- package/src/saas/internal-api/reports/api/reports.service.js +34 -34
- package/src/saas/internal-api/reports/consts/consts.js +63 -63
- package/src/saas/internal-api/reports/index.js +15 -15
- package/src/saas/internal-api/reports/models/report.model.js +27 -27
- package/src/saas/internal-api/requests/api/requests.api.js +54 -34
- package/src/saas/internal-api/requests/api/requests.service.js +51 -30
- package/src/saas/internal-api/requests/index.js +14 -11
- package/src/saas/internal-api/requests/models/create.request.model.js +22 -0
- package/src/saas/internal-api/requests/models/edit.request.model.js +31 -31
- package/src/saas/internal-api/requests/models/tenant.request.model.js +9 -9
- package/src/saas/internal-api/requests/utils.js +8 -8
- package/src/saas/internal-api/requirements/api/requirements.api.js +27 -27
- package/src/saas/internal-api/requirements/api/requirements.service.js +23 -23
- package/src/saas/internal-api/requirements/consts/attributeTypes.json +6 -0
- package/src/saas/internal-api/requirements/index.js +6 -6
- package/src/saas/internal-api/requirements/models/create.requirement.model.js +45 -45
- package/src/saas/internal-api/requirements/utils/utils.js +88 -0
- package/src/saas/internal-api/serviceArea/api/coordinates.api.js +12 -12
- package/src/saas/internal-api/serviceArea/api/coordinates.service.js +7 -7
- package/src/saas/internal-api/serviceArea/index.js +4 -4
- package/src/saas/internal-api/serviceArea/utils/utils.js +8 -8
- package/src/saas/internal-api/tabs/api/tabs.api.js +32 -32
- package/src/saas/internal-api/tabs/api/tabs.service.js +54 -54
- package/src/saas/internal-api/tabs/index.js +3 -3
- package/src/saas/internal-api/tabs/models/tabs.model.js +18 -18
- package/src/saas/internal-api/thread-scheduler/runner.js +13 -13
- package/src/saas/internal-api/users/api/users.api.js +77 -77
- package/src/saas/internal-api/users/api/users.service.js +101 -101
- package/src/saas/internal-api/users/index.js +4 -4
- package/src/saas/internal-api/users/models/users.model.js +31 -31
- package/src/saas/internal-api/users/utils/util.js +14 -14
- package/src/saas/internal-api/vendorProfile/api/vendor.profile.api.js +20 -20
- package/src/saas/internal-api/vendorProfile/api/vendor.profile.service.js +14 -14
- package/src/saas/internal-api/vendorProfile/index.js +3 -3
- package/src/saas/openapi/accounts/accounts.api.js +17 -17
- package/src/saas/openapi/accounts/accounts.service.js +11 -11
- package/src/saas/openapi/projects/projects.api.js +59 -59
- package/src/saas/openapi/projects/projects.service.js +44 -44
- package/src/saas/openapi/requests/index.js +6 -6
- package/src/saas/openapi/requests/models/invite.request.model.js +37 -37
- package/src/saas/openapi/requests/requests.api.js +20 -20
- package/src/saas/openapi/requests/requests.service.js +18 -18
- package/src/saas/openapi/requirements/index.js +6 -6
- package/src/saas/openapi/requirements/models/copy.requirement.model.js +10 -10
- package/src/saas/openapi/requirements/requirements.api.js +12 -12
- package/src/saas/openapi/requirements/requirements.service.js +20 -20
- package/src/saas/openapi/tabs/tabs.api.js +13 -13
- package/src/saas/openapi/tabs/tabs.service.js +7 -7
- package/tests/env.test.js +40 -40
- package/tests/validation.test.js +83 -83
|
@@ -1,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,34 +1,54 @@
|
|
|
1
|
-
const requests = require('../../../../common/requests/cookieAuth/requests');
|
|
2
|
-
const { backendUrl } = require('../../../../env').getEnv();
|
|
3
|
-
|
|
4
|
-
const Endpoints = {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
const
|
|
26
|
-
return requests.
|
|
27
|
-
};
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
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,30 +1,51 @@
|
|
|
1
|
-
const requestsAPI = require('./requests.api');
|
|
2
|
-
|
|
3
|
-
const
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
return requestsAPI.
|
|
9
|
-
};
|
|
10
|
-
|
|
11
|
-
const
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
return requestsAPI.
|
|
19
|
-
};
|
|
20
|
-
|
|
21
|
-
const
|
|
22
|
-
return requestsAPI.
|
|
23
|
-
};
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
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,11 +1,14 @@
|
|
|
1
|
-
const services = require('./api/requests.service');
|
|
2
|
-
|
|
3
|
-
const { TenantRequestModel, RequestModel, TabModel } = require('./models/edit.request.model');
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
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 };
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
const { validateType } = require('../../../../common/validations/typeValidations');
|
|
2
|
+
|
|
3
|
+
function CreateRequestModel(requirementId, inviterEmail, vendorInfo, { tabId = null, sendMail = false, publicLink } = {}) {
|
|
4
|
+
this.reqId = requirementId;
|
|
5
|
+
this.inviterEmail = inviterEmail;
|
|
6
|
+
this.vendorInfo = vendorInfo;
|
|
7
|
+
this.disableMail = !sendMail;
|
|
8
|
+
this.tabId = tabId;
|
|
9
|
+
this.publicLink = publicLink;
|
|
10
|
+
|
|
11
|
+
vendorInfo && validateType(vendorInfo, ContractorInfo);
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
function ContractorInfo(recordType, email, companyName, additionalEmails) {
|
|
15
|
+
this.recordType = recordType;
|
|
16
|
+
this.email = email;
|
|
17
|
+
this.companyName = companyName;
|
|
18
|
+
this.title = email;
|
|
19
|
+
this.additionalEmails = additionalEmails;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
module.exports = { CreateRequestModel, ContractorInfo };
|
|
@@ -1,31 +1,31 @@
|
|
|
1
|
-
const { validateType } = require('../../../../common/validations/typeValidations');
|
|
2
|
-
const { validateContractorModel } = require('../utils');
|
|
3
|
-
|
|
4
|
-
class RequestModel {
|
|
5
|
-
constructor(id, record, tabModel, tenantRequest) {
|
|
6
|
-
validateContractorModel(record);
|
|
7
|
-
validateType(tabModel, TabModel);
|
|
8
|
-
Object.keys(tenantRequest).length && validateType(tenantRequest, TenantRequestModel);
|
|
9
|
-
|
|
10
|
-
this.id = id;
|
|
11
|
-
this.record = record;
|
|
12
|
-
this.tabModel = tabModel;
|
|
13
|
-
this.tenantRequest = tenantRequest;
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
class TenantRequestModel {
|
|
18
|
-
constructor(id, companyName, emailAddress) {
|
|
19
|
-
this.id = id;
|
|
20
|
-
this.companyName = companyName;
|
|
21
|
-
this.emailAddress = emailAddress;
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
class TabModel {
|
|
26
|
-
constructor(type) {
|
|
27
|
-
this.type = type;
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
module.exports = { RequestModel, TabModel, TenantRequestModel };
|
|
1
|
+
const { validateType } = require('../../../../common/validations/typeValidations');
|
|
2
|
+
const { validateContractorModel } = require('../utils');
|
|
3
|
+
|
|
4
|
+
class RequestModel {
|
|
5
|
+
constructor(id, record, tabModel, tenantRequest) {
|
|
6
|
+
validateContractorModel(record);
|
|
7
|
+
validateType(tabModel, TabModel);
|
|
8
|
+
Object.keys(tenantRequest).length && validateType(tenantRequest, TenantRequestModel);
|
|
9
|
+
|
|
10
|
+
this.id = id;
|
|
11
|
+
this.record = record;
|
|
12
|
+
this.tabModel = tabModel;
|
|
13
|
+
this.tenantRequest = tenantRequest;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
class TenantRequestModel {
|
|
18
|
+
constructor(id, companyName, emailAddress) {
|
|
19
|
+
this.id = id;
|
|
20
|
+
this.companyName = companyName;
|
|
21
|
+
this.emailAddress = emailAddress;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
class TabModel {
|
|
26
|
+
constructor(type) {
|
|
27
|
+
this.type = type;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
module.exports = { RequestModel, TabModel, TenantRequestModel };
|