revert data api and fix repeating availabilities

This commit is contained in:
Dobromir Popov
2024-05-28 01:41:42 +03:00
parent f7aeea65b9
commit 57a292a9f3
3 changed files with 49 additions and 11 deletions

View File

@ -6,7 +6,7 @@ import { DayOfWeek, AvailabilityType, UserRole, EventLogType } from '@prisma/cli
const common = require('../../src/helpers/common');
const dataHelper = require('../../src/helpers/data');
const subq = require('../../prisma/bl/subqueries');
import { addMinutes } from 'date-fns';
import { set, format, addMinutes, addDays } from 'date-fns';
import fs from 'fs';
import path from 'path';
@ -147,9 +147,30 @@ export default async function handler(req, res) {
res.status(200).json(events);
case "getPublisherInfo":
//let pubs = await filterPublishers("id,firstName,lastName,email".split(","), "", null, req.query.assignments || true, req.query.availabilities || true, false, req.query.id);
let pubs = await dataHelper.filterPublishersNew("id,firstName,lastName,email,isActive,assignments,availabilities", day, false, true, false, true, false, req.query.id);
res.status(200).json(pubs[0] || {});
let pubs = await filterPublishers("id,firstName,lastName,email".split(","), "", null, req.query.assignments || true, req.query.availabilities || true, false, req.query.id);
let pub = pubs[0] || {};
if (pub) {
let dayOfWeekQuery = common.getDayOfWeek(day);
pub.availabilities = pub.availabilities.map(avail => {
if (avail.dayOfMonth == null) {
let dayOfWeek = common.getDayOfWeek(avail.startTime);
let newStart = new Date(day);
newStart = addDays(newStart, dayOfWeek - dayOfWeekQuery);
newStart.setHours(avail.startTime.getHours(), avail.startTime.getMinutes(), 0, 0);
let newEnd = new Date(newStart);
newEnd.setHours(avail.endTime.getHours(), avail.endTime.getMinutes(), 0, 0);
return {
...avail,
startTime: newStart,
endTime: newEnd
}
}
return avail;
});
}
//let pubs = await dataHelper.filterPublishersNew("id,firstName,lastName,email,isActive,assignments,availabilities", day, false, true, false, true, false, req.query.id);
res.status(200).json(pub);
break;
case "filterPublishersNew":
let includeOldAvailabilities = common.parseBool(req.query.includeOldAvailabilities);