Files
2026-05-20 18:58:23 +00:00

36 lines
1.0 KiB
TypeScript

import { NextResponse } from 'next/server';
import prisma from '../../../../lib/prisma';
import { getServerSession } from "next-auth/next";
import { authOptions } from "../../auth/[...nextauth]/route";
export async function GET(request: Request) {
const session = await getServerSession(authOptions);
if (!session) return NextResponse.json([], { status: 401 });
const { searchParams } = new URL(request.url);
const q = searchParams.get('q')?.trim();
if (!q || q.length < 2) return NextResponse.json([]);
const customers = await prisma.customer.findMany({
where: {
OR: [
{ companyName: { contains: q, mode: 'insensitive' } },
{ firstName: { contains: q, mode: 'insensitive' } },
{ lastName: { contains: q, mode: 'insensitive' } },
{ email: { contains: q, mode: 'insensitive' } },
]
},
select: {
id: true,
companyName: true,
firstName: true,
lastName: true,
email: true,
},
take: 8,
orderBy: { companyName: 'asc' }
});
return NextResponse.json(customers);
}