[Improvement] WP-SVC-04 목록/상세 응답 강화 (플랫폼 상태 판정) #216

Closed
opened 2026-02-25 04:20:53 +00:00 by seonkyu.kim · 0 comments
Owner

설명

서비스 목록/상세 API의 응답에 플랫폼(Android/iOS) 자격증명 상태 정보를 추가한다.

범위

  • 대상 API: POST /v1/in/service/list, POST /v1/in/service/{serviceCode}
  • 플랫폼 자격증명 상태(ok/warn/error/none) 판정 로직 추가
  • APNs p12 인증서 만료 경고 지원
  • 상세 응답에 ApnsAuthType 필드 추가

작업 내용

  • PlatformSummaryDto / PlatformCredentialSummaryDto 생성
  • ServiceSummaryDto에 Platforms 필드 추가 (목록)
  • ServiceResponseDto에 ApnsAuthType + Platforms 필드 추가 (상세)
  • BuildPlatformSummary 상태 판정 메서드 구현
  • Swagger Description 업데이트

상태 판정 기준

  • none: 자격증명 미등록 (null 반환)
  • ok: 등록됨 + 유효 (만료 30일 초과 또는 만료 없음)
  • warn: 등록됨 + p12 만료 30일 이내
  • error: 등록됨 + p12 만료됨

완료 기준

  • list/detail API 응답에 platforms 필드 포함
  • 플랫폼 상태 배지(ok/warn/error) 프론트엔드 렌더링 가능
  • 빌드 성공

의존성

참조

  • PRD: domains/service-prd.md FR-SVC-005, FR-SVC-006
## 설명 서비스 목록/상세 API의 응답에 플랫폼(Android/iOS) 자격증명 상태 정보를 추가한다. ## 범위 - 대상 API: `POST /v1/in/service/list`, `POST /v1/in/service/{serviceCode}` - 플랫폼 자격증명 상태(ok/warn/error/none) 판정 로직 추가 - APNs p12 인증서 만료 경고 지원 - 상세 응답에 ApnsAuthType 필드 추가 ## 작업 내용 - [x] PlatformSummaryDto / PlatformCredentialSummaryDto 생성 - [x] ServiceSummaryDto에 Platforms 필드 추가 (목록) - [x] ServiceResponseDto에 ApnsAuthType + Platforms 필드 추가 (상세) - [x] BuildPlatformSummary 상태 판정 메서드 구현 - [x] Swagger Description 업데이트 ## 상태 판정 기준 - **none**: 자격증명 미등록 (null 반환) - **ok**: 등록됨 + 유효 (만료 30일 초과 또는 만료 없음) - **warn**: 등록됨 + p12 만료 30일 이내 - **error**: 등록됨 + p12 만료됨 ## 완료 기준 - list/detail API 응답에 platforms 필드 포함 - 플랫폼 상태 배지(ok/warn/error) 프론트엔드 렌더링 가능 - 빌드 성공 ## 의존성 - WP-SVC-02 (#212) ## 참조 - PRD: `domains/service-prd.md` FR-SVC-005, FR-SVC-006
seonkyu.kim added the
Priority
Medium
Status
In Progress
Type
Improvement
labels 2026-02-25 04:21:03 +00:00
seonkyu.kim self-assigned this 2026-02-25 04:21:04 +00:00
seonkyu.kim added this to the Phase 1: 서비스 도메인 milestone 2026-02-25 04:21:04 +00:00
seonkyu.kim added
Status
Done
and removed
Status
In Progress
labels 2026-02-25 04:26:39 +00:00
Sign in to join this conversation.
No description provided.