From 360e88be6224c6e47f6c2866f0e0c2058e0295a1 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:46:52 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20=EC=8A=A4=EC=BC=80=EC=A4=84=20=EC=83=9D?= =?UTF-8?q?=EC=84=B1=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 | 39 +++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/controllers/scheduleController.js b/controllers/scheduleController.js index e69de29..9233af6 100644 --- a/controllers/scheduleController.js +++ b/controllers/scheduleController.js @@ -0,0 +1,39 @@ +const ScheduleService = require('../services/scheduleService'); + +class scheduleController { + /** + * 스케줄 생성 + * POST /api/schedules + * 해당 사용자 id는 auth 미들웨어에서 설정된 사용자 정보 이용 + * req.user = User 모델의 인스턴스 + */ + async createSchedule(req, res) { + try { + const userId = req.user.id; + const { title, start_time, end_time, is_fixed } = req.body; + + const schedule = await ScheduleService.createSchedule({ + userId, + title, + start_time, + end_time, + is_fixed + }); + + return res.status(201).json({ + success: true, + data: { + schedule + } + }); + } catch (error) { + return res.status(400).json({ + success: false, + error: { + message: error.message, + code: 'SCHEDULE_CREATE_ERROR' + } + }); + } + } +} \ No newline at end of file -- GitLab