fix missing shifts in myshifts;

fix serialization error
This commit is contained in:
Dobromir Popov
2024-05-04 16:19:31 +03:00
parent 3d379cd828
commit 3b90128927
3 changed files with 28 additions and 16 deletions

View File

@ -168,10 +168,12 @@ export const getServerSideProps = async (context) => {
} }
const prisma = common.getPrismaClient(); const prisma = common.getPrismaClient();
const monthInfo = common.getMonthInfo(new Date()); let today = new Date();
//minus 1 day from the firstMonday to get the last Sunday today.setHours(0, 0, 0, 0);
const lastSunday = new Date(monthInfo.firstMonday); // const monthInfo = common.getMonthInfo(today);
lastSunday.setDate(lastSunday.getDate() - 1); // //minus 1 day from the firstMonday to get the last Sunday
// const lastSunday = new Date(monthInfo.firstMonday);
// lastSunday.setDate(lastSunday.getDate() - 1);
const publisher = await prisma.publisher.findUnique({ const publisher = await prisma.publisher.findUnique({
where: { where: {
id: session.user.id, id: session.user.id,
@ -179,7 +181,7 @@ export const getServerSideProps = async (context) => {
some: { some: {
shift: { shift: {
startTime: { startTime: {
gte: lastSunday, gte: today,
}, },
}, },
}, },
@ -208,7 +210,7 @@ export const getServerSideProps = async (context) => {
}, },
}); });
const assignments = publisher?.assignments.filter(a => a.shift.startTime >= lastSunday && a.shift.isPublished) || []; const assignments = publisher?.assignments.filter(a => a.shift.startTime >= today && a.shift.isPublished) || [];
const transformedAssignments = assignments?.sort((a, b) => a.shift.startTime - b.shift.startTime) const transformedAssignments = assignments?.sort((a, b) => a.shift.startTime - b.shift.startTime)

View File

@ -204,13 +204,24 @@ export const getServerSideProps = async (context) => {
var items = await dataHelper.getCalendarEvents(session.user.id); var items = await dataHelper.getCalendarEvents(session.user.id);
// common.convertDatesToISOStrings(items); // common.convertDatesToISOStrings(items);
//serializable dates //serializable dates
items = items.map(item => ({ items = items.map(item => {
...item, const updatedItem = {
startTime: item.startTime.toISOString(), ...item,
endTime: item.endTime.toISOString(), startTime: item.startTime.toISOString(),
date: item.date.toISOString(), endTime: item.endTime.toISOString(),
})); date: item.date.toISOString()
};
if (updatedItem.shift) {
updatedItem.shift = {
...updatedItem.shift,
startTime: updatedItem.shift.startTime.toISOString(),
endTime: updatedItem.shift.endTime.toISOString()
};
}
return updatedItem;
});
return { return {
props: { props: {

View File

@ -647,6 +647,7 @@ async function getCalendarEvents(publisherId, date, availabilities = true, assig
assignments: { assignments: {
select: { select: {
id: true, id: true,
// publisherId: true,
shift: { shift: {
select: { select: {
id: true, id: true,
@ -689,15 +690,13 @@ async function getCalendarEvents(publisherId, date, availabilities = true, assig
date: new Date(item.shift.startTime), date: new Date(item.shift.startTime),
startTime: new Date(item.shift.startTime), startTime: new Date(item.shift.startTime),
endTime: new Date(item.shift.endTime), endTime: new Date(item.shift.endTime),
publisherId: item.publisherid, // publisherId: item.publisherId,
publisherId: publisher.id,
type: "assignment", type: "assignment",
}); });
}); });
} }
} }
return result; return result;
} }