38 lines
1008 B
TypeScript
38 lines
1008 B
TypeScript
import { query } from '../../utils/db'
|
|
|
|
/**
|
|
* VCS 서버 목록 조회
|
|
* GET /api/vcs-server/list
|
|
*/
|
|
export default defineEventHandler(async (event) => {
|
|
const params = getQuery(event)
|
|
const includeInactive = params.includeInactive === 'true'
|
|
|
|
const conditions = includeInactive ? [] : ['is_active = true']
|
|
const whereClause = conditions.length > 0 ? `WHERE ${conditions.join(' AND ')}` : ''
|
|
|
|
const servers = await query(`
|
|
SELECT
|
|
s.*,
|
|
e.employee_name as created_by_name
|
|
FROM wr_vcs_server s
|
|
LEFT JOIN wr_employee_info e ON s.created_by = e.employee_id
|
|
${whereClause}
|
|
ORDER BY s.server_name
|
|
`, [])
|
|
|
|
return {
|
|
servers: servers.map((s: any) => ({
|
|
serverId: s.server_id,
|
|
serverName: s.server_name,
|
|
serverType: s.server_type,
|
|
serverUrl: s.server_url,
|
|
description: s.description,
|
|
isActive: s.is_active,
|
|
createdAt: s.created_at,
|
|
updatedAt: s.updated_at,
|
|
createdByName: s.created_by_name
|
|
}))
|
|
}
|
|
})
|