Switch to side-by-side view

--- a
+++ b/controllers/mysql.js
@@ -0,0 +1,273 @@
+/*made by Miguel Rodrigues @ KBZ miguel.rodrigues@knowledgebiz.pt*/
+
+var mysql = require('mysql');
+var db = require ('../config/db');
+var token = require ('../backend/token/tokenGenerator');
+var con = require ('../backend/server');
+var email = require('./emailer'); 
+
+/*
+Insert Modules
+*/
+module.exports.insertVapp= function(body, callback){
+	var sqlQuery = "SELECT appID FROM registration where appID = '"+body.appID+"'";
+	con.query(sqlQuery, function (err, result) {
+		if (err){ 
+			callback(false,err);
+		}
+		else{
+			if(result.length == 0 && body.appID != "null"){
+				var newToken = token.token_generator();
+				var sqlQuery = "INSERT INTO registration ( token, appID, developerID) VALUES ('"+newToken+"','"+body.appID+"','"+body.developerID+"')";
+				con.query(sqlQuery, function (err, result) {
+					if (err){
+						callback(false,result);
+					}
+					else{
+						email.sendEmailToken(body.developerID, newToken);
+						callback(true,{token: newToken});
+					}
+				});
+			}
+			else{
+				callback(false,"App is already registered or AppID is Null");
+			}
+		}
+	});
+}
+
+module.exports.insertVappByDeveloperid= function(body, callback){
+	var sqlQuery = "SELECT appID FROM registration where appID = '"+body.appID+"'";
+	con.query(sqlQuery, function (err, result) {
+		if (err){ 
+			callback(false,err);
+		}
+		else{
+			if(result.length == 0 && body.appID != "null"){
+				var newToken = token.token_generator();
+				var sqlQuery = "INSERT INTO registration ( token, appID, developerID) VALUES ('"+newToken+"','"+body.appID+"','"+body.developerID+"')";
+				con.query(sqlQuery, function (err, result) {
+					if (err){ 
+						callback(false,result);
+					}else{
+						email.sendEmailToken(body.developerID, newToken); 
+						callback(true,{token: newToken});
+					}
+				});
+			}
+			else{
+				callback(false,"App is already registered or AppID is Null");
+			}
+		}
+	});
+}
+
+module.exports.insertNotification= function(body, callback){
+	date = new Date().toISOString().slice(0, 19).replace('T', ' ');
+	strSubject = body.subject.replace(/\s/g, '');
+	var sqlQuery = "INSERT INTO notificationlist ( emailTo, subject, date, token) VALUES ('"+body.emailTo+"','"+strSubject+"', '"+date+"', '"+body.token+"')";
+	con.query(sqlQuery, function (err, result) {
+		if (err){
+			callback(false,err);
+		}
+		else{
+			callback(true);
+		}
+	});
+}
+
+module.exports.insertNotificationRules= function(body, callback){
+	var sql = "SELECT token FROM registration where appID = '"+body.appID+"'";
+	con.query(sql, function (err, res) {
+		if (err){
+			callback(false,err);
+		}
+		else{
+			var sqlQuery = "INSERT INTO ruleslist ( description, parameters, parameter, conditionValue, controlValue, notificationType, token) VALUES ('"+body.description+"','"+body.parameters+"','"+body.parameter+"','"+body.conditionValue+"','"+body.controlValue+"',"+body.notificationType+",'"+res[0].token+"')";
+			con.query(sqlQuery, function (err, result) {
+				if (err){ 
+					callback(false,err);
+				}
+				else {
+					callback(true);
+				}
+			});
+		}
+	});
+}
+
+/*
+Retrieves Modules
+*/
+module.exports.retrieveApp= function(developerid,callback){
+	var sqlQuery = "SELECT * FROM registration where developerID = '"+developerid+"'";
+	con.query(sqlQuery, function (err, result) {
+		if (err){
+			callback(false,err);
+		}
+		else {
+			if(result.length == 0){
+				callback(false,"DeveloperID incorrect");
+			}
+			else{
+				callback(true,result);
+			}
+		}
+	});
+}
+
+module.exports.retrieveNotificationList= function(appid,callback){
+	var sql = "SELECT token FROM registration where appID = '"+appid+"'";
+	con.query(sql, function (err, res) {
+		if (err){
+			callback(false,err);
+		}
+		else{
+			if(res.length == 0){
+				callback(false,"AppID incorrect");
+			}
+			else{
+				var sqlQuery = "SELECT emailTo, subject, date, token FROM notificationlist where token = '"+res[0].token+"'";
+				con.query(sqlQuery, function (err, rows) {
+					if (err){ 
+						callback(false,err);
+					}
+					else {
+						callback(true,rows);
+					}
+				});
+			}
+		}
+	});
+}
+
+module.exports.retrieveRulesList= function(appid,callback){
+	var sql = "SELECT token FROM registration where appID = '"+appid+"'";
+	con.query(sql, function (err, res) {
+		if (err){
+			callback(false,err);
+		}
+		else{
+			if(res.length == 0){
+				callback(false,"AppID incorrect");
+			}
+			else{
+				var sqlQuery = "SELECT * FROM ruleslist where token = '"+res[0].token+"'";
+				con.query(sqlQuery, function (err, rows) {
+					if (err){
+						callback(false,err);
+					}
+					else{ 
+						callback(true,rows);
+					}
+				});
+			}
+		}
+	});
+}
+
+/*
+Get Rules List by Token
+*/
+module.exports.getRulesListByToken = function(token, callback){
+	var sqlQuery = "SELECT * FROM ruleslist where token = '"+token+"'";
+	con.query(sqlQuery, function (err, ruleslist) {
+		if (err) {
+			callback(false,err);
+		}
+		else{
+			callback(true, ruleslist);
+		}
+	});
+}
+
+/*
+Check If Token Exists (true) or Not (false)
+*/
+module.exports.checkIfTokenExists = function(body, callback){
+	var sql = "SELECT token FROM registration where token = '"+body.token+"'";
+	con.query(sql, function (err, res) {
+		if (err){
+			callback(false);
+		}
+		else{
+			if(res.length == 1){
+				callback(true, res);
+			}
+			else{
+				callback(false, "Invalid Token");
+			}
+		}
+	});
+}
+
+/*
+Delete Vapp and Rules
+*/
+module.exports.deleteVapp= function(appid, callback){
+	var sql = "SELECT token FROM registration where appID = '"+appid+"'";
+	con.query(sql, function (err, res) {
+		if (err){ 
+			callback(false,err);
+		}
+		else{
+			if(res.length == 0){
+				callback(false,"AppID incorrect");
+			}
+			else{
+				var sqlNotifcations = "DELETE FROM notificationlist where token = '"+res[0].token+"'";
+				con.query(sqlNotifcations, function (err, rows) {
+					if (err) {
+						callback(false,err);
+					}
+					else{
+
+						var sqlRules = "DELETE FROM ruleslist where token = '"+res[0].token+"'";
+						con.query(sqlRules, function (err, rows) {
+							if (err) {
+								callback(false,err);
+							}
+							else{
+								var sqlQuery = "DELETE FROM registration where token = '"+res[0].token+"'";
+								con.query(sqlQuery, function (err, rows) {
+									if (err){ 
+										callback(false,err);
+									}
+									else{
+										callback(true, rows);
+									}
+								});
+							}
+						});
+					}
+				});
+			}
+		}
+	});
+}
+
+module.exports.deleteRule= function(rulesid, callback){
+	var sqlQuery = "DELETE FROM ruleslist where rulesID = '"+rulesid+"'";
+	con.query(sqlQuery, function (err, rows) {
+		if (err) {
+			callback(false,err);
+		}
+		else{
+			if(rows.length == 0){
+				callback(false,"RuleID incorrect");
+			}
+			else{
+				callback(true,rows);
+			}
+		}
+	});
+}
+
+/*
+module.exports.insertConfiguration= function(sql){
+	con.query(sql, function (err, result) {
+		if (err) throw err;
+		console.log(result);
+	});
+}
+*/