import type { NextFunction, Request, Response } from 'express'; export class ApiError extends Error { constructor( public readonly status: number, message: string, ) { super(message); } } export function errorHandler( error: unknown, _req: Request, res: Response, _next: NextFunction, ): void { if (error instanceof ApiError) { res.status(error.status).json({ code: error.status, message: error.message, data: null, }); return; } console.error(error); res.status(500).json({ code: 500, message: 'Internal server error', data: null, }); }