gdq-archive/frontend/pages/api/changePreferences.ts

40 lines
939 B
TypeScript
Raw Normal View History

2020-08-22 20:25:57 +00:00
import { availableLocales } from '../../util/localization';
import parseBool from '../../util/parseBool';
import withSession from '../../util/session';
export default withSession(async (req, res) => {
if (!req.body) {
res.status(400).json({
success: false,
error: 'bad request',
});
return;
}
if (req.body.volume !== null && req.body.volume !== undefined) {
const volume = parseFloat(req.body.volume);
req.session.set('volume', volume);
}
2020-08-22 20:25:57 +00:00
if (req.body.enableDark) {
const enableDark = parseBool(req.body.enableDark);
req.session.set('enable-dark', enableDark);
}
if (req.body.locale) {
if (!availableLocales.includes(req.body.locale)) {
res.status(400).json({
success: false,
error: 'wanted locale does not exist',
});
}
req.session.set('locale', req.body.locale);
}
await req.session.save();
res.json({
success: true,
});
});