Fix API Mobile

API – Admin Forum & Investment
- src/app/api/mobile/admin/forum/route.ts
- src/app/api/mobile/admin/investment/route.ts
- src/app/api/mobile/admin/investment/[id]/investor/route.ts

Docs
- PROMPT-AI.md

### No Issue
This commit is contained in:
2026-02-19 16:44:17 +08:00
parent 1c227a2850
commit a98ab18423
4 changed files with 19 additions and 13 deletions

View File

@@ -1,5 +1,5 @@
File utama: src/app/api/mobile/admin/donation/[id]/donatur/route.ts File utama: src/app/api/mobile/admin/investment/[id]/investor/route.ts
Terapkan pagination pada file "File utama" pada method GET Terapkan pagination pada file "File utama" pada method GET
Analisa juga file "File utama", jika belum memiliki page dari seachParams maka terapkan. Juga pastikan take dan skip sudah sesuai dengan pagination. Buat default nya menjadi 10 untuk take data Analisa juga file "File utama", jika belum memiliki page dari seachParams maka terapkan. Juga pastikan take dan skip sudah sesuai dengan pagination. Buat default nya menjadi 10 untuk take data

View File

@@ -1,6 +1,7 @@
import { NextResponse } from "next/server"; import { NextResponse } from "next/server";
import { prisma } from "@/lib"; import { prisma } from "@/lib";
import _ from "lodash"; import _ from "lodash";
import { PAGINATION_DEFAULT_TAKE } from "@/lib/constans-value/constansValue";
export { GET }; export { GET };
@@ -9,7 +10,7 @@ async function GET(request: Request, { params }: { params: { name: string } }) {
const category = searchParams.get("category"); const category = searchParams.get("category");
const search = searchParams.get("search"); const search = searchParams.get("search");
const page = searchParams.get("page"); const page = searchParams.get("page");
const takeData = 10; const takeData = PAGINATION_DEFAULT_TAKE;
const skipData = Number(page) * takeData - takeData; const skipData = Number(page) * takeData - takeData;
let fixData; let fixData;

View File

@@ -1,19 +1,20 @@
import _ from "lodash"; import _ from "lodash";
import { NextResponse } from "next/server"; import { NextResponse } from "next/server";
import prisma from "@/lib/prisma"; import prisma from "@/lib/prisma";
import { PAGINATION_DEFAULT_TAKE } from "@/lib/constans-value/constansValue";
export async function GET( export async function GET(
request: Request, request: Request,
{ params }: { params: { id: string } } { params }: { params: { id: string } },
) { ) {
try { try {
let fixData; let fixData;
const { id } = params; const { id } = params;
const { searchParams } = new URL(request.url); const { searchParams } = new URL(request.url);
const page = searchParams.get("page"); const page = Number(searchParams.get("page"));
const status = searchParams.get("status"); const status = searchParams.get("status");
const takeData = 10; const takeData = PAGINATION_DEFAULT_TAKE;
const skipData = Number(page) * takeData - takeData; const skipData = page * takeData - takeData;
const fixStatus = _.startCase(status ? status : ""); const fixStatus = _.startCase(status ? status : "");
@@ -43,6 +44,7 @@ export async function GET(
id: true, id: true,
Author: true, Author: true,
StatusInvoice: true, StatusInvoice: true,
nominal: true,
}, },
}); });
@@ -54,7 +56,7 @@ export async function GET(
message: "Success get status transaksi", message: "Success get status transaksi",
data: fixData, data: fixData,
}, },
{ status: 200 } { status: 200 },
); );
} catch (error) { } catch (error) {
console.error("Eror get status transaksi", error); console.error("Eror get status transaksi", error);
@@ -64,7 +66,7 @@ export async function GET(
message: "Error get status transaksi", message: "Error get status transaksi",
reason: (error as Error).message, reason: (error as Error).message,
}, },
{ status: 500 } { status: 500 },
); );
} }
} }

View File

@@ -1,6 +1,7 @@
import _ from "lodash"; import _ from "lodash";
import { NextResponse } from "next/server"; import { NextResponse } from "next/server";
import { prisma } from "@/lib"; import { prisma } from "@/lib";
import { PAGINATION_DEFAULT_TAKE } from "@/lib/constans-value/constansValue";
export { GET }; export { GET };
@@ -9,12 +10,9 @@ async function GET(request: Request) {
const category = searchParams.get("category"); const category = searchParams.get("category");
const search = searchParams.get("search"); const search = searchParams.get("search");
const page = searchParams.get("page"); const page = searchParams.get("page");
const takeData = 10; const takeData = PAGINATION_DEFAULT_TAKE;
const skipData = Number(page) * takeData - takeData; const skipData = Number(page) * takeData - takeData;
console.log("[CATEGORY]", category);
console.log("[PAGE]", page);
let fixData; let fixData;
try { try {
if (category === "dashboard") { if (category === "dashboard") {
@@ -49,7 +47,6 @@ async function GET(request: Request) {
}; };
} else { } else {
const fixCategoryToStatus = _.startCase(category || ""); const fixCategoryToStatus = _.startCase(category || "");
console.log("[STATUS]", fixCategoryToStatus);
const data = await prisma.investasi.findMany({ const data = await prisma.investasi.findMany({
take: page ? takeData : undefined, take: page ? takeData : undefined,
@@ -70,6 +67,12 @@ async function GET(request: Request) {
select: { select: {
id: true, id: true,
title: true, title: true,
targetDana: true,
MasterPencarianInvestor: {
select: {
name: true,
},
},
author: { author: {
select: { select: {
id: true, id: true,