Fix API Mobile Admin

API – Admin User (Mobile)
- src/app/api/mobile/admin/user/route.ts

Docs
- PROMPT-AI.md

### No Issue
This commit is contained in:
2026-02-12 17:42:06 +08:00
parent d43f3762a3
commit a8f9d2ac0d
2 changed files with 25 additions and 14 deletions

View File

@@ -1,5 +1,5 @@
File utama: src/app/api/mobile/donation/[id]/donatur/route.ts File utama: src/app/api/mobile/admin/user/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,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 }; export { GET };
@@ -7,10 +8,16 @@ async function GET(request: Request) {
const { searchParams } = new URL(request.url); const { searchParams } = new URL(request.url);
const search = searchParams.get("search"); const search = searchParams.get("search");
const category = searchParams.get("category"); const category = searchParams.get("category");
const page = Number(searchParams.get("page"));
const takeData = PAGINATION_DEFAULT_TAKE;
const skipData = page * takeData - takeData;
console.log("SEARCH", search);
console.log("PAGE", page);
let fixData; let fixData;
try { try {
if(category === "only-user"){ if (category === "only-user") {
fixData = await prisma.user.findMany({ fixData = await prisma.user.findMany({
orderBy: { orderBy: {
updatedAt: "desc", updatedAt: "desc",
@@ -22,8 +29,10 @@ async function GET(request: Request) {
mode: "insensitive", mode: "insensitive",
}, },
}, },
take: page ? takeData : undefined,
skip: page ? skipData : undefined,
}); });
} else if(category === "only-admin"){ } else if (category === "only-admin") {
fixData = await prisma.user.findMany({ fixData = await prisma.user.findMany({
orderBy: { orderBy: {
updatedAt: "desc", updatedAt: "desc",
@@ -35,8 +44,10 @@ async function GET(request: Request) {
mode: "insensitive", mode: "insensitive",
}, },
}, },
take: page ? takeData : undefined,
skip: page ? skipData : undefined,
}); });
} else if (category === "all-role"){ } else if (category === "all-role") {
fixData = await prisma.user.findMany({ fixData = await prisma.user.findMany({
orderBy: { orderBy: {
updatedAt: "desc", updatedAt: "desc",
@@ -48,13 +59,15 @@ async function GET(request: Request) {
}, },
{ {
masterUserRoleId: "2", masterUserRoleId: "2",
} },
], ],
username: { username: {
contains: search || "", contains: search || "",
mode: "insensitive", mode: "insensitive",
}, },
}, },
take: page ? takeData : undefined,
skip: page ? skipData : undefined,
}); });
} }
@@ -65,13 +78,11 @@ async function GET(request: Request) {
data: fixData, data: fixData,
}); });
} catch (error) { } catch (error) {
return NextResponse.json( return NextResponse.json({
{ status: 500,
status: 500, success: false,
success: false, message: "Error get data user access",
message: "Error get data user access", reason: (error as Error).message,
reason: (error as Error).message, });
},
);
} }
} }