31 lines
842 B
TypeScript
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: '회의록이 삭제되었습니다.'
|
|
}
|
|
})
|