Files
weeklyreport/backend/api/maintenance/[id]/delete.delete.ts

37 lines
1021 B
TypeScript

import { queryOne, execute } from '../../../utils/db'
/**
* 유지보수 업무 삭제
* DELETE /api/maintenance/[id]/delete
*/
export default defineEventHandler(async (event) => {
const taskId = Number(getRouterParam(event, 'id'))
if (!taskId) {
throw createError({ statusCode: 400, message: '업무 ID가 필요합니다.' })
}
const existing = await queryOne(`
SELECT task_id, weekly_report_id FROM wr_maintenance_task WHERE task_id = $1
`, [taskId])
if (!existing) {
throw createError({ statusCode: 404, message: '업무를 찾을 수 없습니다.' })
}
// 주간보고에 연계된 경우 경고
if (existing.weekly_report_id) {
throw createError({
statusCode: 400,
message: '주간보고에 연계된 업무입니다. 연계 해제 후 삭제하세요.'
})
}
await execute(`DELETE FROM wr_maintenance_task WHERE task_id = $1`, [taskId])
return {
success: true,
message: '유지보수 업무가 삭제되었습니다.'
}
})