summaryrefslogtreecommitdiffstats
path: root/admportal/server/router/routes/gamma.js
diff options
context:
space:
mode:
Diffstat (limited to 'admportal/server/router/routes/gamma.js')
-rw-r--r--admportal/server/router/routes/gamma.js1360
1 files changed, 0 insertions, 1360 deletions
diff --git a/admportal/server/router/routes/gamma.js b/admportal/server/router/routes/gamma.js
deleted file mode 100644
index 5b8c7649..00000000
--- a/admportal/server/router/routes/gamma.js
+++ /dev/null
@@ -1,1360 +0,0 @@
-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 multer = require('multer');
-var bodyParser = require('body-parser');
-var sax = require('sax'),strict=true,parser = sax.parser(strict);
-var async = require('async');
-var l_ = require('lodash');
-
-
-// used for file upload button, retain original file name
-//router.use(bodyParser());
-router.use(bodyParser.urlencoded({
- extended: true
-}));
-
-//var upload = multer({ dest: process.cwd() + '/uploads/', rename: function(fieldname,filename){ return filename; } });
-
-// multer 1.1
-var storage = multer.diskStorage({
- destination: function (req, file, cb) {
- cb(null, process.cwd() + '/uploads/')
- },
- filename: function (req, file, cb) {
- cb(null, file.originalname )
- }
-});
-
-var upload = multer({
- storage: storage
-});
-
-
-//router.use(express.json());
-//router.use(express.urlencoded());
-//router.use(multer({ dest: './uploads/' }));
-
-// 1604
-var selectNetworkProfile = "SELECT network_type,technology FROM NETWORK_PROFILE ORDER BY network_type";
-
-var selectNbVlanRange = "SELECT vlan_plan_id,plan_type,purpose,LPAD(range_start,4,0) range_start,LPAD(range_end,4,0) range_end,generated from VLAN_RANGES ORDER BY vlan_plan_id";
-
-var selectNbVlanPool = "SELECT aic_site_id,availability_zone,vlan_plan_id,plan_type,purpose,LPAD(vlan_id,4,0) vlan_id,status FROM VLAN_POOL ORDER BY aic_site_id,availability_zone,vlan_plan_id,vlan_id";
-
-router.get('/getNetworkProfile', csp.checkAuth, dbRoutes.checkDB, function(req,res) {
- dbRoutes.getTable(req,res,selectNetworkProfile,'gamma/networkProfile',{code:'', msg:''}, req.session.loggedInAdmin);
-});
-router.get('/getNbVlanRange', csp.checkAuth, dbRoutes.checkDB, function(req,res) {
- dbRoutes.getTable(req,res,selectNbVlanRange,'gamma/nbVlanRange',{code:'', msg:''}, req.session.loggedInAdmin);
-});
-
-// GET
-router.get('/deleteSite', csp.checkAuth, dbRoutes.checkDB, function(req,res) {
-
- var privilegeObj = req.session.loggedInAdmin;
- var tasks = [];
- tasks.push(function(callback) {
- dbRoutes.deleteSite(req,res,callback);
- });
- async.series(tasks, function(err,result){
- var msgArray = new Array();
- if(err){
- msgArray.push(err);
- dbRoutes.getAicSite(req,res,{code:'failure', msg:msgArray},privilegeObj);
- return;
- }
- else {
- msgArray.push('Row successfully deleted from AIC_SITE table.');
- dbRoutes.getAicSite(req,res,{code:'success', msg:msgArray},privilegeObj);
- return;
- }
- });
-});
-
-// DELETE AIC_SWITCH
-router.get('/deleteSwitch', csp.checkAuth, dbRoutes.checkDB, function(req,res) {
-
- var privilegeObj = req.session.loggedInAdmin;
- var tasks = [];
- tasks.push(function(callback) {
- dbRoutes.deleteSwitch(req,res,callback);
- });
- async.series(tasks, function(err,result){
- var msgArray = new Array();
- if(err){
- msgArray.push(err);
- dbRoutes.getAicSwitch(req,res,{code:'failure', msg:msgArray},privilegeObj);
- return;
- }
- else {
- msgArray.push('Row successfully deleted from AIC_SWITCH table.');
- dbRoutes.getAicSwitch(req,res,{code:'success', msg:msgArray},privilegeObj);
- return;
- }
- });
-});
-
-// DELETE AIC_AVAIL_ZONE_POOL
-router.get('/deleteZone', csp.checkAuth, dbRoutes.checkDB, function(req,res) {
-
- var privilegeObj = req.session.loggedInAdmin;
- var tasks = [];
- tasks.push(function(callback) {
- dbRoutes.deleteZone(req,res,callback);
- });
- async.series(tasks, function(err,result){
- var msgArray = new Array();
- if(err){
- msgArray.push(err);
- dbRoutes.getAicAvailZone(req,res,{code:'failure', msg:msgArray},privilegeObj);
- return;
- }
- else {
- msgArray.push('Row successfully deleted from AIC_AVAIL_ZONE_POOL table.');
- dbRoutes.getAicAvailZone(req,res,{code:'success', msg:msgArray},privilegeObj);
- return;
- }
- });
-});
-
-// DELETE VLAN_ID_POOL
-router.get('/deleteVlanPool', csp.checkAuth, dbRoutes.checkDB, function(req,res) {
-
- var privilegeObj = req.session.loggedInAdmin;
- var tasks = [];
- tasks.push(function(callback) {
- dbRoutes.deleteVlanPool(req,res,callback);
- });
- async.series(tasks, function(err,result){
- var msgArray = new Array();
- if(err){
- msgArray.push(err);
- dbRoutes.getVlanPool(req,res,{code:'failure', msg:msgArray},privilegeObj);
- return;
- }
- else {
- msgArray.push('Row successfully deleted from VLAN_ID_POOL table.');
- dbRoutes.getVlanPool(req,res,{code:'success', msg:msgArray},privilegeObj);
- return;
- }
- });
-});
-
-// DELETE VPE_POOL
-router.get('/deleteVpePool', csp.checkAuth, dbRoutes.checkDB, function(req,res) {
-
- var privilegeObj = req.session.loggedInAdmin;
- var tasks = [];
- tasks.push(function(callback) {
- dbRoutes.deleteVpePool(req,res,callback);
- });
- async.series(tasks, function(err,result){
- var msgArray = new Array();
- if(err){
- msgArray.push(err);
- dbRoutes.getVpePool(req,res,{code:'failure', msg:msgArray},privilegeObj);
- return;
- }
- else {
- msgArray.push('Row successfully deleted from VPE_POOL table.');
- dbRoutes.getVpePool(req,res,{code:'success', msg:msgArray},privilegeObj);
- return;
- }
- });
-});
-
-
-// DELETE VPE_POOL
-router.get('/deleteVplspePool', csp.checkAuth, dbRoutes.checkDB, function(req,res) {
-
- var privilegeObj = req.session.loggedInAdmin;
- var tasks = [];
- tasks.push(function(callback) {
- dbRoutes.deleteVplspePool(req,res,callback);
- });
- async.series(tasks, function(err,result){
- var msgArray = new Array();
- if(err){
- msgArray.push(err);
- dbRoutes.getVplspePool(req,res,{code:'failure', msg:msgArray},privilegeObj);
- return;
- }
- else {
- msgArray.push('Row successfully deleted from VPLSPE_POOL table.');
- dbRoutes.getVplspePool(req,res,{code:'success', msg:msgArray},privilegeObj);
- return;
- }
- });
-});
-
-// POST
-router.post('/addServiceHoming', csp.checkAuth, dbRoutes.checkDB, function(req,res){
-
- var privilegeObj = req.session.loggedInAdmin;
- var tasks = [];
- tasks.push( function(callback) { dbRoutes.addWebServiceHoming(req,res,callback); } );
- async.series(tasks, function(err,result){
- var msgArray = new Array();
- if(err){
- msgArray.push(err);
- dbRoutes.getServiceHoming(req,res,{code:'failure', msg:msgArray},privilegeObj);
- return;
- }
- else {
- msgArray.push('Successfully added SERVICE_HOMING');
- dbRoutes.getServiceHoming(req,res,{code:'success', msg:msgArray},privilegeObj);
- return;
- }
- });
-});
-
-
-// gamma - updateProvStatus
-router.post('/updateProvStatus', csp.checkAuth, dbRoutes.checkDB, function(req,res){
-
-
- var privilegeObj = req.session.loggedInAdmin;
- var tasks = [];
- tasks.push( function(callback) { dbRoutes.updateProvStatus(req,res,callback); } );
- async.series(tasks, function(err,result){
- var msgArray = new Array();
- if(err){
- msgArray.push(err);
- dbRoutes.getVpePool(req,res,{code:'failure', msg:msgArray},privilegeObj);
- return;
- }
- else {
- msgArray.push('Successfully updated Provisioning Status');
- dbRoutes.getVpePool(req,res,{code:'success', msg:msgArray},privilegeObj);
- return;
- }
- });
-});
-
-// gamma - updateAicSite
-router.post('/updateAicSite', csp.checkAuth, dbRoutes.checkDB, function(req,res){
-
- var privilegeObj = req.session.loggedInAdmin;
- var tasks = [];
- tasks.push( function(callback) { dbRoutes.updateAicSite(req,res,callback); } );
- async.series(tasks, function(err,result){
- var msgArray = new Array();
- if(err){
- msgArray.push(err);
- dbRoutes.getAicSite(req,res,{code:'failure', msg:msgArray},privilegeObj);
- return;
- }
- else {
- msgArray.push('Successfully updated AIC_SITE table.');
- dbRoutes.getAicSite(req,res,{code:'success', msg:msgArray},privilegeObj);
- return;
- }
- });
-});
-
-// gamma - updateAicSwitch
-router.post('/updateAicSwitch', csp.checkAuth, dbRoutes.checkDB, function(req,res){
-
- var privilegeObj = req.session.loggedInAdmin;
- var tasks = [];
- tasks.push( function(callback) { dbRoutes.updateAicSwitch(req,res,callback); } );
- async.series(tasks, function(err,result){
- var msgArray = new Array();
- if(err){
- msgArray.push(err);
- dbRoutes.getAicSwitch(req,res,{code:'failure', msg:msgArray},privilegeObj);
- return;
- }
- else {
- msgArray.push('Successfully updated AIC_SWITCH table.');
- dbRoutes.getAicSwitch(req,res,{code:'success', msg:msgArray},privilegeObj);
- return;
- }
- });
-});
-
-// gamma - updateAicAvailZone
-router.post('/updateAicAvailZone', csp.checkAuth, dbRoutes.checkDB, function(req,res){
- var privilegeObj = req.session.loggedInAdmin;
- var tasks = [];
- tasks.push( function(callback) { dbRoutes.updateAicAvailZone(req,res,callback); } );
- async.series(tasks, function(err,result){
- var msgArray = new Array();
- if(err){
- msgArray.push(err);
- dbRoutes.getAicAvailZone(req,res,{code:'failure', msg:msgArray},privilegeObj);
- return;
- }
- else {
- msgArray.push('Successfully updated AIC_AVAIL_ZONE_POOL table.');
- dbRoutes.getAicAvailZone(req,res,{code:'success', msg:msgArray},privilegeObj);
- return;
- }
- });
-});
-
-// gamma - updateVlanPool
-router.post('/updateVlanPool', csp.checkAuth, dbRoutes.checkDB, function(req,res){
-
- var privilegeObj = req.session.loggedInAdmin;
- var tasks = [];
- tasks.push( function(callback) { dbRoutes.updateVlanPool(req,res,callback); } );
- async.series(tasks, function(err,result){
- var msgArray = new Array();
- if(err){
- msgArray.push(err);
- dbRoutes.getVlanPool(req,res,{code:'failure', msg:msgArray},privilegeObj);
- return;
- }
- else {
- msgArray.push('Successfully updated VLAN_ID_POOL table.');
- dbRoutes.getVlanPool(req,res,{code:'success', msg:msgArray},privilegeObj);
- return;
- }
- });
-});
-
-// gamma - updateVpePool
-router.post('/updateVpePool', csp.checkAuth, dbRoutes.checkDB, function(req,res){
- var privilegeObj = req.session.loggedInAdmin;
- var tasks = [];
- tasks.push( function(callback) { dbRoutes.updateVpePool(req,res,callback); } );
- async.series(tasks, function(err,result){
- var msgArray = new Array();
- if(err){
- msgArray.push(err);
- dbRoutes.getVpePool(req,res,{code:'failure', msg:msgArray},privilegeObj);
- return;
- }
- else {
- msgArray.push('Successfully updated VPE_POOL table.');
- dbRoutes.getVpePool(req,res,{code:'success', msg:msgArray},privilegeObj);
- return;
- }
- });
-});
-
-// gamma - updateVplspePool
-router.post('/updateVplspePool', csp.checkAuth, dbRoutes.checkDB, function(req,res){
-
- var privilegeObj = req.session.loggedInAdmin;
- var tasks = [];
- tasks.push( function(callback) { dbRoutes.updateVplspePool(req,res,callback); } );
- async.series(tasks, function(err,result){
- var msgArray = new Array();
- if(err){
- msgArray.push(err);
- dbRoutes.getVplspePool(req,res,{code:'failure', msg:msgArray},privilegeObj);
- return;
- }
- else {
- msgArray.push('Successfully updated VPLSPE_POOL table.');
- dbRoutes.getVplspePool(req,res,{code:'success', msg:msgArray},privilegeObj);
- return;
- }
- });
-});
-
-
-// gamma - updateServiceHoming
-router.post('/updateServiceHoming', csp.checkAuth, dbRoutes.checkDB, function(req,res){
-
- var privilegeObj = req.session.loggedInAdmin;
- var tasks = [];
- tasks.push( function(callback) { dbRoutes.updateServiceHoming(req,res,callback); } );
- async.series(tasks, function(err,result){
- var msgArray = new Array();
- if(err){
- msgArray.push(err);
- dbRoutes.getServiceHoming(req,res,{code:'failure', msg:msgArray},privilegeObj);
- return;
- }
- else {
- msgArray.push('Successfully updated SERVICE_HOMING table.');
- dbRoutes.getServiceHoming(req,res,{code:'success', msg:msgArray},privilegeObj);
- return;
- }
- });
-});
-
-
-router.post('/uploadVLAN', csp.checkAuth, dbRoutes.checkDB, upload.single('filename'), function(req, res, next){
-
- var msgArray = new Array();
- var privilegeObj = req.session.loggedInAdmin;
-
- if(req.file.originalname){
- if (req.file.originalname.size == 0) {
- dbRoutes.getVlanPool(req,res,{code:'danger', msg:'There was an error uploading the file, please try again.'},privilegeObj);
- return;
- }
- fs.exists(req.file.path, function(exists) {
- if(exists) {
-
- var str = req.file.originalname;
-
- // check for valid filename format
- var tagpos = str.search("_ctag_pool");
- var csvpos = str.search(".csv");
- if(tagpos != 13 || csvpos != 23){
- var msgArray = new Array();
- msgArray.push('Not a valid filename, format must be pp_YYYYMMDDHH_ctag_pool.csv');
- dbRoutes.getVlanPool(req,res,{code:'failure', msg:msgArray},privilegeObj);
- return;
- }
-
- try {
- var csv = require('csv');
-
- // the job of the parser is to convert a CSV file
- // to a list of rows (array of rows)
- var parser = csv.parse({
- columns: function(line) {
- // By defining this callback, we get handed the
- // first line of the spreadsheet. Which we'll
- // ignore and effectively skip this line from processing
- },
- skip_empty_lines: true
- });
-
- var row = 0;
- var f = new Array();
- var transformer = csv.transform(function(data){
- // this will get row by row data, so for example,
- //logger.debug(data[0]+','+data[1]+','+data[2]);
- f[row] = new Array();
- for ( col=0; col<data.length; col++ )
- {
- f[row][col] = data[col];
- }
- row++;
- });
-
-
- // called when done with processing the CSV
- transformer.on("finish", function() {
-
- var funcArray = new Array();
-
- function createFunction(lrow,res)
- {
- return function(callback) { dbRoutes.addVLAN(lrow,res,callback); }
- }
-
- // loop for each row and create an array of callbacks for async.parallelLimit
- // had to create a function above 'createFunction' to get
- for (var x=0; x<f.length; x++)
- {
- funcArray.push( createFunction(f[x],res) );
- }
-
- // make db calls in parrallel
- //async.parallelLimit(funcArray, 5, function(err,result){
- async.series(funcArray, function(err,result){
-
- if ( err ) {
- dbRoutes.getVlanPool(req,res, result,privilegeObj);
- return;
- }
- else {
- // result array has an entry in it, success entries are blank, figure out
- // how many are not blank, aka errors.
- var rowError = 0;
- for(var i=0;i<result.length;i++){
- if ( result[i].length > 0 )
- {
- rowError++;
- }
- }
-
- var rowsProcessed = f.length - rowError;
- result.push(rowsProcessed + ' of ' + f.length + ' rows processed.');
- if ( rowError > 0 )
- {
- result = {code:'failure', msg:result};
- }
- else
- {
- result = {code:'success', msg:result};
- }
- dbRoutes.getVlanPool(req,res,result,privilegeObj);
- return;
- }
- });
- });
-
-
- var stream = fs.createReadStream(req.file.path, "utf8");
- stream.pipe(parser).pipe(transformer);
-
-
- } catch(ex) {
- console.error('error:'+ex);
- msgArray = [];
- msgArray.push('There was an error uploading the file. '+ex);
- dbRoutes.getVlanPool(req,res, {code:'danger', msg:msgArray}, privilegeObj);
- return;
- }
-
- } else {
- msgArray = [];
- msgArray.push('There was an error uploading the file.');
- dbRoutes.getVlanPool(req,res, {code:'danger', msg:msgArray}, privilegeObj);
- return;
- }
- });
- }
- else {
- msgArray = [];
- msgArray.push('There was an error uploading the file.');
- dbRoutes.getVlanPool(req,res, {code:'danger', msg:msgArray}, privilegeObj);
- return;
- }
-
-});
-
-
-// POST
-router.post('/uploadAicSite', csp.checkAuth, dbRoutes.checkDB, upload.single('filename'), function(req, res){
-
- var msgArray = new Array();
- var privilegeObj = req.session.loggedInAdmin;
-
- if(req.file.originalname){
- if (req.file.originalname.size == 0) {
- dbRoutes.getAicSite(req,res, {code:'danger', msg:'There was an error uploading the file, please try again.'}, privilegeObj);
- return;
- }
- fs.exists(req.file.path, function(exists) {
- if(exists) {
-
- var str = req.file.originalname;
-
- // check for valid filename format
- var tagpos = str.search("_site");
- var csvpos = str.search(".csv");
- if(tagpos != 13 || csvpos != 18){
- msgArray.length = 0;
- msgArray.push('Not a valid filename, format must be pp_YYYYMMDDHH_site.csv');
- dbRoutes.getAicSite(req,res,{code:'failure', msg:msgArray},privilegeObj);
- return;
- }
-
- try {
- var csv = require('csv');
-
- // the job of the parser is to convert a CSV file
- // to a list of rows (array of rows)
- var parser = csv.parse({
- columns: function(line) {
- // By defining this callback, we get handed the
- // first line of the spreadsheet. Which we'll
- // ignore and effectively skip this line from processing
- },
- skip_empty_lines: true
- });
-
- var row = 0;
- var f = new Array();
- var transformer = csv.transform(function(data){
- // this will get row by row data, so for example,
- //logger.debug(data[0]+','+data[1]+','+data[2]);
-
- // build an array of rows
- f[row] = new Array();
- for ( col=0; col<data.length; col++ )
- {
- f[row][col] = data[col];
- }
- row++;
- });
-
- // called when done with processing the CSV
- transformer.on("finish", function() {
-
- var funcArray = new Array();
-
- function createFunction(lrow,res)
- {
- return function(callback) { dbRoutes.addAicSite(lrow,res,callback); }
- }
-
- // loop for each row and create an array of callbacks for async.parallelLimit
- // had to create a function above 'createFunction' to get
- for (var x=0; x<f.length; x++)
- {
- funcArray.push( createFunction(f[x],res) );
- }
-
- // make db calls in parrallel
- async.parallelLimit(funcArray, 50, function(err,result){
-
- if ( err ) {
- dbRoutes.getAicSite(req,res, result,privilegeObj);
- return;
- }
- else {
- // result array has an entry in it, success entries are blank, figure out
- // how many are not blank, aka errors.
- var rowError = 0;
- for(var i=0;i<result.length;i++){
- if ( result[i].length > 0 )
- {
- rowError++;
- }
- }
-
- var rowsProcessed = f.length - rowError;
- result.push(rowsProcessed + ' of ' + f.length + ' rows processed.');
- if ( rowError > 0 )
- {
- result = {code:'failure', msg:result};
- }
- else
- {
- result = {code:'success', msg:result};
- }
- dbRoutes.getAicSite(req,res,result,privilegeObj);
- return;
- }
- });
- });
-
- var stream = fs.createReadStream(req.file.path, "utf8");
- stream.pipe(parser).pipe(transformer);
-
-
- } catch(ex) {
- msgArray.length = 0;
- msgArray.push('There was an error uploading the file. '+ex);
- dbRoutes.getAicSite(req,res,{code:'danger', msg:msgArray},privilegeObj);
- return;
- }
-
- } else {
- msgArray.length = 0;
- msgArray.push('There was an error uploading the file.');
- dbRoutes.getAicSite(req,res,{code:'danger', msg:msgArray},privilegeObj);
- return;
- }
- });
- }
- else {
- msgArray.length = 0;
- msgArray.push('There was an error uploading the file.');
- dbRoutes.getAicSite(req,res,{code:'danger', msg:msgArray},privilegeObj);
- }
-
-} );
-
-// POST
-router.post('/uploadAicSwitch', csp.checkAuth, dbRoutes.checkDB, upload.single('filename'), function(req, res){
-
- var msgArray = new Array();
- var privilegeObj = req.session.loggedInAdmin;
-
- if(req.file.originalname){
- if (req.file.originalname.size == 0) {
- dbRoutes.getAicSwitch(req,res,{code:'danger', msg:'There was an error uploading the file, please try again.'},privilegeObj);
- return;
- }
- fs.exists(req.file.path, function(exists) {
-
- if(exists) {
-
- var str = req.file.orignalname;
-
- // check for valid filename format
- var tagpos = str.search("_switch");
- var csvpos = str.search(".csv");
- if(tagpos != 13 || csvpos != 20){
- msgArray.length = 0;
- msgArray.push('Not a valid filename, format must be pp_YYYYMMDDHH_switch.csv');
- dbRoutes.getAicSwitch(req,res,{code:'failure', msg:msgArray},privilegeObj);
- return;
- }
-
- try {
- var csv = require('csv');
-
- // the job of the parser is to convert a CSV file
- // to a list of rows (array of rows)
- var parser = csv.parse({
- columns: function(line) {
- // By defining this callback, we get handed the
- // first line of the spreadsheet. Which we'll
- // ignore and effectively skip this line from processing
- },
- skip_empty_lines: true
- });
-
- var row = 0;
- var f = new Array();
- var transformer = csv.transform(function(data){
- // this will get row by row data, so for example,
- //logger.debug(data[0]+','+data[1]+','+data[2]);
-
- // build an array of rows
- f[row] = new Array();
- for ( col=0; col<data.length; col++ )
- {
- f[row][col] = data[col];
- }
- row++;
- });
-
- // called when done with processing the CSV
- transformer.on("finish", function() {
-
- var funcArray = new Array();
-
- function createFunction(lrow,res)
- {
- return function(callback) { dbRoutes.addAicSwitch(lrow,res,callback); }
- }
-
- // loop for each row and create an array of callbacks for async.parallelLimit
- // had to create a function above 'createFunction' to get
- for (var x=0; x<f.length; x++)
- {
- funcArray.push( createFunction(f[x],res) );
- }
-
- // make db calls in parrallel
- async.parallelLimit(funcArray, 50, function(err,result){
-
- if ( err ) {
- dbRoutes.getAicSwitch(req,res,result,privilegeObj);
- return;
- }
- else {
- // result array has an entry in it, success entries are blank, figure out
- // how many are not blank, aka errors.
- var rowError = 0;
- for(var i=0;i<result.length;i++){
- if ( result[i].length > 0 )
- {
- rowError++;
- }
- }
-
- var rowsProcessed = f.length - rowError;
- result.push(rowsProcessed + ' of ' + f.length + ' rows processed.');
- if ( rowError > 0 )
- {
- result = {code:'failure', msg:result};
- }
- else
- {
- result = {code:'success', msg:result};
- }
- dbRoutes.getAicSwitch(req,res,result,privilegeObj);
- return;
- }
- });
- });
-
- var stream = fs.createReadStream(req.file.path, "utf8");
- stream.pipe(parser).pipe(transformer);
-
-
- } catch(ex) {
- msgArray.length = 0;
- msgArray.push('There was an error uploading the file. '+ex);
- dbRoutes.getAicSwitch(req,res,{code:'danger', msg:msgArray},privilegeObj);
- return;
- }
-
- } else {
- msgArray.length = 0;
- msgArray.push('There was an error uploading the file.');
- dbRoutes.getAicSwitch(req,res,{code:'danger', msg:msgArray},privilegeObj);
- return;
- }
- });
- }
- else {
- msgArray.length = 0;
- msgArray.push('There was an error uploading the file.');
- dbRoutes.getAicSwitch(req,res,{code:'danger', msg:msgArray},privilegeObj);
- return;
- }
-
-} );
-
-// POST
-router.post('/uploadAicAvailZone', csp.checkAuth, dbRoutes.checkDB, upload.single('filename'), function(req, res){
-
- var msgArray = new Array();
- var privilegeObj = req.session.loggedInAdmin;
-
- if(req.file.originalname){
- if (req.file.originalname.size == 0) {
- dbRoutes.getAicAvailZone(req,res,{code:'failure', msg:'There was an error uploading the file, please try again.'},privilegeObj);
- return;
- }
- fs.exists(req.file.path, function(exists) {
-
- if(exists) {
-
- var str = req.file.originalname;
-
- // check for valid filename format
- var tagpos = str.search("_availabilityzone");
- var csvpos = str.search(".csv");
- if(tagpos != 13 || csvpos != 30){
- msgArray.length = 0;
- msgArray.push('Not a valid filename, format must be pp_YYYYMMDDHH_availabilityzone.csv');
- dbRoutes.getAicAvailZone(req,res,{code:'failure', msg:msgArray},privilegeObj);
- return;
- }
-
- try {
- var csv = require('csv');
-
- // the job of the parser is to convert a CSV file
- // to a list of rows (array of rows)
- var parser = csv.parse({
- columns: function(line) {
- // By defining this callback, we get handed the
- // first line of the spreadsheet. Which we'll
- // ignore and effectively skip this line from processing
- },
- skip_empty_lines: true
- });
-
- var row = 0;
- var f = new Array();
- var transformer = csv.transform(function(data){
- // this will get row by row data, so for example,
- //logger.debug(data[0]+','+data[1]+','+data[2]);
-
- // build an array of rows
- f[row] = new Array();
- for ( col=0; col<data.length; col++ )
- {
- f[row][col] = data[col];
- }
- row++;
- });
-
- // called when done with processing the CSV
- transformer.on("finish", function() {
-
- var funcArray = new Array();
-
- function createFunction(lrow,res)
- {
- return function(callback) { dbRoutes.addAicAvailZone(lrow,res,callback); }
- }
-
- // loop for each row and create an array of callbacks for async.parallelLimit
- // had to create a function above 'createFunction' to get
- for (var x=0; x<f.length; x++)
- {
- funcArray.push( createFunction(f[x],res) );
- }
-
- // make db calls in parrallel
- async.parallelLimit(funcArray, 50, function(err,result){
-
- if ( err ) {
- dbRoutes.getAicAvailZone(req,res,result,privilegeObj);
- return;
- }
- else {
- // result array has an entry in it, success entries are blank, figure out
- // how many are not blank, aka errors.
- var rowError = 0;
- for(var i=0;i<result.length;i++){
- if ( result[i].length > 0 )
- {
- rowError++;
- }
- }
-
- var rowsProcessed = f.length - rowError;
- result.push(rowsProcessed + ' of ' + f.length + ' rows processed.');
- if ( rowError > 0 )
- {
- result = {code:'failure', msg:result};
- }
- else
- {
- result = {code:'success', msg:result};
- }
- dbRoutes.getAicAvailZone(req,res,result,privilegeObj);
- return;
- }
- });
- });
-
- var stream = fs.createReadStream(req.file.path, "utf8");
- stream.pipe(parser).pipe(transformer);
-
-
- } catch(ex) {
- msgArray.length = 0;
- msgArray.push('There was an error uploading the file. '+ex);
- dbRoutes.getAicAvailZone(req,res,{code:'danger', msg:msgArray},privilegeObj);
- return;
- }
-
- } else {
- msgArray.length = 0;
- msgArray.push('There was an error uploading the file.');
- dbRoutes.getAicAvailZone(req,res,{code:'danger', msg:msgArray},privilegeObj);
- return;
- }
- });
- }
- else {
- msgArray.length = 0;
- msgArray.push('There was an error uploading the file.');
- dbRoutes.getAicAvailZone(req,res,{code:'danger', msg:msgArray},privilegeObj);
- return;
- }
-
-} );
-
-// POST
-router.post('/uploadVpePool', csp.checkAuth, dbRoutes.checkDB, upload.single('filename'), function(req, res){
-
- var msgArray = new Array();
- var privilegeObj = req.session.loggedInAdmin;
-
- if(req.file.originalname){
- if (req.file.originalname.size == 0) {
- dbRoutes.getVpePool(req,res,{code:'failure', msg:'There was an error uploading the file, please try again.'},privilegeObj);
- return;
- }
- fs.exists(req.file.path, function(exists) {
-
- if(exists) {
-
- var str = req.file.originalname;
-
- // check for valid filename format
- var tagpos = str.search("_vpe");
- var csvpos = str.search(".csv");
- if(tagpos != 13 || csvpos != 17){
- msgArray.length = 0;
- msgArray.push('Not a valid filename, format must be pp_YYYYMMDDHH_vpe.csv');
- var resultObj = {code:'failure', msg:msgArray};
- dbRoutes.getVpePool(req,res,resultObj,privilegeObj);
- return;
- }
-
- try {
- var csv = require('csv');
-
- // the job of the parser is to convert a CSV file
- // to a list of rows (array of rows)
- var parser = csv.parse({
- columns: function(line) {
- // By defining this callback, we get handed the
- // first line of the spreadsheet. Which we'll
- // ignore and effectively skip this line from processing
- },
- skip_empty_lines: true
- });
-
- var row = 0;
- var f = new Array();
- var transformer = csv.transform(function(data){
- // this will get row by row data, so for example,
- //logger.debug(data[0]+','+data[1]+','+data[2]);
-
- // build an array of rows
- f[row] = new Array();
- for ( col=0; col<data.length; col++ )
- {
- f[row][col] = data[col];
- }
- row++;
- });
-
- // called when done with processing the CSV
- transformer.on("finish", function() {
-
- var funcArray = new Array();
-
- function createFunction(lrow,res)
- {
- return function(callback) { dbRoutes.addVpePool(lrow,res,callback); }
- }
-
- // loop for each row and create an array of callbacks for async.parallelLimit
- // had to create a function above 'createFunction' to get
- for (var x=0; x<f.length; x++)
- {
- funcArray.push( createFunction(f[x],res) );
- }
-
- // make db calls in parrallel
- async.parallelLimit(funcArray, 50, function(err,result){
-
- if ( err ) {
- dbRoutes.getVpePool(req,res,result,privilegeObj);
- return;
- }
- else {
- // result array has an entry in it, success entries are blank, figure out
- // how many are not blank, aka errors.
- var rowError = 0;
- for(var i=0;i<result.length;i++){
- if ( result[i].length > 0 )
- {
- rowError++;
- }
- }
-
- var rowsProcessed = f.length - rowError;
- result.push(rowsProcessed + ' of ' + f.length + ' rows processed.');
- if ( rowError > 0 )
- {
- result = {code:'failure', msg:result};
- }
- else
- {
- result = {code:'success', msg:result};
- }
- dbRoutes.getVpePool(req,res,result,privilegeObj);
- return;
- }
- });
- });
-
- var stream = fs.createReadStream(req.file.path, "utf8");
- stream.pipe(parser).pipe(transformer);
-
-
- } catch(ex) {
- msgArray.length = 0;
- msgArray.push('There was an error uploading the file. '+ex);
- dbRoutes.getVpePool(req,res,{code:'danger', msg:msgArray},privilegeObj);
- return;
- }
-
- } else {
- msgArray.length = 0;
- msgArray.push('There was an error uploading the file.');
- dbRoutes.getVpePool(req,res,{code:'danger', msg:msgArray},privilegeObj);
- return;
- }
- });
- }
- else {
- msgArray.length = 0;
- msgArray.push('There was an error uploading the file.');
- dbRoutes.getVpePool(req,res,{code:'danger', msg:msgArray},privilegeObj);
- return;
- }
-
-} );
-
-// POST
-router.post('/uploadVplspePool', csp.checkAuth, dbRoutes.checkDB, upload.single('filename'), function(req, res){
-
- var msgArray = new Array();
- var privilegeObj = req.session.loggedInAdmin;
-
- if(req.file.originalname){
- if (req.file.originalname.size == 0) {
- dbRoutes.getVplspePool(req,res,{code:'failure', msg:'There was an error uploading the file, please try again.'},privilegeObj);
- return;
- }
- fs.exists(req.file.path, function(exists) {
-
- if(exists) {
-
- var str = req.file.originalname;
-
- // check for valid filename format
- var tagpos = str.search("_vpls");
- var csvpos = str.search(".csv");
- if(tagpos != 13 || csvpos != 18){
- msgArray.length = 0;
- msgArray.push('Not a valid filename, format must be pp_YYYYMMDDHH_vpls.csv');
- dbRoutes.getVplspePool(req,res,{code:'failure', msg:msgArray},privilegeObj);
- return;
- }
-
- try {
- var csv = require('csv');
-
- // the job of the parser is to convert a CSV file
- // to a list of rows (array of rows)
- var parser = csv.parse({
- columns: function(line) {
- // By defining this callback, we get handed the
- // first line of the spreadsheet. Which we'll
- // ignore and effectively skip this line from processing
- },
- skip_empty_lines: true
- });
-
- var row = 0;
- var f = new Array();
- var transformer = csv.transform(function(data){
- // this will get row by row data, so for example,
- //logger.debug(data[0]+','+data[1]+','+data[2]);
-
- // build an array of rows
- f[row] = new Array();
- for ( col=0; col<data.length; col++ )
- {
- f[row][col] = data[col];
- }
- row++;
- });
-
- // called when done with processing the CSV
- transformer.on("finish", function() {
-
- var funcArray = new Array();
-
- function createFunction(lrow,res)
- {
- return function(callback) { dbRoutes.addVplspePool(lrow,res,callback); }
- }
- // loop for each row and create an array of callbacks for async.parallelLimit
- // had to create a function above 'createFunction' to get
- for (var x=0; x<f.length; x++)
- {
- funcArray.push( createFunction(f[x],res) );
- }
-
- // make db calls in parrallel
- async.parallelLimit(funcArray, 50, function(err,result){
-
- if ( err ) {
- dbRoutes.getVplspePool(req,res,result,privilegeObj);
- return;
- }
- else {
- // result array has an entry in it, success entries are blank, figure out
- // how many are not blank, aka errors.
- var rowError = 0;
- for(var i=0;i<result.length;i++){
- if ( result[i].length > 0 )
- {
- rowError++;
- }
- }
- var rowsProcessed = f.length - rowError;
- result.push(rowsProcessed + ' of ' + f.length + ' rows processed.');
- if ( rowError > 0 )
- {
- result = {code:'failure', msg:result};
- }
- else
- {
- result = {code:'success', msg:result};
- }
- dbRoutes.getVplspePool(req,res,result,privilegeObj);
- return;
- }
- });
- });
-
- var stream = fs.createReadStream(req.file.path, "utf8");
- stream.pipe(parser).pipe(transformer);
-
-
- } catch(ex) {
- msgArray.length = 0;
- msgArray.push('There was an error uploading the file. '+ex);
- dbRoutes.getVplspePool(req,res,{code:'danger', msg:msgArray},privilegeObj);
- return;
- }
-
- } else {
- msgArray.length = 0;
- msgArray.push('There was an error uploading the file.');
- dbRoutes.getVplspePool(req,res,{code:'danger', msg:msgArray},privilegeObj);
- return;
- }
- });
- }
- else {
- msgArray.length = 0;
- msgArray.push('There was an error uploading the file.');
- dbRoutes.getVplspePool(req,res,{code:'danger', msg:msgArray},privilegeObj);
- return;
- }
-
-} );
-
-// POST
-router.post('/uploadServiceHoming', csp.checkAuth, dbRoutes.checkDB, upload.single('filename'), function(req, res)
-{
- var msgArray = new Array();
- var privilegeObj = req.session.loggedInAdmin;
-
- if(req.file.originalname)
- {
- if (req.file.originalname.size == 0) {
- dbRoutes.getServiceHoming(req,res,{code:'failure', msg:'There was an error uploading the file, please try again.'},privilegeObj);
- return;
- }
- fs.exists(req.file.path, function(exists)
- {
- if(exists)
- {
- var str = req.file.originalname;
-
- // check for valid filename format
- var csvpos = str.search(".csv");
- if( (l_.startsWith(str,'aichoming_') != true) || csvpos != 18)
- {
- msgArray.length = 0;
- msgArray.push('Not a valid filename, format must be aichoming_mmddYYYY.csv');
- //msgArray.push('Not a valid filename, format must be pp_YYYYMMDDHH_vpls.csv');
- dbRoutes.getServiceHoming(req,res,{code:'failure', msg:msgArray},privilegeObj);
- return;
- }
-
- try
- {
- var csv = require('csv');
-
- // the job of the parser is to convert a CSV file
- // to a list of rows (array of rows)
- var parser = csv.parse({
- columns: function(line) {
- // By defining this callback, we get handed the
- // first line of the spreadsheet. Which we'll
- // ignore and effectively skip this line from processing
- },
- skip_empty_lines: true
- });
-
- var row = 0;
- var f = new Array();
- var csvrows = new Array();
- var transformer = csv.transform(function(data){
- // this will get row by row data, so for example,
- //logger.debug(data[0]+','+data[1]+','+data[2]);
-
- // build an array of rows
- f[row] = new Array();
- for ( col=0; col<data.length; col++ )
- {
- f[row][col] = data[col];
- }
- row++;
- });
-
- // called when done with processing the CSV
- transformer.on("finish", function()
- {
- var funcArray = new Array();
-
- function createFunction(lrow,res)
- {
- return function(callback) { dbRoutes.addServiceHoming(lrow,req,res,callback); }
- }
- funcArray.push(function(callback) {
- dbRoutes.saveServiceHoming(req,res,callback);
- });
- // loop for each row and create an array of callbacks for async.parallelLimit
- // had to create a function above 'createFunction' to get
- for (var x=0; x<f.length; x++)
- {
- funcArray.push( createFunction(f[x],res) );
- }
-
- // make db calls in series
- async.series(funcArray, function(err,result)
- {
- if ( err )
- {
- result = {code:'failure', msg:result};
- dbRoutes.getServiceHoming(req,res,result,privilegeObj);
- return;
- }
- else
- { // result array has an entry in it, success entries are blank, figure out
- // how many are not blank, aka errors.
- var rowError = 0;
- for(var i=0;i<result.length;i++)
- {
- if ( result[i].length > 0 )
- {
- rowError++;
- }
- }
- var rowsProcessed = f.length - rowError;
- result.push(rowsProcessed + ' of ' + f.length + ' rows processed.');
- if ( rowError > 0 )
- {
- result = {code:'failure', msg:result};
- }
- else
- {
- result = {code:'success', msg:result};
- }
- dbRoutes.getServiceHoming(req,res,result,privilegeObj);
- return;
- }
- });
- });
-
- var stream = fs.createReadStream(req.file.path, "utf8");
- stream.pipe(parser).pipe(transformer);
-
-
- } catch(ex) {
- msgArray.length = 0;
- msgArray.push('There was an error uploading the file. '+ex);
- dbRoutes.getServiceHoming(req,res,{code:'danger', msg:msgArray},privilegeObj);
- return;
- }
-
- } else {
- msgArray.length = 0;
- msgArray.push('There was an error uploading the file.');
- dbRoutes.getServiceHoming(req,res,{code:'danger', msg:msgArray},privilegeObj);
- return;
- }
- });
- }
- else
- {
- msgArray.length = 0;
- msgArray.push('There was an error uploading the file.');
- dbRoutes.getServiceHoming(req,res,{code:'danger', msg:msgArray},privilegeObj);
- return;
- }
-
-} );
-function removeNL(s) {
- /*
- ** Remove NewLine, CarriageReturn and Tab characters from a String
- ** s string to be processed
- ** returns new string
- */
- r = "";
- for (i=0; i < s.length; i++)
- {
- if (s.charAt(i) != '\n' &&
- s.charAt(i) != '\r' &&
- s.charAt(i) != '\t')
- {
- r += s.charAt(i);
- }
- }
- return r;
-}
-function padLeft(nr, n, str){
- return Array(n-String(nr).length+1).join(str||'0')+nr;
-}
-
-
-module.exports = router;