// /controllers/dailyIssueReportController.js const dailyIssueReportService = require('../services/dailyIssueReportService'); /** * 1. CREATE: 일일 이슈 보고서 생성 (Service Layer 사용) */ const createDailyIssueReport = async (req, res) => { try { // 프론트엔드에서 worker_ids로 보내주기로 약속함 const issueData = { ...req.body, worker_ids: req.body.worker_ids || req.body.worker_id }; const result = await dailyIssueReportService.createDailyIssueReportService(issueData); res.status(201).json({ success: true, ...result }); } catch (err) { console.error('💥 이슈 보고서 생성 컨트롤러 오류:', err); res.status(400).json({ success: false, error: err.message }); } }; /** * 2. READ BY DATE: 날짜별 이슈 조회 (Service Layer 사용) */ const getDailyIssuesByDate = async (req, res) => { try { const { date } = req.query; const issues = await dailyIssueReportService.getDailyIssuesByDateService(date); res.json(issues); } catch (err) { console.error('💥 이슈 보고서 조회 컨트롤러 오류:', err); res.status(500).json({ success: false, error: err.message }); } }; /** * 3. DELETE: 이슈 보고서 삭제 (Service Layer 사용) */ const removeDailyIssue = async (req, res) => { try { const { id } = req.params; const result = await dailyIssueReportService.removeDailyIssueService(id); res.json({ success: true, ...result }); } catch (err) { console.error('💥 이슈 보고서 삭제 컨트롤러 오류:', err); const statusCode = err.statusCode || 500; res.status(statusCode).json({ success: false, error: err.message }); } }; // 레거시 함수들은 더 이상 라우팅되지 않으므로 제거하거나 주석 처리 가능 // exports.getDailyIssueById = ... // exports.updateDailyIssue = ... module.exports = { createDailyIssueReport, getDailyIssuesByDate, removeDailyIssue, };