import { query } from '../../../utils/db' import { getWeekInfo, formatWeekString } from '../../../utils/week-calc' /** * 이번 주 보고서 현황 조회 * GET /api/report/weekly/current-week */ export default defineEventHandler(async (event) => { const userId = getCookie(event, 'user_id') if (!userId) { throw createError({ statusCode: 401, message: '로그인이 필요합니다.' }) } const weekInfo = getWeekInfo() // 이번 주 내 보고서 목록 const reports = await query(` SELECT r.*, p.project_name, p.project_code FROM wr_weekly_report_detail r JOIN wr_project_info p ON r.project_id = p.project_id WHERE r.author_id = $1 AND r.report_year = $2 AND r.report_week = $3 ORDER BY p.project_name `, [parseInt(userId), weekInfo.year, weekInfo.week]) return { weekInfo: { year: weekInfo.year, week: weekInfo.week, weekString: formatWeekString(weekInfo.year, weekInfo.week), startDate: weekInfo.startDateStr, endDate: weekInfo.endDateStr }, reports: reports.map((r: any) => ({ reportId: r.report_id, projectId: r.project_id, projectName: r.project_name, projectCode: r.project_code, reportStatus: r.report_status, workDescription: r.work_description, planDescription: r.plan_description, issueDescription: r.issue_description, workHours: r.work_hours, updatedAt: r.updated_at })) } })