diff --git a/src/main/kotlin/kr/nagaza/nagazaserver/domain/repository/CafeRoomRepository.kt b/src/main/kotlin/kr/nagaza/nagazaserver/domain/repository/CafeRoomRepository.kt index 45da1d4..40a0962 100644 --- a/src/main/kotlin/kr/nagaza/nagazaserver/domain/repository/CafeRoomRepository.kt +++ b/src/main/kotlin/kr/nagaza/nagazaserver/domain/repository/CafeRoomRepository.kt @@ -4,5 +4,8 @@ import kr.nagaza.nagazaserver.domain.model.CafeRoom interface CafeRoomRepository { fun getAllRoomByCafeId(cafeId: String): List + fun findByRoomId(roomId: String): CafeRoom? + + fun getAllGenres(): List } diff --git a/src/main/kotlin/kr/nagaza/nagazaserver/domain/service/CafeRoomService.kt b/src/main/kotlin/kr/nagaza/nagazaserver/domain/service/CafeRoomService.kt index b2e55ff..a9b5ea6 100644 --- a/src/main/kotlin/kr/nagaza/nagazaserver/domain/service/CafeRoomService.kt +++ b/src/main/kotlin/kr/nagaza/nagazaserver/domain/service/CafeRoomService.kt @@ -24,4 +24,8 @@ class CafeRoomService( fun getRoomByRoomId(roomId: String): CafeRoom { return cafeRoomRepository.findByRoomId(roomId) ?: throw CafeRoomNotFoundException() } + + fun getAllGenres(): List { + return cafeRoomRepository.getAllGenres() + } } diff --git a/src/main/kotlin/kr/nagaza/nagazaserver/infrastructure/jpa/repository/CafeRoomRepositoryImpl.kt b/src/main/kotlin/kr/nagaza/nagazaserver/infrastructure/jpa/repository/CafeRoomRepositoryImpl.kt index 4796cda..475f6be 100644 --- a/src/main/kotlin/kr/nagaza/nagazaserver/infrastructure/jpa/repository/CafeRoomRepositoryImpl.kt +++ b/src/main/kotlin/kr/nagaza/nagazaserver/infrastructure/jpa/repository/CafeRoomRepositoryImpl.kt @@ -9,6 +9,10 @@ import org.springframework.stereotype.Repository class CafeRoomRepositoryImpl( private val jpaCafeRoomRepository: JpaCafeRoomRepository, ) : CafeRoomRepository { + override fun getAllGenres(): List { + return jpaCafeRoomRepository.findAllGenres() + } + override fun getAllRoomByCafeId(cafeId: String): List { return jpaCafeRoomRepository.findAllByCafeId(cafeId) .map { diff --git a/src/main/kotlin/kr/nagaza/nagazaserver/infrastructure/jpa/repository/JpaCafeRoomRepository.kt b/src/main/kotlin/kr/nagaza/nagazaserver/infrastructure/jpa/repository/JpaCafeRoomRepository.kt index abddbd9..88b7e6d 100644 --- a/src/main/kotlin/kr/nagaza/nagazaserver/infrastructure/jpa/repository/JpaCafeRoomRepository.kt +++ b/src/main/kotlin/kr/nagaza/nagazaserver/infrastructure/jpa/repository/JpaCafeRoomRepository.kt @@ -2,7 +2,11 @@ package kr.nagaza.nagazaserver.infrastructure.jpa.repository import kr.nagaza.nagazaserver.infrastructure.jpa.entity.CafeRoomEntity import org.springframework.data.jpa.repository.JpaRepository +import org.springframework.data.jpa.repository.Query interface JpaCafeRoomRepository : JpaRepository { fun findAllByCafeId(cafeId: String): List + + @Query("SELECT DISTINCT cafe_room.genre FROM cafe_room") + fun findAllGenres(): List }