my-bookmark/database/db.js

69 lines
1.8 KiB
JavaScript

var mysql = require('mysql');
var client = mysql.createConnection({
host: '127.0.0.1',
user: 'lcq',
password: 'fendoubuxi596320',
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();
}
});
});
}
module.exports = db;