import { insertReturning } from '../../utils/db' import { getCurrentUserId } from '../../utils/user' interface CreateBody { serverName: string serverType: string // git | svn serverUrl: string description?: string } /** * VCS 서버 등록 * POST /api/vcs-server/create */ export default defineEventHandler(async (event) => { const body = await readBody(event) const userId = await getCurrentUserId(event) if (!body.serverName?.trim()) { throw createError({ statusCode: 400, message: '서버명을 입력해주세요.' }) } if (!body.serverType || !['git', 'svn'].includes(body.serverType)) { throw createError({ statusCode: 400, message: '서버 유형을 선택해주세요 (git/svn).' }) } if (!body.serverUrl?.trim()) { throw createError({ statusCode: 400, message: '서버 URL을 입력해주세요.' }) } const result = await insertReturning(` INSERT INTO wr_vcs_server (server_name, server_type, server_url, description, is_active, created_by) VALUES ($1, $2, $3, $4, true, $5) RETURNING * `, [ body.serverName.trim(), body.serverType, body.serverUrl.trim(), body.description || null, userId ]) return { success: true, server: { serverId: result.server_id, serverName: result.server_name, serverType: result.server_type, serverUrl: result.server_url } } })