| var express = require('express'); |
| var router = express.Router(); |
| var exec = require('child_process').exec; |
| var util = require('util'); |
| var fs = require('fs'); |
| var dbRoutes = require('./dbRoutes'); |
| var csp = require('./csp'); |
| var cookieParser = require('cookie-parser'); |
| var csrf = require('csurf'); |
| var bodyParser = require('body-parser'); |
| //var sax = require('sax'),strict=true,parser = sax.parser(strict); |
| |
| var csrfProtection = csrf({cookie: true}); |
| router.use(cookieParser()); |
| |
| // SVC_LOGIC table columns |
| var _module=''; // cannot use module its a reserved word |
| var version=''; |
| var rpc=''; |
| var mode=''; |
| var xmlfile=''; |
| |
| |
| //router.use(bodyParser()); |
| router.use(bodyParser.urlencoded({ extended: true })); |
| |
| |
| // GET |
| router.get('/listUsers', csp.checkAuth, function(req,res) { |
| dbRoutes.listUsers(req,res, {user:req.session.loggedInAdmin,code:'', msg:''} ); |
| }); |
| // POST |
| router.post('/updateUser', csp.checkAuth, csrfProtection, function(req,res,next){ |
| dbRoutes.updateUser(req,res,{code:'',msg:''}); |
| }); |
| router.post('/addUser', csp.checkAuth, csrfProtection, function(req,res) { |
| dbRoutes.addUser(req,res, {code:'', msg:''} ); |
| }); |
| router.get('/deleteUser', csp.checkAuth, csrfProtection, function(req,res) { |
| dbRoutes.deleteUser(req,res, {code:'', msg:''} ); |
| }); |
| |
| //router.get('/activate', csp.checkAuth, function(req,res){ |
| |
| //var _module = req.query.module; |
| //var rpc = req.query.rpc; |
| //var version = req.query.version; |
| //var mode = req.query.mode; |
| |
| //dbRoutes.activate(req,res,_module,rpc,version,mode); |
| //}); |
| |
| //router.get('/deactivate', csp.checkAuth, function(req,res){ |
| |
| //var _module = req.query.module; |
| //var rpc = req.query.rpc; |
| //var version = req.query.version; |
| //var mode = req.query.mode; |
| // |
| //dbRoutes.deactivate(req,res,_module,rpc,version,mode); |
| //}); |
| |
| //router.get('/deleteDG', csp.checkAuth, function(req,res){ |
| |
| //var _module = req.query.module; |
| //var rpc = req.query.rpc; |
| //var version = req.query.version; |
| //var mode = req.query.mode; |
| |
| //dbRoutes.deleteDG(req,res,_module,rpc,version,mode); |
| //}); |
| /* |
| // SAX |
| parser.onerror = function (e) { |
| logger.debug('onerror'); |
| // an error happened. |
| }; |
| parser.ontext = function (t) { |
| // got some text. t is the string of text. |
| logger.debug('ontext:'+t); |
| }; |
| parser.onopentag = function (node) { |
| // opened a tag. node has "name" and "attributes" |
| if ( node.name == 'service-logic' ) |
| { |
| _module = node.attributes.module; |
| version = node.attributes.version; |
| } |
| if ( node.name == 'method' ) |
| { |
| rpc = node.attributes.rpc; |
| mode = node.attributes.mode; |
| } |
| }; |
| parser.onattribute = function (attr) { |
| // an attribute. attr has "name" and "value" |
| logger.debug('onattribute:'+attr); |
| }; |
| parser.onend = function () { |
| // parser stream is done, and ready to have more stuff written to it. |
| logger.debug('onend:'); |
| }; |
| */ |
| |
| |
| |
| //router.post('/upload', csp.checkAuth, function(req, res, next){ |
| |
| /* |
| logger.debug("upload"); |
| if(req.files.filename){ |
| if (req.files.filename.size == 0) { |
| resultObj = |
| {code:'danger', msg:'There was an error uploading the file, please try again.'}; |
| dbRoutes.listSLA(req,res, resultObj); |
| } |
| fs.exists(req.files.filename.path, function(exists) { |
| if(exists) { |
| resultObj = {code:'success', msg:'File sucessfully uploaded.'}; |
| |
| // parse xml |
| try { |
| var file_buf = fs.readFileSync(req.files.filename.path, "utf8"); |
| logger.debug('file '+req.files.filename); |
| |
| |
| // call Dan's svclogic shell script from here |
| var commandToExec = process.cwd() |
| + "/shell/svclogic.sh load " |
| + req.files.filename.path + " " |
| + process.cwd() |
| + "/config/svclogic.properties"; |
| |
| logger.debug("commandToExec:" + commandToExec); |
| child = exec(commandToExec ,function (error,stdout,stderr){ |
| if(error){ |
| logger.info("error:" + error); |
| } |
| if(stderr){ |
| logger.info("stderr:" + stderr); |
| } |
| if(stdout){ |
| logger.info("OUTPUT:" + stdout); |
| dbRoutes.listSLA(req,res, resultObj); |
| } |
| |
| // remove the grave accents, the sax parser does not like them |
| //parser.write(file_buf.replace(/\`/g,'').toString('utf8')).close(); |
| //dbRoutes.addDG(_module,version,rpc,mode,file_buf,req,res); |
| //dbRoutes.listSLA(req,res, resultObj); |
| }); |
| } catch(ex) { |
| // keep 'em silent |
| logger.debug('sax error:'+ex); |
| } |
| |
| } else { |
| resultObj = |
| {code:'danger', msg:'There was an error uploading the file, please try again.'}; |
| dbRoutes.listSLA(req,res, resultObj); |
| } |
| }); |
| } |
| else { |
| resultObj = |
| {code:'danger', msg:'There was an error uploading the file, please try again.'}; |
| dbRoutes.listSLA(req,res, resultObj); |
| } |
| }); |
| */ |
| |
| module.exports = router; |