import { execute, queryOne } from '../../../utils/db' import { getClientIp } from '../../../utils/ip' import { getCurrentUserEmail } from '../../../utils/user' interface UpdateEmployeeBody { employeeName?: string employeePhone?: string employeePosition?: string company?: string joinDate?: string isActive?: boolean } /** * 직원 정보 수정 * PUT /api/employee/[id]/update */ export default defineEventHandler(async (event) => { const employeeId = getRouterParam(event, 'id') const body = await readBody(event) const clientIp = getClientIp(event) const userEmail = await getCurrentUserEmail(event) const existing = await queryOne(` SELECT * FROM wr_employee_info WHERE employee_id = $1 `, [employeeId]) if (!existing) { throw createError({ statusCode: 404, message: '직원을 찾을 수 없습니다.' }) } await execute(` UPDATE wr_employee_info SET employee_name = $1, employee_phone = $2, employee_position = $3, company = $4, join_date = $5, is_active = $6, updated_at = NOW(), updated_ip = $7, updated_email = $8 WHERE employee_id = $9 `, [ body.employeeName ?? existing.employee_name, body.employeePhone ?? existing.employee_phone, body.employeePosition ?? existing.employee_position, body.company ?? existing.company, body.joinDate ?? existing.join_date, body.isActive ?? existing.is_active, clientIp, userEmail, employeeId ]) return { success: true } })