diff --git a/controllers/chatController.js b/controllers/chatController.js index bfcca38df3a7ab0b513d3c4bee2c46533226b09b..33eac1e96479dcaa47901914a117d3a51b173d36 100644 --- a/controllers/chatController.js +++ b/controllers/chatController.js @@ -13,7 +13,12 @@ exports.createChatRoom = async (params) => { // 梨꾪똿諛� 紐⑸줉 議고쉶 exports.getChatRooms = async (req, res) => { try { - const roomData = await chatService.getChatRooms(); + + const name = req.user.name; // Google 濡쒓렇�몄뿉�� 媛��몄삩 email + console.log("name", name); + + // 蹂몄씤�� 李멸��먮줈 �ы븿�� 梨꾪똿諛⑸쭔 媛��몄삤湲� + const roomData = await chatService.getChatRooms(name); res.json(roomData); } catch (err) { console.error('Error fetching rooms:', err); diff --git a/routes/chatRoute.js b/routes/chatRoute.js index ed55aa560c36105aff3706f702bda26fe0c6f234..555144746f1380785867d9ec5b332cb2a2d62c37 100644 --- a/routes/chatRoute.js +++ b/routes/chatRoute.js @@ -4,7 +4,6 @@ const chatController = require('../controllers/chatController'); const { isLoggedIn } = require('../middlewares/auth'); router.post('/create-room', chatController.createChatRoom); -router.get('/rooms', chatController.getChatRooms); router.post('/update-status', chatController.updateStatus); router.post('/update-read-status', chatController.updateReadStatus); router.get('/unread-messages/:nickname', chatController.getUnreadMessages); @@ -13,6 +12,7 @@ router.post('/update-status-and-logid', chatController.updateStatusAndLogId); router.post('/update-read-log-id', chatController.updateReadLogId); router.use(isLoggedIn); +router.get('/rooms', chatController.getChatRooms); router.post('/:chatRoomId/notices', chatController.addNotice); router.get('/:chatRoomId/notices/latest', chatController.getLatestNotice); diff --git a/services/chatService.js b/services/chatService.js index f67ee428d4efc761df9dd467600ec25eb93e4cbc..b8a3af8fc05734b2a5fa2792c9c628da6349fa4d 100644 --- a/services/chatService.js +++ b/services/chatService.js @@ -30,8 +30,11 @@ class ChatService { } // 梨꾪똿諛� 紐⑸줉 議고쉶 - async getChatRooms() { - const rooms = await ChatRooms.find({}, { chatRoomId: 1, chatRoomName: 1, messages: { $slice: -1 } }); + async getChatRooms(name) { + const rooms = await ChatRooms.find( + { "participants.name": name }, + { chatRoomId: 1, chatRoomName: 1, messages: { $slice: -1 } } + ); return rooms.map(room => { const lastMessage = room.messages[0] || {}; return {