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