Skip to content

Commit dea633e

Browse files
robinjoonclaude
andauthored
refactor: TaskId를 common/domain에서 task/domain/model로 이동 (#27) (#29)
TaskId는 task BC에서만 사용되므로 "2개 이상 BC에서 사용하는 VO만 common/domain에 배치" 규칙에 따라 task BC 내부로 이동. Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 01ba9be commit dea633e

File tree

11 files changed

+28
-9
lines changed

11 files changed

+28
-9
lines changed

docs/layers/domain.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ value class TaskTitle(val value: String) {
2121
}
2222
```
2323

24-
BC간 공유 VO(MemberId, TaskId 등)는 `common/domain/`에 위치합니다.
24+
BC간 공유 VO(MemberId, GoalId 등)는 `common/domain/`에 위치합니다.
2525

2626
### Command
2727

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# TaskId 위치 수정 검증 체크리스트
2+
3+
## 필수 항목
4+
- [x] 아키텍처 원칙 준수 (common/domain에는 2개 이상 BC에서 사용하는 VO만 배치)
5+
- [x] 레이어 의존성 규칙 위반 없음
6+
- [x] 모든 테스트 통과
7+
- [x] 기존 테스트 깨지지 않음
8+
- [x] common/domain/TaskId.kt 삭제됨
9+
- [x] task/domain/model/TaskId.kt 생성됨
10+
- [x] 모든 import 경로 변경됨
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# TaskId 위치 수정 계획
2+
3+
> Issue: #27
4+
5+
## 단계
6+
7+
- [x] 1단계: TaskId를 task/domain/model/로 이동
8+
- [x] 2단계: common/domain/TaskId.kt 삭제
9+
- [x] 3단계: 모든 import 경로를 task.domain.model.TaskId로 변경
10+
- [x] 4단계: domain.md 문서에서 TaskId 공유 VO 언급 제거
11+
- [x] 5단계: 테스트 통과 확인

src/main/kotlin/kr/io/team/loop/task/domain/model/Task.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ package kr.io.team.loop.task.domain.model
33
import kotlinx.datetime.LocalDate
44
import kr.io.team.loop.common.domain.GoalId
55
import kr.io.team.loop.common.domain.MemberId
6-
import kr.io.team.loop.common.domain.TaskId
76
import java.time.Instant
87

98
data class Task(

src/main/kotlin/kr/io/team/loop/task/domain/model/TaskCommand.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ package kr.io.team.loop.task.domain.model
33
import kotlinx.datetime.LocalDate
44
import kr.io.team.loop.common.domain.GoalId
55
import kr.io.team.loop.common.domain.MemberId
6-
import kr.io.team.loop.common.domain.TaskId
76

87
sealed interface TaskCommand {
98
data class Create(

src/main/kotlin/kr/io/team/loop/common/domain/TaskId.kt renamed to src/main/kotlin/kr/io/team/loop/task/domain/model/TaskId.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package kr.io.team.loop.common.domain
1+
package kr.io.team.loop.task.domain.model
22

33
import kr.io.team.loop.common.domain.exception.InvalidInputException
44

src/main/kotlin/kr/io/team/loop/task/domain/repository/TaskRepository.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
package kr.io.team.loop.task.domain.repository
22

33
import kr.io.team.loop.common.domain.GoalId
4-
import kr.io.team.loop.common.domain.TaskId
54
import kr.io.team.loop.task.domain.model.Task
65
import kr.io.team.loop.task.domain.model.TaskCommand
6+
import kr.io.team.loop.task.domain.model.TaskId
77
import kr.io.team.loop.task.domain.model.TaskQuery
88

99
interface TaskRepository {

src/main/kotlin/kr/io/team/loop/task/infrastructure/persistence/ExposedTaskRepository.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@ package kr.io.team.loop.task.infrastructure.persistence
22

33
import kr.io.team.loop.common.domain.GoalId
44
import kr.io.team.loop.common.domain.MemberId
5-
import kr.io.team.loop.common.domain.TaskId
65
import kr.io.team.loop.task.domain.model.Task
76
import kr.io.team.loop.task.domain.model.TaskCommand
7+
import kr.io.team.loop.task.domain.model.TaskId
88
import kr.io.team.loop.task.domain.model.TaskQuery
99
import kr.io.team.loop.task.domain.model.TaskStatus
1010
import kr.io.team.loop.task.domain.model.TaskTitle

src/main/kotlin/kr/io/team/loop/task/presentation/datafetcher/TaskDataFetcher.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,10 @@ import kr.io.team.loop.codegen.types.UpdateTaskInput
1111
import kr.io.team.loop.common.config.Authorize
1212
import kr.io.team.loop.common.domain.GoalId
1313
import kr.io.team.loop.common.domain.MemberId
14-
import kr.io.team.loop.common.domain.TaskId
1514
import kr.io.team.loop.task.application.service.TaskService
1615
import kr.io.team.loop.task.domain.model.Task
1716
import kr.io.team.loop.task.domain.model.TaskCommand
17+
import kr.io.team.loop.task.domain.model.TaskId
1818
import kr.io.team.loop.task.domain.model.TaskQuery
1919
import kr.io.team.loop.task.domain.model.TaskStatus
2020
import kr.io.team.loop.task.domain.model.TaskTitle

src/test/kotlin/kr/io/team/loop/task/application/service/TaskServiceTest.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,11 @@ import io.mockk.verify
1111
import kotlinx.datetime.LocalDate
1212
import kr.io.team.loop.common.domain.GoalId
1313
import kr.io.team.loop.common.domain.MemberId
14-
import kr.io.team.loop.common.domain.TaskId
1514
import kr.io.team.loop.common.domain.exception.AccessDeniedException
1615
import kr.io.team.loop.common.domain.exception.EntityNotFoundException
1716
import kr.io.team.loop.task.domain.model.Task
1817
import kr.io.team.loop.task.domain.model.TaskCommand
18+
import kr.io.team.loop.task.domain.model.TaskId
1919
import kr.io.team.loop.task.domain.model.TaskQuery
2020
import kr.io.team.loop.task.domain.model.TaskStatus
2121
import kr.io.team.loop.task.domain.model.TaskTitle

0 commit comments

Comments
 (0)