not really known
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

75 lines
2.0 KiB

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);
});
}
};