From 24b9c99271ea9149be464ee1127c39d155cde065 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: Fri, 15 Nov 2024 10:52:48 +0900
Subject: [PATCH] =?UTF-8?q?feat:=20=EC=8A=A4=EC=BC=80=EC=A4=84=20=EC=88=98?=
 =?UTF-8?q?=EC=A0=95=20=EC=BB=A8=ED=8A=B8=EB=A1=A4=EB=9F=AC=20(#6)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 controllers/scheduleController.js | 43 ++++++++++++++++++++++++++++++-
 1 file changed, 42 insertions(+), 1 deletion(-)

diff --git a/controllers/scheduleController.js b/controllers/scheduleController.js
index 9233af6..1d3bb93 100644
--- a/controllers/scheduleController.js
+++ b/controllers/scheduleController.js
@@ -1,9 +1,10 @@
+const { success } = require('../passport/googleStrategy');
 const ScheduleService = require('../services/scheduleService');
 
 class scheduleController {
     /**
      * 스케줄 생성
-     * POST /api/schedules
+     * POST /api/schedule
      * 해당 사용자 id는 auth 미들웨어에서 설정된 사용자 정보 이용
      * req.user = User 모델의 인스턴스
      */
@@ -36,4 +37,44 @@ class scheduleController {
             });
         }
     }
+
+    /**
+     * 스케줄 수정
+     * PUT /api/schedule/:id
+     */
+    async updateSchedule(req, res) {
+        try {
+            const { id } = req.params;
+            const { title, start_time, end_time } = req.body;
+
+            const userId = req.user.id;
+            const schedule = await ScheduleService.updateSchedule(id, userId, 
+                {
+                    title,
+                    start_time,
+                    end_time
+                });
+            
+            return res.statu(200).json({
+                success: true,
+                data: schedule
+            });
+        } catch (error) {
+            if (error.message === 'Schedule not found') {
+                return res.status(404).json({
+                    success: false,
+                    error: {
+                        message: error.message,
+                        code: 'SCHEDULE_NOT_FOUND'
+                    }
+                });
+            }
+            return res.status(400).json({
+                success: false,
+                error: {
+                    message: error.message,
+                    code: 'SCHEDULE_UPDATE_ERROR'
+                }
+            });
+    }
 }
\ No newline at end of file
-- 
GitLab