Files
carry-your-live/backend/dist/middleware/errorHandler.js
T
2026-08-06 11:16:47 +02:00

59 lines
1.5 KiB
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.AppError = void 0;
exports.errorHandler = errorHandler;
exports.notFoundHandler = notFoundHandler;
const zod_1 = require("zod");
class AppError extends Error {
code;
message;
statusCode;
details;
constructor(code, message, statusCode = 500, details) {
super(message);
this.code = code;
this.message = message;
this.statusCode = statusCode;
this.details = details;
this.name = 'AppError';
}
}
exports.AppError = AppError;
function errorHandler(err, req, res, next) {
console.error('Error:', err);
if (err instanceof zod_1.ZodError) {
res.status(400).json({
error: {
code: 'INVALID_PAYLOAD',
message: 'Request validation failed',
details: err.flatten().fieldErrors,
},
});
return;
}
if (err instanceof AppError) {
res.status(err.statusCode).json({
error: {
code: err.code,
message: err.message,
details: err.details,
},
});
return;
}
res.status(500).json({
error: {
code: 'SERVER_ERROR',
message: 'Internal server error',
},
});
}
function notFoundHandler(req, res) {
res.status(404).json({
error: {
code: 'NOT_FOUND',
message: `Route ${req.method} ${req.path} not found`,
},
});
}
//# sourceMappingURL=errorHandler.js.map