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