55 lines
1.9 KiB
JavaScript
55 lines
1.9 KiB
JavaScript
const allowed_settings = { //"settingname":["validtypes"]
|
|
"ACCR": ["boolean"]
|
|
}
|
|
|
|
module.exports = {
|
|
"setup": function(router,con,server) {
|
|
router.get("/api/settings",function(req,res) {
|
|
res.json(res.locals.settings)
|
|
})
|
|
|
|
router.post("/api/settings",function(req,res) {
|
|
|
|
if(!req.body.setting) {
|
|
res.json({"error":"no setting to change"})
|
|
return
|
|
}
|
|
if((typeof req.body.setting) != "string") {
|
|
res.json({"error":"no setting to change"})
|
|
return
|
|
}
|
|
|
|
let types = allowed_settings[req.body.setting]
|
|
let allowed = false
|
|
let got = typeof req.body.value
|
|
for (let index = 0; index < types.length; index++) {
|
|
if(types[index] == got) {
|
|
allowed = true;
|
|
break;
|
|
}
|
|
}
|
|
if(!allowed) {
|
|
console.log(5,"incorrect type given, received, expected", typeof req.body.value, allowed_settings[req.body.setting])
|
|
res.json({"error":"no new setting value given"})
|
|
return
|
|
}
|
|
|
|
let setting_to_change = req.body.setting
|
|
let setting_new_value = req.body.value
|
|
|
|
res.locals.settings[setting_to_change] = setting_new_value
|
|
|
|
console.log(5,"changing settings", setting_to_change, setting_new_value, res.locals.settings)
|
|
|
|
let sql = "update ipost.users set User_Settings=? where User_Name=?"
|
|
let values = [res.locals.settings,res.locals.username]
|
|
con.query(sql, values, function (err, result) {
|
|
if(err) {
|
|
res.json({"status":"error","code":err})
|
|
return
|
|
}
|
|
res.json({"status":"success"})
|
|
})
|
|
})
|
|
}
|
|
} |