Skip to content
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

[FIX/#300] 웹 어드민 푸시 알림 기능 수정 / 예약 기능 구현 수정 #306

Merged
merged 31 commits into from
Jan 19, 2025

Conversation

yummygyudon
Copy link
Member

In Progress...

Last Modified 2025.01.17 02:40

Related Issue 🚀

Work Description ✏️

  • API Request / Response 요구사항 변경 반영
  • 구현상 오류 수정 반영
  • 🚨 DB Schema 업데이트 필요!!!! 🚨 (진행 후에 머지해야 합니다.)

PR Point 📸

※ Alarm 도메인 대규모 개편

1) Embedded 도입

2) intendAt 개념 도입


※ Alarm Web Hook API (from. Lambda Alarm Server)

related Issue : Push Notification Server - Issue#30

"발송 상태"에 대한 상태 변경 기능 구현


예약 알림 식별 기준 값을 `notificationId` -> `alarmId`으로 변경함에 따라 API 요구사항을 변경했습니다.
Content 관심사를 분리하여 관리할 수 있도록 Embedded Entity로 구현했습니다.
- 생성자 팩토리 함수를 제공하여 필요한 링크 유형에 따른 객체 생성이 가능하도록 했습니다.
발송 대상에 대한 관심사를 분리하기 위해 Embedded Entity를 구현했습니다.
private static 팩토리 메서드를 제공했습니다.
- `isSupportedAppLink` : 입력된 link가 지원되는 앱 링크 경로인지 검사합니다.
Util 클래스에 정의되어 있는 "앱링크 유효성 검사" 메서드를 통해 AppLink 컨텐츠 객체 생성자 메서드에서 유효성 검사를 진행합니다.
- Failure : 지원하지 않는 앱링크에 대한 에러
- Success : 상태값 업데이트에 대한 성공
쓰임에 따라 슈퍼 타입 Interface `AlarmRequest`를 구현한 후, `InstantAlarmRequest` / `ScheduleAlarmRequest` 구현체를 구현하여 관심사에 따른 관심사 분리 & 타입 안정적으로 사용하도록 했습니다.
- 통일성 있는 행위에 대한 메서드를 정의 및 구현할 수 있습니다.
- 알림 발송 역할을 담당하는 객체는 메서드는 `AlarmRequest` 타입 객체만 파라미터로 받을 수 있도록 합니다.
- 알림 발송 구현체는 `InstantAlarmRequest` / `ScheduleAlarmRequest`만을 활용할 수 있습니다.
EventBridge의 경우, 다양한 도메인에서 활용될 수 있기 때문에 이름에 쓰임과 의도를 명확히 표현하기 위해 이름을 수정했습니다.
- 이전 구현체 대비 코드 절약이 가능한 소스 코드는 편집했습니다.
@yummygyudon yummygyudon self-assigned this Jan 16, 2025
@yummygyudon yummygyudon linked an issue Jan 16, 2025 that may be closed by this pull request
6 tasks
Copy link

height bot commented Jan 16, 2025

Link Height tasks by mentioning a task ID in the pull request title or commit messages, or description and comments with the keyword link (e.g. "Link T-123").

💡Tip: You can also use "Close T-X" to automatically close a task when the pull request is merged.

Copy link
Contributor

@sung-silver sung-silver left a comment

Choose a reason for hiding this comment

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

중요한 리뷰가 하나 있어서 request changed 요청드립니다!!

Copy link
Contributor

@hyunw9 hyunw9 left a comment

Choose a reason for hiding this comment

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

고생하셨습니다아 ~

@yummygyudon yummygyudon merged commit feb9836 into develop Jan 19, 2025
1 check 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.

[FIX] 웹 어드민 푸시 알림 기능 수정 / 예약 기능 구현 수정
3 participants