From 03379f46346c8c9491c6cfa08aed3a43fad2a428 Mon Sep 17 00:00:00 2001
From: Wo-ogie <siwall0105@gmail.com>
Date: Thu, 30 Nov 2023 21:47:18 +0900
Subject: [PATCH] =?UTF-8?q?feat:=20=EC=95=BD=EC=86=8D(`meeting`)=20model?=
 =?UTF-8?q?=EC=97=90=20=ED=88=AC=ED=91=9C=20=EA=B0=80=EB=8A=A5=20=EB=B2=94?=
 =?UTF-8?q?=EC=9C=84=EC=97=90=20=EB=8C=80=ED=95=9C=20=ED=95=84=EB=93=9C=20?=
 =?UTF-8?q?=EC=B6=94=EA=B0=80?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 controllers/meeting.js                          |  2 ++
 dto/response/meetingResponse.js                 |  6 ++++++
 dto/response/meetingWithParticipantsResponse.js |  6 ++++++
 models/meeting.js                               | 10 ++++++++++
 4 files changed, 24 insertions(+)

diff --git a/controllers/meeting.js b/controllers/meeting.js
index 9becfea..d4ce8d4 100644
--- a/controllers/meeting.js
+++ b/controllers/meeting.js
@@ -120,6 +120,8 @@ exports.createMeeting = async (req, res, next) => {
       purpose: req.body.purpose,
       startDate: req.body.startDate,
       endDate: req.body.endDate,
+      availableVotingStartTime: req.body.availableVotingStartTime,
+      availableVotingEndTime: req.body.availableVotingEndTime,
       maxParticipants: req.body.maxParticipants,
       voteExpiresAt: req.body.voteExpiresAt,
     });
diff --git a/dto/response/meetingResponse.js b/dto/response/meetingResponse.js
index ad7505a..2e020f4 100644
--- a/dto/response/meetingResponse.js
+++ b/dto/response/meetingResponse.js
@@ -5,6 +5,8 @@ class MeetingResponse {
     purpose,
     startDate,
     endDate,
+    availableVotingStartTime,
+    availableVotingEndTime,
     maxParticipants,
     voteExpiresAt,
     isClosed,
@@ -15,6 +17,8 @@ class MeetingResponse {
     this.purpose = purpose;
     this.startDate = startDate;
     this.endDate = endDate;
+    this.availableVotingStartTime = availableVotingStartTime;
+    this.availableVotingEndTime = availableVotingEndTime;
     this.maxParticipants = maxParticipants;
     this.voteExpiresAt = voteExpiresAt;
     this.isClosed = isClosed;
@@ -28,6 +32,8 @@ class MeetingResponse {
       meeting.purpose,
       meeting.startDate,
       meeting.endDate,
+      meeting.availableVotingStartTime,
+      meeting.availableVotingEndTime,
       meeting.maxParticipants,
       meeting.voteExpiresAt,
       meeting.isClosed,
diff --git a/dto/response/meetingWithParticipantsResponse.js b/dto/response/meetingWithParticipantsResponse.js
index 905a42a..e625beb 100644
--- a/dto/response/meetingWithParticipantsResponse.js
+++ b/dto/response/meetingWithParticipantsResponse.js
@@ -7,6 +7,8 @@ class MeetingWithParticipantsResponse {
     purpose,
     startDate,
     endDate,
+    availableVotingStartTime,
+    availableVotingEndTime,
     maxParticipants,
     voteExpiresAt,
     isClosed,
@@ -18,6 +20,8 @@ class MeetingWithParticipantsResponse {
     this.purpose = purpose;
     this.startDate = startDate;
     this.endDate = endDate;
+    this.availableVotingStartTime = availableVotingStartTime;
+    this.availableVotingEndTime = availableVotingEndTime;
     this.maxParticipants = maxParticipants;
     this.voteExpiresAt = voteExpiresAt;
     this.isClosed = isClosed;
@@ -32,6 +36,8 @@ class MeetingWithParticipantsResponse {
       meeting.purpose,
       meeting.startDate,
       meeting.endDate,
+      meeting.availableVotingStartTime,
+      meeting.availableVotingEndTime,
       meeting.maxParticipants,
       meeting.voteExpiresAt,
       meeting.isClosed,
diff --git a/models/meeting.js b/models/meeting.js
index d22491c..eb21ed2 100644
--- a/models/meeting.js
+++ b/models/meeting.js
@@ -30,6 +30,16 @@ class Meeting extends Sequelize.Model {
           type: Sequelize.DATEONLY,
           allowNull: false,
         },
+        availableVotingStartTime: {
+          type: Sequelize.TIME,
+          allowNull: false,
+          defaultValue: '00:00:00',
+        },
+        availableVotingEndTime: {
+          type: Sequelize.TIME,
+          allowNull: false,
+          defaultValue: '23:59:00',
+        },
         maxParticipants: {
           type: Sequelize.INTEGER.UNSIGNED,
           allowNull: true,
-- 
GitLab