Fix Api Mobile

API – Admin Master Data
- src/app/api/mobile/admin/master/bank/route.ts
- src/app/api/mobile/admin/master/business-field/route.ts
- src/app/api/mobile/admin/master/business-field/[id]/route.ts

Docs
- PROMPT-AI.md

### No Issue
This commit is contained in:
2026-02-13 17:40:25 +08:00
parent a8f9d2ac0d
commit b585aa3024
4 changed files with 35 additions and 6 deletions

View File

@@ -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 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,14 +1,22 @@
import { prisma } from "@/lib"; import { prisma } from "@/lib";
import { PAGINATION_DEFAULT_TAKE } from "@/lib/constans-value/constansValue";
import { NextResponse } from "next/server"; import { NextResponse } from "next/server";
export { GET, POST }; export { GET, POST };
async function GET() { async function GET(request: Request) {
try { 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({ const data = await prisma.masterBank.findMany({
orderBy: { orderBy: {
updatedAt: "desc", updatedAt: "desc",
}, },
take: page ? takeData : undefined,
skip: page ? skipData : undefined,
}); });
return NextResponse.json( return NextResponse.json(

View File

@@ -1,5 +1,6 @@
import { NextResponse } from "next/server";
import { prisma } from "@/lib"; import { prisma } from "@/lib";
import { PAGINATION_DEFAULT_TAKE } from "@/lib/constans-value/constansValue";
import { NextResponse } from "next/server";
export { GET, PUT }; export { GET, PUT };
@@ -11,6 +12,10 @@ async function GET(request: Request, { params }: { params: { id: string } }) {
const category = searchParams.get("category"); const category = searchParams.get("category");
const subBidangId = searchParams.get("subBidangId"); 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") { if (category === "all") {
const bidang = await prisma.masterBidangBisnis.findUnique({ const bidang = await prisma.masterBidangBisnis.findUnique({
where: { 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; fixData = subBidang;
} }
@@ -71,9 +86,6 @@ async function PUT(request: Request, { params }: { params: { id: string } }) {
const { searchParams } = new URL(request.url); const { searchParams } = new URL(request.url);
const category = searchParams.get("category"); const category = searchParams.get("category");
console.log("category", category);
console.log("data", data);
try { try {
if (category === "bidang") { if (category === "bidang") {
const updateData = await prisma.masterBidangBisnis.update({ const updateData = await prisma.masterBidangBisnis.update({

View File

@@ -2,15 +2,24 @@ import { NextResponse } from "next/server";
import { prisma } from "@/lib"; import { prisma } from "@/lib";
import _ from "lodash"; import _ from "lodash";
import { Prisma } from "@prisma/client"; import { Prisma } from "@prisma/client";
import { PAGINATION_DEFAULT_TAKE } from "@/lib/constans-value/constansValue";
export { GET, POST }; export { GET, POST };
async function GET(request: Request) { async function GET(request: Request) {
try { 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({ const data = await prisma.masterBidangBisnis.findMany({
orderBy: { orderBy: {
createdAt: "asc", createdAt: "asc",
}, },
take: page ? takeData : undefined,
skip: page ? skipData : undefined,
}); });
return NextResponse.json({ return NextResponse.json({