import { queryOne, query } from '../../../utils/db' /** * 직원 상세 조회 * GET /api/employee/[id]/detail */ export default defineEventHandler(async (event) => { const employeeId = getRouterParam(event, 'id') const currentHistoryId = getCookie(event, 'login_history_id') const employee = await queryOne(` SELECT * FROM wr_employee_info WHERE employee_id = $1 `, [employeeId]) if (!employee) { throw createError({ statusCode: 404, message: '직원을 찾을 수 없습니다.' }) } // 로그인 이력 조회 (최근 20건) const loginHistory = await query(` SELECT history_id, login_at, login_ip, logout_at, logout_ip FROM wr_login_history WHERE employee_id = $1 ORDER BY login_at DESC LIMIT 20 `, [employeeId]) return { employee: { employeeId: employee.employee_id, employeeName: employee.employee_name, employeeEmail: employee.employee_email, employeePhone: employee.employee_phone, employeePosition: employee.employee_position, company: employee.company, joinDate: employee.join_date, isActive: employee.is_active, createdAt: employee.created_at, updatedAt: employee.updated_at }, loginHistory: loginHistory.map(h => ({ historyId: h.history_id, loginAt: h.login_at, loginIp: h.login_ip, logoutAt: h.logout_at, logoutIp: h.logout_ip, // 현재 세션인지 여부 isCurrentSession: currentHistoryId && h.history_id === parseInt(currentHistoryId) })) } })