// /utils/AppError.js const errors = require('./errors.json'); class AppError extends Error { constructor(errorCode, details = null, overrideMessage = null) { const errorDef = errors[errorCode] || errors.INTERNAL_SERVER_ERROR; const message = overrideMessage || errorDef.en; super(message); this.name = 'AppError'; this.errorCode = errorCode in errors ? errorCode : 'INTERNAL_SERVER_ERROR'; this.statusCode = errorDef.statusCode || 500; this.details = details; this.overrideMessage = overrideMessage; this.isOperational = true; Error.captureStackTrace(this, this.constructor); } } module.exports = AppError;