Skip to content
Snippets Groups Projects
Commit 55dfe7b7 authored by 심재엽's avatar 심재엽
Browse files

refactor: 참가한 채팅방 목록만 조회

parent 212c7018
No related branches found
No related tags found
1 merge request!43배포코드 master브랜치로
...@@ -13,7 +13,12 @@ exports.createChatRoom = async (params) => { ...@@ -13,7 +13,12 @@ exports.createChatRoom = async (params) => {
// 채팅방 목록 조회 // 채팅방 목록 조회
exports.getChatRooms = async (req, res) => { exports.getChatRooms = async (req, res) => {
try { 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); res.json(roomData);
} catch (err) { } catch (err) {
console.error('Error fetching rooms:', err); console.error('Error fetching rooms:', err);
......
...@@ -4,7 +4,6 @@ const chatController = require('../controllers/chatController'); ...@@ -4,7 +4,6 @@ const chatController = require('../controllers/chatController');
const { isLoggedIn } = require('../middlewares/auth'); const { isLoggedIn } = require('../middlewares/auth');
router.post('/create-room', chatController.createChatRoom); router.post('/create-room', chatController.createChatRoom);
router.get('/rooms', chatController.getChatRooms);
router.post('/update-status', chatController.updateStatus); router.post('/update-status', chatController.updateStatus);
router.post('/update-read-status', chatController.updateReadStatus); router.post('/update-read-status', chatController.updateReadStatus);
router.get('/unread-messages/:nickname', chatController.getUnreadMessages); router.get('/unread-messages/:nickname', chatController.getUnreadMessages);
...@@ -13,6 +12,7 @@ router.post('/update-status-and-logid', chatController.updateStatusAndLogId); ...@@ -13,6 +12,7 @@ router.post('/update-status-and-logid', chatController.updateStatusAndLogId);
router.post('/update-read-log-id', chatController.updateReadLogId); router.post('/update-read-log-id', chatController.updateReadLogId);
router.use(isLoggedIn); router.use(isLoggedIn);
router.get('/rooms', chatController.getChatRooms);
router.post('/:chatRoomId/notices', chatController.addNotice); router.post('/:chatRoomId/notices', chatController.addNotice);
router.get('/:chatRoomId/notices/latest', chatController.getLatestNotice); router.get('/:chatRoomId/notices/latest', chatController.getLatestNotice);
......
...@@ -30,8 +30,11 @@ class ChatService { ...@@ -30,8 +30,11 @@ class ChatService {
} }
// 채팅방 목록 조회 // 채팅방 목록 조회
async getChatRooms() { async getChatRooms(name) {
const rooms = await ChatRooms.find({}, { chatRoomId: 1, chatRoomName: 1, messages: { $slice: -1 } }); const rooms = await ChatRooms.find(
{ "participants.name": name },
{ chatRoomId: 1, chatRoomName: 1, messages: { $slice: -1 } }
);
return rooms.map(room => { return rooms.map(room => {
const lastMessage = room.messages[0] || {}; const lastMessage = room.messages[0] || {};
return { return {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment