Skip to content
Snippets Groups Projects
Commit 159a6944 authored by Wo-ogie's avatar Wo-ogie
Browse files

feat: 미팅 생성 시 expiresAt에 지정된 시간에 자동으로 종료되도록 scheling 로직 추가

parent e4aff459
Branches
No related tags found
No related merge requests found
const schedule = require('node-schedule');
const bcrypt = require('bcrypt'); const bcrypt = require('bcrypt');
const { Meeting, Participant } = require('../models'); const { Meeting, Participant } = require('../models');
const meetingRepository = require('../repository/meeting'); const meetingRepository = require('../repository/meeting');
const { const {
...@@ -102,6 +104,11 @@ exports.createMeeting = async (req, res, next) => { ...@@ -102,6 +104,11 @@ exports.createMeeting = async (req, res, next) => {
voteExpiresAt: req.body.voteExpiresAt, voteExpiresAt: req.body.voteExpiresAt,
confirmedTime: null, confirmedTime: null,
}); });
schedule.scheduleJob(meeting.voteExpiresAt, async () => {
await closeMeetingById(meeting.id);
});
return res.status(201).json(MeetingResponse.from(meeting)); return res.status(201).json(MeetingResponse.from(meeting));
} catch (error) { } catch (error) {
return next(error); return next(error);
......
...@@ -64,7 +64,7 @@ function validateMeetingIsNotClosed(meeting) { ...@@ -64,7 +64,7 @@ function validateMeetingIsNotClosed(meeting) {
} }
const closeMeetingById = async (meetingId) => { const closeMeetingById = async (meetingId) => {
const meeting = await getMeetingById(meetingId); const meeting = await getMeetingWithParticipantsById(meetingId);
validateMeetingIsNotClosed(meeting); validateMeetingIsNotClosed(meeting);
meeting.isClosed = true; meeting.isClosed = true;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment