기능구현중

This commit is contained in:
2026-01-11 17:01:01 +09:00
parent 375d5bf91a
commit 954ba21211
148 changed files with 2276 additions and 0 deletions

View File

@@ -0,0 +1,67 @@
import { query } from '../../utils/db'
/**
* 저장소 목록 조회
* GET /api/repository/list
*/
export default defineEventHandler(async (event) => {
const params = getQuery(event)
const projectId = params.projectId ? Number(params.projectId) : null
const serverId = params.serverId ? Number(params.serverId) : null
const includeInactive = params.includeInactive === 'true'
const conditions: string[] = []
const values: any[] = []
let paramIndex = 1
if (projectId) {
conditions.push(`r.project_id = $${paramIndex++}`)
values.push(projectId)
}
if (serverId) {
conditions.push(`r.server_id = $${paramIndex++}`)
values.push(serverId)
}
if (!includeInactive) {
conditions.push('r.is_active = true')
}
const whereClause = conditions.length > 0 ? `WHERE ${conditions.join(' AND ')}` : ''
const repos = await query(`
SELECT
r.*,
s.server_name,
s.server_type,
p.project_name,
e.employee_name as created_by_name
FROM wr_repository r
JOIN wr_vcs_server s ON r.server_id = s.server_id
LEFT JOIN wr_project_info p ON r.project_id = p.project_id
LEFT JOIN wr_employee_info e ON r.created_by = e.employee_id
${whereClause}
ORDER BY r.repo_name
`, values)
return {
repositories: repos.map((r: any) => ({
repoId: r.repo_id,
serverId: r.server_id,
serverName: r.server_name,
serverType: r.server_type,
projectId: r.project_id,
projectName: r.project_name,
repoName: r.repo_name,
repoPath: r.repo_path,
repoUrl: r.repo_url,
defaultBranch: r.default_branch,
description: r.description,
isActive: r.is_active,
lastSyncAt: r.last_sync_at,
createdAt: r.created_at,
createdByName: r.created_by_name
}))
}
})