Files
HKSingleParty/03_source/cms_backend/src/app/services/eventItem.service.ts

72 lines
1.5 KiB
TypeScript

// src/app/services/event.service.ts
//
// PURPOSE:
// - Service for handling Event records
//
// RULES:
// - Follows same pattern as helloworld.service.ts
//
import type { EventItem } from '@prisma/client';
import prisma from '../lib/prisma';
type CreateEvent = {
eventDate: DateTime;
title: string;
joinMembers?: Json[];
price: number;
currency: string;
duration_m: number;
ageBottom: number;
ageTop: number;
location: string;
avatar?: string;
memberId?: number;
};
type UpdateEvent = {
eventDate?: DateTime;
title?: string;
joinMembers?: Json[];
price?: number;
currency?: string;
duration_m?: number;
ageBottom?: number;
ageTop?: number;
location?: string;
avatar?: string;
memberId?: number;
};
async function listEvents(): Promise<EventItem[]> {
return prisma.eventItem.findMany();
}
async function getEvent(eventId: string): Promise<EventItem | null> {
return prisma.eventItem.findFirst({ where: { id: eventId } });
}
// async function createNewEvent(createForm: CreateEvent) {
// return prisma.event.create({ data: createForm });
// }
// async function updateEvent(eventId: number, updateForm: UpdateEvent) {
// return prisma.event.update({
// where: { id: eventId },
// data: updateForm,
// });
// }
// async function deleteEvent(eventId: number) {
// return prisma.event.delete({ where: { id: eventId } });
// }
export {
getEvent,
listEvents,
// updateEvent,
// deleteEvent,
// createNewEvent,
};