feat(ai-character): 오디오 콘텐츠 관리자 계약을 보강한다
This commit is contained in:
@@ -220,9 +220,6 @@ class AudioContentService(
|
||||
// request 내용 파싱
|
||||
val request = objectMapper.readValue(requestString, CreateAudioContentRequest::class.java)
|
||||
|
||||
// 미리듣기 시간 체크
|
||||
validatePreviewTime(request.previewStartTime, request.previewEndTime)
|
||||
|
||||
val releaseDate = if (request.releaseDate != null) {
|
||||
request.releaseDate.convertLocalDateTime("yyyy-MM-dd HH:mm")
|
||||
.atZone(ZoneId.of(request.timezone))
|
||||
@@ -232,11 +229,26 @@ class AudioContentService(
|
||||
LocalDateTime.now()
|
||||
}
|
||||
|
||||
return createAudioContent(contentFile, coverImage, request, releaseDate, member)
|
||||
}
|
||||
|
||||
@Transactional
|
||||
fun createAudioContent(
|
||||
contentFile: MultipartFile?,
|
||||
coverImage: MultipartFile?,
|
||||
request: CreateAudioContentRequest,
|
||||
releaseDate: LocalDateTime,
|
||||
member: Member
|
||||
): CreateAudioContentResponse {
|
||||
if (coverImage == null) throw SodaException(messageKey = "content.error.cover_image_required")
|
||||
|
||||
// contentFile 체크
|
||||
if (contentFile == null) {
|
||||
throw SodaException(messageKey = "content.error.content_required")
|
||||
}
|
||||
|
||||
validatePreviewTime(request.previewStartTime, request.previewEndTime)
|
||||
|
||||
// 테마 체크
|
||||
val theme = themeQueryRepository.findThemeByIdAndActive(id = request.themeId)
|
||||
?: throw SodaException(messageKey = "content.error.invalid_theme")
|
||||
|
||||
Reference in New Issue
Block a user