diff --git a/controllers/meeting.js b/controllers/meeting.js index 28d5edafc5160b3d212fc5a241cd5831f01f003e..9becfeaeff0c1dba206f565c54a5a8382f714ee0 100644 --- a/controllers/meeting.js +++ b/controllers/meeting.js @@ -195,3 +195,19 @@ exports.closeMeeting = async (req, res, next) => { return next(error); } }; + +exports.confirmTime = async (req, res, next) => { + const { meetingId } = req.params; + const { adminPassword } = req.body; + try { + const meeting = await getMeetingById(meetingId); + await validatePasswordIsMatched(adminPassword, meeting.adminPassword); + + meeting.confirmedTime = Date.now(); + await meeting.save(); + + return res.json(MeetingResponse.from(meeting)); + } catch (error) { + return next(error); + } +}; diff --git a/routes/meeting.js b/routes/meeting.js index 956df300ce4eb0d0b4a4444bee35f3c0a6419f9b..d32bd4e17c79b693901b85a84a9129417b2df481 100644 --- a/routes/meeting.js +++ b/routes/meeting.js @@ -6,6 +6,7 @@ const { getMeetingById, getMeetingDetailById, closeMeeting, + confirmTime, } = require('../controllers/meeting'); const router = express.Router(); @@ -20,4 +21,6 @@ router.get('/:meetingId/details', isAuthenticated, getMeetingDetailById); router.patch('/:meetingId/close', isAuthenticated, closeMeeting); +router.patch('/:meetingId/confirm-time', isAuthenticated, confirmTime); + module.exports = router;