var mysql = require('mysql'); var client = mysql.createConnection({ host: '127.0.0.1' || '172.24.13.5', user: 'lcq' || 'root', password: 'fendoubuxi596320' || 'root123', database: 'mybookmarks', multipleStatements: true, port: 3306 }); client.connect(); var db = { } db.insertBookmark = function(user_id, bookmark) { var sql = "INSERT INTO `bookmarks` (`user_id`, `title`, `description`, `url`, `public`, `click_count`) VALUES ('" + user_id + "', '" + bookmark.title + "', '" + bookmark.description + "', '" + bookmark.url + "', '" + bookmark.public + "', '1')"; return new Promise(function(resolve, reject) { client.query(sql, (err, result) => { if (err) { reject(err); } else { resolve(result.insertId); } }); }); }; db.insertTagsBookmarks = function(tags, bookmard_id) { sql = "INSERT INTO `tags_bookmarks` (`tag_id`, `bookmark_id`) VALUES"; for (var i = 0; i < tags.length; i++) { if (i >= 1) { sql += ',' } sql += "('" + tags[i] + "', '" + bookmard_id + "')"; } return new Promise(function(resolve, reject) { client.query(sql, (err, result) => { if (err) { reject(err); } else { resolve(); } }); }); } db.updateLastUseTags = function(user_id, tags) { sql = "UPDATE tags SET last_use = NOW() WHERE user_id = '" + user_id + "' AND id in ("; for (var i = 0; i < tags.length; i++) { if (i >= 1) { sql += ',' } sql += "'" + tags[i] + "'"; } sql += ')' return new Promise(function(resolve, reject) { client.query(sql, (err, result) => { if (err) { reject(err); } else { resolve(); } }); }); } db.clickBookmark = function(id) { var sql = "UPDATE `bookmarks` SET `click_count`=`click_count`+1, `last_click`=now() WHERE (`id`='" + id + "')"; return new Promise(function(resolve, reject) { client.query(sql, (err, result) => { if (err) { reject(err); } else { resolve(result.affectedRows); } }); }); }; db.checkLogin = function(username, password) { console.log('checkLogin'); var sql = "SELECT * FROM `users` WHERE `username` = '" + username + "'"; return new Promise(function(resolve, reject) { client.query(sql, (err, result) => { if (err) { reject(err); } else { var ret = { logined: false, user: {}, } if (password === result[0].password) { ret.logined = true; ret.user = result[0]; } resolve(ret); } }); }); }; db.updateUserLastLogin = function(id) { console.log('updateUserLastLogin'); var sql = "UPDATE `users` SET `last_login`=now() WHERE (`id`='" + id + "')"; return new Promise(function(resolve, reject) { client.query(sql, (err, result) => { if (err) { reject(err); } else { resolve(result.affectedRows); } }); }); } module.exports = db;