From 0639c08d06d266344389265ac4f08c6c5c564ffd 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: Thu, 14 Nov 2024 23:17:10 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20=EC=82=AC=EC=9A=A9=EC=9E=90=20=ED=8A=B9?= =?UTF-8?q?=EC=A0=95=20=EC=8A=A4=EC=BC=80=EC=A4=84=20=EC=A1=B0=ED=9A=8C=20?= =?UTF-8?q?(#5)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- services/scheduleService.js | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/services/scheduleService.js b/services/scheduleService.js index f90362d..ce19f53 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 -- GitLab