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