From e3f6a8ec92a82d0aa392460724623916b5c22b9b Mon Sep 17 00:00:00 2001 From: Bonna Moon Date: Mon, 15 Jun 2026 17:45:34 -0500 Subject: [PATCH] =?UTF-8?q?v0.2.3=20=E2=80=94=20Fix=20new=20plant=20catego?= =?UTF-8?q?ries=20rejected=20by=20API=20validation?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/app/api/plants/[id]/route.ts | 4 +--- src/app/api/plants/route.ts | 6 ++---- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/src/app/api/plants/[id]/route.ts b/src/app/api/plants/[id]/route.ts index e84b348..3bd0d26 100644 --- a/src/app/api/plants/[id]/route.ts +++ b/src/app/api/plants/[id]/route.ts @@ -2,13 +2,11 @@ import { NextResponse } from "next/server"; import { z } from "zod"; import { db } from "@/lib/db"; import { requireAuth, isAdmin } from "@/lib/auth"; -import { PlantCategory } from "@prisma/client"; - const updateSchema = z.object({ commonName: z.string().min(1), species: z.string().optional(), variety: z.string().optional(), - category: z.nativeEnum(PlantCategory), + category: z.string().min(1), zone: z.string().optional(), plantedAt: z.string().optional(), source: z.string().optional(), diff --git a/src/app/api/plants/route.ts b/src/app/api/plants/route.ts index 8be7469..2df3145 100644 --- a/src/app/api/plants/route.ts +++ b/src/app/api/plants/route.ts @@ -2,13 +2,11 @@ import { NextResponse } from "next/server"; import { z } from "zod"; import { db } from "@/lib/db"; import { requireAuth } from "@/lib/auth"; -import { PlantCategory } from "@prisma/client"; - const createSchema = z.object({ commonName: z.string().min(1), species: z.string().optional(), variety: z.string().optional(), - category: z.nativeEnum(PlantCategory), + category: z.string().min(1), zone: z.string().optional(), plantedAt: z.string().optional(), // ISO date string source: z.string().optional(), @@ -46,7 +44,7 @@ export async function POST(req: Request) { return NextResponse.json(plant, { status: 201 }); } catch (err) { if (err instanceof z.ZodError) { - return NextResponse.json({ error: err.issues }, { status: 400 }); + return NextResponse.json({ error: err.issues[0]?.message ?? "Invalid data" }, { status: 400 }); } if (err instanceof Error && err.message === "Unauthorized") { return NextResponse.json({ error: "Unauthorized" }, { status: 401 });