← back to Trademarks Copyright
src/app/api/items/[id]/route.ts
22 lines
import { NextRequest, NextResponse } from "next/server";
import { query } from "@/lib/db";
export async function GET(
_req: NextRequest,
{ params }: { params: Promise<{ id: string }> }
) {
const { id } = await params;
const numId = Number(id);
if (!Number.isFinite(numId)) return NextResponse.json({ error: "bad id" }, { status: 400 });
const { rows } = await query(
`SELECT *,
EXTRACT(YEAR FROM AGE(NOW(), expired_date))::int AS years_expired,
(CURRENT_DATE + INTERVAL '6 months')::date AS follow_up_date
FROM items WHERE id = $1`,
[numId]
);
if (!rows.length) return NextResponse.json({ error: "not found" }, { status: 404 });
return NextResponse.json({ item: rows[0] });
}