From 50a483dbee93d1e5e8b8ebac68e965beb817b996 Mon Sep 17 00:00:00 2001 From: solo samurai Date: Fri, 31 Jan 2025 20:26:20 +0300 Subject: [PATCH] refactor: validate folder ID using zod for improved error handling --- src/app/f/[folderId]/page.tsx | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/app/f/[folderId]/page.tsx b/src/app/f/[folderId]/page.tsx index 270260c..55d8e8a 100644 --- a/src/app/f/[folderId]/page.tsx +++ b/src/app/f/[folderId]/page.tsx @@ -1,3 +1,4 @@ +import { z } from "zod"; import DriveContents from "./drive-contents"; import { QUERIES } from "~/server/db/queries"; @@ -6,10 +7,15 @@ export default async function GoogleDriveClone(props: { }) { const params = await props.params; - const parsedFolderId = parseInt(params.folderId); - if (isNaN(parsedFolderId)) { - return
Invalid folder ID
; - } + const { data, success } = z + .object({ + folderId: z.coerce.number(), + }) + .safeParse(params); + + if (!success) return
Invalid folder ID
; + + const parsedFolderId = data.folderId; const [folders, files, parents] = await Promise.all([ QUERIES.getFolders(parsedFolderId),