import { NextFunction, Request, Response } from 'express';

/** Thin controller wrapper: business rules stay in facades; errors go to errorHandler. */
export function asyncHandler(fn: (req: Request, res: Response) => Promise<void>) {
  return (req: Request, res: Response, next: NextFunction): void => {
    Promise.resolve(fn(req, res)).catch(next);
  };
}
