유저 관심사, 라이브 관심사 - 연령제한 설정 추가
This commit is contained in:
@@ -1,3 +1,3 @@
|
||||
package kr.co.vividnext.sodalive.live.tag
|
||||
|
||||
data class CreateLiveTagRequest(val tag: String)
|
||||
data class CreateLiveTagRequest(val tag: String, val isAdult: Boolean = false)
|
||||
|
@@ -8,6 +8,8 @@ import javax.persistence.Entity
|
||||
data class LiveTag(
|
||||
@Column(unique = true, nullable = false)
|
||||
var tag: String,
|
||||
@Column(nullable = false)
|
||||
var isAdult: Boolean = false,
|
||||
@Column(nullable = true)
|
||||
var image: String? = null,
|
||||
@Column(nullable = false)
|
||||
|
@@ -29,11 +29,11 @@ class LiveTagController(private val service: LiveTagService) {
|
||||
|
||||
@DeleteMapping("/{id}")
|
||||
@PreAuthorize("hasRole('ADMIN')")
|
||||
fun deleteSudaTag(@PathVariable id: Long) = ApiResponse.ok(service.deleteTag(id), "삭제되었습니다.")
|
||||
fun deleteLiveTag(@PathVariable id: Long) = ApiResponse.ok(service.deleteTag(id), "삭제되었습니다.")
|
||||
|
||||
@PutMapping("/{id}")
|
||||
@PreAuthorize("hasRole('ADMIN')")
|
||||
fun modifySudaTag(
|
||||
fun modifyLiveTag(
|
||||
@PathVariable id: Long,
|
||||
@RequestPart("image") image: MultipartFile?,
|
||||
@RequestPart("request") requestString: String
|
||||
|
@@ -2,6 +2,7 @@ package kr.co.vividnext.sodalive.live.tag
|
||||
|
||||
import com.querydsl.jpa.impl.JPAQueryFactory
|
||||
import kr.co.vividnext.sodalive.live.tag.QLiveTag.liveTag
|
||||
import kr.co.vividnext.sodalive.member.Member
|
||||
import kr.co.vividnext.sodalive.member.MemberRole
|
||||
import org.springframework.data.jpa.repository.JpaRepository
|
||||
import org.springframework.stereotype.Repository
|
||||
@@ -12,16 +13,16 @@ interface LiveTagRepository : JpaRepository<LiveTag, Long>, LiveTagQueryReposito
|
||||
}
|
||||
|
||||
interface LiveTagQueryRepository {
|
||||
fun getTags(role: MemberRole, isAdult: Boolean, cloudFrontHost: String): List<GetLiveTagResponse>
|
||||
fun getTags(member: Member, cloudFrontHost: String): List<GetLiveTagResponse>
|
||||
}
|
||||
|
||||
@Repository
|
||||
class LiveTagQueryRepositoryImpl(private val queryFactory: JPAQueryFactory) : LiveTagQueryRepository {
|
||||
override fun getTags(role: MemberRole, isAdult: Boolean, cloudFrontHost: String): List<GetLiveTagResponse> {
|
||||
override fun getTags(member: Member, cloudFrontHost: String): List<GetLiveTagResponse> {
|
||||
var where = liveTag.isActive.isTrue
|
||||
|
||||
if (role != MemberRole.ADMIN && !isAdult) {
|
||||
where = where.and(liveTag.tag.notIn("음담패설", "EDPS"))
|
||||
if (member.role != MemberRole.ADMIN && member.auth == null) {
|
||||
where = where.and(liveTag.isAdult.isFalse)
|
||||
}
|
||||
|
||||
return queryFactory
|
||||
|
@@ -90,7 +90,7 @@ class LiveTagService(
|
||||
}
|
||||
|
||||
fun getTags(member: Member): List<GetLiveTagResponse> {
|
||||
return repository.getTags(role = member.role, isAdult = member.auth != null, cloudFrontHost = cloudFrontHost)
|
||||
return repository.getTags(member = member, cloudFrontHost = cloudFrontHost)
|
||||
}
|
||||
|
||||
fun tagExistCheck(request: CreateLiveTagRequest) {
|
||||
|
Reference in New Issue
Block a user