mirror of
https://github.com/danny-avila/LibreChat.git
synced 2025-12-17 08:50:15 +01:00
28 lines
687 B
JavaScript
28 lines
687 B
JavaScript
|
|
const { logger } = require('@librechat/data-schemas');
|
||
|
|
const { getAppConfig } = require('~/server/services/Config');
|
||
|
|
|
||
|
|
const configMiddleware = async (req, res, next) => {
|
||
|
|
try {
|
||
|
|
const userRole = req.user?.role;
|
||
|
|
req.config = await getAppConfig({ role: userRole });
|
||
|
|
|
||
|
|
next();
|
||
|
|
} catch (error) {
|
||
|
|
logger.error('Config middleware error:', {
|
||
|
|
error: error.message,
|
||
|
|
userRole: req.user?.role,
|
||
|
|
path: req.path,
|
||
|
|
});
|
||
|
|
|
||
|
|
try {
|
||
|
|
req.config = await getAppConfig();
|
||
|
|
next();
|
||
|
|
} catch (fallbackError) {
|
||
|
|
logger.error('Fallback config middleware error:', fallbackError);
|
||
|
|
next(fallbackError);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
};
|
||
|
|
|
||
|
|
module.exports = configMiddleware;
|