diff --git a/services/scheduleService.js b/services/scheduleService.js index f90362dc48da2e7afa4a3ef3bb0eab5e80420348..ce19f534568939c8a8c5483b4872405bc0a71c5a 100644 --- a/services/scheduleService.js +++ b/services/scheduleService.js @@ -103,6 +103,37 @@ class schedulService { throw new Error(`Failed to fetch schedules: ${error.message}`); } } + + /** + * 해당 사용자의 특정 스케줄 조회 + */ + async getScheduleById(id, userId) { + try { + const schedule = await Schedule.findOne({ + where: { + id, + user_id: userId, + [Op.or]: [ + { is_fixed: true }, + { + is_fixed: false, + expiry_date: { + [Op.gt]: new Date() + } + } + ] + } + }); + + if (!schedule) { + throw new Error('Schedule not found'); + } + + return schedule; + } catch (error) { + throw new Error(`Failed to fetch schedule: ${error.message}`); + } + } } \ No newline at end of file