Skip to content

#360 [Refactor] 1인 1관점 제한을 해제하고 1인 다수 관점 등록 허용#363

Merged
si-zero merged 1 commit into
devfrom
refactor/#360
Jul 24, 2026
Merged

#360 [Refactor] 1인 1관점 제한을 해제하고 1인 다수 관점 등록 허용#363
si-zero merged 1 commit into
devfrom
refactor/#360

Conversation

@si-zero

@si-zero si-zero commented Jul 24, 2026

Copy link
Copy Markdown
Contributor

#️⃣ 연관된 이슈

📝 작업 내용

♻️ Refactor

내용 파일
관점 생성 시 배틀당 중복 등록 체크 로직 제거 PerspectiveService.java
existsByBattleIdAndUserId 제거, findByBattleIdAndUserId(단건)를 findByBattleIdAndUserIdOrderByCreatedAtDesc(목록)로 교체 PerspectiveRepository.java
내 관점 조회 응답을 단건 객체 → 배열(리스트)로 변경 PerspectiveService.java, PerspectiveController.java
perspectives(battle_id, user_id) 유니크 제약 제거 Perspective.java
사용하지 않게 된 에러코드 제거 ErrorCode.java (PERSPECTIVE_ALREADY_EXISTS)
이미 배포된 DB에서 유니크 제약을 동적으로 찾아 드롭 V20260724_02__drop_perspectives_unique_constraint.sql

📌 공유 사항

  1. [Breaking Change] GET /battles/{battleId}/perspectives/me 응답이 단일 객체에서 배열로 바뀌었습니다. 프론트엔드 협의 필요합니다.
  2. 개수 제한 없이 완전 무제한으로 관점을 등록할 수 있도록 했습니다.
  3. 좋아요/댓글/신고/봇 자동 생성 로직은 모두 perspective_id 기준으로 동작해 이번 변경의 영향을 받지 않습니다.

✅ 체크리스트

  • 컨벤션에 맞는 Type을 선택했나요?
  • 로컬에서 실행했을 때 에러가 발생하지 않나요? (./gradlew compileJava compileTestJava 및 관련 테스트 통과 확인)

📸 스크린샷

  • PerspectiveServiceTest에 신규 테스트 2개 추가: 동일 유저가 같은 배틀에 관점을 여러 개 등록해도 성공하는지, getMyPerspective가 여러 관점을 최신순 목록으로 반환하는지 검증. 전체 perspective 도메인 테스트 통과.

💬 리뷰 요구사항

  1. Hibernate가 자동 생성한 유니크 제약 이름이 환경별로 다를 수 있어, 마이그레이션에서 information_schema를 조회해 동적으로 찾아 드롭하도록 작성했습니다. 실제 dev/prod DB에 적용 전 제약 이름을 한 번 확인해보는 것을 권장드립니다.

@si-zero si-zero self-assigned this Jul 24, 2026
@si-zero si-zero added the ♻️ Refactor (리팩토링) 코드 구조 개선 및 성능 최적화를 위해 사용합니다. label Jul 24, 2026
@si-zero si-zero linked an issue Jul 24, 2026 that may be closed by this pull request
1 task
@si-zero
si-zero merged commit f0a837d into dev Jul 24, 2026
@si-zero
si-zero deleted the refactor/#360 branch July 24, 2026 14:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

♻️ Refactor (리팩토링) 코드 구조 개선 및 성능 최적화를 위해 사용합니다.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

♻️ Refactor: 1인 다수 관점 등록

1 participant