From f4359f427c7dbaa8b9c00e3b0319fe43b9eae772 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: Mon, 9 Dec 2024 13:16:41 +0900
Subject: [PATCH] =?UTF-8?q?refactor:=20=EB=AC=B8=EC=9E=90=EC=97=B4=20->=20?=
 =?UTF-8?q?=EC=A0=95=EC=88=98=20=EB=B3=80=ED=99=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 services/meetingService.js  |  4 ++--
 services/scheduleService.js | 25 ++++++++++---------------
 2 files changed, 12 insertions(+), 17 deletions(-)

diff --git a/services/meetingService.js b/services/meetingService.js
index bc7b7f7..d96dc3f 100644
--- a/services/meetingService.js
+++ b/services/meetingService.js
@@ -119,8 +119,8 @@ class MeetingService {
             );
 
             const time_indices = Array.from(
-                { length: time_idx_end - time_idx_start + 1 },
-                (_, i) => time_idx_start + i
+                { length: parseInt(time_idx_end) - parseInt(time_idx_start) + 1 },
+                (_, i) => (parseInt(time_idx_start) + i).toString()
             );
             await ScheduleService.createSchedules({
                 userId: created_by,
diff --git a/services/scheduleService.js b/services/scheduleService.js
index e9700e4..b5cd9cd 100644
--- a/services/scheduleService.js
+++ b/services/scheduleService.js
@@ -10,11 +10,17 @@ class ScheduleService {
      * @param {object} [transaction] - Sequelize �몃옖��뀡 媛앹껜 -> 誘명똿諛⑹뿉�� �곌린�꾪빐 �몃옖��뀡�� �섍꺼諛쏅뒗嫄� 異붽� 
      */
     async createSchedules({ userId, title, is_fixed, time_indices }, transaction = null) {
+        const parsedTimeIndices = time_indices.map(idx => parseInt(idx, 10));
+
+        if (!userId || !title || !parsedTimeIndices.length) {
+            throw new Error('Required parameters missing');
+        }
+
         const overlaps = await Schedule.findAll({
             where: {
                 user_id: userId,
                 time_idx: {
-                    [Op.in]: time_indices
+                    [Op.in]: parsedTimeIndices
                 }
             },
             transaction
@@ -24,25 +30,14 @@ class ScheduleService {
             throw new Error(`Schedule overlaps at time_idx ${overlaps[0].time_idx}`);
         }
 
-        const scheduleData = time_indices.map(time_idx => ({
+        const scheduleData = parsedTimeIndices.map(time_idx => ({
             user_id: userId,
             title,
-            time_idx: parseInt(time_idx, 10),
+            time_idx,
             is_fixed
         }));
 
         try {
-            if (!userId || !title || !time_indices) {
-                throw new Error('Required parameters missing');
-            }
-    
-            console.log('Creating schedule with data:', {
-                userId,
-                title,
-                is_fixed,
-                time_indices
-            });
-
             const createdSchedules = await Schedule.bulkCreate(scheduleData, {
                 transaction,
                 returning: true,
@@ -54,7 +49,7 @@ class ScheduleService {
                 user_id: userId,
                 title,
                 is_fixed,
-                time_indices,
+                time_indices: parsedTimeIndices,
                 createdAt: createdSchedules[0].createdAt,
                 updatedAt: createdSchedules[0].updatedAt
             };
-- 
GitLab