Initial commit: teaching institution management API.

Express/MongoDB backend with JWT auth, RBAC, S3 uploads, notifications, and scheduled jobs.
This commit is contained in:
2026-08-09 04:18:08 +02:00
commit f04c797be6
107 changed files with 9190 additions and 0 deletions
+22
View File
@@ -0,0 +1,22 @@
// /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;