76 lines
2.0 KiB
TypeScript
76 lines
2.0 KiB
TypeScript
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);
|
|
}
|
|
}
|