라이브 방 - 아고라 설정 및 라이브 방 관련 API

This commit is contained in:
2023-08-01 04:56:47 +09:00
parent f393c7630e
commit 58a7f87ffd
37 changed files with 1823 additions and 6 deletions

View File

@@ -0,0 +1,12 @@
package kr.co.vividnext.sodalive.member.block
import kr.co.vividnext.sodalive.common.BaseEntity
import javax.persistence.Entity
@Entity
data class BlockMember(
val blockedMemberId: Long,
val memberId: Long
) : BaseEntity() {
var isActive: Boolean = true
}

View File

@@ -0,0 +1,27 @@
package kr.co.vividnext.sodalive.member.block
import com.querydsl.jpa.impl.JPAQueryFactory
import kr.co.vividnext.sodalive.member.block.QBlockMember.blockMember
import org.springframework.data.jpa.repository.JpaRepository
import org.springframework.stereotype.Repository
@Repository
interface BlockMemberRepository : JpaRepository<BlockMember, Long>, BlockMemberQueryRepository
interface BlockMemberQueryRepository {
fun getBlockAccount(blockedMemberId: Long, memberId: Long): BlockMember?
}
@Repository
class BlockMemberQueryRepositoryImpl(private val queryFactory: JPAQueryFactory) : BlockMemberQueryRepository {
override fun getBlockAccount(blockedMemberId: Long, memberId: Long): BlockMember? {
return queryFactory
.selectFrom(blockMember)
.where(
blockMember.blockedMemberId.eq(blockedMemberId)
.and(blockMember.memberId.eq(memberId))
)
.orderBy(blockMember.id.desc())
.fetchFirst()
}
}

View File

@@ -0,0 +1,3 @@
package kr.co.vividnext.sodalive.member.block
data class MemberBlockRequest(val blockMemberId: Long)