Merge pull request #16073 from overleaf/em-postpone-tutorials

Support postponing tutorials

GitOrigin-RevId: fe662086c87cc1909d6d9eeac07f85e306d64418
This commit is contained in:
Eric Mc Sween
2023-12-05 07:59:55 -05:00
committed by Copybot
parent d30e876999
commit 94b9d1fa48
13 changed files with 152 additions and 55 deletions
@@ -5,6 +5,7 @@ const { expressify } = require('@overleaf/promise-utils')
const VALID_KEYS = [
'react-history-buttons-tutorial',
'table-generator-promotion',
'writefull-integration',
]
async function completeTutorial(req, res, next) {
@@ -12,13 +13,26 @@ async function completeTutorial(req, res, next) {
const tutorialKey = req.params.tutorialKey
if (!VALID_KEYS.includes(tutorialKey)) {
return res.sendStatus(400)
return res.sendStatus(404)
}
await TutorialHandler.saveCompletion(userId, tutorialKey)
await TutorialHandler.setTutorialState(userId, tutorialKey, 'completed')
res.sendStatus(204)
}
async function postponeTutorial(req, res, next) {
const userId = SessionManager.getLoggedInUserId(req.session)
const tutorialKey = req.params.tutorialKey
if (!VALID_KEYS.includes(tutorialKey)) {
return res.sendStatus(404)
}
await TutorialHandler.setTutorialState(userId, tutorialKey, 'postponed')
res.sendStatus(204)
}
module.exports = {
completeTutorial: expressify(completeTutorial),
postponeTutorial: expressify(postponeTutorial),
}