Skip to content

#622 [Feat] 어드민 배틀 공개·보관 상태 변경 API - #623

Merged
si-zero merged 1 commit into
devfrom
feat/#622
Nov 8, 2026
Merged

si-zero merged 1 commit into
devfrom
feat/#622

Conversation

@si-zero

@si-zero si-zero commented Nov 8, 2026

Copy link
Copy Markdown
Member

#️⃣ 연관된 이슈

📝 작업 내용

어드민에서 공개된 배틀을 내리거나(보관) 다시 공개하는 API 를 추가합니다. 기획에서 내리기로 한 배틀(운영 116 "행복은 순간의 감정일까, 남겨진 기억일까?")처럼 삭제하지 않고 내릴 때 씁니다.

✨ Feat

내용 파일
PATCH /api/v1/admin/battles/{battleId}/status (공개 ↔ 보관) AdminBattleController.java, AdminBattleService.java, BattleService.java, BattleServiceImpl.java
요청 DTO, 엔티티 상태 전환 메서드 AdminBattleStatusRequest.java, Battle.java
그 밖의 전환 409 BATTLE_409_STATUS ErrorCode.java
API 명세 2.7 docs/api-specs/battle-api.md
통합 테스트 4개 AdminBattleStatusApiIntegrationTest.java

📌 공유 사항

  1. 보관된 배틀은 기존 PUBLISHED 조건으로 사용자 화면(목록·상세·추천·리워드 배치)에서 빠집니다. 투표·관점 등 데이터는 그대로라 다시 공개하면 그대로 보입니다.
  2. 임시저장(PENDING) 배틀의 첫 발행은 이 API 로 하지 않습니다. 발행 시 임시 이미지 이동이 함께 일어나야 해서 기존 배틀 수정(만들기)으로만 합니다.
  3. 시나리오 상태는 건드리지 않습니다.
  4. 어드민 화면 연동은 AdminWeb 에서 따로 올립니다.

✅ 체크리스트

  • Reviewer에 팀원들을 선택했나요?
  • Assignees에 본인을 선택했나요?
  • 컨벤션에 맞는 Type을 선택했나요?
  • Development에 이슈를 연동했나요?
  • Merge 하려는 브랜치가 올바르게 설정되어 있나요?
  • 컨벤션을 지키고 있나요?
  • 로컬에서 실행했을 때 에러가 발생하지 않나요?
  • 팀원들에게 PR 링크 공유를 했나요?

📸 스크린샷

전체 테스트 642개 통과 (실패 0)

💬 리뷰 요구사항

  1. 보관 상태에서 다시 공개만 허용하고 임시저장으로 되돌리는 건 막았습니다. 다른 전환이 필요하면 알려 주세요.

@si-zero si-zero added the ✨ Feat (기능 추가) 새로운 기능을 추가할 때 사용합니다. label Nov 8, 2026
@si-zero si-zero self-assigned this Nov 8, 2026
@si-zero si-zero linked an issue Nov 8, 2026 that may be closed by this pull request
3 tasks
@si-zero
si-zero merged commit 3278313 into dev Nov 8, 2026
1 check passed
@si-zero
si-zero deleted the feat/#622 branch November 8, 2026 03:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

✨ Feat (기능 추가) 새로운 기능을 추가할 때 사용합니다.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

✨ Feat: 어드민 배틀 공개·보관 상태 변경 API

1 participant