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
+28
View File
@@ -0,0 +1,28 @@
// /utils/errorLocalization.js
const errors = require('./errors.json');
const config = require('../config/config');
const resolveLanguage = (req) => {
if (req && req.query && req.query.lang) {
const lang = req.query.lang.toLowerCase();
if (['fa', 'en'].includes(lang)) return lang;
}
if (req && req.headers && req.headers['accept-language']) {
const headerLang = req.headers['accept-language'].toLowerCase();
if (headerLang.includes('fa')) return 'fa';
if (headerLang.includes('en')) return 'en';
}
return config.DEFAULT_LANG || 'en';
};
const getLocalizedErrorMessage = (errorCode, req = null) => {
const lang = resolveLanguage(req);
const errorDef = errors[errorCode] || errors.INTERNAL_SERVER_ERROR;
return errorDef[lang] || errorDef.en || 'An unexpected error occurred.';
};
module.exports = {
resolveLanguage,
getLocalizedErrorMessage
};