Advertisement
Guest User

Untitled

a guest
Oct 21st, 2014
147
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var mysql = require('mysql');
  2.  
  3. var serverDB = (function(connectionData) {
  4.     var queries = {
  5.         markRead    : "UPDATE messages SET readable = TRUE WHERE message_id = ?",
  6.         getHistory  : "SELECT * FROM messages WHERE (date_time >= ?) AND ((from_login = ? AND to_login = ?) OR (from_login = ? AND to_login = ?) ) ORDER BY date_time",
  7.         getUG       : "SELECT * FROM users; SELECT * FROM groups",
  8.         login       : "SELECT 1 FROM users WHERE login = ? AND password = ?",
  9.         userExists  : "SELECT 1 FROM users WHERE login = ?",
  10.         insertMess  : "INSERT INTO messages SET ?",
  11.     };
  12.  
  13.     var connData = connectionData;
  14.     connData.multipleStatements = true;
  15.    
  16.     var mysqlConnection = mysql.createConnection (connectionData);
  17.     mysqlConnection.connect ( function (error) {
  18.         if (error)
  19.             throw error;
  20.         console.log ('Successfully connected to MySQL server.');
  21.     });
  22.    
  23.    
  24.     function _messageSetRead(id) {
  25.         var query = util.format (queries.markRead, id);
  26.         mysqlConnection.query (query, function (err) {
  27.             if (err)
  28.                 throw err;
  29.         });
  30.     }
  31.    
  32.     function _getHistory (loginFrom, loginTo, dateAfter, callback) {
  33.         mysqlConnection.query (
  34.                 queries.getHistory,
  35.                 [dateAfter, loginFrom, loginTo, loginTo, loginFrom],
  36.                 function (err, rows) {
  37.                     if (err)
  38.                         throw err;
  39.                     callback (rows);
  40.                 }
  41.         );
  42.     }
  43.    
  44.     function _getUG(callback) {
  45.         mysqlConnection.query (queries.getUG, function (err, result) {
  46.             if (err)
  47.                 throw err;
  48.             callback (result[0], result[1]);
  49.         });
  50.     }
  51.    
  52.     function _checkUser(login, password, callback){
  53.         mysqlConnection.query (queries.login, [login, password], function (err, result) {
  54.             if (err)
  55.                 throw err;
  56.             callback (result.length !== 0);
  57.         });
  58.     }
  59.    
  60.     function _insertMessage (from, to, message, time, callback){
  61.         var insertSet = {
  62.             'from_login' : from,
  63.             'to_login' : to,
  64.             'message' : message,
  65.             'date_time' : time
  66.         }; 
  67.        
  68.         mysqlConnection.query (queries.insertMess, insertSet, function (err, result) {
  69.             if (err)
  70.                 throw err;
  71.             callback ();
  72.         });
  73.     }
  74.    
  75.     function _userExists (login, callback){
  76.         mysqlConnection.query (queries.userExists, login, function (err, result) {
  77.             if(err)
  78.                 throw err;
  79.             callback (result.length !== 0);
  80.         });
  81.     }
  82.    
  83.     return {
  84.         messageSetRead : _messageSetRead,
  85.         getHistory : _getHistory,
  86.         getUG : _getUG,
  87.         checkUser : _checkUser,
  88.         insertMessage : _insertMessage,
  89.         userExists : _userExists
  90.     };
  91.    
  92.     // ADMIN FUNCTIONS 
  93. })({
  94.      host     : '178.62.178.14',
  95.      user     : 'root',
  96.      password : 'databasepassword',
  97.      database : 'corporative_messenger'
  98. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement