/* * GET downloadctl page. */ exports.ajax_supervisorctl = function(params) { var config = params.config; var supervisordapi = params.supervisordapi; return function(req, res) { if (!req.session.loggedIn) { res.send({error: 'Not logged in'}); } else { if (req.session.user.Role != 'Admin') || (req.session.user.Role != 'Operator') { res.send({error: 'Incorrect Priviledges!'}); return false; } else { var host = req.param('host'); var process = req.param('process'); var action = req.param('action'); if (config.hosts[host] !== undefined) { var supclient = supervisordapi.connect(config.hosts[host].Url); switch (action) { case 'stop': { supclient.stopProcessGroup(process, function(){ res.send({result: 'success'}); }); } break; case 'start': { supclient.startProcess(process, function(){ res.send({result: 'success'}); }); } break; case 'restartAll': { if (req.session.user.Role != 'Admin' || req.session.user.Role != 'Operator') { res.send({error: 'Incorrect Priviledges!'}); return false; } else { supclient.stopAllProcesses(true, function(){ supclient.startAllProcesses(true, function(){ res.send({result: 'success'}); }); }); } } break; } } else { res.send({result: 'error', message: 'Host not found'}); } } } }; };