Files
overleaf-cep/services/web/app/src/Features/SystemMessages/SystemMessageController.js
David 29483271b8 Merge pull request #17084 from overleaf/dp-mongoose-callback-system-message-manager
Promisify SystemMessageManager and SystemMessageManagerTests

GitOrigin-RevId: b8fafdfdba817160c1b18cf7eb0270a27adf114c
2024-02-20 09:04:38 +00:00

28 lines
846 B
JavaScript

const Settings = require('@overleaf/settings')
const SessionManager = require('../Authentication/SessionManager')
const SystemMessageManager = require('./SystemMessageManager')
const ProjectController = {
getMessages(req, res, next) {
if (!SessionManager.isUserLoggedIn(req.session)) {
// gracefully handle requests from anonymous users
return res.json([])
}
let messages = SystemMessageManager.getMessages()
if (!Settings.siteIsOpen) {
// Override all messages with notice for admins when site is closed.
messages = [
{
content:
'SITE IS CLOSED TO PUBLIC. OPEN ONLY FOR SITE ADMINS. DO NOT EDIT PROJECTS.',
_id: 'protected', // prevents hiding message in frontend
},
]
}
res.json(messages || [])
},
}
module.exports = ProjectController