fix showing transport in calendar popup

This commit is contained in:
Dobromir Popov
2024-05-02 01:24:09 +03:00
parent 1348d6aaea
commit 876b235e54
5 changed files with 125 additions and 188 deletions

View File

@ -137,7 +137,7 @@ export default async function handler(req, res) {
break;
case "getCalendarEvents":
let events = await getCalendarEvents(req.query.publisherId, day);
let events = await dataHelper.getCalendarEvents(req.query.publisherId, day);
res.status(200).json(events);
case "getPublisherInfo":
@ -354,6 +354,8 @@ export default async function handler(req, res) {
let data = await dataHelper.getCoverMePublisherEmails(parseInt(req.query.shiftId));
res.status(200).json(data);
break;
case "getAllPublishersWithStatistics":
res.status(200).json(await dataHelper.getAllPublishersWithStatistics(day));
default:
res.status(200).json({
@ -803,86 +805,6 @@ function matchesAvailability(avail, filterDate) {
return avail.startTime >= filterDate && avail.startTime <= filterDateEnd;
}
async function getCalendarEvents(publisherId, date, availabilities = true, assignments = true) {
const result = [];
// let pubs = await filterPublishers("id,firstName,lastName,email".split(","), "", date, assignments, availabilities, date ? true : false, publisherId);
const prisma = common.getPrismaClient();
let publisher = await prisma.publisher.findUnique({
where: {
id: publisherId
},
select: {
id: true,
firstName: true,
lastName: true,
email: true,
availabilities: {
select: {
id: true,
dayOfMonth: true,
dayofweek: true,
weekOfMonth: true,
startTime: true,
endTime: true,
name: true,
isFromPreviousAssignment: true,
isFromPreviousMonth: true,
repeatWeekly: true,
}
},
assignments: {
select: {
id: true,
shift: {
select: {
id: true,
startTime: true,
endTime: true,
isPublished: true
}
}
}
}
}
});
if (publisher) {
if (availabilities) {
publisher.availabilities?.forEach(item => {
result.push({
...item,
title: common.getTimeFomatted(new Date(item.startTime)) + "-" + common.getTimeFomatted(new Date(item.endTime)), //item.name,
date: new Date(item.startTime),
startTime: new Date(item.startTime),
endTime: new Date(item.endTime),
publisherId: publisher.id,
type: "availability",
isFromPreviousAssignment: item.isFromPreviousAssignment,
});
});
}
if (assignments) {
//only published shifts
publisher.assignments?.filter(
assignment => assignment.shift.isPublished
).forEach(item => {
result.push({
...item,
title: common.getTimeFomatted(new Date(item.shift.startTime)) + "-" + common.getTimeFomatted(new Date(item.shift.endTime)),
date: new Date(item.shift.startTime),
startTime: new Date(item.shift.startTime),
endTime: new Date(item.shift.endTime),
publisherId: item.publisherid,
type: "assignment",
});
});
}
}
return result;
}
async function replaceInAssignment(oldPublisherId, newPublisherId, shiftId) {