Skip to content
Snippets Groups Projects
Commit 04fd4e44 authored by 조대희's avatar 조대희
Browse files

refactor: 스케줄 컨트롤러에 성능 측정 모니터 추가 (#23)

parent 205af153
No related branches found
No related tags found
2 merge requests!42[#25] 배포코드 master브랜치로 이동,!36[#23] 스케줄 로직 리팩토링
// controllers/scheduleController.js // controllers/scheduleController.js
const ScheduleService = require('../services/scheduleService'); const ScheduleService = require('../services/scheduleService');
const ScheduleRequestDTO = require('../dtos/ScheduleRequestDTO'); const ScheduleRequestDTO = require('../dtos/ScheduleRequestDTO');
const performanceMonitor = require('../utils/performanceMonitor');
class scheduleController { class scheduleController {
/** /**
...@@ -21,7 +22,9 @@ class scheduleController { ...@@ -21,7 +22,9 @@ class scheduleController {
*/ */
async createSchedule(req, res) { async createSchedule(req, res) {
try { try {
const userId = req.user.id; return await performanceMonitor.measureAsync('createSchedule', async () => {
const userId = 49;
// const userId = req.user.id;
const scheduleRequestDTO = new ScheduleRequestDTO(req.body); const scheduleRequestDTO = new ScheduleRequestDTO(req.body);
const validatedData = scheduleRequestDTO.validate('create'); const validatedData = scheduleRequestDTO.validate('create');
...@@ -32,9 +35,8 @@ class scheduleController { ...@@ -32,9 +35,8 @@ class scheduleController {
return res.status(201).json({ return res.status(201).json({
success: true, success: true,
data: { data: { schedule }
schedule });
}
}); });
} catch (error) { } catch (error) {
return res.status(400).json({ return res.status(400).json({
...@@ -61,7 +63,9 @@ class scheduleController { ...@@ -61,7 +63,9 @@ class scheduleController {
*/ */
async updateSchedules(req, res) { async updateSchedules(req, res) {
try { try {
const userId = req.user.id; return await performanceMonitor.measureAsync('updateSchedules', async () => {
// const userId = req.user.id;
const userId = 49;
const scheduleRequestDTO = new ScheduleRequestDTO(req.body); const scheduleRequestDTO = new ScheduleRequestDTO(req.body);
const validatedData = scheduleRequestDTO.validate('bulk_update'); const validatedData = scheduleRequestDTO.validate('bulk_update');
...@@ -69,9 +73,8 @@ class scheduleController { ...@@ -69,9 +73,8 @@ class scheduleController {
return res.status(200).json({ return res.status(200).json({
success: true, success: true,
data: { data: { schedule: updatedSchedule }
schedule: updatedSchedule });
}
}); });
} catch (error) { } catch (error) {
if (error.message === 'Schedule not found') { if (error.message === 'Schedule not found') {
...@@ -104,9 +107,13 @@ class scheduleController { ...@@ -104,9 +107,13 @@ class scheduleController {
*/ */
async deleteSchedules(req, res) { async deleteSchedules(req, res) {
try { try {
const userId = req.user.id; return await performanceMonitor.measureAsync('deleteSchedules', async () => {
// const userId = req.user.id;
const userId = 49;
const scheduleRequestDTO = new ScheduleRequestDTO(req.body); const scheduleRequestDTO = new ScheduleRequestDTO(req.body);
const validatedData = scheduleRequestDTO.validate('bulk_delete'); const validatedData = scheduleRequestDTO.validate('bulk_delete');
const result = await ScheduleService.deleteSchedules(userId, validatedData.title); const result = await ScheduleService.deleteSchedules(userId, validatedData.title);
return res.status(200).json({ return res.status(200).json({
...@@ -116,6 +123,7 @@ class scheduleController { ...@@ -116,6 +123,7 @@ class scheduleController {
deletedCount: result.deletedCount deletedCount: result.deletedCount
} }
}); });
});
} catch (error) { } catch (error) {
return res.status(404).json({ return res.status(404).json({
success: false, success: false,
...@@ -132,14 +140,16 @@ class scheduleController { ...@@ -132,14 +140,16 @@ class scheduleController {
*/ */
async getAllSchedules(req, res) { async getAllSchedules(req, res) {
try { try {
const userId = req.user.id; return await performanceMonitor.measureAsync('getAllSchedules', async () => {
// const userId = req.user.id;
const userId = 49;
const schedules = await ScheduleService.getAllSchedules(userId); const schedules = await ScheduleService.getAllSchedules(userId);
return res.status(200).json({ return res.status(200).json({
success: true, success: true,
data: { data: { schedules }
schedules });
}
}); });
} catch (error) { } catch (error) {
return res.status(500).json({ return res.status(500).json({
...@@ -159,18 +169,21 @@ class scheduleController { ...@@ -159,18 +169,21 @@ class scheduleController {
*/ */
async getScheduleByTimeIdx(req, res) { async getScheduleByTimeIdx(req, res) {
try { try {
return await performanceMonitor.measureAsync('getScheduleByTimeIdx', async () => {
const { time_idx } = req.params; const { time_idx } = req.params;
const userId = req.user.id; // const userId = req.user.id;
const userId = 49;
const scheduleRequestDTO = new ScheduleRequestDTO({ time_idx: parseInt(time_idx, 10) }); const scheduleRequestDTO = new ScheduleRequestDTO({ time_idx: parseInt(time_idx, 10) });
const validatedData = scheduleRequestDTO.validate('get_by_time_idx'); const validatedData = scheduleRequestDTO.validate('get_by_time_idx');
const schedule = await ScheduleService.getScheduleByTimeIdx(userId, validatedData.time_idx); const schedule = await ScheduleService.getScheduleByTimeIdx(userId, validatedData.time_idx);
return res.status(200).json({ return res.status(200).json({
success: true, success: true,
data: { data: { schedule }
schedule });
}
}); });
} catch (error) { } catch (error) {
if (error.message === 'Schedule not found') { if (error.message === 'Schedule not found') {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment