Files
weeklyreport/backend/api/employee/[id]/update.put.ts
2026-01-04 17:24:47 +09:00

50 lines
1.3 KiB
TypeScript

import { execute, queryOne } from '../../../utils/db'
interface UpdateEmployeeBody {
employeeNumber?: string
employeeName?: string
employeePhone?: string
employeePosition?: string
joinDate?: string
isActive?: boolean
}
/**
* 사원 정보 수정
* PUT /api/employee/[id]/update
*/
export default defineEventHandler(async (event) => {
const employeeId = getRouterParam(event, 'id')
const body = await readBody<UpdateEmployeeBody>(event)
const existing = await queryOne<any>(`
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_number = $1,
employee_name = $2,
employee_phone = $3,
employee_position = $4,
join_date = $5,
is_active = $6,
updated_at = NOW()
WHERE employee_id = $7
`, [
body.employeeNumber ?? existing.employee_number,
body.employeeName ?? existing.employee_name,
body.employeePhone ?? existing.employee_phone,
body.employeePosition ?? existing.employee_position,
body.joinDate ?? existing.join_date,
body.isActive ?? existing.is_active,
employeeId
])
return { success: true }
})