import { NextRequest, NextResponse } from "next/server"; import { prisma } from "@/lib/prisma"; export async function POST(req: NextRequest) { try { const { query } = await req.json(); // Nothing to search if (!query || typeof query !== "string" || query.trim().length === 0) { // Return recent earthquakes if no search string const earthquakes = await prisma.earthquake.findMany({ orderBy: { date: "desc" }, take: 30, }); return NextResponse.json({ earthquakes }); } // Simple search: code, location, magnitude (add more fields as desired) const q = query.trim(); const earthquakes = await prisma.earthquake.findMany({ where: { OR: [ { code: { contains: q, } }, { location: { contains: q, } }, { magnitude: Number.isNaN(Number(q)) ? undefined : Number(q), }, // optionally add more fields ], }, orderBy: { date: "desc" }, take: 30, }); return NextResponse.json({ earthquakes }); } catch (e: any) { console.error("Earthquake search error:", e); return NextResponse.json( { error: "Failed to search earthquakes." }, { status: 500 } ); } }