aboutsummaryrefslogtreecommitdiffstats
path: root/admportal/server/router/routes/dbRoutes.js
diff options
context:
space:
mode:
Diffstat (limited to 'admportal/server/router/routes/dbRoutes.js')
-rw-r--r--admportal/server/router/routes/dbRoutes.js1407
1 files changed, 0 insertions, 1407 deletions
diff --git a/admportal/server/router/routes/dbRoutes.js b/admportal/server/router/routes/dbRoutes.js
deleted file mode 100644
index af3859b5..00000000
--- a/admportal/server/router/routes/dbRoutes.js
+++ /dev/null
@@ -1,1407 +0,0 @@
-var express = require('express'),
- app = express();
-var mysql = require('mysql');
-var properties = require(process.env.SDNC_CONFIG_DIR + '/admportal.json');
-var fs = require('fs.extra');
-var util = require('util');
-var os = require('os');
-var async = require('async');
-var l_ = require('lodash');
-var dns = require('dns');
-var dnsSync = require('dns-sync');
-
-var pool = '';
-var currentDB = '';
-var currentDbName = '';
-var fabricDB = properties.dbFabricServer;
-var dbArray = properties.databases;
-var enckey = properties.passwordKey;
-
-console.log('dbFabric=' + properties.dbFabric);
-
-if ( properties.dbFabric == 'true' )
-{
- connectFabric();
-}
-else
-{
- initDB();
-}
-
-
-exports.dbConnect = function(){
-
- console.log('fabric=' + fabricDB);
- if ( properties.dbFabric == 'true' )
- {
- connectFabric();
- }
- else
- {
- initDB();
- }
-}
-
-function setCurrentDbName(){
-
- function createFunction(dbentry)
- {
- return function(callback) { findCurrentDbIP(dbentry,callback); }
- }
-
- var tasks = [];
- for (var x=0; x<dbArray.length; x++){
- var dbElement = dbArray[x];
- var dbElementArray = dbElement.split("|");
-
- tasks.push( createFunction(dbElement) );
- }
- async.series(tasks, function(err,result){
-
- if(err){
- currentDbName = err;
- console.log('currentDbName: ' + err);
- return;
- }
- else {
- console.log('not found');
- return;
- }
- });
-}
-
-
-function findCurrentDbIP(dbElement, callback){
-
- var dbElementArray = dbElement.split("|");
-
- dns.lookup( dbElementArray[0], function onLookup(err, addresses, family) {
-
- if ( currentDB == addresses ){
- callback(dbElementArray[1]);
- return;
- }
- else {
- callback(null);
- return;
- }
- });
-}
-
-
-exports.getCurrentDB = function(){
- return currentDbName;
-}
-
-
-exports.testdb = function(req,res,callback){
-console.log('testdb');
-
- osObj = {
- 'hostname' : os.hostname(),
- 'type' : os.type(),
- 'platform' : os.platform(),
- 'arch' : os.arch(),
- 'release' : os.release(),
- 'uptime' : os.uptime(),
- 'totalmem' : os.totalmem(),
- 'dbhealth' : ''
- };
-
- pool.getConnection(function(err,connection)
- {
- if(err){
- callback(err);
- return;
- }
-
- // http://stackoverflow.com/questions/10982281/mysql-connection-validity-test-in-datasource-select-1-or-something-better
- connection.query("/* pint */ SELECT 1", function(err,result){
-
- connection.release();
- if(err) {
- callback(err);
- return;
- }
- callback(null,'Database Connectivity to ' + currentDB + ' is working.');
- return;
- }); //end query
- }); // end getConnection
-}
-
-/*
-exports.checkSvcLogic = function(req,res){
-
- if ( DBmasterHost.length > 0 && currentHost != DBmasterHost )
- {
- // need to copy file so SLA functionality works
- var source = process.env.SDNC_CONFIG_DIR
- + "/svclogic.properties." + currentHost;
- var target = process.env.SDNC_CONFIG_DIR
- + "/svclogic.properties";
- fs.copy(source,target,{replace:true}, function(err){
- if(err){
- res.render("pages/err",
- {result:{code:'error',
- msg:"Unable to copy svclogic.properties. "+ String(err) }});
- return;
- }
- });
- }
-}
-*/
-function initDB( next ) {
-
-
- var tasks = [];
- for (var x=0; x<properties.databases.length; x++){
-
- var db = properties.databases[x];
- var dbArray = db.split("|");
- var _dbIP = dnsSync.resolve(dbArray[0]);
- var _dbName = dbArray[1];
-
- tasks.push( createFindMasterFunctionObj(_dbIP, _dbName) );
- }
- async.series(tasks, function(err,result)
- {
- if(err){
- if ( err == 'found' ){
- if ( typeof next != 'undefined'){
- next();
- }
- else {
- return;
- }
- }
- else {
- console.error( String(err) ); // ALARM
- return;
- }
- }
- console.log('result=' + result);
- });
- return;
-}
-
-
-function createFindMasterFunctionObj(dbIP,dbName){
- return function(callback) { findMaster(dbIP, dbName, callback); }
-}
-
-function findMaster (ldbIP, ldbName, callback){
-var dbIP = ldbIP;
-var dbName = ldbName;
-
- console.log('checking dbIP:' + dbIP);
-
- pool = mysql.createPool({
- connectionLimit : properties.dbConnLimit,
- host : dbIP,
- user : properties.dbUser,
- password : properties.dbPassword,
- database : properties.dbName,
- multipleStatements: true,
- debug : false
- });
-
- pool.getConnection(function(err,connection){
-
- if(err){
- callback( String(err) );
- return;
- }
- var sql = 'select @@read_only';
- connection.query(sql, function(err,result){
- connection.release();
-
- // @@read_only=0 means db is writeable
- console.log('@@read_only=' + result[0]['@@read_only']);
- if ( result[0]['@@read_only'] == '0' )
- { // writeable
- // if this is not the current DB, make it since its writeable
- currentDB = dbIP;
- currentDbName = dbName;
- console.log('currentDB=' + currentDB + "|" + currentDbName);
- var newpool = mysql.createPool({
- connectionLimit : properties.dbConnLimit,
- host : currentDB,
- user : properties.dbUser,
- password : properties.dbPassword,
- database : properties.dbName,
- multipleStatements: true,
- debug : false
- }); // end create
- pool = newpool;
- callback('found', currentDB);
- return;
- }
- // otherwise this is the current db and its writeable, just return
- callback(null, currentDB);
- return;
- });
- });
-}
-
-exports.checkDB = function(req,res,next){
-
-console.log('checkDB');
-
-
- if ( properties.dbFabric == 'true' )
- {
- connectFabric();
- next();
- }
- else
- {
- initDB( next );
- }
-}
-
-
-exports.saveUser = function(req,res){
-
- var tkn = req.csrfToken();
- var email = req.sanitize(req.body.nf_email);
- var pswd = req.sanitize(req.body.nf_password);
-
- pool.getConnection(function(err,connection)
- {
- if(err){
- console.error( String(err) ); // ALARM
- res.render("pages/signup", {csrfToken:tkn,result:{code:'error', msg:"Unable to get database connection. " + String(err)},header:process.env.MAIN_MENU});
- return;
- }
- var sql = "SELECT email FROM PORTAL_USERS WHERE email=" + connection.escape(email);
-
- connection.query(sql, function(err,result)
- {
- if(err){
- connection.release();
- res.render("pages/signup", {csrfToken:tkn, result:{code:'error', msg:"Unable to get database connection. " + String(err)},header:process.env.MAIN_MENU});
- return;
- }
- if (result.length == 1 || result.length > 1)
- {
- connection.release();
- res.render("pages/signup", {csrfToken:tkn, result:{code:'error', msg:'User Information already exists.'},header:process.env.MAIN_MENU});
- return;
- }
- sql = "INSERT INTO PORTAL_USERS (email,password,privilege) VALUES ("
- + connection.escape(email) + ","
- + "AES_ENCRYPT(" + connection.escape(pswd) + ",'" + enckey + "'),'A')";
-
- connection.query(sql, function(err,result)
- {
- connection.release();
-
- if(err){
- res.render("pages/signup", {csrfToken:tkn, result:{ code:'error', msg:String(err) },header:process.env.MAIN_MENU});;
- return;
- }
- res.render('pages/signup', {csrfToken:tkn, result:{code:'success', msg:'User created. Please login.'},header:process.env.MAIN_MENU});
- return;
- });
- });
- });
-}
-
-// delete User
-exports.deleteUser = function(req,res){
-
- var rows={};
- var resultObj = { code:'', msg:'' };
- var privilegeObj = req.session.loggedInAdmin;
-
- pool.getConnection(function(err,connection) {
-
- if(err){
- console.error( String(err) ); // ALARM
- res.render("user/list", {rows: null, result:{code:'error', msg:"Unable to get database connection. Error:" + String(err),
- privilege:privilegeObj },header:process.env.MAIN_MENU});
- return;
- }
-
- var sqlUpdate = "DELETE FROM PORTAL_USERS WHERE email=" + connection.escape(req.query.email);
- console.log(sqlUpdate);
-
- connection.query(sqlUpdate,function(err,result){
-
- if(err){
- resultObj = {code:'error', msg:'Delete of user failed Error: '+ String(err) };
- }
-
- // Need DB lookup logic here
- connection.query("SELECT email,password,privilege FROM PORTAL_USERS", function(err, rows) {
- connection.release();
- if(!err)
- {
- if ( rows.length > 0 )
- {
- resultObj = {code:'success',msg:'Successfully deleted user.'};
- res.render('user/list', { rows: rows, result:resultObj, privilege:privilegeObj,header:process.env.MAIN_MENU } );
- return;
- }else{
- res.render("user/list", { rows: null, result:{code:'error', msg:'Unexpected no rows returned from database, please try again.',
- privilege:privilegeObj },header:process.env.MAIN_MENU});
- return;
- }
- }
- else {
- res.render("user/list", { rows: null, result:{code:'error', msg:'Unexpected no rows returned from database. Error: ' + String(err),
- privilege:privilegeObj },header:process.env.MAIN_MENU});
- return;
- }
- }); //end query
- });
- }); // end of getConnection
-}
-
-// add User
-exports.addUser = function(req,res){
-
- var rows={};
- var resultObj = { code:'', msg:'' };
- var privilegeObj = req.session.loggedInAdmin;
- var privilege = req.sanitize(req.body.nf_privilege);
- var email = req.sanitize(req.body.nf_email);
- var pswd = req.sanitize(req.body.nf_password);
-
-
- pool.getConnection(function(err,connection)
- {
- if(err)
- {
- console.error( String(err) ); // ALARM
- res.render("user/list", {rows: null, result:{code:'error', msg:"Unable to get database connection. "+ String(err),
- privilege:privilegeObj },header:process.env.MAIN_MENU});
- return;
- }
-
- if( privilege == "admin" ){
- var char_priv = 'A';
- }else if(privilege == 'readonly'){
- var char_priv = 'R';
- }else{
- var char_priv = 'R';
- }
-
- //connection.query(sqlRequest, function(err,result)
- var sqlUpdate = "INSERT INTO PORTAL_USERS (email, password, privilege) VALUES ("
- + connection.escape(email) + ","
- + "AES_ENCRYPT(" + connection.escape(pswd) + ",'" + enckey + "'),"
- + "'" + char_priv + "')";
-
-
- connection.query(sqlUpdate,function(err,result)
- {
- if(err){
- resultObj = {code:'error', msg:'Add of user failed Error: '+err};
- }
- // Need DB lookup logic here
- connection.query("SELECT email,AES_DECRYPT(password, '" + enckey + "') password,privilege FROM PORTAL_USERS", function(err, rows)
- {
- connection.release();
- if(!err)
- {
- if ( rows.length > 0 )
- {
- resultObj = {code:'success',msg:'Successfully added user.'};
- res.render('user/list', { rows: rows, result:resultObj, privilege:privilegeObj,header:process.env.MAIN_MENU } );
- return;
- }else{
- res.render("user/list", {rows: null, result:{code:'error', msg:'Unexpected no rows returned from database, please try again.',
- privilege:privilegeObj },header:process.env.MAIN_MENU});
- return;
- }
- }
- else {
- res.render("user/list", {rows: null, result:{code:'error', msg:'Unexpected no rows returned from database. Error: '+ err ,
- privilege:privilegeObj },header:process.env.MAIN_MENU});
- return;
- }
- }); //end query
- });
- }); // end of getConnection
-}
-
-// updateUser
-exports.updateUser= function(req,res){
-
- var rows={};
- var resultObj = { code:'', msg:'' };
- var privilegeObj = req.session.loggedInAdmin;
- var email = req.sanitize(req.body.uf_email);
- var key_email = req.sanitize(req.body.uf_key_email)
- var pswd = req.sanitize(req.body.uf_password);
- var privilege = req.sanitize(req.body.uf_privilege);
-
- pool.getConnection(function(err,connection)
- {
- if(err){
- console.error( String(err) ); // ALARM
- res.render("user/list", {rows: null, result:{code:'error', msg:"Unable to get database connection. " + String(err),
- privilege:privilegeObj },header:process.env.MAIN_MENU});
- return;
- }
-
- if( privilege == "admin" ){
- var char_priv = 'A';
- }else if(privilege == 'readonly'){
- var char_priv = 'R';
- }else{
- var char_priv = 'R';
- }
-
- var sqlUpdate = "UPDATE PORTAL_USERS SET "
- + "email = " + connection.escape(email) + ","
- + "password = " + "AES_ENCRYPT(" + connection.escape(pswd) + ",'" + enckey + "'), "
- + "privilege = '" + char_priv + "'"
- + " WHERE email = " + connection.escape(key_email);
-
- console.log(sqlUpdate);
- connection.query(sqlUpdate,function(err,result)
- {
- if(err){
- resultObj = {code:'error', msg:'Update of user failed Error: '+err};
- }
- // Need DB lookup logic here
- connection.query("SELECT email, AES_DECRYPT(password,'" + enckey + "') password, privilege FROM PORTAL_USERS", function(err, rows)
- {
- connection.release();
- if(!err)
- {
- if ( rows.length > 0 )
- {
- resultObj = {code:'success',msg:'Successfully updated user.'};
- res.render('user/list', { rows: rows, result:resultObj, privilege:privilegeObj,header:process.env.MAIN_MENU} );
- return;
- }else{
- res.render("user/list", {rows: null, result:{ code:'error', msg:'Unexpected no rows returned from database.',
- privilege:privilegeObj },header:process.env.MAIN_MENU});
- return;
- }
- } else {
- res.render("user/list", {rows: null, result:{code:'error', msg:'Unexpected no rows returned from database. ' + String(err),
- privilege:privilegeObj },header:process.env.MAIN_MENU});
- return;
- }
- }); //end query
- });
- }); // end of getConnection
-}
-
-exports.listUsers = function(req,res,resultObj){
-
- var privilegeObj = req.session.loggedInAdmin;
- var rows={};
- pool.getConnection(function(err,connection)
- {
-
- if(err){
- console.error( String(err) ); // ALARM
- res.render("pages/list",
- {
- rows: null,
- result:{
- code:'error',
- msg:"Unable to get database connection. " + String(err),
- privilege:privilegeObj },
- header:process.env.MAIN_MENU
- });
- return;
- }
-
- // Need DB lookup logic here
- var selectUsers = "SELECT email, AES_DECRYPT(password,'"
- + enckey + "') password, privilege from PORTAL_USERS";
-
- connection.query(selectUsers, function(err, rows) {
-
- connection.release();
- if(err){
- resultObj = {code:'error', msg:'Unable to SELECT users Error: '+err};
- }
- if(!err)
- {
- if ( rows.length > 0 )
- {
- console.log(JSON.stringify(rows));
- res.render('user/list',
- {
- rows: rows,
- result:resultObj,
- privilege:privilegeObj,
- header:process.env.MAIN_MENU
- });
- return;
- }
- else{
- res.render("user/list",
- {
- rows: null,
- result:{
- code:'error',
- msg:'Unexpected no rows returned from database.',
- privilege:privilegeObj },
- header:process.env.MAIN_MENU
- });
- return;
- }
- }
- else
- {
- res.render("user/list",
- {
- rows: null,
- result:{
- code:'error',
- msg:'Unexpected no rows returned from database. ' + String(err),
- privilege:privilegeObj },header:process.env.MAIN_MENU
- });
- return;
- }
- }); //end query
- }); // end getConnection
-}
-
-exports.listSLA = function(req,res,resultObj){
-
- var privilegeObj = req.session.loggedInAdmin;
-
- pool.getConnection(function(err,connection) {
-
- if(err){
- console.error( String(err) ); // ALARM
- res.render("pages/err", {result:{code:'error', msg:"Unable to get database connection. "+ String(err)},header:process.env.MAIN_MENU});
- return;
- }
-
- // Need DB lookup logic here
- connection.query("SELECT module,rpc,version,mode,active,graph FROM SVC_LOGIC", function(err, rows) {
-
- connection.release();
- if(err) {
- res.render("pages/err", {result:{code:'error',msg:'Database Error: '+ String(err)},header:process.env.MAIN_MENU});
- return;
- }
- else {
- res.render("sla/list", {rows:rows, result:resultObj, privilege:privilegeObj, header:process.env.MAIN_MENU} );
- return;
- }
- }); //end query
- }); // end getConnection
-}
-
-exports.executeSQL = function(sql,req,res,callback){
-
- console.log(sql);
- pool.getConnection(function(err,connection) {
-
- if(err){
- console.error( String(err) ); // ALARM
- callback(err, 'Unable to get database connection.' + err);
- return;
- }
- connection.query(sql, function(err,result){
- connection.release();
- if (err) {
- callback(err,'Database operation failed. ' + err );
- return;
- }
- else
- {
- console.log('affectedRows='+result.affectedRows);
- callback(null, result.affectedRows);
- return;
- }
- }); //end query
- }); // end getConnection
-}
-
-
-// gamma - deleteParameter
-exports.deleteParameter = function(req,res,callback){
-
- pool.getConnection(function(err,connection) {
-
- if(err){
- console.log( String(err) ); // ALARM
- callback(err, 'Unable to get database connection.' + err);
- return;
- }
- var sql = "DELETE FROM PARAMETERS WHERE name=" + connection.escape(req.query.name);
-
- console.log(sql);
- connection.query(sql, function(err,result){
- connection.release();
- if(err){
- callback(err,'Update failed. ' + err );
- return;
- }
- else
- {
- callback(null,'');
- return;
- }
- }); //end query
- }); // end getConnection
-}
-
-
-exports.getTable = function(req,res,sql,rdestination,resultObj,privilegeObj){
-
-console.log('SQL:'+sql);
-
- pool.getConnection(function(err,connection) {
-
- if(err){
- console.error( String(err) ); // ALARM
- res.render("pages/err", {result:{code:'error', msg:"Unable to get database connection. "+ String(err)},header:process.env.MAIN_MENU});
- return;
- }
- connection.query(sql,function(err, rows)
- {
- connection.release();
- if(err) {
- res.render(rdestination, {result:{code:'error',msg:'Database Error: '+ String(err)},header:process.env.MAIN_MENU});
- return;
- }
- else {
- res.render(rdestination, { rows: rows, result:resultObj, privilege:privilegeObj,header:process.env.MAIN_MENU } );
- return;
- }
- }); //end query
- }); // end getConnection
-}
-
-exports.getMetaTable = function(req,res,sql,rdestination,resultObj,privilegeObj){
-
- console.log('SQL:'+ sql);
-
- var rdata = [];
- var v_tables = [];
- var vtables = properties.viewTables;
-
- for ( var i in vtables ) {
- v_tables.push(vtables[i]);
- }
-
- pool.getConnection(function(err,connection) {
-
- if(err){
- console.error( String(err) ); // ALARM
- res.render("pages/err", {result:{code:'error', msg:"Unable to get database connection. "+ String(err)},header:process.env.MAIN_MENU});
- return;
- }
- connection.query(sql,function(err, rows, fields)
- {
- console.log('rows:' + JSON.stringify(rows,null,2));
- // http://stackoverflow.com/questions/14528385/how-to-convert-json-object-to-javascript-array
- //logger.debug(Object.keys(rows[0]).map(function(v) { return rows[0][v]; }));
- for ( var i in rows ){
- rdata.push(Object.keys(rows[i]).map(function(v) { return rows[i][v]; }));
- //logger.debug(Object.keys(rows[i]).map(function(v) { return rows[i][v]; }));
- //logger.debug([i, rows[i]]);
- }
- for ( var x in rdata ){
- for ( var j in rdata[x] ){
- console.log('rdata[' + x + ']: ' + rdata[x][j]);
- }
- }
- console.log('rdata:' + rdata[0]);
- console.log('fields:' + JSON.stringify(fields,null,2));
- connection.release();
- if(err) {
- res.render(rdestination, {result:{code:'error',msg:'Database Error: '+ String(err)},header:process.env.MAIN_MENU});
- return;
- }
- else {
- res.render(rdestination, { displayTable:true, vtables:v_tables, rows:rdata, fields:fields, result:resultObj, privilege:privilegeObj, header:process.env.MAIN_MENU } );
- return;
- }
- }); //end query
- }); // end getConnection
-}
-
-exports.getVnfProfile = function(req,res,resultObj,privilegeObj){
-
- pool.getConnection(function(err,connection)
- {
- if(err){
- console.error( String(err) ); // ALARM
- res.render("pages/err", {result:{code:'error', msg:"Unable to get database connection. "+ String(err)},header:process.env.MAIN_MENU});
- return;
- }
- var sql = "SELECT vnf_type,availability_zone_count,equipment_role FROM VNF_PROFILE ORDER BY VNF_TYPE";
- console.log(sql);
- connection.query(sql, function(err, rows)
- {
- connection.release();
- if(err) {
- res.render("mobility/vnfProfile", {result:{code:'error',msg:'Database Error: '+ String(err)},header:process.env.MAIN_MENU});
- return;
- }
- else {
- console.log('render vnfProfile');
- res.render('mobility/vnfProfile', { rows: rows, result:resultObj, privilege:privilegeObj,header:process.env.MAIN_MENU } );
- return;
- }
- }); //end query
- }); // end getConnection
-}
-
-
-exports.getVnfPreloadData = function(req,res,dbtable,callback){
-
- pool.getConnection(function(err,connection) {
-
- if(err){
- console.error( String(err) ); // ALARM
- callback(err, 'Unable to get database connection.' + err);
- return;
- }
-
- // Need DB lookup logic here
- connection.query("SELECT preload_data FROM " + dbtable + " WHERE id="
- + req.query.id, function(err, rows)
- {
- connection.release();
- if(err) {
- callback(err);
- return;
- }
- else {
- var buffer = rows[0].preload_data;
- var decode_buffer = decodeURI(buffer);
- var content = JSON.parse(decode_buffer);
- callback(null,content);
- return;
- }
- }); //end query
- }); // end getConnection
-}
-
-
-
-exports.getVnfNetworkData = function(req,res,resultObj,privilegeObj)
-{
- pool.getConnection(function(err,connection)
- {
- if(err){
- console.error( String(err) ); // ALARM
- res.render("pages/err",
- {result:{code:'error', msg:"Unable to get database connection. "+ String(err)},header:process.env.MAIN_MENU});
- return;
- }
- // Need DB lookup logic here
- var sql = "SELECT id,svc_request_id,svc_action,status,filename,ts,preload_data FROM PRE_LOAD_VNF_NETWORK_DATA ORDER BY id";
- console.log(sql);
- connection.query(sql, function(err, rows)
- {
- var msgArray = new Array();
- connection.release();
- if(err) {
- msgArray = 'Database Error: '+ String(err);
- res.render("mobility/vnfPreloadNetworkData", {
- result:{code:'error',msg:msgArray},
- privilege:privilegeObj,
- preloadImportDirectory: properties.preloadImportDirectory,
- header:process.env.MAIN_MENU
- });
- return;
- }
- else {
- var retData = [];
- for( r=0; r<rows.length; r++)
- {
- var rowObj = {};
- rowObj.row = rows[r];
- if ( rows[r].filename.length > 0 )
- {
- try{
- var buffer = rows[r].preload_data;
- var decode_buffer = decodeURI(buffer);
- var filecontent = JSON.parse(decode_buffer);
- rowObj.filecontent = filecontent;
- rowObj.network_name = filecontent.input["network-topology-information"]["network-topology-identifier"]["network-name"];
- rowObj.network_type = filecontent.input["network-topology-information"]["network-topology-identifier"]["network-type"];
- }
- catch(error){
- msgArray.push('File ' + rows[r].filename + ' has invalid JSON. Error:' + error);
- }
- }
- else {
- rowObj.filecontent = '';
- }
- retData.push(rowObj);
- }//endloop
- if(msgArray.length>0){
- resultObj.code = 'failure';
- resultObj.msg = msgArray;
- }
- res.render('mobility/vnfPreloadNetworkData', {
- retData:retData,
- result:resultObj,
- privilege:privilegeObj,
- preloadImportDirectory: properties.preloadImportDirectory,
- header:process.env.MAIN_MENU
- });
- return;
- }
- }); //end query
- }); // end getConnection
-}
-
-exports.getVnfData = function(req,res,resultObj,privilegeObj)
-{
- pool.getConnection(function(err,connection)
- {
- if(err){
- console.error( String(err) ); // ALARM
- res.render("pages/err", {result:{code:'error', msg:"Unable to get database connection. "+ String(err)},header:process.env.MAIN_MENU});
- return;
- }
- // Need DB lookup logic here
- var sql = "SELECT id,svc_request_id,svc_action,status,filename,ts,preload_data FROM PRE_LOAD_VNF_DATA ORDER BY id";
- console.log(sql);
- connection.query(sql,function(err, rows)
- {
- var msgArray = new Array();
- connection.release();
- if(err) {
- msgArray = 'Database Error: '+ String(err);
- res.render("mobility/vnfPreloadData", {
- result:{code:'error',msg:msgArray},
- privilege:privilegeObj,
- preloadImportDirectory: properties.preloadImportDirectory,
- header:process.env.MAIN_MENU
- });
- return;
- }
- else {
- var retData = [];
- for( r=0; r<rows.length; r++)
- {
- var rowObj = {};
- rowObj.row = rows[r];
- if ( rows[r].filename.length > 0 )
- {
- try{
- var buffer = rows[r].preload_data;
- var s_buffer = decodeURI(buffer);
- var filecontent = JSON.parse(s_buffer);
- rowObj.filecontent = filecontent;
- rowObj.vnf_name = filecontent.input["vnf-topology-information"]["vnf-topology-identifier"]["vnf-name"];
- rowObj.vnf_type = filecontent.input["vnf-topology-information"]["vnf-topology-identifier"]["vnf-type"];
- }
- catch(error){
- msgArray.push('File ' + rows[r].filename + ' has invalid JSON. Error:' + error);
- }
- }
- else {
- rowObj.filecontent = '';
- }
- retData.push(rowObj);
- }//endloop
- if(msgArray.length>0){
- resultObj.code = 'failure';
- resultObj.msg = msgArray;
- }
- res.render('mobility/vnfPreloadData',{
- retData:retData, result:resultObj,
- privilege:privilegeObj,
- header:process.env.MAIN_MENU,
- preloadImportDirectory: properties.preloadImportDirectory
- });
- return;
- }
- }); //end query
- }); // end getConnection
-}
-
-
-exports.findAdminUser = function(email,res,callback) {
-
- var adminUser={};
- pool.getConnection(function(err,connection)
- {
- if(err)
- {
- res.render("pages/err", {result:{code:'error', msg:err},header:process.env.MAIN_MENU});
- return;
- }
-
- // Need DB lookup logic here
- connection.query("SELECT email, AES_DECRYPT(password, '" + enckey + "') password, privilege FROM PORTAL_USERS WHERE email=" + connection.escape(email), function(err, rows) {
-
- connection.release();
- if(err)
- {
- res.render("pages/err", {result:{code:'error', msg:err},header:process.env.MAIN_MENU});
- return;
- }
- if ( rows.length > 0 )
- {
- rows.forEach(function(row){
- adminUser = {
- "email" : row.email,
- "password" : row.password,
- "privilege" : row.privilege };
- });
- callback(adminUser);
- return;
- }
- else{
- res.render("pages/err", {result:{code:'error', msg:'User is not in database.'},header:process.env.MAIN_MENU});
- return;
- }
- }); //end query
- }); // end getConnection
-}
-
-
-exports.addRow = function(sql,req,res,callback){
-
- console.log(sql);
-
- pool.getConnection(function(err,connection) {
-
- if(err){
- console.error( String(err) ); // ALARM
- callback(err, 'Unable to get database connection.' + err);
- return;
- }
- connection.query(sql, function(err,result){
- connection.release();
- if(err){
- console.debug('Database operation failed. ' + err );
- callback(err,'Database operation failed. ' + err );
- }
- else
- {
- callback(null, result.affectedRows);
- }
- }); //end query
- }); // end getConnection
-}
-
-
-
-exports.addVnfProfile = function(row,res,callback){
-
- var sqlInsert;
-
- if ( row.length < 3 )
- {
- console.log('Row [' + row + '] does not have enough fields.');
- callback(null, 'Row [' + row + '] does not have enough fields.');
- return;
- }
-
- sqlInsert = "INSERT INTO VNF_PROFILE ("
- + "vnf_type,availability_zone_count,equipment_role) VALUES ("
- + "'" + row[0] + "',"
- + row[1]
- + ",'" + row[2] + "')";
-
- console.log('SQL='+sqlInsert);
-
- pool.getConnection(function(err,connection) {
-
- if(err){
- console.log( String(err) ); // ALARM
- callback(err, 'Unable to get database connection.');
- return;
- }
- connection.query(sqlInsert, function(err,result){
- connection.release();
- if(err){
- console.log('Row [' + row + '] failed to insert. ' + err );
- callback(null,'Row [' + row + '] failed to insert. ' + err );
- }
- else
- {
- callback(null,'');
- }
- }); //end query
- }); // end getConnection
-}
-
-exports.deleteVnfProfile = function(req,res,callback){
-
- var privilegeObj = req.session.loggedInAdmin;
- var rows={};
-
- pool.getConnection(function(err,connection) {
-
- var sql = 'DELETE FROM VNF_PROFILE WHERE vnf_type = ' + connection.escape(req.sanitize(req.query.vnf_type));
- console.log(sql);
- if(err){
- console.error( String(err) ); // ALARM
- res.render("pages/err", {result:{code:'error', msg:"Unable to get database connection. "+ String(err)},header:process.env.MAIN_MENU});
- return;
- }
-
- //var vt = req.sanitize(req.query.vnf_type);
- //var vnf_type = { vnf_type: vt };
- //var vnf_type = connection.escape(vt);
- //console.log('type='+vnf_type);
- //connection.query('DELETE FROM VNF_PROFILE WHERE vnf_type = ?', vnf_type, function(err,result)
- connection.query(sql, function(err,result)
- {
- connection.release();
- if (err) {
- callback(err,'Database operation failed. ' + err );
- return;
- }
- else
- {
- if (result.affectedRows == 0)
- {
- callback('No rows deleted.');
- return;
- }
- console.log('rows deleted: ' + result.affectedRows);
- callback(null, result.affectedRows);
- return;
- }
- });
- }); // end of getConnection
-};
-
-exports.deleteVnfData = function(req,res,callback){
-
- var privilegeObj = req.session.loggedInAdmin;
- var rows={};
-
- pool.getConnection(function(err,connection) {
-
- var sql = 'DELETE FROM PRE_LOAD_VNF_DATA WHERE id =' + connection.escape(req.sanitize(req.query.id));
- console.log(sql);
- if(err){
- console.error( String(err) ); // ALARM
- res.render("pages/err", {result:{code:'error', msg:"Unable to get database connection. "+ String(err)},header:process.env.MAIN_MENU});
- return;
- }
-
- connection.query(sql, function(err,result)
- {
- connection.release();
- if (err) {
- callback(err,'Database operation failed. ' + err );
- return;
- }
- else
- {
- if (result.affectedRows == 0)
- {
- callback('No rows deleted.');
- return;
- }
- console.log('rows deleted: ' + result.affectedRows);
- callback(null, result.affectedRows);
- return;
- }
- });
- }); // end of getConnection
-};
-
-exports.deleteVnfNetworkData = function(req,res,callback){
-
- var privilegeObj = req.session.loggedInAdmin;
- var rows={};
-
- pool.getConnection(function(err,connection) {
-
- var sql = 'DELETE FROM PRE_LOAD_VNF_NETWORK_DATA WHERE id =' + connection.escape(req.sanitize(req.query.id));
- console.log(sql);
- if(err){
- console.error( String(err) ); // ALARM
- res.render("pages/err", {result:{code:'error', msg:"Unable to get database connection. "+ String(err)},header:process.env.MAIN_MENU});
- return;
- }
-
- connection.query(sql, function(err,result)
- {
- connection.release();
- if (err) {
- callback(err,'Database operation failed. ' + err );
- return;
- }
- else
- {
- if (result.affectedRows == 0)
- {
- callback('No rows deleted.');
- return;
- }
- console.log('rows deleted: ' + result.affectedRows);
- callback(null, result.affectedRows);
- return;
- }
- });
- }); // end of getConnection
-};
-
-// Add to SVC_LOGIC table
-exports.addDG = function(_module, version, rpc, mode, xmlfile, req,res){
-
- var privilegeObj = req.session.loggedInAdmin;
- var rows={};
-
- pool.getConnection(function(err,connection) {
- if(err){
- console.error( String(err) ); // ALARM
- res.render("pages/err", {result:{code:'error', msg:"Unable to get database connection. "+ String(err)},header:process.env.MAIN_MENU});
- return;
- }
-
- var post = {
- module : _module,
- rpc : rpc,
- version : version,
- mode : mode,
- active : "N",
- graph : xmlfile
- };
-
- //logger.debug( JSON.stringify(post));
-
- //connection.query(sqlRequest, function(err,result){
- connection.query('INSERT INTO SVC_LOGIC SET ?', post, function(err,result){
- // neat!
-
- // Need DB lookup logic here
- connection.query("SELECT module,rpc,version,mode,active,graph FROM SVC_LOGIC", function(err, rows) {
-
- if(!err) {
- if ( rows.length > 0 )
- {
- res.render('sla/list', { rows: rows, result:{code:'',msg:''}, privilege:privilegeObj,header:process.env.MAIN_MENU } );
- return;
- }else{
- console.log("no rows returned");
- res.render("pages/home");
- return;
- }
- }
- connection.on('error', function(err){
- connection.release();
- console.log(500, "An error has occurred -- " + err);
- res.render("pages/home");
- return;
- });
- }); //end query
-
- connection.release();
- });
- //connection.query('INSERT INTO SVC_LOGIC SET ?', post, function(err,result){
- // neat!
- //logger.debug('inserted rows');
- //});
-
- //if(err){
- //res.render('pages/home');
- //}
- return;
-
- }); // end of getConnection
-};
-
-exports.updatePreloadStatus = function(sql,req,res,_module,rpc,version,mode,callback){
-
- pool.getConnection(function(err,connection) {
-
- if(err){
- console.error( String(err) ); // ALARM
- callback(err, 'Unable to get database connection.' + err);
- return;
- }
-
- var sql = _sql + " WHERE id = " + connection.escape(req.query.id);
-
- console.log(sql);
- connection.query(sql, function(err,result){
-
- connection.release();
- if(err){
- callback(err, 'Unable to get database connection.' + err);
- return;
- }
- else
- {
- if (result.affectedRows == 0)
- {
- callback('Unable to update preload status.');
- return;
- }
- callback(null, result.affectedRows);
- return;
- }
- }); //end query
- }); // end getConnection
-}
-
-exports.activate = function(req,res,_module,rpc,version,mode,callback){
-
- pool.getConnection(function(err,connection) {
-
- if(err){
- console.error( String(err) ); // ALARM
- callback(err, 'Unable to get database connection.' + err);
- return;
- }
-
- var sql = "UPDATE SVC_LOGIC SET active=\'Y\' WHERE "
- + "module = " + connection.escape(_module) + " AND "
- + "rpc = " + connection.escape(rpc) + " AND "
- + "version = " + connection.escape(version) + " AND "
- + "mode = " + connection.escape(mode);
-
- console.log('SQL='+sql);
- connection.query(sql, function(err,result){
-
- connection.release();
- if(err){
- callback(err, 'Unable to get database connection.' + err);
- return;
- }
- else
- {
- if (result.affectedRows == 0)
- {
- callback('Unable to activate directed graph.');
- return;
- }
- console.log('rows deleted: ' + result.affectedRows);
- callback(null, result.affectedRows);
- return;
- }
- }); //end query
- }); // end getConnection
-}
-
-
-exports.deactivate = function(req,res,_module,rpc,version,mode,callback){
-
- pool.getConnection(function(err,connection) {
-
- if(err){
- console.error( String(err) ); // ALARM
- callback(err, 'Unable to get database connection.' + err);
- return;
- }
-
- var sql = "UPDATE SVC_LOGIC SET active=\'N\' WHERE "
- + "module = " + connection.escape(_module) + " AND "
- + "rpc = " + connection.escape(rpc) + " AND "
- + "version = " + connection.escape(version) + " AND "
- + "mode = " + connection.escape(mode);
-
- console.log('SQL='+sql);
- connection.query(sql, function(err,result){
-
- connection.release();
- if(err){
- callback(err, 'Unable to get database connection.' + err);
- return;
- }
- else
- {
- if (result.affectedRows == 0)
- {
- callback('Unable to deactivate directed graph.');
- return;
- }
- console.log('rows deleted: ' + result.affectedRows);
- callback(null, result.affectedRows);
- return;
- }
- }); //end query
- }); // end getConnection
-}
-
-exports.global_deactivate = function(req,res,_module,rpc,mode,callback){
-
- pool.getConnection(function(err,connection) {
-
- if(err){
- callback(err, 'Unable to get database connection.' + err);
- return;
- }
-
- // deactivate all versions
- var sql = "UPDATE SVC_LOGIC SET active=\'N\' WHERE "
- + "module = " + connection.escape(_module) + " AND "
- + "rpc = " + connection.escape(rpc) + " AND "
- + "mode = " + connection.escape(mode);
-
- console.log(sql);
- connection.query(sql, function(err,result){
-
- connection.release();
- if(err){
- callback(err, err);
- return;
- }
- else
- {
- if (result.affectedRows == 0)
- {
- callback('Unable to set all versions to deactivate.');
- return;
- }
- callback(null,result.affectedRows);
- return;
- }
- }); //end query
- }); // end getConnection
-}
-
-
-exports.deleteDG = function(req,res,_module,rpc,version,mode,callback){
-
- pool.getConnection(function(err,connection) {
-
- if(err){
- console.error( String(err) ); // ALARM
- callback(err, 'Unable to get database connection.' + err);
- return;
- }
-
- var sql = "DELETE FROM SVC_LOGIC WHERE "
- + "module = " + connection.escape(_module) + " AND "
- + "rpc = " + connection.escape(rpc) + " AND "
- + "version = " + connection.escape(version) + " AND "
- + "mode = " + connection.escape(mode);
-
- console.log(sql);
- connection.query(sql, function(err,result){
-
- connection.release();
- if(err){
- callback(err, 'Unable to get database connection.' + err);
- return;
- }
- else
- {
- if (result.affectedRows == 0)
- {
- callback('No rows deleted.');
- return;
- }
- callback(null,result.affectedRows);
- return;
- }
- }); //end query
- }); // end getConnection
-}
-
-
-
-function padLeft(nr, n, str){
- return Array(n-String(nr).length+1).join(str||'0')+nr;
-}
-