refactor: 백엔드를 프로젝트 우선 구조로 이전 (업무·멤버·활동·저장소)
저장소=프로젝트 1:1 구조를 프로젝트 우선 + 프로젝트 1:N 저장소로 이전(2단계). - Activity: repo FK → project FK, listForProject, /projects/:projectId/activity - Repo: project FK 추가, RepoMember 폐지(멤버십은 프로젝트), /projects/:projectId/repos 로 이동 - Task: project 종속(seq=프로젝트 내 순번 @Unique[project,seq]), 권한=ProjectMember, /projects/:projectId/tasks - RepoService: 프로젝트 종속(멤버·업무카운트·캐시 제거), 권한은 ProjectService 위임 - RepoSyncService: Gitea import → "미분류" 시스템 프로젝트로 연결, import-admin 로직 제거 - AiService: 컨텍스트·추천을 프로젝트 기준으로 - 삭제: repo-member 엔티티/멤버 서비스·컨트롤러/repo-cache - 알림 payload repoId/repoName → projectId/projectName 검증: build/lint 0, 14 tests. 잔여(후속): ProjectResponse 카운트 집계·멤버 활동/알림 배선. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -61,4 +61,8 @@ Project (이름/설명/공개범위) ← 작업의 기본 단위(
|
||||
- [ ] 문서(api-contract.md)·메모리 갱신, 잔여 UI 정리, 런타임 점검.
|
||||
|
||||
## 5. 진행 로그
|
||||
- (작성됨) Phase 0: 계획 수립. 다음 = Phase 1 백엔드.
|
||||
- Phase 0: 계획 수립 ✅
|
||||
- Phase 1-a: Project/ProjectMember 모듈 기반(엔티티·서비스·컨트롤러·"미분류" 부팅) ✅ (커밋 2f66cdd)
|
||||
- Phase 1-b: 백엔드 이전 ✅ — Activity(project FK·listForProject)·Repo(project FK, RepoMember 폐지)·Task(project 종속, seq 프로젝트 내 순번, 권한=ProjectMember) 전환. RepoService 프로젝트 종속(`/projects/:projectId/repos`, 멤버·업무카운트·캐시 제거). Task/Activity 컨트롤러 `/projects/...`. RepoSync→"미분류". AiService 프로젝트 컨텍스트. member.service/controller·repo-member·repo-cache 삭제. 검증 build/lint 0·14 tests.
|
||||
- **Phase 1 잔여(소소, 후속)**: ProjectResponse 카운트(repoCount/doneCount/totalCount 현재 0 stub) 집계 배선, ProjectMemberService 활동·알림 배선(TODO), TaskService.assigneeCounts→ProjectMemberService taskCount 연결.
|
||||
- 다음 = Phase 2 프론트.
|
||||
|
||||
Reference in New Issue
Block a user