관리자 태그 큐레이션 등록

- 동일한 태그가 등록되지 않도록 validation 추가
This commit is contained in:
Klaus 2025-02-18 16:19:59 +09:00
parent e0565f7eed
commit 93b0565368
2 changed files with 15 additions and 0 deletions

View File

@ -18,6 +18,7 @@ interface AdminHashTagCurationRepository :
interface AdminHashTagCurationQueryRepository {
fun getContentHashTagCurationList(): List<GetAdminContentHashTagCurationResponse>
fun searchHashTagCurationContentItem(curationId: Long, searchWord: String): List<SearchCurationItemResponse>
fun isExistsTag(tag: String): Boolean
}
@Repository
@ -69,4 +70,12 @@ class AdminHashTagCurationQueryRepositoryImpl(
)
.fetch()
}
override fun isExistsTag(tag: String): Boolean {
return queryFactory
.select(contentHashTagCuration.id)
.from(contentHashTagCuration)
.where(contentHashTagCuration.tag.eq(tag))
.fetch().isNotEmpty()
}
}

View File

@ -20,6 +20,12 @@ class AdminHashTagCurationService(
) {
@Transactional
fun createContentHashTagCuration(request: CreateContentHashTagCurationRequest) {
val isExists = repository.isExistsTag(tag = request.tag.trim())
if (isExists) {
throw SodaException("이미 등록된 태그 입니다.")
}
repository.save(
ContentHashTagCuration(
tag = request.tag,