"use server"; import { prisma, Prisma, Event, Participant } from "@repo/db"; export const upsertEvent = async (event: Prisma.EventCreateInput, id?: Event["id"]) => { const newEvent = id ? await prisma.event.update({ where: { id: id }, data: event, }) : await prisma.event.create({ data: event }); return newEvent; }; export const deleteEvent = async (id: Event["id"]) => { await prisma.event.delete({ where: { id: id } }); }; export const upsertAppointment = async ( eventAppointment: Prisma.XOR< Prisma.EventAppointmentCreateInput, Prisma.EventAppointmentUncheckedCreateInput >, ) => { const newEventAppointment = eventAppointment.id ? await prisma.eventAppointment.update({ where: { id: eventAppointment.id }, data: eventAppointment, }) : await prisma.eventAppointment.create({ data: eventAppointment }); return newEventAppointment; }; export const deleteAppoinement = async (id: Event["id"]) => { await prisma.eventAppointment.delete({ where: { id: id } }); prisma.eventAppointment.findMany({ where: { eventId: id, }, orderBy: { // TODO: add order by in relation to table selected column }, }); }; export const deleteParticipant = async (id: Participant["id"]) => { await prisma.participant.delete({ where: { id: id } }); };