From da3c6bb135802b6a2f512770d955e13c47ddd705 Mon Sep 17 00:00:00 2001 From: Your Name Date: Sat, 31 Jan 2026 21:42:55 +0800 Subject: [PATCH] fix: allow empty coverUrl in tutorial videos API Co-authored-by: Cursor --- app/api/tutorial-videos/route.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/api/tutorial-videos/route.ts b/app/api/tutorial-videos/route.ts index d0f3f05..4e10dde 100644 --- a/app/api/tutorial-videos/route.ts +++ b/app/api/tutorial-videos/route.ts @@ -27,7 +27,7 @@ export async function GET() { const createSchema = z.object({ title: z.string().min(1).max(128), videoUrl: z.string().url(), - coverUrl: z.string().url().nullable().optional(), + coverUrl: z.string().url().optional().or(z.literal("")).transform(v => v || null), description: z.string().nullable().optional(), order: z.number().int().default(0), isEnabled: z.boolean().default(true), @@ -81,7 +81,7 @@ const updateSchema = z.object({ id: z.string().uuid(), title: z.string().min(1).max(128).optional(), videoUrl: z.string().url().optional(), - coverUrl: z.string().url().nullable().optional(), + coverUrl: z.string().url().optional().or(z.literal("")).transform(v => v || null), description: z.string().nullable().optional(), order: z.number().int().optional(), isEnabled: z.boolean().optional(),