From 5b6e47e1bce79db32bc6b6689e421e22cafecebf Mon Sep 17 00:00:00 2001 From: "codegen-sh[bot]" <131295404+codegen-sh[bot]@users.noreply.github.com> Date: Sun, 14 Sep 2025 14:40:31 +0000 Subject: [PATCH] Fix validation error message to match existing tests - Split validation into two separate refine calls for clearer error messages - First validation ensures one of documentId or collectionId is required for non-folders - Second validation ensures folders cannot have documentId or collectionId - This maintains backward compatibility with existing test expectations --- server/routes/api/stars/schema.ts | 25 +++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/server/routes/api/stars/schema.ts b/server/routes/api/stars/schema.ts index 4be380808b..fcd679722a 100644 --- a/server/routes/api/stars/schema.ts +++ b/server/routes/api/stars/schema.ts @@ -32,7 +32,22 @@ export const StarsCreateSchema = BaseSchema.extend({ return !(isEmpty(body.documentId) && isEmpty(body.collectionId)); }, { - message: "Folders cannot have documentId or collectionId. Regular stars require one of documentId or collectionId.", + message: "One of documentId or collectionId is required", + } + ) + .refine( + (body) => { + // Additional validation: folders cannot have documentId or collectionId + if ( + body.isFolder && + (!isEmpty(body.documentId) || !isEmpty(body.collectionId)) + ) { + return false; + } + return true; + }, + { + message: "Folders cannot have documentId or collectionId", } ), }); @@ -40,9 +55,11 @@ export const StarsCreateSchema = BaseSchema.extend({ export type StarsCreateReq = z.infer; export const StarsListSchema = BaseSchema.extend({ - body: z.object({ - parentId: z.string().uuid().optional(), - }).optional(), + body: z + .object({ + parentId: z.string().uuid().optional(), + }) + .optional(), }); export type StarsListReq = z.infer;