From ab1f0ec1baa097f447b99b0d0d579097a34e1616 Mon Sep 17 00:00:00 2001 From: Wo-ogie <siwall0105@gmail.com> Date: Tue, 5 Dec 2023 11:47:44 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20=EC=95=BD=EC=86=8D=20=EB=8B=A8=EA=B1=B4?= =?UTF-8?q?=20=EC=A1=B0=ED=9A=8C,=20=EC=83=81=EC=84=B8=20=EC=A1=B0?= =?UTF-8?q?=ED=9A=8C=20API=20=EC=9D=91=EB=8B=B5=20=EB=8D=B0=EC=9D=B4?= =?UTF-8?q?=ED=84=B0=EC=97=90=20=ED=98=84=EC=9E=AC=20=EC=B0=B8=EA=B0=80?= =?UTF-8?q?=EC=9E=90=20=EC=88=98(`currentParticipants`)=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- controllers/meeting.js | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/controllers/meeting.js b/controllers/meeting.js index 0ab9479..1b3a1f0 100644 --- a/controllers/meeting.js +++ b/controllers/meeting.js @@ -6,7 +6,6 @@ const { createMeetingIsAlreadyClosedError, createPasswordNotMatchedError, createPasswordIsNullError, - createMostConfirmedTimeNotFoundError, } = require('../errors/meetingErrors'); const MeetingResponse = require('../dto/response/meetingResponse'); const MeetingWithParticipantsResponse = require('../dto/response/meetingWithParticipantsResponse'); @@ -71,6 +70,14 @@ async function getParticipantByNameAndMeetingId(name, meetingId) { return participant; } +async function getNumOfParticipantsByMeetingId(meetingId) { + return Participant.count({ + where: { + MeetingId: meetingId, + }, + }); +} + async function validatePasswordIsMatched(requestPassword, exPassword) { if (!requestPassword) { throw createPasswordIsNullError(); @@ -160,7 +167,13 @@ exports.entry = async (req, res, next) => { exports.getMeetingById = async (req, res, next) => { try { const meeting = await getMeetingById(req.params.meetingId); - return res.json(MeetingResponse.from(meeting)); + const currentParticipants = await getNumOfParticipantsByMeetingId( + meeting.id, + ); + return res.json({ + ...MeetingResponse.from(meeting), + currentParticipants, + }); } catch (error) { return next(error); } @@ -171,7 +184,13 @@ exports.getMeetingDetailById = async (req, res, next) => { const meeting = await getMeetingWithParticipantsAndSchedulesById( req.params.meetingId, ); - return res.json(MeetingWithParticipantsResponse.from(meeting)); + const currentParticipants = await getNumOfParticipantsByMeetingId( + meeting.id, + ); + return res.json({ + ...MeetingWithParticipantsResponse.from(meeting), + currentParticipants, + }); } catch (error) { return next(error); } -- GitLab