added delete message socket, message deletion is now done by socket not api

This commit is contained in:
slawk0
2024-12-10 22:45:28 +01:00
parent cf9cf4b695
commit 8a1a487fed
5 changed files with 68 additions and 10 deletions

View File

@@ -720,6 +720,7 @@ async function deleteMessage(user_id, message_id) {
console.log("Message deleted successfully");
} else {
console.log("Failed to delete message");
return { message: "Failed to delete message" };
}
} catch (e) {
console.error("Failed to delete message ", e);

View File

@@ -1,7 +1,13 @@
const { insertMessage, getConversationsForUser } = require("../db/db");
const {
insertMessage,
getConversationsForUser,
deleteContact,
deleteMessage,
} = require("../db/db");
const { isValidUsername } = require("../utils/filter");
const { verifyJwtToken } = require("../auth/jwt");
const console = require("node:console");
const { call } = require("express");
function initializeSocket(io) {
io.use((socket, next) => {
@@ -147,6 +153,34 @@ function initializeSocket(io) {
}
});
socket.on("delete message", async (msg, callback) => {
console.log("(socket) delete message for message_id: ", msg);
const { conversation_id, message_id } = msg;
if (!message_id) {
return callback({ status: "error", message: "No message id provided" });
}
if (!conversation_id) {
return callback({
status: "error",
message: "No conversation id provided",
});
}
const result = await deleteMessage(socket.user_id, message_id);
if (result?.message !== undefined) {
return callback({ status: "error", message: result.message });
} else {
io.to(conversation_id).emit("delete message", {
conversation_id,
message_id,
});
return callback({
status: "ok",
message: "Successfully deleted message",
});
}
});
socket.on("disconnect", (reason) => {
console.log("(socket)", socket.id, " disconnected due to: ", reason);
});