feat: 메시지 유효성 검사 서비스 구현 (#118) #119

Merged
seonkyu.kim merged 1 commits from feature/#118-message-validation into develop 2026-02-10 08:18:12 +00:00
Owner

📋 작업 요약

  • 메시지 통합 유효성 검사 서비스 (HPR-03) 구현
  • POST /v1/in/message/validate 엔드포인트 추가
  • MessageController 기반 구성 (향후 message CRUD 확장용)

Closes #118

🛠️ 작업 내용 (Changes)

  • SPMS.Application/DTOs/Message/MessageValidateRequestDto.cs — 유효성 검사 요청 DTO
  • SPMS.Application/DTOs/Message/MessageValidationResultDto.cs — 검증 결과 DTO (isValid, errors[])
  • SPMS.Application/Interfaces/IMessageValidationService.cs — 유효성 검사 인터페이스
  • SPMS.Application/Services/MessageValidationService.cs — 검증 로직 구현
  • SPMS.Application/DependencyInjection.cs — IMessageValidationService DI 등록 (Singleton)
  • SPMS.API/Controllers/MessageController.cs — validate 엔드포인트

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

  • 검증 항목: title(필수, 100자), body(필수, 2000자), image_url(http/https), link_url(URI), link_type(deeplink/web/none), data(유효 JSON 객체, 4KB)
  • 상태 없는 순수 검증 로직이므로 Singleton으로 등록
  • link_url은 deeplink 스키마(myapp://)도 허용하기 위해 Uri.TryCreate(Absolute)만 체크
  • MessageController는 향후 save/list/info/delete 확장 예정

체크리스트 (Self Checklist)

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

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

빌드했습니다.
    경고 0개
    오류 0개
## 📋 작업 요약 - 메시지 통합 유효성 검사 서비스 (HPR-03) 구현 - `POST /v1/in/message/validate` 엔드포인트 추가 - MessageController 기반 구성 (향후 message CRUD 확장용) ## 🔗 관련 이슈 (Related Issues) Closes #118 ## 🛠️ 작업 내용 (Changes) - [x] `SPMS.Application/DTOs/Message/MessageValidateRequestDto.cs` — 유효성 검사 요청 DTO - [x] `SPMS.Application/DTOs/Message/MessageValidationResultDto.cs` — 검증 결과 DTO (isValid, errors[]) - [x] `SPMS.Application/Interfaces/IMessageValidationService.cs` — 유효성 검사 인터페이스 - [x] `SPMS.Application/Services/MessageValidationService.cs` — 검증 로직 구현 - [x] `SPMS.Application/DependencyInjection.cs` — IMessageValidationService DI 등록 (Singleton) - [x] `SPMS.API/Controllers/MessageController.cs` — validate 엔드포인트 ## 📢 리뷰어 참고 사항 (To Reviewers) - 검증 항목: title(필수, 100자), body(필수, 2000자), image_url(http/https), link_url(URI), link_type(deeplink/web/none), data(유효 JSON 객체, 4KB) - 상태 없는 순수 검증 로직이므로 Singleton으로 등록 - link_url은 deeplink 스키마(`myapp://`)도 허용하기 위해 Uri.TryCreate(Absolute)만 체크 - MessageController는 향후 save/list/info/delete 확장 예정 ## ✅ 체크리스트 (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:16:30 +00:00
- MessageValidationService: title/body/image_url/link_url/link_type/data 검증
- POST /v1/in/message/validate 엔드포인트 추가
- MessageController 기반 구성

Closes #118
seonkyu.kim added the
Priority
High
Status
In Progress
Type
Feature
labels 2026-02-10 08:16:42 +00:00
seonkyu.kim added this to the Phase 3: 메시지 & Push Core milestone 2026-02-10 08:16:48 +00:00
seonkyu.kim self-assigned this 2026-02-10 08:16:54 +00:00
seonkyu.kim merged commit f9d3fa0b6f into develop 2026-02-10 08:18:12 +00:00
seonkyu.kim added
Status
Done
and removed
Status
In Progress
labels 2026-02-10 08:23:34 +00:00
seonkyu.kim deleted branch feature/#118-message-validation 2026-02-10 08:23:37 +00:00
Sign in to join this conversation.
No description provided.