mirror of
https://github.com/yu-i-i/overleaf-cep.git
synced 2026-05-25 02:00:10 +02:00
[web] Reshow old editor deprecation notice GitOrigin-RevId: a1adfaa6f807880e2e3f7d20ce4ea8c2b486da1a
72 lines
1.9 KiB
JavaScript
72 lines
1.9 KiB
JavaScript
import SessionManager from '../Authentication/SessionManager.mjs'
|
|
import TutorialHandler from './TutorialHandler.mjs'
|
|
import { expressify } from '@overleaf/promise-utils'
|
|
|
|
const VALID_KEYS = [
|
|
'react-history-buttons-tutorial',
|
|
'writefull-integration',
|
|
'writefull-oauth-promotion',
|
|
'bib-file-tpr-prompt',
|
|
'ai-error-assistant-consent',
|
|
'workbench-consent',
|
|
'history-restore-promo',
|
|
'us-gov-banner',
|
|
'us-gov-banner-fedramp',
|
|
'editor-popup-ux-survey',
|
|
'wf-features-moved',
|
|
'review-mode',
|
|
'new-error-logs-promo',
|
|
'try-redesign-again-nudge-promo',
|
|
'write-and-cite-nudge-in-linked-file',
|
|
'ide-redesign-new-survey-promo',
|
|
'ide-redesign-beta-intro',
|
|
'ide-redesign-labs-user-beta-promo',
|
|
'rolling-compile-image-changed',
|
|
'groups-enterprise-banner',
|
|
'groups-enterprise-banner-repeat',
|
|
'new-editor-opt-in',
|
|
'new-editor-intro',
|
|
'new-editor-intro-2',
|
|
'old-editor-warning-tooltip',
|
|
'old-editor-warning-tooltip-2',
|
|
'workbench-rail-popover',
|
|
]
|
|
|
|
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
|
|
let postponedUntil
|
|
if (req.body.postponedUntil) {
|
|
postponedUntil = new Date(req.body.postponedUntil)
|
|
}
|
|
|
|
if (!VALID_KEYS.includes(tutorialKey)) {
|
|
return res.sendStatus(404)
|
|
}
|
|
|
|
await TutorialHandler.setTutorialState(
|
|
userId,
|
|
tutorialKey,
|
|
'postponed',
|
|
postponedUntil
|
|
)
|
|
res.sendStatus(204)
|
|
}
|
|
|
|
export default {
|
|
completeTutorial: expressify(completeTutorial),
|
|
postponeTutorial: expressify(postponeTutorial),
|
|
}
|