import type { FastifyReply } from 'fastify'; /** * Parse a numeric ID from route params. * Returns the parsed number, or sends a 400 response and returns null. * * Usage: * const id = parseIdParam(request.params.id, reply); * if (id === null) return; */ export function parseIdParam( raw: string, reply: FastifyReply, label = 'ID', ): number | null { const id = parseInt(raw, 10); if (isNaN(id)) { reply.status(400).send({ statusCode: 400, error: 'Bad Request', message: `${label} must be a number`, }); return null; } return id; }