diff --git a/CHANGELOG.md b/CHANGELOG.md index 248c7df6..fb2d0bc2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,8 @@ All notable changes to this project will be documented in this file. See [commit-and-tag-version](https://github.com/absolute-version/commit-and-tag-version) for commit guidelines. +## [1.5.10](https://wibugit.wibudev.com/wibu/hipmi/compare/v1.5.9...v1.5.10) (2025-11-03) + ## [1.5.9](https://wibugit.wibudev.com/wibu/hipmi/compare/v1.5.8...v1.5.9) (2025-10-30) ## [1.5.8](https://wibugit.wibudev.com/wibu/hipmi/compare/v1.5.7...v1.5.8) (2025-10-29) diff --git a/package.json b/package.json index 3eee853e..b052510b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "hipmi", - "version": "1.5.9", + "version": "1.5.10", "private": true, "prisma": { "seed": "bun prisma/seed.ts" diff --git a/src/app/api/mobile/admin/investment/[id]/invoice/route.ts b/src/app/api/mobile/admin/investment/[id]/invoice/route.ts index 747cb18a..e8a95cc2 100644 --- a/src/app/api/mobile/admin/investment/[id]/invoice/route.ts +++ b/src/app/api/mobile/admin/investment/[id]/invoice/route.ts @@ -65,10 +65,10 @@ async function PUT(req: Request, { params }: { params: { id: string } }) { data: { statusInvoiceId: "4", }, - select: { - StatusInvoice: true, - authorId: true, - }, + // select: { + // StatusInvoice: true, + // authorId: true, + // }, }); fixData = updt; diff --git a/src/app/api/mobile/admin/investment/[id]/route.ts b/src/app/api/mobile/admin/investment/[id]/route.ts index aedd7241..6f98a478 100644 --- a/src/app/api/mobile/admin/investment/[id]/route.ts +++ b/src/app/api/mobile/admin/investment/[id]/route.ts @@ -5,7 +5,7 @@ export { GET, PUT }; async function GET(request: Request, { params }: { params: { id: string } }) { const { id } = params; - + try { const data = await prisma.investasi.findUnique({ where: { @@ -49,9 +49,7 @@ async function GET(request: Request, { params }: { params: { id: string } }) { countDown: true, Investasi_Invoice: { where: { - statusInvoiceId: { - in: ["1", "2", "3", "4"], - }, + statusInvoiceId: "2", }, }, }, @@ -83,11 +81,11 @@ async function PUT(request: Request, { params }: { params: { id: string } }) { const { searchParams } = new URL(request.url); const status = searchParams.get("status"); - console.log("[=======Start Investment console=======]") + console.log("[=======Start Investment console=======]"); console.log("[ID]", id); console.log("[DATA]", data); console.log("[STATUS]", status); - console.log("[=======End Investment console=======]") + console.log("[=======End Investment console=======]"); const publishTime = new Date(); diff --git a/src/app/api/mobile/investment/[id]/investor/route.ts b/src/app/api/mobile/investment/[id]/investor/route.ts new file mode 100644 index 00000000..f1467762 --- /dev/null +++ b/src/app/api/mobile/investment/[id]/investor/route.ts @@ -0,0 +1,48 @@ +import { NextResponse } from "next/server"; +import prisma from "@/lib/prisma"; + +export { GET }; + +async function GET(request: Request, { params }: { params: { id: string } }) { + const { id } = params; + + try { + const data = await prisma.investasi_Invoice.findMany({ + where: { + investasiId: id, + statusInvoiceId: "1", + }, + select: { + id: true, + nominal: true, + Author: { + select: { + id: true, + username: true, + Profile: { + select: { + id: true, + name: true, + imageId: true, + }, + }, + }, + }, + }, + }); + + return NextResponse.json({ + status: 200, + success: true, + message: "Berhasil Mendapatkan Data", + data: data, + }); + } catch (error) { + return NextResponse.json({ + status: 500, + success: false, + message: "Error Mendapatkan Data", + reason: (error as Error).message, + }); + } +} diff --git a/src/app/api/mobile/investment/[id]/invoice/route.ts b/src/app/api/mobile/investment/[id]/invoice/route.ts index 473e3306..d9e08ccb 100644 --- a/src/app/api/mobile/investment/[id]/invoice/route.ts +++ b/src/app/api/mobile/investment/[id]/invoice/route.ts @@ -48,6 +48,9 @@ async function GET(request: Request, { params }: { params: { id: string } }) { const category = searchParams.get("category"); const authorId = searchParams.get("authorId"); + console.log("[ID INVOICE]", id); + + let fixData; try { @@ -80,6 +83,8 @@ async function GET(request: Request, { params }: { params: { id: string } }) { }, }); + console.log("[DATA INVOICE]", data ? true : false); + const { ...allData } = data; const Investor = data?.Investasi?.Investasi_Invoice; fixData = { ...allData, Investor }; diff --git a/src/app/api/mobile/investment/[id]/route.ts b/src/app/api/mobile/investment/[id]/route.ts index 0aa550dd..e5833ad3 100644 --- a/src/app/api/mobile/investment/[id]/route.ts +++ b/src/app/api/mobile/investment/[id]/route.ts @@ -17,7 +17,11 @@ async function GET(request: Request, { params }: { params: { id: string } }) { Profile: true, }, }, - Investasi_Invoice: true, + Investasi_Invoice: { + where: { + statusInvoiceId: "1" + } + }, MasterStatusInvestasi: true, BeritaInvestasi: true, DokumenInvestasi: true, diff --git a/src/app/api/mobile/investment/route.ts b/src/app/api/mobile/investment/route.ts index c05e30af..bc3f26bd 100644 --- a/src/app/api/mobile/investment/route.ts +++ b/src/app/api/mobile/investment/route.ts @@ -47,82 +47,112 @@ async function POST(request: Request) { } async function GET(request: Request) { - let fixData; const { searchParams } = new URL(request.url); + const category = searchParams.get("category"); + const authorId = searchParams.get("authorId"); + console.log("[CATEGORY]", category); + console.log("[AUTHOR ID]", authorId); + let fixData; try { - const data = await prisma.investasi.findMany({ - where: { - masterStatusInvestasiId: "1", - masterProgresInvestasiId: "1", - }, - select: { - id: true, - MasterPencarianInvestor: true, - countDown: true, - progress: true, - }, - }); + if (category === "bursa") { + const data = await prisma.investasi.findMany({ + where: { + masterStatusInvestasiId: "1", + masterProgresInvestasiId: "1", + }, + select: { + id: true, + MasterPencarianInvestor: true, + countDown: true, + progress: true, + }, + }); - for (let a of data) { - if ( - (a.MasterPencarianInvestor?.name as any) - - moment(new Date()).diff(new Date(a.countDown as any), "days") <= - 0 - ) { - await prisma.investasi.update({ - where: { - id: a.id, - }, - data: { - masterProgresInvestasiId: "3", - }, - }); + for (let a of data) { + if ( + (a.MasterPencarianInvestor?.name as any) - + moment(new Date()).diff(new Date(a.countDown as any), "days") <= + 0 + ) { + await prisma.investasi.update({ + where: { + id: a.id, + }, + data: { + masterProgresInvestasiId: "3", + }, + }); + } + + if (a.progress === "100") { + await prisma.investasi.update({ + where: { + id: a.id, + }, + data: { + masterProgresInvestasiId: "2", + }, + }); + } } - if (a.progress === "100") { - await prisma.investasi.update({ - where: { - id: a.id, - }, - data: { - masterProgresInvestasiId: "2", - }, - }); - } - } - - const dataAwal = await prisma.investasi.findMany({ - orderBy: [ - { - masterProgresInvestasiId: "asc", + const dataAwal = await prisma.investasi.findMany({ + orderBy: [ + { + masterProgresInvestasiId: "asc", + }, + { + countDown: "desc", + }, + ], + where: { + masterStatusInvestasiId: "1", }, - { - countDown: "desc", - }, - ], - where: { - masterStatusInvestasiId: "1", - }, - select: { - id: true, - imageId: true, - title: true, - progress: true, - countDown: true, - MasterPencarianInvestor: { - select: { - name: true, + select: { + id: true, + imageId: true, + title: true, + progress: true, + countDown: true, + MasterPencarianInvestor: { + select: { + name: true, + }, }, }, - }, - }); + }); - fixData = dataAwal.map((v: any) => ({ - ..._.omit(v, ["MasterPencarianInvestor"]), - pencarianInvestor: v.MasterPencarianInvestor.name, - })); + fixData = dataAwal.map((v: any) => ({ + ..._.omit(v, ["MasterPencarianInvestor"]), + pencarianInvestor: v.MasterPencarianInvestor.name, + })); + } else if (category === "my-holding") { + const data = await prisma.investasi_Invoice.findMany({ + where: { + authorId: authorId, + statusInvoiceId: "1", + }, + select: { + id: true, + investasiId: true, + nominal: true, + lembarTerbeli: true, + Investasi: { + select: { + title: true, + progress: true, + }, + }, + }, + }); + fixData = data.map((v: any) => ({ + ..._.omit(v, ["Investasi"]), + title: v.Investasi.title, + progress: v.Investasi.progress, + })); + } return NextResponse.json({ status: 200, success: true,