const { logger } = require('@librechat/data-schemas'); const { Banner } = require('~/db/models'); /** * Retrieves the current active banner. * @returns {Promise} The active banner object or null if no active banner is found. */ const getBanner = async (user) => { try { const now = new Date(); const banner = await Banner.findOne({ displayFrom: { $lte: now }, $or: [{ displayTo: { $gte: now } }, { displayTo: null }], type: 'banner', }).lean(); if (!banner || banner.isPublic || user) { return banner; } return null; } catch (error) { logger.error('[getBanners] Error getting banners', error); throw new Error('Error getting banners'); } }; module.exports = { getBanner };