querying messages data from database
This commit is contained in:
@@ -19,7 +19,7 @@ db .connect()
|
||||
async function isUserExists(username) {
|
||||
try {
|
||||
const query = 'SELECT COUNT(*) FROM accounts WHERE username = $1';
|
||||
const result = await db .query(query, [username]);
|
||||
const result = await db.query(query, [username]);
|
||||
return result.rows[0].count > 0;
|
||||
} catch (err) {
|
||||
console.error('Error checking username:', err);
|
||||
|
||||
@@ -41,35 +41,31 @@ function initializeSocket(server) {
|
||||
socket.on('chat message', async (msg) => {
|
||||
let result;
|
||||
try {
|
||||
const result = await db.query('INSERT INTO messages (content, username) VALUES ($1, $2) RETURNING id', [msg, username]);
|
||||
const insertedId = result.rows[0].id;
|
||||
console.log(result.rows[0])
|
||||
await db.query('INSERT INTO messages (content, username) VALUES ($1, $2) RETURNING id', [msg, username]);
|
||||
} catch (err) {
|
||||
console.error('Error inserting message:', err);
|
||||
return;
|
||||
}
|
||||
const message = username + ': ' + msg;
|
||||
console.log(message);
|
||||
|
||||
io.emit('chat message', message);
|
||||
|
||||
if (!socket.recovered) {
|
||||
// if the connection state recovery was not successful
|
||||
if (!socket.recovered) { // if the connection state recovery was not successful
|
||||
try {
|
||||
const { rows } = await db.query(
|
||||
'SELECT id, content FROM messages WHERE id > $1',
|
||||
[socket.handshake.auth.serverOffset || 0]
|
||||
);
|
||||
const query = 'SELECT id, content, username FROM messages WHERE id > $1 ORDER BY id ASC';
|
||||
const values = [socket.handshake.auth.serverOffset || 0];
|
||||
|
||||
rows.forEach(row => {
|
||||
const result = await db.query(query, values);
|
||||
|
||||
for (const row of result.rows) {
|
||||
socket.emit('chat message', row.content, row.id);
|
||||
});
|
||||
|
||||
}
|
||||
} catch (e) {
|
||||
// something went wrong
|
||||
console.error('Error during recovery:', e);
|
||||
console.error('Error retrieving messages:', e);
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
// disconnect event
|
||||
|
||||
Reference in New Issue
Block a user