From f52d6d60040bad937b9b0f207d79e97010d7b415 Mon Sep 17 00:00:00 2001 From: christian Date: Sun, 2 Jun 2024 16:05:45 +0200 Subject: [PATCH] fixed duplicate check --- src/server/actions/addCountry.ts | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/server/actions/addCountry.ts b/src/server/actions/addCountry.ts index 810e745..dbc6ee9 100644 --- a/src/server/actions/addCountry.ts +++ b/src/server/actions/addCountry.ts @@ -6,16 +6,19 @@ import { countries } from "../db/schema"; import { ZodError, z } from "zod"; import { eq } from "drizzle-orm"; -const schema = z.object({ - name: z.string().min(1, { message: "Name is required" }), -}); - export async function addCountry(prevstate: any, formData: FormData) { const name = formData.get("name") as string; const exists = await db .select({ name: countries.name }) .from(countries) .where(eq(countries.name, name)); + + const schema = z.object({ + name: z + .string() + .min(1, { message: "Name is required" }) + .refine(() => !exists[0], { message: "Country already exists" }), + }); try { schema.parse({ name,