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