[BE-32] SearchPostsUseCase 확장 (종목·모임 필터 전역 피드, FR-6)
작업 내용 (설계 의도)
변경 사항
근거 TDD: 20260707-post-community-연동-tdd.md Possible Solutions C-1 / FR-6.
SearchPostsUseCase(application/post/usecase/SearchPostsUseCase.kt)는 전역 피드 검색이다 — 확장된 PostCriteria(communityId·sportCategory)를 받아 globalFeedOnly=true로 매핑해 postDomainService.search에 위임한다. global_listed=true 술어(BE-26)가 PRIVATE 모임 게시글을 전역 피드에서 제외한다(C-1). 인가 불요(공개 피드). PostDomainService만 의존(community 무의존).
롤백
필터 additive.
의존
- BE-25 (PostDomainService.search)
다이어그램
클래스 의존
flowchart LR SearchPostsUseCase -->|globalFeedOnly=true| PostCriteria PostCriteria --> PDS[PostDomainService.search] PDS -->|global_listed=true| feed[전역+PUBLIC모임 게시글]
테스트 케이스
- sportCategory=RUNNING 필터 시 전역+PUBLIC 모임의 러닝 게시글만 조회된다(FR-6)
- PRIVATE 모임 게시글은 전역 검색 결과에서 제외된다(C-1, FR-2)
- 필터 미지정 시 종목 미지정 게시글 포함 전체가 조회된다
- 조건에 맞는 게시글 0건이면 빈 페이지를 반환한다