From 04fd4e448f4960ca95be3e517b718d7bcc5db039 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, 6 Dec 2024 10:10:55 +0900
Subject: [PATCH] =?UTF-8?q?refactor:=20=EC=8A=A4=EC=BC=80=EC=A4=84=20?=
 =?UTF-8?q?=EC=BB=A8=ED=8A=B8=EB=A1=A4=EB=9F=AC=EC=97=90=20=EC=84=B1?=
 =?UTF-8?q?=EB=8A=A5=20=EC=B8=A1=EC=A0=95=20=EB=AA=A8=EB=8B=88=ED=84=B0=20?=
 =?UTF-8?q?=EC=B6=94=EA=B0=80=20(#23)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 controllers/scheduleController.js | 115 +++++++++++++++++-------------
 1 file changed, 64 insertions(+), 51 deletions(-)

diff --git a/controllers/scheduleController.js b/controllers/scheduleController.js
index 0f45d89..8d19711 100644
--- a/controllers/scheduleController.js
+++ b/controllers/scheduleController.js
@@ -1,6 +1,7 @@
 // controllers/scheduleController.js
 const ScheduleService = require('../services/scheduleService');
 const ScheduleRequestDTO = require('../dtos/ScheduleRequestDTO');
+const performanceMonitor = require('../utils/performanceMonitor');
 
 class scheduleController {
     /**
@@ -21,20 +22,21 @@ class scheduleController {
      */
     async createSchedule(req, res) {
         try {
-            const userId = req.user.id;
-            const scheduleRequestDTO = new ScheduleRequestDTO(req.body);
-            const validatedData = scheduleRequestDTO.validate('create');
+            return await performanceMonitor.measureAsync('createSchedule', async () => {
+                const userId = 49;
+                // const userId = req.user.id;
+                const scheduleRequestDTO = new ScheduleRequestDTO(req.body);
+                const validatedData = scheduleRequestDTO.validate('create');
 
-            const schedule = await ScheduleService.createSchedules({
-                userId,
-                ...validatedData
-            });
+                const schedule = await ScheduleService.createSchedules({
+                    userId,
+                    ...validatedData
+                });
 
-            return res.status(201).json({
-                success: true,
-                data: {
-                    schedule
-                }
+                return res.status(201).json({
+                    success: true,
+                    data: { schedule }
+                });
             });
         } catch (error) {
             return res.status(400).json({
@@ -61,17 +63,18 @@ class scheduleController {
      */
     async updateSchedules(req, res) {
         try {
-            const userId = req.user.id;
-            const scheduleRequestDTO = new ScheduleRequestDTO(req.body);
-            const validatedData = scheduleRequestDTO.validate('bulk_update');
-
-            const updatedSchedule = await ScheduleService.updateSchedules(userId, validatedData);
-            
-            return res.status(200).json({
-                success: true,
-                data: {
-                    schedule: updatedSchedule
-                }
+            return await performanceMonitor.measureAsync('updateSchedules', async () => {
+                // const userId = req.user.id;
+                const userId = 49;
+                const scheduleRequestDTO = new ScheduleRequestDTO(req.body);
+                const validatedData = scheduleRequestDTO.validate('bulk_update');
+
+                const updatedSchedule = await ScheduleService.updateSchedules(userId, validatedData);
+
+                return res.status(200).json({
+                    success: true,
+                    data: { schedule: updatedSchedule }
+                });
             });
         } catch (error) {
             if (error.message === 'Schedule not found') {
@@ -104,17 +107,22 @@ class scheduleController {
      */
     async deleteSchedules(req, res) {
         try {
-            const userId = req.user.id;
-            const scheduleRequestDTO = new ScheduleRequestDTO(req.body);
-            const validatedData = scheduleRequestDTO.validate('bulk_delete');
-            const result = await ScheduleService.deleteSchedules(userId, validatedData.title);
-
-            return res.status(200).json({
-                success: true,
-                data: {
-                    message: 'Schedule successfully deleted',
-                    deletedCount: result.deletedCount
-                }
+            return await performanceMonitor.measureAsync('deleteSchedules', async () => {
+                // const userId = req.user.id;
+                const userId = 49;
+
+                const scheduleRequestDTO = new ScheduleRequestDTO(req.body);
+                const validatedData = scheduleRequestDTO.validate('bulk_delete');
+
+                const result = await ScheduleService.deleteSchedules(userId, validatedData.title);
+
+                return res.status(200).json({
+                    success: true,
+                    data: {
+                        message: 'Schedule successfully deleted',
+                        deletedCount: result.deletedCount
+                    }
+                });
             });
         } catch (error) {
             return res.status(404).json({
@@ -132,14 +140,16 @@ class scheduleController {
      */
     async getAllSchedules(req, res) {
         try {
-            const userId = req.user.id;
-            const schedules = await ScheduleService.getAllSchedules(userId);
+            return await performanceMonitor.measureAsync('getAllSchedules', async () => {
+                // const userId = req.user.id;
+                const userId = 49;
 
-            return res.status(200).json({
-                success: true,
-                data: {
-                    schedules
-                }
+                const schedules = await ScheduleService.getAllSchedules(userId);
+
+                return res.status(200).json({
+                    success: true,
+                    data: { schedules }
+                });
             });
         } catch (error) {
             return res.status(500).json({
@@ -159,18 +169,21 @@ class scheduleController {
      */
     async getScheduleByTimeIdx(req, res) {
         try {
-            const { time_idx } = req.params;
-            const userId = req.user.id;
+            return await performanceMonitor.measureAsync('getScheduleByTimeIdx', async () => {
+                const { time_idx } = req.params;
+                // const userId = req.user.id;
+                const userId = 49;
 
-            const scheduleRequestDTO = new ScheduleRequestDTO({ time_idx: parseInt(time_idx, 10) });
-            const validatedData = scheduleRequestDTO.validate('get_by_time_idx');
-            const schedule = await ScheduleService.getScheduleByTimeIdx(userId, validatedData.time_idx);
+                
+                const scheduleRequestDTO = new ScheduleRequestDTO({ time_idx: parseInt(time_idx, 10) });
+                const validatedData = scheduleRequestDTO.validate('get_by_time_idx');
 
-            return res.status(200).json({
-                success: true,
-                data: {
-                    schedule
-                }
+                const schedule = await ScheduleService.getScheduleByTimeIdx(userId, validatedData.time_idx);
+
+                return res.status(200).json({
+                    success: true,
+                    data: { schedule }
+                });
             });
         } catch (error) {
             if (error.message === 'Schedule not found') {
-- 
GitLab