From 65b0b90f769d8d7b22f91155ea07a82b9628a922 Mon Sep 17 00:00:00 2001 From: Ayomide Date: Sun, 22 Oct 2023 17:13:26 +0100 Subject: [PATCH] feat: get award by userId --- src/middlewares/award.zod.ts | 33 ++++++++++++++++++++++++++++----- 1 file changed, 28 insertions(+), 5 deletions(-) diff --git a/src/middlewares/award.zod.ts b/src/middlewares/award.zod.ts index 876ba817..34753b83 100644 --- a/src/middlewares/award.zod.ts +++ b/src/middlewares/award.zod.ts @@ -22,7 +22,10 @@ const CreateAwardDataSchema = z.object({ .min(3) .regex(charRegex, { message: 'Title cannot contain special characters' }), year: z.string().min(3), - presented_by: z.string().min(3, { message: 'field cannot be empty' }).regex(charRegex, { message: 'Title cannot contain special characters' }), + presented_by: z + .string() + .min(3, { message: 'field cannot be empty' }) + .regex(charRegex, { message: 'Title cannot contain special characters' }), url: z .string() .min(3, { message: 'field cannot be empty' }) @@ -45,10 +48,30 @@ const CreateAwardDataSchema = z.object({ }) export const UpdateAwardDataSchema = z.object({ - title: z.string(), - year: z.string(), - presented_by: z.string(), - url: z.string().optional(), + title: z + .string() + .min(3) + .regex(charRegex, { message: 'Title cannot contain special characters' }) + .optional(), + year: z.string().min(3), + presented_by: z + .string() + .min(3, { message: 'field cannot be empty' }) + .regex(charRegex, { message: 'Title cannot contain special characters' }) + .optional(), + url: z + .string() + .min(3, { message: 'field cannot be empty' }) + .optional() + .refine( + (value) => { + if (value) { + return urlRegex.test(value) + } + return true + }, + { message: 'Invalid URL format' } + ), userId: z.string().refine((value) => isUUID(value), { message: 'userId has to be a valid UUID', }),