feat: 즉시 발송 요청 API 구현 (#114) #115

Merged
seonkyu.kim merged 1 commits from feature/#114-push-send-api into develop 2026-02-10 07:49:00 +00:00
Owner

📋 작업 요약

  • 단건 발송 API (POST /v1/in/push/send) 구현
  • 태그 발송 API (POST /v1/in/push/send/tag) 구현
  • 메시지 코드로 메시지 조회 → 변수 치환 → RabbitMQ 푸시 큐 발행 흐름

Closes #114

🛠️ 작업 내용 (Changes)

  • SPMS.Domain/Common/ErrorCodes.cs — MessageNotFound(151) 에러 코드 추가
  • SPMS.Application/Interfaces/IPushService.cs — 푸시 서비스 인터페이스 정의
  • SPMS.Application/Services/PushService.cs — 단건/태그 발송 서비스 구현 (변수 치환, PushMessageDto 빌드, 큐 발행)
  • SPMS.Application/DependencyInjection.cs — IPushService DI 등록
  • SPMS.API/Controllers/PushController.cs — send, send/tag 엔드포인트

📢 리뷰어 참고 사항 (To Reviewers)

  • 발송은 비동기 처리(RabbitMQ 큐 발행 후 즉시 응답), 실제 발송은 PushWorker가 처리
  • 단건: send_type="single", target.type="device_ids"
  • 태그: send_type="group", target.type="tags" (match: and/or)
  • 메시지 title/body의 {{변수명}} 패턴을 variables로 치환

체크리스트 (Self Checklist)

  • 빌드(Build)가 성공적으로 수행되었는가?
  • 모든 단위 테스트(Unit Test)를 통과하였는가?
  • 불필요한 로그나 주석을 제거하였는가?
  • 컨벤션(Clean Architecture, Naming)을 준수하였는가?
  • 기밀 정보(비밀번호, 키 등)가 하드코딩 되어있지 않은가?

📸 스크린샷 / 테스트 로그 (Screenshots/Logs)

빌드했습니다.
    경고 0개
    오류 0개
## 📋 작업 요약 - 단건 발송 API (`POST /v1/in/push/send`) 구현 - 태그 발송 API (`POST /v1/in/push/send/tag`) 구현 - 메시지 코드로 메시지 조회 → 변수 치환 → RabbitMQ 푸시 큐 발행 흐름 ## 🔗 관련 이슈 (Related Issues) Closes #114 ## 🛠️ 작업 내용 (Changes) - [x] `SPMS.Domain/Common/ErrorCodes.cs` — MessageNotFound(151) 에러 코드 추가 - [x] `SPMS.Application/Interfaces/IPushService.cs` — 푸시 서비스 인터페이스 정의 - [x] `SPMS.Application/Services/PushService.cs` — 단건/태그 발송 서비스 구현 (변수 치환, PushMessageDto 빌드, 큐 발행) - [x] `SPMS.Application/DependencyInjection.cs` — IPushService DI 등록 - [x] `SPMS.API/Controllers/PushController.cs` — send, send/tag 엔드포인트 ## 📢 리뷰어 참고 사항 (To Reviewers) - 발송은 비동기 처리(RabbitMQ 큐 발행 후 즉시 응답), 실제 발송은 PushWorker가 처리 - 단건: send_type="single", target.type="device_ids" - 태그: send_type="group", target.type="tags" (match: and/or) - 메시지 title/body의 `{{변수명}}` 패턴을 variables로 치환 ## ✅ 체크리스트 (Self Checklist) - [x] 빌드(Build)가 성공적으로 수행되었는가? - [x] 모든 단위 테스트(Unit Test)를 통과하였는가? - [x] 불필요한 로그나 주석을 제거하였는가? - [x] 컨벤션(Clean Architecture, Naming)을 준수하였는가? - [x] 기밀 정보(비밀번호, 키 등)가 하드코딩 되어있지 않은가? ## 📸 스크린샷 / 테스트 로그 (Screenshots/Logs) ``` 빌드했습니다. 경고 0개 오류 0개 ```
seonkyu.kim added 1 commit 2026-02-10 07:39:23 +00:00
- POST /v1/in/push/send (단건 발송)
- POST /v1/in/push/send/tag (태그 발송)
- PushService: 메시지 조회 → 변수 치환 → RabbitMQ 큐 발행
- MessageNotFound(151) 에러 코드 추가

Closes #114
seonkyu.kim added the
Priority
Urgent
Status
In Progress
Type
Feature
labels 2026-02-10 07:39:41 +00:00
seonkyu.kim added this to the Phase 3: 메시지 & Push Core milestone 2026-02-10 07:39:44 +00:00
seonkyu.kim self-assigned this 2026-02-10 07:41:30 +00:00
seonkyu.kim requested review from Owners 2026-02-10 07:43:04 +00:00
seonkyu.kim merged commit 47dff6b2f0 into develop 2026-02-10 07:49:00 +00:00
seonkyu.kim deleted branch feature/#114-push-send-api 2026-02-10 07:49:18 +00:00
seonkyu.kim added
Status
Done
and removed
Status
In Progress
labels 2026-02-10 07:53:06 +00:00
Sign in to join this conversation.
No description provided.