1
0
Fork 0
mirror of https://github.com/Chocobozzz/PeerTube.git synced 2025-10-03 09:49:20 +02:00
Peertube/server/core/controllers/api/client-config.ts
Chocobozzz d6e4dac032
Add email translations
Convert emails from Pug template to Handlebars because i18next doesn't
support Pug
2025-07-24 09:18:04 +02:00

36 lines
1,000 B
TypeScript

import { is18nLocale } from '@peertube/peertube-core-utils'
import { HttpStatusCode } from '@peertube/peertube-models'
import { setClientLanguageCookie } from '@server/helpers/i18n.js'
import express from 'express'
import { apiRateLimiter } from '../../middlewares/index.js'
const clientConfigRouter = express.Router()
clientConfigRouter.use(apiRateLimiter)
clientConfigRouter.post(
'/update-interface-language',
updateLanguage
)
// ---------------------------------------------------------------------------
export {
clientConfigRouter
}
// ---------------------------------------------------------------------------
function updateLanguage (req: express.Request, res: express.Response) {
const language = req.body.language
if (language !== null && !is18nLocale(language)) {
return res.fail({
message: req.t('{language} is not a valid language', { language })
})
}
setClientLanguageCookie(res, language)
return res.sendStatus(HttpStatusCode.NO_CONTENT_204)
}