diff --git a/services/meetingService.js b/services/meetingService.js index bc7b7f784f9027f83f0ae5f777e50384c0a82e1d..d96dc3f6e9e2c38de4732f30aa729458a383d33e 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 e9700e480b3afd25eb9dedf1bd0f69358f9a07ef..b5cd9cd4578efb9e2d563d6edf3fb9052a3e84d0 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 };