import type { NextRequest, NextResponse } from 'next/server'; import { STATUS, response, handleError } from 'src/utils/response'; import { listEvents, deleteEvent, updateEvent, createEvent } from 'src/app/services/party-event.service'; /** ************************************** * GET - PartyEvent *************************************** */ export async function GET(req: NextRequest, res: NextResponse) { try { const events = await listEvents(); return response(events, STATUS.OK); } catch (error) { return handleError('PartyEvent - Get list', error); } } /** *************************************** * POST - Create PartyEvent *************************************** */ export async function POST(req: NextRequest) { const OPERATION = 'PartyEvent - Create'; const { data } = await req.json(); try { const event = await createEvent(data); return response(OPERATION, STATUS.OK); } catch (error) { return handleError(OPERATION, error); } } /** *************************************** * PUT - Update PartyEvent *************************************** */ export async function PUT(req: NextRequest) { const { searchParams } = req.nextUrl; const eventId = searchParams.get('eventId'); const { data } = await req.json(); try { if (!eventId) throw new Error('eventId cannot be null'); const result = await updateEvent(eventId, data); return response(result, STATUS.OK); } catch (error) { return handleError('PartyEvent - Update', error); } } /** *************************************** * DELETE - Delete PartyEvent *************************************** */ export async function DELETE(req: NextRequest) { const { searchParams } = req.nextUrl; const eventId = searchParams.get('eventId'); try { if (!eventId) throw new Error('eventId cannot be null'); await deleteEvent(eventId); return response({ success: true }, STATUS.OK); } catch (error) { return handleError('PartyEvent - Delete', error); } }