작업계획서대로 진행
This commit is contained in:
53
backend/api/todo/[id]/detail.get.ts
Normal file
53
backend/api/todo/[id]/detail.get.ts
Normal file
@@ -0,0 +1,53 @@
|
||||
import { queryOne } from '../../../utils/db'
|
||||
|
||||
/**
|
||||
* TODO 상세 조회
|
||||
* GET /api/todo/[id]/detail
|
||||
*/
|
||||
export default defineEventHandler(async (event) => {
|
||||
const todoId = Number(getRouterParam(event, 'id'))
|
||||
|
||||
const todo = await queryOne(`
|
||||
SELECT
|
||||
t.*,
|
||||
p.project_name,
|
||||
m.meeting_title,
|
||||
a.employee_name as assignee_name,
|
||||
r.employee_name as reporter_name
|
||||
FROM wr_todo t
|
||||
LEFT JOIN wr_project_info p ON t.project_id = p.project_id
|
||||
LEFT JOIN wr_meeting m ON t.meeting_id = m.meeting_id
|
||||
LEFT JOIN wr_employee_info a ON t.assignee_id = a.employee_id
|
||||
LEFT JOIN wr_employee_info r ON t.reporter_id = r.employee_id
|
||||
WHERE t.todo_id = $1
|
||||
`, [todoId])
|
||||
|
||||
if (!todo) {
|
||||
throw createError({ statusCode: 404, message: 'TODO를 찾을 수 없습니다.' })
|
||||
}
|
||||
|
||||
return {
|
||||
todo: {
|
||||
todoId: todo.todo_id,
|
||||
todoTitle: todo.todo_title,
|
||||
todoContent: todo.todo_content,
|
||||
sourceType: todo.source_type,
|
||||
sourceId: todo.source_id,
|
||||
meetingId: todo.meeting_id,
|
||||
meetingTitle: todo.meeting_title,
|
||||
projectId: todo.project_id,
|
||||
projectName: todo.project_name,
|
||||
assigneeId: todo.assignee_id,
|
||||
assigneeName: todo.assignee_name,
|
||||
reporterId: todo.reporter_id,
|
||||
reporterName: todo.reporter_name,
|
||||
dueDate: todo.due_date,
|
||||
status: todo.status,
|
||||
priority: todo.priority,
|
||||
completedAt: todo.completed_at,
|
||||
weeklyReportId: todo.weekly_report_id,
|
||||
createdAt: todo.created_at,
|
||||
updatedAt: todo.updated_at
|
||||
}
|
||||
}
|
||||
})
|
||||
Reference in New Issue
Block a user