1.6 KiB
1.6 KiB
PRD: CDN URL 변환 공통화
1. Overview
v2 서비스에서 중복 선언된 String?.toCdnUrl() 확장 함수를 공통 유틸로 분리한다.
2. Problem
CreatorChannelHomeQueryService,CreatorChannelLiveQueryService,CreatorChannelAudioQueryService,CreatorRankingQueryService에 유사한 CDN URL 변환 로직이 private 함수로 중복되어 있다.- ranking 구현은 절대 URL을 그대로 유지하지 않아 다른 3곳과 동작이 다르다.
3. Goals
- 4개 서비스가 하나의 공통
toCdnUrl함수를 사용한다. null또는 blank 입력은null을 반환한다.http://,https://절대 URL은 그대로 반환한다.- 상대 path는
cloudFrontHost/path형식으로 반환한다.
4. Non-Goals
- QueryDSL 조회 로직이나 공개 API 스키마는 변경하지 않는다.
- 기존 CDN host 설정 방식은 변경하지 않는다.
- 다른 레거시 CDN URL 조합 코드는 이번 범위에서 정리하지 않는다.
5. Core Features
Feature A: 공통 CDN URL 변환
Requirements
kr.co.vividnext.sodalive.v2하위 공통 패키지에 재사용 가능한 함수를 둔다.- 기존 서비스 매핑 흐름은 유지하고 private 중복 함수만 제거한다.
Edge Cases
null,""," "입력은null이어야 한다.https://...,http://...입력은 host를 덧붙이지 않아야 한다."profile/a.png"입력은"https://cdn.test/profile/a.png"가 되어야 한다.
6. Technical Constraints
- Kotlin 확장 함수로 구현한다.
- 테스트는 JUnit 5로 작성한다.