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