diff --git a/src/app/api/event/[eventID]/route.ts b/src/app/api/event/[eventID]/route.ts index 8c06b64..123685b 100644 --- a/src/app/api/event/[eventID]/route.ts +++ b/src/app/api/event/[eventID]/route.ts @@ -229,23 +229,6 @@ export const PATCH = auth(async (req, { params }) => { participants, } = data.data; - if (participants !== undefined) - for (const participant of participants) { - await prisma.meetingParticipant.upsert({ - where: { - meeting_id_user_id: { - user_id: participant, - meeting_id: eventID, - }, - }, - create: { - user_id: participant, - meeting_id: eventID, - }, - update: {}, - }); - } - const updatedEvent = await prisma.meeting.update({ where: { id: eventID, @@ -257,16 +240,18 @@ export const PATCH = auth(async (req, { params }) => { end_time, location, status, - participants: - participants !== undefined - ? { - deleteMany: { - user_id: { - notIn: participants || [], - }, - }, - } - : {}, + participants: !participants + ? undefined + : { + deleteMany: { + user_id: { + notIn: participants, + }, + }, + create: participants.map((participant) => ({ + user_id: participant, + })), + }, }, select: { id: true, diff --git a/src/app/api/event/validation.ts b/src/app/api/event/validation.ts index b8e176b..da5912f 100644 --- a/src/app/api/event/validation.ts +++ b/src/app/api/event/validation.ts @@ -113,6 +113,7 @@ export const createEventSchema = zod // ---------------------------------------- export const updateEventSchema = zod .object({ + id: eventIdSchema, title: eventTitleSchema.optional(), description: eventDescriptionSchema.optional(), start_time: eventStartTimeSchema.optional(),