import { query } from '../../utils/db' /** * 프로젝트 목록 조회 * GET /api/project/list */ export default defineEventHandler(async (event) => { const queryParams = getQuery(event) const status = queryParams.status as string || null let sql = ` SELECT p.*, (SELECT employee_name FROM wr_employee_info e JOIN wr_project_manager_history pm ON e.employee_id = pm.employee_id WHERE pm.project_id = p.project_id AND pm.role_type = 'PM' AND (pm.end_date IS NULL OR pm.end_date >= CURRENT_DATE) LIMIT 1) as pm_name, (SELECT employee_name FROM wr_employee_info e JOIN wr_project_manager_history pm ON e.employee_id = pm.employee_id WHERE pm.project_id = p.project_id AND pm.role_type = 'PL' AND (pm.end_date IS NULL OR pm.end_date >= CURRENT_DATE) LIMIT 1) as pl_name FROM wr_project_info p ` const params: any[] = [] if (status) { sql += ' WHERE p.project_status = $1' params.push(status) } sql += ' ORDER BY p.created_at DESC' const projects = await query(sql, params) return { projects: projects.map((p: any) => ({ projectId: p.project_id, projectCode: p.project_code, projectName: p.project_name, clientName: p.client_name, projectDescription: p.project_description, startDate: p.start_date, endDate: p.end_date, contractAmount: p.contract_amount, projectStatus: p.project_status, pmName: p.pm_name, plName: p.pl_name, createdAt: p.created_at })) } })