improve report data sent from backend
This commit is contained in:
@@ -1,9 +1,12 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
|
const moment = require('moment-timezone');
|
||||||
|
|
||||||
const db = require('../../models/index');
|
const db = require('../../models/index');
|
||||||
const { incidentType } = require('../../constants/constants');
|
const { incidentType } = require('../../constants/constants');
|
||||||
|
|
||||||
const { fetchAllMembers } = require('../officeRnD/members');
|
const { fetchAllMembers } = require('../officeRnD/members');
|
||||||
|
const { fetchOffices, fetchResources } = require('../officeRnD/resources');
|
||||||
|
|
||||||
const getUnlockedIncidents = () => {
|
const getUnlockedIncidents = () => {
|
||||||
const attributes = ['id', 'memberId', 'resourceId', 'bookingStart', 'bookingEnd', 'incidentLevel', 'incidentLevelPrice'];
|
const attributes = ['id', 'memberId', 'resourceId', 'bookingStart', 'bookingEnd', 'incidentLevel', 'incidentLevelPrice'];
|
||||||
@@ -38,19 +41,30 @@ const getUnscheduledIncidents = () => {
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const formatTime = (timestamp) => {
|
||||||
|
const timezone = process.env.UI_TIMEZONE || 'America/Los_Angeles';
|
||||||
|
return moment.tz(timestamp, timezone).format('MM/DD/YYYY hh:mm a');
|
||||||
|
};
|
||||||
|
|
||||||
const getAllDoorLockIncidents = () => {
|
const getAllDoorLockIncidents = () => {
|
||||||
return new Promise ((resolve, reject) => {
|
return new Promise ((resolve, reject) => {
|
||||||
const dataFetchJobs = [fetchAllMembers(), getUnlockedIncidents(), getUnscheduledIncidents()];
|
const dataFetchJobs = [fetchAllMembers(), fetchOffices(), fetchResources(), getUnlockedIncidents(), getUnscheduledIncidents()];
|
||||||
|
|
||||||
Promise.all(dataFetchJobs)
|
Promise.all(dataFetchJobs)
|
||||||
.then((data) => {
|
.then((data) => {
|
||||||
const members = data[0];
|
const members = data[0];
|
||||||
const unlockedIncidents = data[1];
|
const offices = data[1];
|
||||||
const unscheduledIncidents = data[2];
|
const resources = data[2];
|
||||||
|
const unlockedIncidents = data[3];
|
||||||
|
const unscheduledIncidents = data[4];
|
||||||
|
|
||||||
const membersMap = {};
|
const membersMap = {};
|
||||||
|
const officesMap = {};
|
||||||
|
const resourcesMap = {};
|
||||||
|
|
||||||
members.forEach((member) => membersMap[member.memberId] = member);
|
members.forEach((member) => membersMap[member.memberId] = member);
|
||||||
|
offices.forEach((office) => officesMap[office.officeId] = office);
|
||||||
|
resources.forEach((resource) => resourcesMap[resource.resourceId] = resource);
|
||||||
|
|
||||||
const allIncidents = [];
|
const allIncidents = [];
|
||||||
|
|
||||||
@@ -59,10 +73,10 @@ const getAllDoorLockIncidents = () => {
|
|||||||
incidentId: unlockedIncident.id,
|
incidentId: unlockedIncident.id,
|
||||||
memberId: unlockedIncident.memberId,
|
memberId: unlockedIncident.memberId,
|
||||||
memberName: membersMap[unlockedIncident.memberId].name,
|
memberName: membersMap[unlockedIncident.memberId].name,
|
||||||
resourceName: '',
|
resourceName: resourcesMap[unlockedIncident.resourceId].resourceName,
|
||||||
officeName: '',
|
officeName: officesMap[resourcesMap[unlockedIncident.resourceId].officeId].officeName,
|
||||||
bookingStart: unlockedIncident.bookingStart,
|
bookingStart: formatTime(unlockedIncident.bookingStart),
|
||||||
bookingEnd: unlockedIncident.bookingEnd,
|
bookingEnd: formatTime(unlockedIncident.bookingEnd),
|
||||||
incidentType: incidentType.UNLOCKED_INCIDENT,
|
incidentType: incidentType.UNLOCKED_INCIDENT,
|
||||||
incidentLevel: unlockedIncident.incidentLevel,
|
incidentLevel: unlockedIncident.incidentLevel,
|
||||||
incidentPrice: unlockedIncident.incidentLevelPrice,
|
incidentPrice: unlockedIncident.incidentLevelPrice,
|
||||||
@@ -74,10 +88,10 @@ const getAllDoorLockIncidents = () => {
|
|||||||
incidentId: unscheduledIncident.id,
|
incidentId: unscheduledIncident.id,
|
||||||
memberId: unscheduledIncident.memberId,
|
memberId: unscheduledIncident.memberId,
|
||||||
memberName: membersMap[unscheduledIncident.memberId].name,
|
memberName: membersMap[unscheduledIncident.memberId].name,
|
||||||
resourceName: '',
|
resourceName: resourcesMap[unscheduledIncident.resourceId].resourceName,
|
||||||
officeName: '',
|
officeName: officesMap[resourcesMap[unscheduledIncident.resourceId].officeId].officeName,
|
||||||
bookingStart: unscheduledIncident.bookingStart,
|
bookingStart: formatTime(unscheduledIncident.bookingStart),
|
||||||
bookingEnd: unscheduledIncident.bookingEnd,
|
bookingEnd: formatTime(unscheduledIncident.bookingEnd),
|
||||||
incidentType: incidentType.UNSCHEDULED_INCIDENT,
|
incidentType: incidentType.UNSCHEDULED_INCIDENT,
|
||||||
timeIntervalsToCharge: unscheduledIncident.timeIntervalsToCharge,
|
timeIntervalsToCharge: unscheduledIncident.timeIntervalsToCharge,
|
||||||
chargePrice: unscheduledIncident.chargePrice,
|
chargePrice: unscheduledIncident.chargePrice,
|
||||||
|
|||||||
Reference in New Issue
Block a user