mirror of
https://github.com/Sebclem/hassio-nextcloud-backup.git
synced 2024-11-22 01:02:59 +01:00
🔨 Check cron settings before saving it
This commit is contained in:
parent
e407c23b89
commit
c2e8c08cb8
@ -8,6 +8,8 @@ const settingsTools = require('../tools/settingsTools');
|
||||
|
||||
const hassioApiTools = require('../tools/hassioApiTools');
|
||||
|
||||
const cronTools = require('../tools/cronTools');
|
||||
|
||||
|
||||
|
||||
|
||||
@ -123,8 +125,17 @@ router.get('/backup-settings', function(req, res, next){
|
||||
|
||||
router.post('/backup-settings', function(req, res, next){
|
||||
//TODO check if config is valid
|
||||
settingsTools.setSettings(req.body);
|
||||
res.send(200);
|
||||
if(cronTools.checkConfig(req.body)){
|
||||
settingsTools.setSettings(req.body);
|
||||
res.send();
|
||||
}
|
||||
else{
|
||||
res.status(400);
|
||||
res.send();
|
||||
}
|
||||
|
||||
|
||||
|
||||
});
|
||||
|
||||
|
||||
|
@ -0,0 +1,37 @@
|
||||
|
||||
|
||||
function checkConfig(conf) {
|
||||
if (conf.cron_base != null) {
|
||||
if (conf.cron_base == '1' || conf.cron_base == '2' || conf.cron_base == '3') {
|
||||
if (conf.cron_hour != null && conf.cron_hour.match(/\d\d:\d\d/)) {
|
||||
if (conf.cron_base == '1')
|
||||
return true;
|
||||
}
|
||||
else
|
||||
return false;
|
||||
}
|
||||
|
||||
if (conf.cron_base == '2') {
|
||||
if (conf.cron_weekday != null && conf.cron_weekday >= 0 && conf.cron_weekday <= 6)
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
}
|
||||
|
||||
if ( conf.cron_base == '3'){
|
||||
if (conf.cron_month_day != null && conf.cron_month_day >= 1 && conf.cron_month_day <= 28)
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
}
|
||||
|
||||
if(conf.cron_base == '0')
|
||||
return true
|
||||
}
|
||||
else
|
||||
return false;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
exports.checkConfig = checkConfig;
|
Loading…
Reference in New Issue
Block a user