import { NextResponse } from "next/server"; import { prisma } from "@/lib/prisma"; import { requireAdmin } from "@/lib/admin-auth"; import { badRequest, notFound, serverError } from "@/lib/api-error"; export const dynamic = "force-dynamic"; export async function GET(request: Request) { const authError = await requireAdmin(); if (authError) return authError; try { const { searchParams } = new URL(request.url); const page = parseInt(searchParams.get("page") || "1"); const pageSize = parseInt(searchParams.get("pageSize") || "20"); const [tools, total] = await Promise.all([ prisma.pendingTool.findMany({ orderBy: { createdAt: "desc" }, skip: (page - 1) * pageSize, take: pageSize, include: { category: { select: { id: true, name: true } } }, }), prisma.pendingTool.count(), ]); return NextResponse.json({ tools, total, page, pageSize }); } catch (error) { return serverError(error); } }