Merged
Conversation
- 회원가입 API 문서 추가 - Help API 목록 조회, 상세 조회, 답변 등록 문서 추가 - 잘못된 URI 및 필드명 수정
- ImageUploadLog 엔티티, 레포지토리, 서비스 구현 - PreSigned URL 생성 시 업로드 로그 자동 저장 (로그인 사용자) - MinIO TestContainer 추가 및 테스트 구성 - 미사용 S3 이벤트 리스너 코드 제거 - DTO에서 엔티티 의존성 제거 (아키텍처 규칙 준수) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- ImageUploadLogRequest.toEntity() 메서드 제거 - 엔티티 생성 로직을 ImageUploadLogService.saveAsync()로 이동 - 아키텍처 규칙 준수: DTO는 Entity에 의존하지 않음 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- ImageUploadStatus를 domain -> constant 패키지로 이동 - ImageUploadLogItem을 dto -> dto.response 패키지로 이동 - 관련 import 문 수정 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- ImageUploadLog (상태 기반) -> ResourceLog (이벤트 기반) 리팩토링 - ResourceEventType enum 추가 (CREATED, ACTIVATED, INVALIDATED, DELETED) - ResourceCommandService로 추상화하여 향후 다른 리소스 타입 확장 가능 - 이벤트 로그 방식으로 변경하여 리소스 이력 추적 용이 - 기존 ImageUploadLog 관련 파일 삭제 - 테스트 코드 갱신 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- ImageUploadControllerTest 삭제 (Mock 기반 컨트롤러 테스트 제거) - CoreImageUploadServiceTest + ImageUploadServiceTest 통합 - Mock 대신 Fake/Stub 기반 테스트로 통일 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- ImageUploadIntegrationTest 추가 - 인증된 사용자의 PreSigned URL 생성 테스트 - 다중 이미지 업로드 URL 생성 테스트 - 기본값 처리 테스트 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- MockMvc -> MockMvcTester 마이그레이션 - ResourceLog 저장 검증 테스트 추가 (Awaitility 사용) - 비동기 로그 저장 대기 처리 개선 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- ImageResourceActivatedEvent 이벤트 클래스 추가 - ResourceEventListener로 이벤트 수신 및 ResourceLog ACTIVATED 상태 저장 - ReviewService, HelpService, BusinessSupportService, UserBasicService에 이벤트 발행 추가 - ImageUtil.extractResourceKey() 메서드 추가 - 서비스별 이벤트 발행 및 ResourceLog 상태 변경 단위 테스트 추가 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- 리뷰 생성 시 이미지 포함되면 ACTIVATED 로그 저장 검증 - 이미지 없이 리뷰 생성 시 ACTIVATED 이벤트 미발생 검증 - CREATED -> ACTIVATED 전체 흐름 테스트 추가 - Awaitility를 사용한 비동기 이벤트 대기 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- 단위 테스트 패턴: Fake/Stub, InMemory 레포지토리 - 통합 테스트 패턴: IntegrationTestSupport, Awaitility - 이벤트 기반 아키텍처 가이드 추가 - 서브모듈 초기화 명령어 및 설명 추가 - @DisplayName 형식 명시 (~할 때 ~한다) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- TastingTagRepository 도메인 인터페이스 생성 - JpaTastingTagRepository JPA 구현체 생성 - TastingTagService 스켈레톤 생성 (Aho-Corasick 적용 예정)
- ahocorasick 라이브러리 의존성 추가 (0.6.3) - ApplicationReadyEvent + @scheduled로 Trie 초기화 - extractTagNames: 1차 Aho-Corasick 매칭 + 2차 한글 경계 검증
- InMemoryTastingTagRepository Fake 구현체 추가 - extractTagNames 메서드 테스트 케이스 작성 - 정상 매칭, 부분 매칭 제외, 영문/대소문자, 중복 제거 등
- 리뷰 문장 테스트 케이스 10개 추가 (한글/영문) - 부분 매칭 제외 케이스 5개 추가 - @NullAndEmptySource로 null/빈문자열 테스트 통합
- TastingTagService public 메서드에 @transactional 추가 - ServiceLayerRules에 ahocorasick 패키지 허용 추가
- GET /api/v1/tasting-tags/extract?text={text}
- 문장에서 테이스팅 태그 목록 추출
- extractTags → getExtractedTags
- AlcoholMetadataTestFactory 생성 (Region, Distillery, TastingTag) - TastingTagControllerRestDocsTest API 문서화 테스트 - TastingTagIntegrationTest 통합 테스트 4개 케이스
TastingTagRepository 인터페이스에 Pagination 메서드 추가 후 InMemory 구현체에 누락된 메서드 구현
- admin-api에 spring-boot-starter-data-jpa 의존성 추가 (main scope) - InMemoryAlcoholQueryRepository에 누락된 findAdminAlcoholDetailById 메서드 추가
- admin-api에서 spring-data-jpa 의존성 제거 (testImplementation만 유지) - AdminReferenceSearchRequest에 toPageable() 메서드 추가 - 컨트롤러에서 PageRequest, Sort import 제거하고 toPageable() 사용
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- 현재 병목 지점 분석 (LIKE 패턴, EXISTS 서브쿼리) - K6 성능 테스트 계획 수립 - 집계 테이블 + 검색 키워드 비정규화 방안 설계 - 배치 Job 설계 및 구현 단계 정리 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- 고객 지원 문의 관리 API 스펙 정의 - 위스키 및 제조사/지역/태그 관리 API 스펙 정의 - S3 PreSigned URL 발급 API 스펙 정의
- 어드민용 위스키 생성/수정/삭제(소프트) API 추가 - 카테고리 레퍼런스 조회 API 추가 (kor/eng 카테고리 페어 목록) - Alcohol 엔티티에 deletedAt 필드 및 update/delete 메서드 추가 - AdminAlcoholCommandService, AdminAlcoholUpsertRequest DTO 신규 생성 - AdminResultResponse 공통 응답 DTO 추가 - 삭제 시 리뷰/평점 존재 여부 검증 로직 포함 - REST Docs 테스트 및 통합 테스트 추가 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
… 메서드 추가 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Implemented a detailed plan for a view-based popular whiskey API. Added documentation files for administrative enums (e.g., roles, categories) and updated API reference files to include relevant enum references.
@SQL 기반 테스트 데이터 설정을 TestFactory 패턴으로 대체하기 위한 헬퍼 클래스 추가: - TestDataSetupHelper: 복합 테스트 데이터 생성 헬퍼 - HistoryTestData: 히스토리 테스트용 데이터 record - MyPageTestData: 마이페이지 테스트용 데이터 record - MyBottleTestData: 마이보틀 테스트용 데이터 record - UserTestFactory: persistUserWithNickname 메서드 추가 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@SQL 어노테이션을 TestFactory 패턴으로 대체: - PicksIntegrationTest: SQL 스크립트 → TestFactory 사용 - RatingIntegrationTest: SQL 스크립트 → TestFactory 사용 - LikesIntegrationTest: SQL 스크립트 → TestFactory 사용 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@SQL 어노테이션을 TestFactory 패턴으로 대체: - UserQueryIntegrationTest: TestDataSetupHelper를 활용한 복합 데이터 설정 - UserCommandIntegrationTest: TestFactory 직접 사용 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@SQL 어노테이션을 TestFactory 패턴으로 대체: - UserHistoryIntegrationTest: TestDataSetupHelper.setupHistoryTestData() 활용 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@SQL 어노테이션을 TestFactory 패턴으로 대체: - ReviewIntegrationTest: ReviewTestFactory 활용 - ReviewReplyIntegrationTest: ReviewTestFactory.persistReviewReply() 활용 - JpaAuditingIntegrationTest: TestFactory 직접 사용 - ReviewObjectFixture: getReviewCreateRequestWithAlcoholId() 메서드 추가 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
모든 통합 테스트가 TestFactory 패턴으로 마이그레이션되어 더 이상 사용되지 않는 SQL 파일 삭제: - init-alcohol.sql - init-help.sql - init-popular_alcohol.sql - init-review-reply.sql - init-review.sql - init-user-history.sql - init-user-mybottle-query.sql - init-user-mypage-query.sql - init-user.sql - schema.sql.bak Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
product-api 통합 테스트의 레거시 MockMvc API를 MockMvcTester로 마이그레이션하기 위한 상세 계획 문서 작성 - 마이그레이션 대상 15개 파일 분석 - 코드 변환 패턴 및 가이드라인 정의 - 주의사항 및 트러블슈팅 가이드 포함 - 권장 마이그레이션 순서 정의 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Release admin v1.0.7
This PR was automatically created by version-check workflow.