add: added user pages, and last messages to the home page

This commit is contained in:
Lukian 2025-03-25 16:47:30 +01:00
parent d7af341ca2
commit 87e7c44a5b
10 changed files with 155 additions and 31 deletions

View file

@ -51,6 +51,20 @@ function addUser(connection, username, password) {
});
}
function getUserLastMessages(connection, username) {
return new Promise((resolve, reject) => {
connection.query(
`SELECT messages.id, user_id, username, content, date, channels.name AS channel_name FROM messages JOIN users ON messages.user_id = users.id JOIN channels ON messages.channel_id = channels.id WHERE username = "${username}" ORDER BY date DESC LIMIT 5`,
(error, result) => {
if (error) {
reject(new Error(error));
}
resolve(result);
}
);
});
}
function getChannels(connection) {
return new Promise((resolve, reject) => {
connection.query(
@ -96,7 +110,21 @@ function addChannel(connection, name, description, owner_id) {
function getMessages(connection, channel_id) {
return new Promise((resolve, reject) => {
connection.query(
`SELECT messages.id, user_id, username, content, date FROM messages JOIN users ON messages.user_id = users.id WHERE channel_id = ${channel_id} ORDER BY date DESC`,
`SELECT messages.id, user_id, username, content, date, channels.name AS channel_name FROM messages JOIN users ON messages.user_id = users.id JOIN channels ON messages.channel_id = channels.id WHERE channel_id = ${channel_id} ORDER BY date DESC`,
(error, result) => {
if (error) {
reject(new Error(error));
}
resolve(result);
}
);
});
}
function getLastMessages(connection) {
return new Promise((resolve, reject) => {
connection.query(
`SELECT messages.id, user_id, username, content, date, channels.name AS channel_name FROM messages JOIN users ON messages.user_id = users.id JOIN channels ON messages.channel_id = channels.id ORDER BY date DESC LIMIT 5`,
(error, result) => {
if (error) {
reject(new Error(error));
@ -140,10 +168,12 @@ module.exports = {
getUser,
getUserByUsername,
addUser,
getUserLastMessages,
getChannels,
getChannel,
addChannel,
getMessages,
getLastMessages,
addMessage,
deleteMessage
};