120 lines
3.3 KiB
JavaScript
120 lines
3.3 KiB
JavaScript
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;
|