Conversation
|
Caution Review failedPull request was closed or merged during review WalkthroughFlipNote 알림 서비스의 아키텍처를 재구성하여, DTO와 예외 클래스를 적절한 계층(application, domain, infrastructure, interfaces)으로 이동하고, 서비스 메서드 시그니처를 변경하며, FCM 전송 결과 처리를 위한 새로운 도메인 모델을 도입하는 광범위한 레이어링 및 패키지 재정렬. Changes
시퀀스 다이어그램sequenceDiagram
participant Client
participant NotificationController
participant NotificationQueryService
participant NotificationRepository
participant PagedResult as PagedResult Factory
participant CursorPagingResponse as CursorPagingResponse Factory
participant Response
Client->>NotificationController: GET /notifications<br/>(NotificationListRequest)
NotificationController->>NotificationController: req.toCommand()
NotificationController->>NotificationQueryService: getNotifications(userId, NotificationListCommand)
NotificationQueryService->>NotificationRepository: findAll(PageRequest)
NotificationRepository-->>NotificationQueryService: List<Notification>
NotificationQueryService->>NotificationQueryService: 목록 자르기 & hasNext 계산
NotificationQueryService->>NotificationQueryService: NotificationResult 매핑
NotificationQueryService->>PagedResult: of(content, hasNext, nextCursor)
PagedResult-->>NotificationQueryService: PagedResult<NotificationResult>
NotificationQueryService-->>NotificationController: PagedResult<NotificationResult>
NotificationController->>CursorPagingResponse: from(PagedResult)
CursorPagingResponse-->>NotificationController: CursorPagingResponse
NotificationController-->>Response: ResponseEntity<CursorPagingResponse>
Response-->>Client: 200 OK + 페이징 응답
sequenceDiagram
participant Client
participant NotificationController
participant NotificationCommandService
participant FirebaseFcmSender
participant Firebase as Firebase Messaging
participant FcmSendResult as FcmSendResult Factory
participant FcmTokenService
Client->>NotificationController: POST /notify (title, body, tokens)
NotificationController->>NotificationCommandService: sendFcmNotification(...)
NotificationCommandService->>FirebaseFcmSender: sendEachForMulticast(tokens, title, body)
FirebaseFcmSender->>Firebase: sendEachForMulticast(message)
Firebase-->>FirebaseFcmSender: BatchResponse
FirebaseFcmSender->>FirebaseFcmSender: toSendResult(BatchResponse)<br/>분류: validTokens vs invalidTokens
FirebaseFcmSender->>FcmSendResult: new FcmSendResult(...)
FcmSendResult-->>FirebaseFcmSender: FcmSendResult
FirebaseFcmSender-->>NotificationCommandService: FcmSendResult
NotificationCommandService->>FcmTokenService: deleteInvalidTokens(invalidTokens)
FcmTokenService-->>NotificationCommandService: 완료
NotificationCommandService-->>Client: 응답
Estimated code review effort🎯 4 (Complex) | ⏱️ ~60 minutes Poem
🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
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. Comment |
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.
Summary by CodeRabbit
릴리스 노트
Documentation
Bug Fixes
Refactor