Skip to content

Commit

Permalink
solved the drc change
Browse files Browse the repository at this point in the history
  • Loading branch information
AShyamkumar19 committed Jan 29, 2025
1 parent f619b6b commit 085042d
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 17 deletions.
20 changes: 12 additions & 8 deletions src/backend/src/services/design-reviews.services.ts
Original file line number Diff line number Diff line change
Expand Up @@ -298,14 +298,7 @@ export default class DesignReviewsService {
throw new HttpException(400, 'location is required for in person design reviews');
}

// Check if all the remaining required memebers are confirmed
const allRequiredMembersConfirmed = await areAllRequiredMembersConfirmed(requiredMembersIds);

if (allRequiredMembersConfirmed) {
status = Design_Review_Status.CONFIRMED;
}

// throws if meeting times are not: consecutive and between 0-11
// throws if meeting times are not: consecutive and between 0-11sd
meetingTimes = validateMeetingTimes(meetingTimes);

// docTemplateLink is required if the status is scheduled or done
Expand Down Expand Up @@ -345,6 +338,17 @@ export default class DesignReviewsService {
meetingTimes,
originaldesignReview.wbsElement
)));

// if all required members are confirmed, set the status to confirmed
const ogDRRequiredMembersIds = originaldesignReview.requiredMembers.map((member) => member.userId);
const allRequiredMembersConfirmed = updatedRequiredMembers.every((member) =>
ogDRRequiredMembersIds.includes(member.userId)
);

if (status === Design_Review_Status.SCHEDULED && allRequiredMembersConfirmed) {
status = Design_Review_Status.CONFIRMED;
}

// actually try to update the design review
const updatedDesignReview = await prisma.design_Review.update({
where: { designReviewId },
Expand Down
9 changes: 0 additions & 9 deletions src/backend/src/utils/design-reviews.utils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -39,12 +39,3 @@ export const addHours = (date: Date, hours: number) => {
date.setTime(date.getTime() + hoursToAdd);
return date;
};

export const areAllRequiredMembersConfirmed = async (requiredMembersIds: string[]): Promise<boolean> => {
const requiredMembers = await prisma.user.findMany({
where: { userId: { in: requiredMembersIds } },
select: { userId: true, availabilityStatus: true },
});

return requiredMembers.every(member => member.availabilityStatus === 'confirmed');
};

0 comments on commit 085042d

Please sign in to comment.