[BE-20] SportCategory 공유 커널 이전 (domain.common.vo)
작업 내용 (설계 의도)
변경 사항
근거 TDD: 20260707-post-community-연동-tdd.md Possible Solutions B-1 / R1 배선.
SportCategory enum을 domain.community.vo → domain.common.vo로 순수 위치 이전한다(값·의미 불변, 12종 유지). post 도메인이 R1(도메인 교차 import 금지) 위반 없이 종목 필드를 typed로 보유하려면 공유 커널에 있어야 한다. community의 모든 참조(Community.kt, CommunityDomainService.kt, CommunityCommands.kt, CommunityResponse.kt, CreateCommunityRequest.kt)와 테스트 import를 100% 갱신하고 구 경로 파일은 0으로 만든다. typealias 호환 layer 금지.
⚠️ 공유 파일(교차 senior): community 파일들을 편집한다 — senior-be B가 CommunityDomainService.kt 본문(community↔booking)을 편집할 수 있으므로 TPM이 순서를 조율한다(BE-20을 B의 community 작업보다 선행). SportCategoryTest.kt도 domain/common/vo로 이관.
롤백
내부 relocation이라 이전 이미지 태그로 compose 재기동. DB 무관(enum은 STRING 저장, 값 불변).
의존
- 없음 (선행 wave 단독)
다이어그램
클래스 의존
flowchart LR SC[SportCategory] -->|이전| common[domain.common.vo] Community --> SC Post -.->|BE-23에서 참조| SC
테스트 케이스
- SportCategory 12종(SOCCER..ETC) 값이 이전 후에도 정확히 유지된다
SportCategory::class.java.packageName == "com.sportsapp.domain.common.vo"이다- community 개설(CreateCommunityUseCase)이 이전 후에도 SportCategory로 정상 동작한다
find domain/community/vo -name SportCategory.kt | wc -l == 0(구 경로 잔재 0)grep -rn "domain.community.vo.SportCategory" backend/src == 0(구 import 잔재 0)