feat: 발송 로그 조회 API 구현 (#122) #123

Merged
seonkyu.kim merged 1 commits from feature/#122-push-log-api into develop 2026-02-10 10:05:54 +00:00
Owner

📋 작업 요약

  • POST /v1/in/push/log 발송 로그 조회 API 구현
  • 메시지 코드, 디바이스 ID, 상태, 날짜 범위 필터링 지원
  • 페이지네이션 지원

Closes #122

🛠️ 작업 내용 (Changes)

  • SPMS.Domain/Interfaces/IPushSendLogRepository.cs — 발송 로그 리포지토리 인터페이스 정의
  • SPMS.Infrastructure/Persistence/Repositories/PushSendLogRepository.cs — Include(Message) 기반 페이징/필터링 구현
  • SPMS.Application/DTOs/Push/PushLogRequestDto.cs — 요청 DTO (page, size, message_code, device_id, status, start_date, end_date)
  • SPMS.Application/DTOs/Push/PushLogResponseDto.cs — 응답 DTO (items, pagination)
  • SPMS.Application/Interfaces/IPushService.cs — GetLogAsync 메서드 추가
  • SPMS.Application/Services/PushService.cs — 로그 조회 비즈니스 로직 구현
  • SPMS.API/Controllers/PushController.cs — POST log 엔드포인트 추가
  • SPMS.Infrastructure/DependencyInjection.cs — IPushSendLogRepository DI 등록
  • 누락된 Push DTO 파일 3종 포함 (PushSendRequestDto, PushSendResponseDto, PushSendTagRequestDto)

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

  • message_code 필터는 내부적으로 messageId로 변환하여 조회합니다
  • status 필터는 "success"/"failed" 문자열을 PushResult enum으로 변환합니다
  • 이전 PR에서 누락된 Push DTO 3개 파일이 함께 포함되어 있습니다

체크리스트 (Self Checklist)

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

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

빌드했습니다.
    경고 0개
    오류 0개
## 📋 작업 요약 - POST /v1/in/push/log 발송 로그 조회 API 구현 - 메시지 코드, 디바이스 ID, 상태, 날짜 범위 필터링 지원 - 페이지네이션 지원 ## 🔗 관련 이슈 (Related Issues) Closes #122 ## 🛠️ 작업 내용 (Changes) - [x] `SPMS.Domain/Interfaces/IPushSendLogRepository.cs` — 발송 로그 리포지토리 인터페이스 정의 - [x] `SPMS.Infrastructure/Persistence/Repositories/PushSendLogRepository.cs` — Include(Message) 기반 페이징/필터링 구현 - [x] `SPMS.Application/DTOs/Push/PushLogRequestDto.cs` — 요청 DTO (page, size, message_code, device_id, status, start_date, end_date) - [x] `SPMS.Application/DTOs/Push/PushLogResponseDto.cs` — 응답 DTO (items, pagination) - [x] `SPMS.Application/Interfaces/IPushService.cs` — GetLogAsync 메서드 추가 - [x] `SPMS.Application/Services/PushService.cs` — 로그 조회 비즈니스 로직 구현 - [x] `SPMS.API/Controllers/PushController.cs` — POST log 엔드포인트 추가 - [x] `SPMS.Infrastructure/DependencyInjection.cs` — IPushSendLogRepository DI 등록 - [x] 누락된 Push DTO 파일 3종 포함 (PushSendRequestDto, PushSendResponseDto, PushSendTagRequestDto) ## 📢 리뷰어 참고 사항 (To Reviewers) - message_code 필터는 내부적으로 messageId로 변환하여 조회합니다 - status 필터는 "success"/"failed" 문자열을 PushResult enum으로 변환합니다 - 이전 PR에서 누락된 Push DTO 3개 파일이 함께 포함되어 있습니다 ## ✅ 체크리스트 (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 08:42:19 +00:00
- POST /v1/in/push/log 엔드포인트 추가
- PushSendLogRepository (페이징, 필터링: message_code, device_id, status, 날짜범위)
- PushService.GetLogAsync 구현
- 누락된 Push DTO 파일 포함 (PushSendRequestDto, PushSendResponseDto, PushSendTagRequestDto)
seonkyu.kim added the
Priority
Medium
Status
In Progress
Type
Feature
labels 2026-02-10 08:42:32 +00:00
seonkyu.kim added this to the Phase 3: 메시지 & Push Core milestone 2026-02-10 08:42:41 +00:00
seonkyu.kim self-assigned this 2026-02-10 08:43:10 +00:00
seonkyu.kim requested review from Owners 2026-02-10 08:43:30 +00:00
seonkyu.kim merged commit 355d3269c0 into develop 2026-02-10 10:05:54 +00:00
seonkyu.kim deleted branch feature/#122-push-log-api 2026-02-10 10:06:23 +00:00
seonkyu.kim added
Status
Done
and removed
Status
In Progress
labels 2026-02-10 10:06:37 +00:00
Sign in to join this conversation.
No description provided.