Skip to content

v1.2.0#157

Merged
move-hoon merged 8 commits intomainfrom
develop
Mar 9, 2026
Merged

v1.2.0#157
move-hoon merged 8 commits intomainfrom
develop

Conversation

@move-hoon
Copy link
Member

v1.2.0 release

minwoo1999 and others added 8 commits December 13, 2025 22:06
* [BOOK-469] feat: apis,infra google social login (#141)

* [BOOK-469] fix(ci): ci 수정

- 테스트 프로필에 oauth 설정 추가
- 로컬에서 sonar task 스킵되도록 수정

* [BOOK-469] fix: apis,infra - 구글 소셜로그인 리팩토링(#142)
* [BOOK-480] refactor: apis - emotionTags는 빈 리스트도 허용이 되기 때문에 valid 패턴 제거

* [BOOK-480] feat: infra - 감정 시스템 DB 스키마 마이그레이션 추가

* [BOOK-480] feat: domain - PrimaryEmotion 대분류 감정 enum 추가

* [BOOK-480] feat: domain - DetailTag 세부감정 도메인 및 Repository 인터페이스 추가

* [BOOK-480] feat: domain - ReadingRecordDetailTag 연결 도메인 및 Repository 인터페이스 추가

* [BOOK-480] feat: infra - DetailTag 엔티티 및 Repository 구현체 추가

* [BOOK-480] feat: infra - ReadingRecordDetailTag 엔티티 및 Repository 구현체 추가

* [BOOK-480] feat: domain, infra - ReadingRecord에 primaryEmotion 필드 추가

* [BOOK-480] feat: domain - ReadingRecordInfoVO에 V2용 detailEmotions 필드 추가

* [BOOK-480] feat: domain - DetailTagDomainService 추가

* [BOOK-480] feat: domain - ReadingRecordDetailTagDomainService 추가

* [BOOK-480] refactor: domain - ReadingRecordDomainService V2 메서드 추가 및 의존성 분리

* [BOOK-480] feat: apis - V2 Request/Response DTO 추가

* [BOOK-480] feat: apis - ReadingRecordServiceV2 ApplicationService 추가

* [BOOK-480] feat: apis - ReadingRecordUseCaseV2 유스케이스 추가

* [BOOK-480] feat: apis - ReadingRecordControllerV2 컨트롤러 추가

* [BOOK-480] feat: apis - EmotionController 감정 목록 조회 API 추가

* [BOOK-480] fix: apis - V1 ReadingRecordResponse pageNumber nullable 호환 수정

* [BOOK-480] refactor: apis - private constructor 및 정적 팩토리 메서드로 패턴 변경

* [BOOK-480] fix: apis - 독서 기록 목록 조회 (V2) 명세 오류 수정

* [BOOK-480] fix: apis - 누락된 NotNull 어노테이션 추가

* [BOOK-480] chore: apis - pageNumber가 선택 사항임을 명시

* [BOOK-480] fix: apis - primaryEmotion 변경 시 detailEmotion 데이터 일관성 보장

변경 사항:
- primaryEmotion 변경 + 새 detailTags 제공 → 새 태그로 교체
- primaryEmotion 변경 + detailTags 미제공 → 기존 태그 삭제 (불일치 방지)
- primaryEmotion 유지 + 새 detailTags 제공 → 새 태그로 교체
- primaryEmotion 유지 + detailTags 미제공 → 기존 태그 유지
리팩토링:
- updateDetailEmotionTags() private 메서드로 분리
- isPrimaryEmotionChanged() 헬퍼 메서드 추가

* [BOOK-480] refactor: apis - 독시 기록에 대한 소유권 검증 로직 추가

* [BOOK-480] refactor: apis - readingRecords를 불변 리스트로 변경

* [BOOK-480] chore: apis - 403 에러 명세 추가

* [BOOK-480] refactor: apis - 기존 단언 패턴으로 valid 메서드 구현방식 변경

* [BOOK-480] chore: apis - Void 타입 대신 Kotlin의 Unit 타입으로 변경

* [BOOK-480] refactor: apis - 코드레빗 리뷰 반영
* [BOOK-486] feat: infra - 대표 감정 조회 Querydsl 집계 쿼리 추가

* [BOOK-486] refactor: domain - 대표 감정 조회 DB 집계 쿼리 사용으로 변경

* [BOOK-486] feat: apis - 독서 기록 목록 API에 대표 감정 응답 추가

* [BOOK-486] refactor: domain - DomainService 중복 코드 제거 및 헬퍼 메서드 추출

* [BOOK-486] chore: unused import 제거 및 헬퍼 메서드 하단으로 이동

* [BOOK-486] refactor: infra,apis - CodeRabbit 리뷰 반영 (QueryDSL 개선 & DTO 중복 제거)

* [BOOK-486] fix: domain,apis - 독서 기록 생성/상세 조회 시 도서 정보 null 버그 수정

* [BOOK-486] chore: domain - 사용하지 않는 import문 제거

* [BOOK-486] fix: infra - 세부 감정 수정 시 Duplicate Key 에러 해결 (Soft Delete → Hard Delete)

* [BOOK-486] fix: domain - 독서 기록 수정 시 pageNumber, review 삭제 가능하도록 로직 변경

* [BOOK-486] refactor: infra - ReadingRecordDetailTagEntity Soft Delete 제거
…150)

[BOOK-488] chore: apis, domain - V1 API와 response 구조가 호환되도록 독서 기록 목록 조회 api 수정
* [BOOK-469] feat: apis,infra google social login (#141)

* [BOOK-469] fix(ci): ci 수정

- 테스트 프로필에 oauth 설정 추가
- 로컬에서 sonar task 스킵되도록 수정

* [BOOK-469] fix: apis,infra - 구글 소셜로그인 리팩토링(#142)

* [BOOK-469] feat: apis,infra 구글로그인 수정(#141)
* [BOOK-498] feat: apis - 씨앗 통계 V2 응답 DTO 추가 (5가지 감정 지원)

- SeedStatsResponseV2 생성 (따뜻함, 즐거움, 슬픔, 깨달음, 기타)
- PrimaryEmotion enum의 displayName 활용
- V1과 명확히 분리된 응답 구조

* [BOOK-498] feat: domain, infra - primary_emotion 기반 씨앗 통계 집계 쿼리 추가

- ReadingRecordRepository에 countPrimaryEmotionsByUserBookId 메서드 추가
- QueryDSL로 primary_emotion 기반 GROUP BY 쿼리 구현
- deletedAt IS NULL 조건으로 삭제된 기록 제외
- V1 + V2 데이터 모두 집계 가능

* [BOOK-498] feat: domain - 씨앗 통계 조회 도메인 서비스 메서드 추가

- countPrimaryEmotionsByUserBookId 메서드 추가
- Repository 계층으로 위임하여 Map<PrimaryEmotion, Int> 반환
- V2 Service에서 DTO 변환 처리

* [BOOK-498] feat: apis - 씨앗 통계 V2 서비스 및 유스케이스 구현

- ReadingRecordServiceV2에 getSeedStats 메서드 추가
- ReadingRecordUseCaseV2에 getSeedStats 메서드 추가
- 사용자 및 책 소유권 검증 포함
- SeedStatsResponseV2로 응답 변환

* [BOOK-498] feat: apis - 씨앗 통계 V2 API 엔드포인트 추가

- GET /api/v2/reading-records/{userBookId}/seed/stats 엔드포인트 추가
- 5가지 감정(따뜻함, 즐거움, 슬픔, 깨달음, 기타) 통계 제공
- V1 + V2 데이터 모두 집계
- Swagger 문서화 완료

* [BOOK-498] fix: 테스트용 구글 client-id가 없어서 CI 깨지는 문제 해결
@coderabbitai
Copy link

coderabbitai bot commented Mar 9, 2026

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: 60e5517a-e56d-4454-9dff-437c99d52d7a

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch develop

Tip

Try Coding Plans. Let us write the prompt for your AI agent so you can ship faster (with fewer bugs).
Share your feedback on Discord.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@sonarqubecloud
Copy link

sonarqubecloud bot commented Mar 9, 2026

Quality Gate Failed Quality Gate failed

Failed conditions
6.6% Coverage on New Code (required ≥ 80%)
3.1% Duplication on New Code (required ≤ 3%)

See analysis details on SonarQube Cloud

@move-hoon move-hoon merged commit 05a6a67 into main Mar 9, 2026
7 of 8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants