pricelees d3e22888ed [#28] 쿠버네티스 환경 배포 (#29)
<!-- 제목 양식 -->
<!-- [이슈번호] 작업 요약 (예시: [#10] Gitea 템플릿 생성) -->

## 📝 관련 이슈 및 PR

**PR과 관련된 이슈 번호**
- #28

##  작업 내용
<!-- 어떤 작업을 했는지 알려주세요! -->
- 프론트엔드, 백엔드 쿠버네티스 환경 배포(ArgoCD 이용)
- Helm 차트는 private repository에 업로드

## 🧪 테스트
<!-- 어떤 테스트를 생각했고 진행했는지 알려주세요! -->
- 배포 환경에서 기능 정상 동작 확인

## 📚 참고 자료 및 기타
<!-- 참고한 자료, 또는 논의할 사항이 있다면 알려주세요! -->

Reviewed-on: #29
Co-authored-by: pricelees <priceelees@gmail.com>
Co-committed-by: pricelees <priceelees@gmail.com>
2025-08-04 05:59:38 +00:00

46 lines
1.1 KiB
Kotlin

package roomescape.theme.web
import io.swagger.v3.oas.annotations.media.Schema
import jakarta.validation.constraints.NotBlank
import jakarta.validation.constraints.Size
import org.hibernate.validator.constraints.URL
import roomescape.theme.infrastructure.persistence.ThemeEntity
data class ThemeCreateRequest(
@NotBlank
@Size(max = 20)
val name: String,
@NotBlank
@Size(max = 100)
val description: String,
@URL
@NotBlank
@Schema(description = "썸네일 이미지 주소(URL).")
val thumbnail: String
)
data class ThemeRetrieveResponse(
val id: Long,
val name: String,
val description: String,
@Schema(description = "썸네일 이미지 주소(URL).")
val thumbnail: String
)
fun ThemeEntity.toResponse(): ThemeRetrieveResponse = ThemeRetrieveResponse(
id = this.id!!,
name = this.name,
description = this.description,
thumbnail = this.thumbnail
)
data class ThemeRetrieveListResponse(
val themes: List<ThemeRetrieveResponse>
)
fun List<ThemeEntity>.toResponse(): ThemeRetrieveListResponse = ThemeRetrieveListResponse(
themes = this.map { it.toResponse() }
)