diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/content/AudioContentService.kt b/src/main/kotlin/kr/co/vividnext/sodalive/content/AudioContentService.kt index aff1863..7ca0de6 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/content/AudioContentService.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/content/AudioContentService.kt @@ -566,7 +566,7 @@ class AudioContentService( false } - val pinContentListCount = pinContentRepository.getPinContentList(memberId = member.id!!).size + val pinContentListCount = pinContentRepository.getPinContentList(memberId = member.id!!, active = true).size val isAvailablePin = if (member.id!! == audioContent.member!!.id!!) { pinContentListCount < 3 } else { diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/content/pin/PinContentRepository.kt b/src/main/kotlin/kr/co/vividnext/sodalive/content/pin/PinContentRepository.kt index 9b089e2..836628f 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/content/pin/PinContentRepository.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/content/pin/PinContentRepository.kt @@ -7,16 +7,22 @@ import org.springframework.data.jpa.repository.JpaRepository interface PinContentRepository : JpaRepository, PinContentQueryRepository interface PinContentQueryRepository { - fun getPinContentList(memberId: Long): List + fun getPinContentList(memberId: Long, active: Boolean? = null): List fun findByContentIdAndMemberId(contentId: Long, memberId: Long, active: Boolean? = null): PinContent? } class PinContentQueryRepositoryImpl(private val queryFactory: JPAQueryFactory) : PinContentQueryRepository { - override fun getPinContentList(memberId: Long): List { + override fun getPinContentList(memberId: Long, active: Boolean?): List { + var where = pinContent.member.id.eq(memberId) + + if (active != null) { + where = where.and(pinContent.isActive.eq(active)) + } + return queryFactory .selectFrom(pinContent) - .where(pinContent.member.id.eq(memberId)) + .where(where) .orderBy(pinContent.updatedAt.asc()) .fetch() }