Skip to content

release: 2026.09.01 배포 - #2400

Merged
taejinn merged 71 commits into
mainfrom
develop
Sep 1, 2026
Merged

release: 2026.09.01 배포#2400
taejinn merged 71 commits into
mainfrom
develop

Conversation

@taejinn

@taejinn taejinn commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

🔍 개요

  • 마지막 운영 배포 이후 develop에 병합된 변경 사항을 main 배포 대상으로 반영합니다.
  • 배포 기준 SHA: 2bbb2a23ca04fc7ece8a2986f12e88f12a4ab92e

🚀 주요 변경 내용


💬 참고 사항

  • Flyway V5__create_team_recruitment_schema.sql, V6__add_team_recruitment_outbox_lease.sql이 포함됩니다.
  • 팀원 모집 후속 이슈 및 Draft PR fix: 로그인 ID 하이픈을 이모지로 오인하는 검증 수정 #2383~#2395의 변경은 이번 배포에 포함되지 않습니다.
  • 이 PR 병합만으로 운영 배포가 자동 실행되지는 않으며, KOIN_API_V2 CD (main) 워크플로 수동 실행이 별도로 필요합니다.
  • 비교 범위는 147개 파일, +16,427 / -30입니다.

✅ Checklist (완료 조건)

  • 코드 스타일 가이드 준수
  • 테스트 코드 포함됨
  • Reviewers / Assignees / Labels 지정 완료
  • 보안 및 민감 정보 검증 (API 키, 환경 변수, 개인정보 등)

taejinn and others added 30 commits August 27, 2026 23:32
* feat: 팀원 모집 DB 스키마 및 Enum 추가

* feat: 팀원 모집 JPA 모델 구현
* feat: 팀원 모집 DB 스키마 및 Enum 추가

* feat: 팀원 모집 JPA 모델 구현

* feat: 팀원 모집 Repository 구현
* feat: 팀원 모집 DB 스키마 및 Enum 추가

* feat: 팀원 모집 JPA 모델 구현

* feat: 팀원 모집 Repository 구현

* feat: 팀원 모집 지원 생성 및 상태 변경 구현
* feat: 팀원 모집 지원 조회 및 API 5종 연결

* test: 팀원 모집 지원 통합 흐름 검증

* fix: 팀원 모집 지원 API 계약 및 조회 개선

* fix: 팀원 모집 지원 API 오류 계약을 보강
* feat: 팀원 모집 알림 Outbox Worker 구현

* fix: 팀원 모집 알림 ID를 FCM 데이터에 전달
- 알림 응답에 target_type, chat_room_id 필드 추가
- 알림 타입 필드명 notification_type → type 수정
- 목록 응답 페이지네이션 total_count/current_count/total_page/current_page로 변경
- 읽음/삭제 API 응답 상태코드 200 → 204 수정
- Flyway 마이그레이션에 chat_room_id 컬럼 추가
- domain.team.recruitment로 통합된 엔티티 중복 파일 삭제
  (ChatRoom, ChatMessage, ChatRoomMember, Notification)
- 중복 enum 삭제 (ChatRoomType, ChatRoomStatus, NotificationTargetType 등)
- 중복 Repository 삭제 (Chat, Notification 관련 4개)
- V5, V6 Flyway 마이그레이션 중복 파일 삭제
insik03 and others added 19 commits August 30, 2026 16:53
…ion-delete

