fix: weekly limits (#10404)

* fix: correctly apply duration limits

* fix: weekly limits for weeks in two months

---------

Co-authored-by: Udit Takkar <53316345+Udit-takkar@users.noreply.github.com>
This commit is contained in:
nicktrn 2023-07-27 17:33:24 +01:00 committed by GitHub
parent 766a64c46e
commit 1d5b383529
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -42,6 +42,7 @@ const getEventType = async (id: number) => {
bookingLimits: true,
durationLimits: true,
timeZone: true,
length: true,
metadata: true,
schedule: {
select: {
@ -165,8 +166,9 @@ export async function getUserAvailability(
const busyTimes = await getBusyTimes({
credentials: user.credentials,
startTime: dateFrom.toISOString(),
endTime: dateTo.toISOString(),
// needed to correctly apply limits (weeks can be part of two months)
startTime: dateFrom.startOf("week").toISOString(),
endTime: dateTo.endOf("week").toISOString(),
eventTypeId,
userId: user.id,
username: `${user.username}`,
@ -374,7 +376,7 @@ const getBusyTimesFromDurationLimits = async (
// loop through all dates and check if we have reached the limit
for (const date of dates) {
let total = duration ?? 0;
let total = (duration || eventType?.length) ?? 0;
const startDate = date.startOf(filter);
const endDate = date.endOf(filter);