Files
weeklyreport/backend/api/auth/select-user.post.ts
2026-01-04 17:24:47 +09:00

50 lines
1.2 KiB
TypeScript

import { queryOne, execute } from '../../utils/db'
interface SelectUserBody {
employeeId: number
}
/**
* 기존 사용자 선택 로그인
* POST /api/auth/select-user
*/
export default defineEventHandler(async (event) => {
const body = await readBody<SelectUserBody>(event)
if (!body.employeeId) {
throw createError({ statusCode: 400, message: '사용자를 선택해주세요.' })
}
// 사원 조회
const employee = await queryOne<any>(`
SELECT * FROM wr_employee_info
WHERE employee_id = $1 AND is_active = true
`, [body.employeeId])
if (!employee) {
throw createError({ statusCode: 404, message: '사용자를 찾을 수 없습니다.' })
}
// 로그인 이력 추가
await execute(`
INSERT INTO wr_login_history (employee_id) VALUES ($1)
`, [employee.employee_id])
// 쿠키 설정
setCookie(event, 'user_id', String(employee.employee_id), {
httpOnly: true,
maxAge: 60 * 60 * 24 * 7,
path: '/'
})
return {
success: true,
user: {
employeeId: employee.employee_id,
employeeName: employee.employee_name,
employeeEmail: employee.employee_email,
employeePosition: employee.employee_position
}
}
})