import { prisma } from "@/lib/db"; import { withGuards } from "@/lib/api-guards"; export const GET = withGuards( { rateLimit: { key: "search", limit: 30, windowMs: 60_000 } }, async (request) => { const { searchParams } = new URL(request.url); const q = searchParams.get("q")?.trim(); if (!q || q.length < 2) { return Response.json([]); } const results = await prisma.manga.findMany({ where: { status: "PUBLISHED", title: { contains: q, mode: "insensitive" }, }, select: { id: true, title: true, slug: true, coverUrl: true, }, take: 8, orderBy: { title: "asc" }, }); return Response.json(results); } );