mirror of
https://github.com/danny-avila/LibreChat.git
synced 2026-05-13 16:07:30 +00:00
29 lines
811 B
JavaScript
29 lines
811 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;
|
|
const userId = req.user?.id;
|
|
const tenantId = req.user?.tenantId;
|
|
req.config = await getAppConfig({ role: userRole, userId, tenantId });
|
|
|
|
next();
|
|
} catch (error) {
|
|
logger.error('Config middleware error:', {
|
|
error: error.message,
|
|
userRole: req.user?.role,
|
|
path: req.path,
|
|
});
|
|
|
|
try {
|
|
req.config = await getAppConfig({ tenantId: req.user?.tenantId });
|
|
next();
|
|
} catch (fallbackError) {
|
|
logger.error('Fallback config middleware error:', fallbackError);
|
|
next(fallbackError);
|
|
}
|
|
}
|
|
};
|
|
|
|
module.exports = configMiddleware;
|