Files
overleaf-cep/services/web/app/src/Features/SystemMessages/SystemMessageController.js
T
Alexandre Bourdin 9468e5cb4f Merge pull request #4338 from overleaf/ab-session-manager
Extract functions from AuthenticationController to SessionManager

GitOrigin-RevId: 86870ce03a762e1a837dcf493759e8851e759883
2021-07-28 12:36:22 +00:00

32 lines
958 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([])
}
SystemMessageManager.getMessages((err, messages) => {
if (err) {
next(err)
} else {
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