Skip to content

[REFACTOR] Notification 모듈 디커플링 및 Notifier 계층 분리 #336

@fivedragon5

Description

@fivedragon5

📃 요약

현재 DiscordComponent 내부에 알림 메세지 생성, Payload 구성, WebClient 호출 등. 여러 책임이 혼합된 상태이며
특정 비즈니스 로직 ex: 관리자 로그인 알림 등이 Discord API에 직접 의존하고 있음

ISSUE

  • 알림 종류가 증가 -> 유지보수에 손이 많이 감
  • Slack 등 다른 알림 채널 추가시 코드 확장 어려윰
  • 테스트 환경에서 외부 연동 Mocking 어려윰
  • Notification 관련 비즈니스 로직이 특정 기술(Discord)에 종속 됨

이를 해결하기위해 알림 채널(Discord, Slack 등)과 도메인 Notifier 로직을 완전히 분리(Decoupling)하는 작업이 필요

GOAL

  1. Notification 공통 인터페이스 설계
  • NotificationService 생성
  • 채널별 구현(Discord, Slack 등)은 인터페이스로 분리
  1. 비즈니스 로직에서 DiscordCompoent 의존성 제거
  • AdminLoginNotifier 같은 도메인 별 Notifier 생성
  • 내부에서는 어떤 채널을 사용하는지 모르도록
  1. 기존 DiscordCompoent 역할 축소 및 재구조화
  • payload 구성 로직 및 메세지 템플릿 분리

Metadata

Metadata

Assignees

Type

Projects

Status

Todo

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions