Skip to content

fix: 팀원 모집 알림 단건 명령을 recipient 범위의 멱등 처리로 통일 - #2387

Merged
taejinn merged 1 commit into
developfrom
fix/2374-team-recruitment-notification-idempotency
Sep 2, 2026
Merged

fix: 팀원 모집 알림 단건 명령을 recipient 범위의 멱등 처리로 통일#2387
taejinn merged 1 commit into
developfrom
fix/2374-team-recruitment-notification-idempotency

Conversation

@taejinn

@taejinn taejinn commented Aug 31, 2026

Copy link
Copy Markdown
Contributor

🔍 개요

  • 팀원 모집 알림의 단건 읽음·삭제를 Callvan과 동일한 recipient 범위의 멱등 204 계약으로 통일합니다.

🚀 주요 변경 내용

  • recipient ID, notification ID, 미삭제 조건으로 원자적 UPDATE를 실행합니다.
  • 읽음 처리는 read_at IS NULL일 때만 적용해 최초 읽음 시각을 보존합니다.
  • 이미 읽음, 이미 삭제, 없는 ID, 타 사용자 ID 요청은 204를 반환합니다.
  • recipient가 일치하는 알림만 변경하고 타 사용자 요청에는 동일한 응답을 적용합니다.

💬 참고 사항

  • 영향
    • 심각도는 P2 협의 확정 정책이며 클라이언트는 단건 명령을 안전하게 재시도할 수 있습니다.
    • 기존 DB schema에서 recipient 범위 UPDATE와 Java API 응답 계약을 적용합니다.
  • 검증
    • 실제 MySQL 단건 읽음·삭제 HTTP 테스트로 반복 호출, 최초 readAt 보존, soft delete, 사용자 격리, 목록·count를 확인했습니다.
    • 관련 테스트 23개가 통과했습니다.

✅ Checklist (완료 조건)

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

@taejinn taejinn added 버그 정상적으로 동작하지 않는 문제상황입니다. 공통 백엔드 공통으로 작업할 이슈입니다. labels Aug 31, 2026
@coderabbitai

coderabbitai Bot commented Aug 31, 2026

Copy link
Copy Markdown

Warning

Review limit reached

Next included review available in 26 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Learn how review limits work.

Review configuration:

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Team

Run ID: d189f40f-1547-47f6-972e-d74de025c489

📥 Commits

Reviewing files that changed from the base of the PR and between c3b41de and cfb8e23.

📒 Files selected for processing (5)
  • src/main/java/in/koreatech/koin/domain/team/recruitment/repository/TeamRecruitmentNotificationRepository.java
  • src/main/java/in/koreatech/koin/domain/teamrecruitment/controller/TeamRecruitmentNotificationApi.java
  • src/main/java/in/koreatech/koin/domain/teamrecruitment/service/TeamRecruitmentNotificationService.java
  • src/test/java/in/koreatech/koin/acceptance/domain/TeamRecruitmentArticleFlowApiTest.java
  • src/test/java/in/koreatech/koin/unit/domain/teamrecruitment/service/TeamRecruitmentNotificationServiceTest.java

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 Aug 31, 2026

Copy link
Copy Markdown

Unit Test Results

1 100 tests   1 097 ✔️  2m 21s ⏱️
   248 suites         3 💤
   248 files           0

Results for commit cfb8e23.

♻️ This comment has been updated with latest results.

@taejinn
taejinn force-pushed the fix/2374-team-recruitment-notification-idempotency branch from 8245d67 to 40b757b Compare September 1, 2026 07:49
@taejinn
taejinn marked this pull request as ready for review September 2, 2026 12:58
@taejinn
taejinn requested review from dnjswldnd-3513 and insik03 and removed request for JanooGwan and kih1015 September 2, 2026 13:02
@taejinn
taejinn force-pushed the fix/2374-team-recruitment-notification-idempotency branch from 40b757b to cfb8e23 Compare September 2, 2026 14:50
@taejinn
taejinn merged commit 20dabeb into develop Sep 2, 2026
6 checks passed
@taejinn
taejinn deleted the fix/2374-team-recruitment-notification-idempotency branch September 2, 2026 14:58
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.

[공통] 팀원 모집 알림 단건 명령의 204·404 정책 불일치

2 participants