-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feat/#663 notification api 추가 #677
The head ref may contain hidden characters: "Refactor/#663-notification_api_\uCD94\uAC00"
Conversation
- receiverId, createdAt, redirectId #663
- 공통된 필드는 칼럼으로 가지고 있으므로 jsonData에 저장하지 않기 위해 @JsonIgnore 추가 #663
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
수고하셨습니다~!!
주석을 적절히 달아주셔서 코드를 이해하기 쉬웠던 것 같아요!
제가 보기엔 크게 수정할만한 점은 없는 것 같아서 approve 하겠습니다!
//given | ||
//member1 -> 안드로이드, member2 -> 안드로이드 백엔드, member3 -> 프론트엔드 | ||
//안드로이드, 백엔드 태그를 가진 Event 추가 | ||
//member1, member2만 알림이 감 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
테스트를 굉장히 꼼꼼하게 짜주셨네요👍👍
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
수고하셨습니다~!
연휴로 인해 리뷰가 늦어져서 죄송합니다,,
오랜만에 하는 만큼 꼼꼼히 봤는데 크게 수정할 점은 보이지 않네요!!
private final NotificationCommandService notificationCommandService; | ||
|
||
@GetMapping("/notifications") | ||
public List<NotificationAllResponse> find( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
이건 제 개인적인 느낌인데 DTO명이 AllResponse라 List로 Response들을 갖고 있을 것 같은 느낌을 받았어요. 혹시 DetailResponse는 어떠신가요?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
그럴 수 있겠네요,, 수정했습니다
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
전반적으로 잘 짜주신 것 같네요. 추석 전에 이야기했던 부분을 반영해준 것도 좋았고요.
그, 추가하셔야 될 부분 하나 있어서, 그것만 변경해주시면 될 것 같아요.
크게 무거운 부분도 아니니, 미리 approve는 누르겠습니다.
|
||
@RequiredArgsConstructor | ||
@Getter | ||
public abstract class NotificationEvent { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
제가 저번에 드린 의견을 잘 반영해주셨군요!
import org.springframework.stereotype.Service; | ||
|
||
@Service | ||
@RequiredArgsConstructor |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@transactional(readOnly=true)가 빠진 것 같아요.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
와;;; 감사합니다
|
||
final Notification notification = notificationRepository.save( | ||
new Notification(NotificationType.COMMENT, jsonData) | ||
new Notification( | ||
NotificationType.valueOf(notificationEvent.getNotificationType()), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
오 저는 저번에 Enum 자체를 Event 가 갖게했는데, 여기서 변환하는게 더 낫네요.
의존하는 곳이 잘 줄어든 것 같아요.
#️⃣연관된 이슈
📝작업 내용
기존 UpdateNotification에 있던 API들을 Notification에 새로 만들었습니다.
알림 읽기, 알림 삭제 API 가 UpdateNotification에 있었는데,
Notification으로 변경되어서 해당 API 가 필요해졌습니다.
이전 이슈에서는 JsonData에 모든 값들을 저장했는데,
알림에서 공통적으로 필요한 redirectId, receiverId, createdAt은 JsonData에서 뺐습니다.
공통적으로 필요한 칼럼은 부모
NotificationEvent
로 만들고,특정한 알림에 필요한 데이터는 자식 클래스에 만들었습니다.
JsonData는 자식 클래스에 있는 값만을 저장하기 때문에 NotificationEvent에 있는 값들은
JsonIgnore
해주었습니다.예상 소요 시간 및 실제 소요 시간
예상 : 10/2
실제 : 10/1