feat: Gitea 조직 저장소 역방향 동기화 (기동 시·매시간 import)

- GiteaService.listOrgRepos(): 조직 저장소 페이지네이션 조회
- RepoSyncService: OnApplicationBootstrap(비차단) + @Cron(매시간) 동기화
  - 추가형 import(멤버 0명), 연동정보 backfill, Gitea 누락 시 giteaMissing 표기
- Repo.giteaMissing 컬럼 + RepoResponse/프론트 ApiRepo 노출
- GET /repos 를 '조직 저장소 전체'(findAll)로, 단건은 인증 사용자 열람 허용
- docs(api-contract·integration-progress) 2.6단계 반영

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-17 13:16:20 +09:00
parent 2b38e21188
commit ae385355b8
10 changed files with 314 additions and 34 deletions
+3
View File
@@ -21,6 +21,9 @@ export interface ApiRepo {
memberCount: number
doneCount: number
totalCount: number
cloneUrl: string | null // Gitea HTTPS clone URL (미연동 시 null)
htmlUrl: string | null // Gitea 웹 UI URL (미연동 시 null)
giteaMissing: boolean // Gitea 조직에서 사라진 저장소 표시(동기화로 갱신)
updatedAt: string
}