Commit bfe3ede7 authored by Balasuriya D.A.M.'s avatar Balasuriya D.A.M.

Sending Message API Backend

parent 69bb53fe
const asyncHandler = require("express-async-handler");
const Chat = require("../models/chatModel");
const Message = require("../models/messageModel");
const User = require("../models/userModel");
const sendMessage = asyncHandler(async (req, res) => {
const { content, chatId } = req.body;
if (!content || !chatId) {
console.log("Invalid data passed into request");
return res.sendStatus(400);
}
var newMessage = {
//get from messagers modal
sender: req.user._id,
content: content,
chat: chatId,
};
try {
var message = await Message.create(newMessage);
message = await message.populate("sender", "name pic");
message = await message.populate("chat");
message = await User.populate(message, {
path: "chat.users",
select: "name pic email",
});
await Chat.findByIdAndUpdate(req.body.chatId, {
latestMessage: message,
});
res.json(message);
} catch (error) {
res.status(400);
throw new Error(error.message);
}
});
module.exports = { sendMessage };
\ No newline at end of file
const express = require("express"); const express = require("express");
const { sendMessage } = require("../controllers/messageControllers");
const { protect } = require("../middleware/authMiddleware"); const { protect } = require("../middleware/authMiddleware");
const router = express.Router(); const router = express.Router();
//router.route("/").post(protect, sendMessage); router.route("/").post(protect, sendMessage);
//router.route("/:chatId").get(protect, allMessages); //router.route("/:chatId").get(protect, allMessages);
module.exports = router; module.exports = router;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment