v0.2.3 — Fix new plant categories rejected by API validation

This commit is contained in:
Bonna Moon
2026-06-15 17:45:34 -05:00
parent f27838745c
commit e3f6a8ec92
2 changed files with 3 additions and 7 deletions

View File

@@ -2,13 +2,11 @@ import { NextResponse } from "next/server";
import { z } from "zod"; import { z } from "zod";
import { db } from "@/lib/db"; import { db } from "@/lib/db";
import { requireAuth, isAdmin } from "@/lib/auth"; import { requireAuth, isAdmin } from "@/lib/auth";
import { PlantCategory } from "@prisma/client";
const updateSchema = z.object({ const updateSchema = z.object({
commonName: z.string().min(1), commonName: z.string().min(1),
species: z.string().optional(), species: z.string().optional(),
variety: z.string().optional(), variety: z.string().optional(),
category: z.nativeEnum(PlantCategory), category: z.string().min(1),
zone: z.string().optional(), zone: z.string().optional(),
plantedAt: z.string().optional(), plantedAt: z.string().optional(),
source: z.string().optional(), source: z.string().optional(),

View File

@@ -2,13 +2,11 @@ import { NextResponse } from "next/server";
import { z } from "zod"; import { z } from "zod";
import { db } from "@/lib/db"; import { db } from "@/lib/db";
import { requireAuth } from "@/lib/auth"; import { requireAuth } from "@/lib/auth";
import { PlantCategory } from "@prisma/client";
const createSchema = z.object({ const createSchema = z.object({
commonName: z.string().min(1), commonName: z.string().min(1),
species: z.string().optional(), species: z.string().optional(),
variety: z.string().optional(), variety: z.string().optional(),
category: z.nativeEnum(PlantCategory), category: z.string().min(1),
zone: z.string().optional(), zone: z.string().optional(),
plantedAt: z.string().optional(), // ISO date string plantedAt: z.string().optional(), // ISO date string
source: z.string().optional(), source: z.string().optional(),
@@ -46,7 +44,7 @@ export async function POST(req: Request) {
return NextResponse.json(plant, { status: 201 }); return NextResponse.json(plant, { status: 201 });
} catch (err) { } catch (err) {
if (err instanceof z.ZodError) { 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") { if (err instanceof Error && err.message === "Unauthorized") {
return NextResponse.json({ error: "Unauthorized" }, { status: 401 }); return NextResponse.json({ error: "Unauthorized" }, { status: 401 });