diff --git a/src/app/api/mobile/admin/event/[id]/participants/route.ts b/src/app/api/mobile/admin/event/[id]/participants/route.ts new file mode 100644 index 00000000..36d05177 --- /dev/null +++ b/src/app/api/mobile/admin/event/[id]/participants/route.ts @@ -0,0 +1,53 @@ +import { NextResponse } from "next/server"; +import prisma from "@/lib/prisma"; + +export { GET }; + +async function GET(request: Request, { params }: { params: { id: string } }) { + try { + const { id } = params; + + const data = await prisma.event_Peserta.findMany({ + where: { + eventId: id, + }, + select: { + eventId: true, + userId: true, + isPresent: true, + User: { + select: { + id: true, + username: true, + nomor: true, + Profile: { + select: { + id: true, + name: true, + imageId: true, + }, + }, + }, + }, + }, + }); + + return NextResponse.json( + { + success: true, + message: "Success get participants", + data: data, + }, + { status: 200 } + ); + } catch (error) { + return NextResponse.json( + { + success: false, + message: "Error get participants", + reason: (error as Error).message, + }, + { status: 500 } + ); + } +} diff --git a/src/app/api/mobile/admin/master/type-of-event/[id]/route.ts b/src/app/api/mobile/admin/master/type-of-event/[id]/route.ts new file mode 100644 index 00000000..14aee2fe --- /dev/null +++ b/src/app/api/mobile/admin/master/type-of-event/[id]/route.ts @@ -0,0 +1,59 @@ +import { NextResponse } from "next/server"; +import prisma from "@/lib/prisma"; + +export { GET, PUT }; + +async function GET(request: Request, { params }: { params: { id: string } }) { + const { id } = params; + + try { + const data = await prisma.eventMaster_TipeAcara.findUnique({ + where: { + id: Number(id), + }, + }); + + return NextResponse.json({ + success: true, + message: "Success get type of event", + data: data, + }); + } catch (error) { + console.error("Error get type of event", error); + return NextResponse.json({ + success: false, + message: "Error get type of event", + reason: (error as Error).message, + }); + } +} + +async function PUT(request: Request, { params }: { params: { id: string } }) { + const { id } = params; + const { data } = await request.json(); + + try { + const updated = await prisma.eventMaster_TipeAcara.update({ + where: { + id: Number(id), + }, + data: { + name: data.name, + active: data.active, + }, + }); + + return NextResponse.json({ + success: true, + message: "Success update type of event", + data: updated, + }); + } catch (error) { + console.error("Error update type of event", error); + return NextResponse.json({ + success: false, + message: "Error update type of event", + reason: (error as Error).message, + }); + } +} diff --git a/src/app/api/mobile/admin/master/type-of-event/route.ts b/src/app/api/mobile/admin/master/type-of-event/route.ts new file mode 100644 index 00000000..86547a0d --- /dev/null +++ b/src/app/api/mobile/admin/master/type-of-event/route.ts @@ -0,0 +1,70 @@ +import { NextResponse } from "next/server"; +import prisma from "@/lib/prisma"; + +export { GET, POST }; + +async function GET(request: Request) { + try { + const data = await prisma.eventMaster_TipeAcara.findMany({ + orderBy: { + updatedAt: "desc", + }, + }); + + return NextResponse.json({ + success: true, + message: "Success get type of event", + data: data, + }); + } catch (error) { + console.error("Error get type of event", error); + return NextResponse.json({ + success: false, + message: "Error get type of event", + reason: (error as Error).message, + }); + } +} + +async function POST(request: Request) { + const { data } = await request.json(); + + try { + const checkList = await prisma.eventMaster_TipeAcara.count({}); + + if (!checkList) { + return NextResponse.json( + { + success: false, + message: "Type of event already exists", + }, + { status: 400 } + ); + } + + const created = await prisma.eventMaster_TipeAcara.create({ + data: { + id: checkList + 1, + name: data, + }, + }); + + return NextResponse.json( + { + success: true, + message: "Success create type of event", + }, + { status: 201 } + ); + } catch (error) { + console.error("Error create type of event", error); + return NextResponse.json( + { + success: false, + message: "Error create type of event", + reason: (error as Error).message, + }, + { status: 500 } + ); + } +} diff --git a/src/app/api/mobile/event/[id]/confirmation/route.ts b/src/app/api/mobile/event/[id]/confirmation/route.ts index 8818cbfb..450d2fbe 100644 --- a/src/app/api/mobile/event/[id]/confirmation/route.ts +++ b/src/app/api/mobile/event/[id]/confirmation/route.ts @@ -11,8 +11,6 @@ export async function GET( const { searchParams } = new URL(request.url); const userId = searchParams.get("userId"); - console.log("userId", userId); - const checkDataEvent = await prisma.event.findUnique({ where: { id: id, @@ -53,8 +51,6 @@ export async function GET( }, }); - console.log("checkPeserta", checkPeserta); - if (checkPeserta) { peserta = true; } else { @@ -116,33 +112,6 @@ export async function POST( console.log("id", id); console.log("data", data); - // const checkEvent = await prisma.event.findUnique({ - // where: { - // id: id, - // }, - // }); - - // if (!checkEvent) { - // return NextResponse.json( - // { message: "Event Not Found", response: null }, - // { status: 400 } - // ); - // } - - // const checkPeserta = await prisma.event_Peserta.findFirst({ - // where: { - // userId: userId, - // eventId: id, - // }, - // }); - - // if (!checkPeserta) { - // return NextResponse.json( - // { message: "Peserta Not Found", response: null }, - // { status: 400 } - // ); - // } - if (category === "join_and_confirm") { const join = await prisma.event_Peserta.create({ data: { @@ -152,14 +121,13 @@ export async function POST( }, }); - console.log("join", join); fixData = join; } else if (category === "confirmation") { const checkPeserta = await prisma.event_Peserta.findFirst({ where: { userId: data.userId, eventId: id, - isPresent: true, + isPresent: false, }, }); @@ -179,7 +147,6 @@ export async function POST( }, }); - console.log("confirm", confirm); fixData = confirm; }