Files
overleaf-cep/services/web/app/src/Features/Tutorial/TutorialController.js
T
Alf Eaton b9a8a7f7ec Move AI provider usage to the backend (#18562)
GitOrigin-RevId: 4f66c6576571c4fbb7381d8d0e34f2e468d6f34f
2024-06-18 08:04:09 +00:00

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),
}