From fbd8ba427f8a4731bc2a376563b53a8a67fac2e0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=EC=A1=B0=EB=8C=80=ED=9D=AC?= <joedaehui@ajou.ac.kr>
Date: Tue, 26 Nov 2024 16:43:45 +0900
Subject: [PATCH] =?UTF-8?q?refactor:=20=EB=AF=B8=ED=8C=85=20=EC=83=9D?=
 =?UTF-8?q?=EC=84=B1=EC=9E=90=EC=9D=98=20=EC=8A=A4=EC=BC=80=EC=A4=84=20?=
 =?UTF-8?q?=ED=99=95=EC=9D=B8=20=EB=A1=9C=EC=A7=81=20=EC=B6=94=EA=B0=80=20?=
 =?UTF-8?q?(#19)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 services/meetingService.js | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/services/meetingService.js b/services/meetingService.js
index 5cfe533..0742e55 100644
--- a/services/meetingService.js
+++ b/services/meetingService.js
@@ -62,6 +62,15 @@ class MeetingService {
             throw new Error('스케줄이 겹칩니다. 다른 시간을 선택해주세요.');
         }
 
+        const hasConflict = await ScheduleService.checkScheduleOverlapByTime(
+            created_by,
+            time_idx_start,
+            time_idx_end
+        );
+        if (hasConflict) {
+            throw new Error('해당 시간에 이미 다른 스케줄이 있습니다.');
+        }
+
         // 트랜잭션을 사용하여 모임 생성과 스케줄 추가를 원자적으로 처리
         return await Meeting.sequelize.transaction(async (transaction) => {
             const chatRoomData = this._constructChatRoomData(title, user, userFcmTokens);
-- 
GitLab