import { Request, Response, NextFunction } from 'express';
import { ErrorCode } from '@saferoute/constants';

export function errorHandler(err: Error, _req: Request, res: Response, _next: NextFunction): void {
  console.error('Unhandled error:', err.message);
  console.error(err.stack);

  res.status(500).json({
    success: false,
    message: 'An unexpected error occurred. Please try again later.',
    errorCode: ErrorCode.SERVER_ERROR,
    details: process.env.NODE_ENV === 'development' ? { error: err.message, stack: err.stack } : {},
  });
}
