add: added mentions

This commit is contained in:
Lukian 2025-04-05 17:33:23 +02:00
parent dfb6639ecf
commit 6c8f354bf6
9 changed files with 208 additions and 9 deletions

View file

@ -24,6 +24,21 @@ function getUser(connection, id) {
});
}
function searchUser(connection, search) {
return new Promise((resolve, reject) => {
connection.query(
`SELECT * FROM users WHERE username LIKE ? LIMIT 5`,
[`%${search}%`], // Use parameterized query
(error, result) => {
if (error) {
reject(new Error(error));
}
resolve(result);
}
);
});
}
function getUserByUsername(connection, username) {
return new Promise((resolve, reject) => {
connection.query(
@ -248,9 +263,57 @@ function deleteMessage(connection, message_id) {
});
}
function addMention(connection, message_id, user_id) {
return new Promise((resolve, reject) => {
connection.query(
`INSERT INTO mentions (message_id, user_id) VALUES (?, ?)`,
[message_id, user_id], // Use parameterized query
(error, result) => {
if (error) {
reject(new Error(error));
}
resolve(result);
}
);
});
}
function getMentions(connection, message_id) {
return new Promise((resolve, reject) => {
connection.query(
`SELECT users.username FROM mentions
JOIN users ON mentions.user_id = users.id
WHERE message_id = ?`,
[message_id], // Use parameterized query
(error, result) => {
if (error) {
reject(new Error(error));
}
resolve(result);
}
);
});
}
function deleMentions(connection, message_id) {
return new Promise((resolve, reject) => {
connection.query(
`DELETE FROM mentions WHERE message_id = ?`,
[message_id], // Use parameterized query
(error, result) => {
if (error) {
reject(new Error(error));
}
resolve(result);
}
);
});
}
module.exports = {
getConnection,
getUser,
searchUser,
getUserByUsername,
addUser,
getUserLastMessages,
@ -263,5 +326,8 @@ module.exports = {
getLastMessages,
getMessage,
addMessage,
deleteMessage
deleteMessage,
addMention,
getMentions,
deleMentions,
};