const mysql = require('mysql');
|
|
|
|
const sanitizer = require('sanitizer');
|
|
|
|
var Promise = require('promise');
|
|
|
|
const con = mysql.createConnection({
|
|
host: "localhost",
|
|
user: "trendingUser",
|
|
password: "password",
|
|
database: "googleTrends"
|
|
});
|
|
|
|
con.connect(function(err) {
|
|
if (err) throw err;
|
|
console.log("Connected to database!");
|
|
});
|
|
|
|
module.exports=
|
|
{
|
|
/**
|
|
* Function used to use insert statements into the database
|
|
*
|
|
* Don't worry, the input gets sanitized
|
|
*
|
|
* @param sqlStatement
|
|
* @return the id of the new record - if there is one
|
|
*/
|
|
insert : function(sqlStatement)
|
|
{
|
|
return new Promise(function(resolve, reject)
|
|
{
|
|
con.query(sanitizer.sanitize(sqlStatement), function (err, result)
|
|
{
|
|
if (err)
|
|
{
|
|
console.log(err);
|
|
resolve(0);
|
|
}
|
|
resolve(result.insertId);
|
|
});
|
|
})
|
|
},
|
|
|
|
/**
|
|
* Insert all of the user's data into the sql database
|
|
* @param player
|
|
*/
|
|
insertData : function(player)
|
|
{
|
|
return new Promise(function(resolve, reject)
|
|
{
|
|
var q = "insert into users(name) values('" + player.name + "')";
|
|
this.insert(q).then(function(keyId)
|
|
{
|
|
player.log.forEach(function(data)
|
|
{
|
|
var q2 = "insert into data(user_id, word, score) values " +
|
|
"('" + keyId + "','" + data.word + "','" + data.score + "')";
|
|
|
|
this.insert(q2);
|
|
});
|
|
resolve();
|
|
})
|
|
})
|
|
},
|
|
|
|
dumpRoom: function(room)
|
|
{
|
|
room.users.forEach(function(user)
|
|
{
|
|
this.insertData(user);
|
|
});
|
|
}
|
|
};
|