diff --git a/PROMPT-AI.md b/PROMPT-AI.md index 0f9bd874..aa1645a7 100644 --- a/PROMPT-AI.md +++ b/PROMPT-AI.md @@ -1,5 +1,5 @@ -File utama: src/app/api/mobile/admin/user/route.ts +File utama: src/app/api/mobile/admin/master/business-field/route.ts 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 diff --git a/src/app/api/mobile/admin/master/bank/route.ts b/src/app/api/mobile/admin/master/bank/route.ts index f17f9ecf..a546c16f 100644 --- a/src/app/api/mobile/admin/master/bank/route.ts +++ b/src/app/api/mobile/admin/master/bank/route.ts @@ -1,14 +1,22 @@ import { prisma } from "@/lib"; +import { PAGINATION_DEFAULT_TAKE } from "@/lib/constans-value/constansValue"; import { NextResponse } from "next/server"; export { GET, POST }; -async function GET() { +async function GET(request: Request) { try { + const { searchParams } = new URL(request.url); + const page = Number(searchParams.get("page")); + const takeData = PAGINATION_DEFAULT_TAKE; + const skipData = page * takeData - takeData; + const data = await prisma.masterBank.findMany({ orderBy: { updatedAt: "desc", }, + take: page ? takeData : undefined, + skip: page ? skipData : undefined, }); return NextResponse.json( diff --git a/src/app/api/mobile/admin/master/business-field/[id]/route.ts b/src/app/api/mobile/admin/master/business-field/[id]/route.ts index 88eeb137..5b2aa41f 100644 --- a/src/app/api/mobile/admin/master/business-field/[id]/route.ts +++ b/src/app/api/mobile/admin/master/business-field/[id]/route.ts @@ -1,5 +1,6 @@ -import { NextResponse } from "next/server"; import { prisma } from "@/lib"; +import { PAGINATION_DEFAULT_TAKE } from "@/lib/constans-value/constansValue"; +import { NextResponse } from "next/server"; export { GET, PUT }; @@ -11,6 +12,10 @@ async function GET(request: Request, { params }: { params: { id: string } }) { const category = searchParams.get("category"); const subBidangId = searchParams.get("subBidangId"); + const page = Number(searchParams.get("page")) || 1; + const takeData = PAGINATION_DEFAULT_TAKE; + const skipData = page * takeData - takeData; + if (category === "all") { const bidang = await prisma.masterBidangBisnis.findUnique({ where: { @@ -45,6 +50,16 @@ async function GET(request: Request, { params }: { params: { id: string } }) { }, }); + fixData = subBidang; + } else if (category === "only-sub-bidang") { + const subBidang = await prisma.masterSubBidangBisnis.findMany({ + where: { + masterBidangBisnisId: id, + }, + take: takeData, + skip: skipData, + }); + fixData = subBidang; } @@ -71,9 +86,6 @@ async function PUT(request: Request, { params }: { params: { id: string } }) { const { searchParams } = new URL(request.url); const category = searchParams.get("category"); - console.log("category", category); - console.log("data", data); - try { if (category === "bidang") { const updateData = await prisma.masterBidangBisnis.update({ diff --git a/src/app/api/mobile/admin/master/business-field/route.ts b/src/app/api/mobile/admin/master/business-field/route.ts index f428f879..538b9278 100644 --- a/src/app/api/mobile/admin/master/business-field/route.ts +++ b/src/app/api/mobile/admin/master/business-field/route.ts @@ -2,15 +2,24 @@ import { NextResponse } from "next/server"; import { prisma } from "@/lib"; import _ from "lodash"; import { Prisma } from "@prisma/client"; +import { PAGINATION_DEFAULT_TAKE } from "@/lib/constans-value/constansValue"; export { GET, POST }; async function GET(request: Request) { try { + const { searchParams } = new URL(request.url); + const page = Number(searchParams.get("page")); + const takeData = PAGINATION_DEFAULT_TAKE; + const skipData = page * takeData - takeData; + + const data = await prisma.masterBidangBisnis.findMany({ orderBy: { createdAt: "asc", }, + take: page ? takeData : undefined, + skip: page ? skipData : undefined, }); return NextResponse.json({