From 00ced5b4f29caf2eaff38423bf421e91905cd22b Mon Sep 17 00:00:00 2001 From: Bagasbanuna02 Date: Tue, 30 Sep 2025 17:34:38 +0800 Subject: [PATCH] Invesment: Fix: api/mobile/investment/[id]/route.ts : Add: /api/mobile/master/investment ### No Issue --- src/app/api/mobile/investment/[id]/route.ts | 63 +++++++++----- src/app/api/mobile/master/investment/route.ts | 82 +++++++++++++++++++ 2 files changed, 124 insertions(+), 21 deletions(-) create mode 100644 src/app/api/mobile/master/investment/route.ts diff --git a/src/app/api/mobile/investment/[id]/route.ts b/src/app/api/mobile/investment/[id]/route.ts index abf553a6..73d2e853 100644 --- a/src/app/api/mobile/investment/[id]/route.ts +++ b/src/app/api/mobile/investment/[id]/route.ts @@ -95,37 +95,58 @@ async function DELETE( async function PUT(request: Request, { params }: { params: { id: string } }) { try { + let fixData; const { id } = params; const { data } = await request.json(); - console.log("[PUT INVESTASI]", id, data); - const updateData = await prisma.investasi.update({ - where: { - id: id, - }, - data: { - authorId: data.authorId, - title: data.title, - targetDana: data.targetDana, - hargaLembar: data.hargaLembar, - totalLembar: data.totalLembar, - roi: data.roi, - masterPencarianInvestorId: data.masterPencarianInvestorId, - masterPeriodeDevidenId: data.masterPeriodeDevidenId, - masterPembagianDevidenId: data.masterPembagianDevidenId, - imageId: data.imageId, - - }, - }); + const { searchParams } = new URL(request.url); + const category = searchParams.get("category"); - console.log("[UPDATE INVESTASI]", updateData); + console.log("[Category]", category); + + if (category === "data") { + const updateData = await prisma.investasi.update({ + where: { + id: id, + }, + data: { + authorId: data.authorId, + title: data.title, + targetDana: data.targetDana, + hargaLembar: data.hargaLembar, + totalLembar: data.totalLembar, + roi: data.roi, + masterPencarianInvestorId: data.masterPencarianInvestorId, + masterPeriodeDevidenId: data.masterPeriodeDevidenId, + masterPembagianDevidenId: data.masterPembagianDevidenId, + imageId: data.imageId, + }, + }); + + // console.log("[UPDATE INVESTASI]", updateData); + + fixData = updateData; + } else if (category === "prospectus") { + const updateData = await prisma.investasi.update({ + where: { + id: id, + }, + data: { + prospektusFileId: data, + }, + }); + + // console.log("[UPDATE PROSPEKTUS]", updateData); + + fixData = updateData; + } return NextResponse.json({ status: 200, success: true, message: "Berhasil Mengupdate Data", - data: updateData, + data: fixData, }); } catch (error) { return NextResponse.json({ diff --git a/src/app/api/mobile/master/investment/route.ts b/src/app/api/mobile/master/investment/route.ts new file mode 100644 index 00000000..aa141e34 --- /dev/null +++ b/src/app/api/mobile/master/investment/route.ts @@ -0,0 +1,82 @@ +import { prisma } from "@/lib"; +import { NextResponse } from "next/server"; + +// GET ALL DATA MASTER UNTUK INVESTASI +export async function GET(request: Request) { + try { + let fixData; + const { searchParams } = new URL(request.url); + const category = searchParams.get("category"); + + if (category === "pencarian-investor") { + fixData = await prisma.masterPencarianInvestor.findMany({ + select: { + id: true, + name: true, + active: true, + }, + }); + } else if (category === "periode-deviden") { + fixData = await prisma.masterPeriodeDeviden.findMany({ + select: { + id: true, + name: true, + active: true, + }, + }); + } else if (category === "pembagian-deviden") { + fixData = await prisma.masterPembagianDeviden.findMany({ + select: { + id: true, + name: true, + active: true, + }, + }); + } else { + const pencarianInvestor = await prisma.masterPencarianInvestor.findMany({ + select: { + id: true, + name: true, + active: true, + }, + }); + + const periodeDeviden = await prisma.masterPeriodeDeviden.findMany({ + select: { + id: true, + name: true, + active: true, + }, + }); + + const pembagianDeviden = await prisma.masterPembagianDeviden.findMany({ + select: { + id: true, + name: true, + active: true, + }, + }); + + fixData = { + pencarianInvestor, + periodeDeviden, + pembagianDeviden, + }; + } + + return NextResponse.json( + { success: true, message: "Berhasil mendapatkan data", data: fixData }, + { status: 200 } + ); + } catch (error) { + console.error(error); + return NextResponse.json( + { + success: false, + message: "Gagal mendapatkan data, coba lagi nanti ", + reason: (error as Error).message, + }, + { status: 500 } + ); + } +}