From 276cf9e970aa8af2d5f9eb8f6d1f1aacb0413d1b Mon Sep 17 00:00:00 2001 From: bagasbanuna Date: Thu, 4 Dec 2025 17:43:09 +0800 Subject: [PATCH] Fix QC Inno: Fix: - src/app/api/mobile/investment/[id]/news/route.ts Add: - src/app/api/mobile/admin/master/donation/ ### No Issue --- .../admin/master/donation/[id]/route.ts | 69 ++++++++++++ .../api/mobile/admin/master/donation/route.ts | 105 ++++++++++++++++++ .../api/mobile/investment/[id]/news/route.ts | 20 ++-- 3 files changed, 184 insertions(+), 10 deletions(-) create mode 100644 src/app/api/mobile/admin/master/donation/[id]/route.ts create mode 100644 src/app/api/mobile/admin/master/donation/route.ts diff --git a/src/app/api/mobile/admin/master/donation/[id]/route.ts b/src/app/api/mobile/admin/master/donation/[id]/route.ts new file mode 100644 index 00000000..6fa40126 --- /dev/null +++ b/src/app/api/mobile/admin/master/donation/[id]/route.ts @@ -0,0 +1,69 @@ +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; + let fixData; + + try { + fixData = await prisma.donasiMaster_Kategori.findUnique({ + where: { + id: id, + }, + select: { + id: true, + name: true, + active: true, + }, + }); + + return NextResponse.json({ + success: true, + message: "Master berhasil diambil", + data: fixData, + }); + } catch (error) { + console.log("[ERROR]", error); + return NextResponse.json({ + success: false, + error: "Gagal mengambil data master", + reason: (error as Error).message, + }); + } +} + +async function PUT(request: Request, { params }: { params: { id: string } }) { + const { id } = params; + const { data } = await request.json(); + + console.log("id", id); + console.log("data", data); + + try { + const updateData = await prisma.donasiMaster_Kategori.update({ + where: { + id: id, + }, + data: { + name: data.name, + active: data.active, + }, + }); + + return NextResponse.json({ + success: true, + message: "Master berhasil diupdate", + data: updateData, + }); + } catch (error) { + console.log("[ERROR]", error); + return NextResponse.json({ + success: false, + error: "Gagal mengupdate data master", + reason: (error as Error).message, + }); + } + +} \ No newline at end of file diff --git a/src/app/api/mobile/admin/master/donation/route.ts b/src/app/api/mobile/admin/master/donation/route.ts new file mode 100644 index 00000000..deca605f --- /dev/null +++ b/src/app/api/mobile/admin/master/donation/route.ts @@ -0,0 +1,105 @@ +import { NextResponse } from "next/server"; +import prisma from "@/lib/prisma"; + +export { GET, POST }; + +async function GET(request: Request) { + const { searchParams } = new URL(request.url); + // const category = searchParams.get("category"); + let fixData; + + try { + fixData = await prisma.donasiMaster_Kategori.findMany({ + orderBy: { + createdAt: "asc", + }, + }); + + // if (category === "category") { + // fixData = await prisma.donasiMaster_Kategori.findMany({ + // orderBy: { + // createdAt: "asc", + // }, + // where: { + // active: true, + // }, + // }); + // } else if (category === "duration") { + // fixData = await prisma.donasiMaster_Durasi.findMany({ + // orderBy: { + // createdAt: "asc", + // }, + // where: { + // active: true, + // }, + // }); + // } else { + // const category = await prisma.donasiMaster_Kategori.findMany({ + // orderBy: { + // createdAt: "asc", + // }, + // where: { + // active: true, + // }, + // }); + + // const duration = await prisma.donasiMaster_Durasi.findMany({ + // orderBy: { + // createdAt: "asc", + // }, + // where: { + // active: true, + // }, + // }); + + // fixData = { + // category: category, + // duration: duration, + // }; + // } + + return NextResponse.json({ + success: true, + message: "Master berhasil diambil", + data: fixData, + }); + } catch (error) { + console.log("[ERROR]", error); + return NextResponse.json({ + success: false, + error: "Gagal mengambil data master", + reason: (error as Error).message, + }); + } +} + +async function POST(request: Request) { + const { data } = await request.json(); + + console.log("data", data); + + try { + const count = await prisma.donasiMaster_Kategori.count(); + const createNewId = count + 1; + + const createData = await prisma.donasiMaster_Kategori.create({ + data: { + id: createNewId.toString(), + name: data.name, + active: data.active, + }, + }); + + return NextResponse.json({ + success: true, + message: "Master berhasil ditambahkan", + }); + } catch (error) { + console.log("[ERROR]", error); + return NextResponse.json({ + success: false, + error: "Gagal menambah data master", + reason: (error as Error).message, + }); + } +} diff --git a/src/app/api/mobile/investment/[id]/news/route.ts b/src/app/api/mobile/investment/[id]/news/route.ts index 390e0740..8571686f 100644 --- a/src/app/api/mobile/investment/[id]/news/route.ts +++ b/src/app/api/mobile/investment/[id]/news/route.ts @@ -24,18 +24,18 @@ async function POST(request: Request, { params }: { params: { id: string } }) { }); fixData = createWithFile; + } else { + const createWitOutFile = await prisma.beritaInvestasi.create({ + data: { + investasiId: id, + title: _.startCase(data.title), + deskripsi: data.deskripsi, + }, + }); + + fixData = createWitOutFile; } - const createWitOutFile = await prisma.beritaInvestasi.create({ - data: { - investasiId: id, - title: _.startCase(data.title), - deskripsi: data.deskripsi, - }, - }); - - fixData = createWitOutFile; - return NextResponse.json({ status: 201, success: true,