feat: 팀원 모집 알림 개별 삭제 API 구현
- DIRECT 채팅방 생성 시 지원서 ACCEPTED 여부 및 모집 마감 여부 검증 추가 (409)
- 기존 채팅방 존재 시 200, 신규 생성 시 201 응답 분리
- getMessages/createMessage에 recruitmentId 소속 검증 추가 (404)
- afterMessageId+beforeMessageId 동시 사용 금지, limit 1~200 범위 검증 (400)
- DIRECT maxMemberCount 2 고정
- 메시지 전송 후 NEW_CHAT_MESSAGE 알림 및 Outbox 이벤트 생성

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- TeamRecruitmentChatApi 각 엔드포인트에 200/201/400/403/404/409 응답 코드 추가
- TeamRecruitmentNotificationApi getNotifications에 400 응답 코드 추가

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- 지원서 ACCEPTED 아닌 경우 409 검증
- 모집 마감된 경우 409 검증
- afterMessageId+beforeMessageId 동시 사용 400 검증
- limit 범위 초과/미달 400 검증
- 메시지 조회/전송 시 chatRoom 소속 불일치 404 검증

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
fix: 새 역할이 기존 역할보다 앞에 표시되던 문제 수정
- @ApiResponses 제거, KOIN 관례인 @ApiResponseCodes로 통일
- getOrCreateDirectChatRoom에 CREATED, TEAM_RECRUITMENT_APPLICATION_NOT_ACCEPTED, TEAM_RECRUITMENT_CLOSED 추가
- getMessages에 ILLEGAL_ARGUMENT, TEAM_RECRUITMENT_CHAT_NOT_FOUND 추가
- getNotifications 400 제거 (Criteria 보정으로 실제 400 미발생)
- markAsRead 200 제거 (실제 204 반환)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- 권한(403) 체크를 ACCEPTED/모집마감(409) 체크보다 먼저 수행
- afterMessageId/beforeMessageId 1 미만 시 400 반환

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- afterMessageId, beforeMessageId minimum: 1 추가
- limit minimum: 1, maximum: 200 추가
fix: 팀원 모집 채팅/알림 API 코드 리뷰 피드백 반영
셔틀 버스 시간표 어드민 API의 요청/응답에 회차별 운행 요일(running_days)
필드가 없어, 신규 저장된 시간표의 route_info.running_days 가 null 이 되었다.
교통편 조회는 요일로 필터링하므로 해당 회차가 어떤 요일에도 매칭되지 않아
가장 빠른 교통편 조회에서 셔틀버스가 노출되지 않았다.

- 엑셀 미리보기 응답에 running_days 추가
- 시간표 업데이트 요청에 running_days 추가 및 엔티티 반영
- 신규 시간표 생성 시 running_days 누락을 400 으로 차단
- running_days 값을 MON~SUN 으로 검증
- 요청 DTO 에 @Valid 캐스케이딩을 추가해 동작하지 않던 중첩 검증 복구

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…ing-days

fix: 어드민 셔틀버스 시간표 API running_days 필드 누락 수정
등하교 시간표도 셔틀과 같은 shuttlebus_timetables 컬렉션에 저장되지만
running_days 를 채우지 않아, 요일 필터에 걸리지 않아 교통편 조회에서
누락되었다.

셔틀과 달리 통학 엑셀 추출기는 운행 요일을 계산하지 않고,
validateCommuting() 으로 주중 노선만 허용되므로 클라이언트에 필드를
요구하는 대신 서버가 routeType 으로부터 주중을 채우도록 한다.
이로써 기존에 running_days 가 비어 있던 등하교 문서도 다음 갱신 때
자동으로 복구된다.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…nning-days

fix: 어드민 등하교 버스 시간표에 running_days 저장
@taejinn taejinn added the 배포 운영서버로의 배포입니다. label Sep 1, 2026
@taejinn taejinn self-assigned this Sep 1, 2026
@coderabbitai

coderabbitai Bot commented Sep 1, 2026

Copy link
Copy Markdown

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: defaults

Review profile: CHILL

Plan: Team

Run ID: 2d7c2950-ccb5-4af2-b7be-ead4c5644a91

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

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.

@github-actions

github-actions Bot commented Sep 1, 2026

Copy link
Copy Markdown

Unit Test Results

1 054 tests   1 051 ✔️  2m 29s ⏱️
   244 suites         3 💤
   244 files           0

Results for commit 2bbb2a2.

@dnjswldnd-3513 dnjswldnd-3513 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

코드확인했습니다!!!

@taejinn
taejinn requested a review from insik03 September 1, 2026 13:31

@insik03 insik03 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

확인했습니다

@taejinn
taejinn merged commit 6feb60e into main Sep 1, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

배포 운영서버로의 배포입니다.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants