MCPcopy Create free account
hub / github.com/Jenifer2833/fullstack-chat-app / sendMessage

Function sendMessage

backend/src/controllers/message.controller.js:37–70  ·  view source on GitHub ↗
(req,res)

Source from the content-addressed store, hash-verified

35};
36
37export const sendMessage= async(req,res)=>{
38 try {
39 const {text,image}=req.body;
40 const {id:receiverId}=req.params;
41 const senderId=req.user._id;
42
43 let imageUrl;
44 if(image){
45 //upload image to cloudinary
46 const uploadResponse= await cloudinary.uploader.upload(image);
47 imageUrl= uploadResponse.secure_url;
48 }
49
50 const newMessage = new Message({
51 senderId,
52 receiverId,
53 text,
54 image:imageUrl,
55 });
56
57 await newMessage.save();
58
59
60 const receiverSocketId= getReceiverSocketId(receiverId);
61 if(receiverSocketId){
62 io.to(receiverSocketId).emit("newMessage",newMessage);
63 }
64
65 res.status(201).json(newMessage);
66 } catch (error) {
67 console.log("Error in sendMessage controller:", error.message);
68 res.status(500).json({error: "Internal Server error"});
69 }
70};

Callers 1

handleSendMessageFunction · 0.85

Calls 1

getReceiverSocketIdFunction · 0.90

Tested by

no test coverage detected