Files
weeklyreport/backend/api/vcs-server/[id]/delete.delete.ts

25 lines
999 B
TypeScript

import { execute, queryOne, query } from '../../../utils/db'
/**
* VCS 서버 삭제
* DELETE /api/vcs-server/[id]/delete
*/
export default defineEventHandler(async (event) => {
const serverId = Number(getRouterParam(event, 'id'))
const existing = await queryOne('SELECT * FROM wr_vcs_server WHERE server_id = $1', [serverId])
if (!existing) {
throw createError({ statusCode: 404, message: 'VCS 서버를 찾을 수 없습니다.' })
}
// 연결된 계정이 있는지 확인
const accounts = await query('SELECT COUNT(*) as cnt FROM wr_employee_vcs_account WHERE server_id = $1', [serverId])
if (parseInt(accounts[0]?.cnt) > 0) {
throw createError({ statusCode: 400, message: '연결된 VCS 계정이 있어 삭제할 수 없습니다. 먼저 계정을 삭제하거나 비활성화해주세요.' })
}
await execute('DELETE FROM wr_vcs_server WHERE server_id = $1', [serverId])
return { success: true, message: 'VCS 서버가 삭제되었습니다.' }
})