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

31 lines
842 B
TypeScript

import { queryOne, execute } from '../../../utils/db'
/**
* 회의록 삭제
* DELETE /api/meeting/[id]/delete
*/
export default defineEventHandler(async (event) => {
const meetingId = Number(getRouterParam(event, 'id'))
if (!meetingId) {
throw createError({ statusCode: 400, message: '회의록 ID가 필요합니다.' })
}
// 회의록 존재 확인
const existing = await queryOne(`
SELECT meeting_id FROM wr_meeting WHERE meeting_id = $1
`, [meetingId])
if (!existing) {
throw createError({ statusCode: 404, message: '회의록을 찾을 수 없습니다.' })
}
// CASCADE 설정으로 참석자, 안건도 함께 삭제됨
await execute(`DELETE FROM wr_meeting WHERE meeting_id = $1`, [meetingId])
return {
success: true,
message: '회의록이 삭제되었습니다.'
}
})