diff --git a/src/routes/api/recipes/[id]/view/+server.ts b/src/routes/api/recipes/[id]/view/+server.ts index ef309de..da8b645 100644 --- a/src/routes/api/recipes/[id]/view/+server.ts +++ b/src/routes/api/recipes/[id]/view/+server.ts @@ -2,7 +2,7 @@ import type { RequestHandler } from './$types'; import { z } from 'zod'; import { error } from '@sveltejs/kit'; import { getDb } from '$lib/server/db'; -import { validateBody } from '$lib/server/api-helpers'; +import { validateBody, parsePositiveIntParam } from '$lib/server/api-helpers'; import { recordView } from '$lib/server/recipes/views'; const Schema = z.object({ @@ -10,10 +10,7 @@ const Schema = z.object({ }); export const POST: RequestHandler = async ({ params, request }) => { - const recipeId = Number(params.id); - if (!Number.isInteger(recipeId) || recipeId <= 0) { - error(400, { message: 'Invalid recipe id' }); - } + const recipeId = parsePositiveIntParam(params.id, 'id'); const body = validateBody(await request.json().catch(() => null), Schema); try {