mirror of
https://github.com/yu-i-i/overleaf-cep.git
synced 2026-06-03 22:29:01 +02:00
b9a8a7f7ec
GitOrigin-RevId: 4f66c6576571c4fbb7381d8d0e34f2e468d6f34f
42 lines
1.2 KiB
JavaScript
42 lines
1.2 KiB
JavaScript
const SessionManager = require('../Authentication/SessionManager')
|
|
const TutorialHandler = require('./TutorialHandler')
|
|
const { expressify } = require('@overleaf/promise-utils')
|
|
|
|
const VALID_KEYS = [
|
|
'react-history-buttons-tutorial',
|
|
'table-generator-promotion',
|
|
'writefull-integration',
|
|
'writefull-oauth-promotion',
|
|
'bib-file-tpr-prompt',
|
|
'ai-error-assistant-consent',
|
|
]
|
|
|
|
async function completeTutorial(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, '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),
|
|
}
|