Notes/src/routes/api/settings.js

34 lines
911 B
JavaScript
Raw Normal View History

2017-10-21 21:10:33 -04:00
"use strict";
2017-10-15 19:47:05 -04:00
const sql = require('../../services/sql');
2017-11-02 20:48:02 -04:00
const options = require('../../services/options');
// options allowed to be updated directly in settings dialog
const ALLOWED_OPTIONS = ['protected_session_timeout', 'note_revision_snapshot_time_interval'];
async function getAllSettings() {
return await sql.getMap("SELECT name, value FROM options");
}
async function getAllowedSettings() {
2018-01-28 19:30:14 -05:00
const settings = await sql.getMap("SELECT name, value FROM options WHERE name IN ("
+ ALLOWED_OPTIONS.map(x => '?').join(",") + ")", ALLOWED_OPTIONS);
return settings;
}
async function updateSetting(req) {
2017-10-24 22:58:59 -04:00
const body = req.body;
if (!ALLOWED_OPTIONS.includes(body['name'])) {
return [400, "not allowed option to set"];
}
await options.setOption(body['name'], body['value']);
}
module.exports = {
getAllowedSettings,
getAllSettings,
updateSetting
};