Skip to content

Commit 1cfa40b

Browse files
committed
Validate Availabilities Working
1 parent b6e7a96 commit 1cfa40b

3 files changed

Lines changed: 11 additions & 10 deletions

File tree

src/backend/src/utils/users.utils.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -123,17 +123,20 @@ export const updateUserAvailability = async (
123123
const availabilityInSameWeek = userSettings.availabilities.filter((availability) =>
124124
isWithinSameWeek(availability.dateSet, dateToCheckFor)
125125
);
126+
126127
if (availabilityInSameWeek.length > 0) {
127128
await prisma.availability.update({
128129
where: { availabilityId: availabilityInSameWeek[0].availabilityId },
129130
data: {
130-
availability
131+
availability,
132+
dateSet: dateToCheckFor
131133
}
132134
});
133135
} else {
134136
await prisma.availability.create({
135137
data: {
136138
availability,
139+
dateSet: dateToCheckFor,
137140
scheduleSettings: {
138141
connect: {
139142
userId: submitter.userId

src/frontend/src/pages/SettingsPage/UserScheduleSettings/UserScheduleSettingsView.tsx

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,9 @@
66
import { Grid } from '@mui/material';
77
import DetailDisplay from '../../../components/DetailDisplay';
88
import { NERButton } from '../../../components/NERButton';
9-
import { DesignReview, getAvailabilityForGivenWeekOfDateOrMostRecent, isWithinSameWeek, UserScheduleSettings } from 'shared';
9+
import { DesignReview, getAvailabilityForGivenWeekOfDateOrMostRecent, UserScheduleSettings } from 'shared';
1010
import { useState } from 'react';
1111
import SingleAvailabilityModal from './Availability/SingleAvailabilityModal';
12-
import { useCurrentUser } from '../../../hooks/users.hooks';
1312
import AvailabilityEditModal from './Availability/AvailabilityEditModal';
1413
import { useMarkUserConfirmed } from '../../../hooks/design-reviews.hooks';
1514
import { useToast } from '../../../hooks/toasts.hooks';
@@ -21,15 +20,14 @@ const UserScheduleSettingsView = ({
2120
scheduleSettings: UserScheduleSettings;
2221
designReview?: DesignReview;
2322
}) => {
24-
let availability = getAvailabilityForGivenWeekOfDateOrMostRecent(
23+
const availability = getAvailabilityForGivenWeekOfDateOrMostRecent(
2524
scheduleSettings.availabilities,
2625
designReview?.dateScheduled ?? new Date()
2726
);
2827

2928
const [availabilityOpen, setAvailabilityOpen] = useState(false);
3029
const toast = useToast();
31-
const user = useCurrentUser();
32-
const defaultOpen = designReview && !designReview.confirmedMembers.map((user) => user.userId).includes(user.userId);
30+
const defaultOpen = designReview !== undefined;
3331
const [confirmAvailabilityOpen, setConfirmAvailabilityOpen] = useState(defaultOpen || false);
3432
const [confirmedAvailabilities, setConfirmedAvailabilities] = useState(availability.availability);
3533
const { mutateAsync } = useMarkUserConfirmed(designReview?.designReviewId || '');

src/shared/src/date-utils.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -69,14 +69,14 @@ const getMostRecentAvailability = (availabilities: Availability[]): Availability
6969
availability: [],
7070
dateSet: new Date()
7171
};
72-
console.log(availabilities);
72+
7373
return availabilities.reduce((prev, current) => (prev.dateSet > current.dateSet ? prev : current));
7474
};
7575

7676
const getAvailabilityForGivenWeekOfDateOrMostRecent = (availabilities: Availability[], date: Date): Availability => {
77-
const availabilityForWeekOfDesignReview = availabilities.filter((availability) =>
78-
isWithinSameWeek(availability.dateSet, date)
79-
);
77+
const availabilityForWeekOfDesignReview = availabilities.filter((availability) => {
78+
return isWithinSameWeek(availability.dateSet, date);
79+
});
8080

8181
return availabilityForWeekOfDesignReview.length > 0
8282
? availabilityForWeekOfDesignReview[0]

0 commit comments

Comments
 (0)