diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/creator/admin/signature/CreatorAdminSignatureController.kt b/src/main/kotlin/kr/co/vividnext/sodalive/creator/admin/signature/CreatorAdminSignatureController.kt index 40e93df..5fdafa1 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/creator/admin/signature/CreatorAdminSignatureController.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/creator/admin/signature/CreatorAdminSignatureController.kt @@ -19,7 +19,14 @@ import org.springframework.web.multipart.MultipartFile @RequestMapping("/creator-admin/signature") class CreatorAdminSignatureController(private val service: CreatorAdminSignatureService) { @GetMapping - fun getSignatureCanList(pageable: Pageable) = ApiResponse.ok(data = service.getSignatureList(pageable)) + fun getSignatureCanList( + pageable: Pageable, + @AuthenticationPrincipal(expression = "#this == 'anonymousUser' ? null : member") member: Member? + ) = run { + if (member == null) throw SodaException("로그인 정보를 확인해주세요.") + + ApiResponse.ok(data = service.getSignatureList(pageable, memberId = member.id!!)) + } @PostMapping fun createSignature( diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/creator/admin/signature/CreatorAdminSignatureRepository.kt b/src/main/kotlin/kr/co/vividnext/sodalive/creator/admin/signature/CreatorAdminSignatureRepository.kt index 14c76ad..4442839 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/creator/admin/signature/CreatorAdminSignatureRepository.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/creator/admin/signature/CreatorAdminSignatureRepository.kt @@ -9,9 +9,9 @@ import org.springframework.data.jpa.repository.JpaRepository interface CreatorAdminSignatureRepository : JpaRepository, CreatorAdminSignatureQueryRepository interface CreatorAdminSignatureQueryRepository { - fun getSignatureListTotalCount(): Int + fun getSignatureListTotalCount(memberId: Long): Int - fun getSignatureList(imageHost: String, offset: Long, limit: Long): List + fun getSignatureList(memberId: Long, imageHost: String, offset: Long, limit: Long): List fun findSignatureByIdOrNull(id: Long, memberId: Long): SignatureCan? } @@ -19,15 +19,23 @@ interface CreatorAdminSignatureQueryRepository { class CreatorAdminSignatureQueryRepositoryImpl( private val queryFactory: JPAQueryFactory ) : CreatorAdminSignatureQueryRepository { - override fun getSignatureListTotalCount(): Int { + override fun getSignatureListTotalCount(memberId: Long): Int { return queryFactory.select(signatureCan.id) .from(signatureCan) - .where(signatureCan.isActive.isTrue) + .where( + signatureCan.isActive.isTrue + .and(signatureCan.creator.id.eq(memberId)) + ) .fetch() .size } - override fun getSignatureList(imageHost: String, offset: Long, limit: Long): List { + override fun getSignatureList( + memberId: Long, + imageHost: String, + offset: Long, + limit: Long + ): List { return queryFactory.select( QGetSignatureListItem( signatureCan.id, @@ -38,7 +46,10 @@ class CreatorAdminSignatureQueryRepositoryImpl( ) .from(signatureCan) .innerJoin(signatureCan.creator, member) - .where(signatureCan.isActive.isTrue) + .where( + signatureCan.isActive.isTrue + .and(signatureCan.creator.id.eq(memberId)) + ) .offset(offset) .limit(limit) .orderBy(signatureCan.id.desc()) diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/creator/admin/signature/CreatorAdminSignatureService.kt b/src/main/kotlin/kr/co/vividnext/sodalive/creator/admin/signature/CreatorAdminSignatureService.kt index 3cf754c..f1a637e 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/creator/admin/signature/CreatorAdminSignatureService.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/creator/admin/signature/CreatorAdminSignatureService.kt @@ -24,9 +24,10 @@ class CreatorAdminSignatureService( @Value("\${cloud.aws.cloud-front.host}") private val imageHost: String ) { - fun getSignatureList(pageable: Pageable): GetSignatureListResponse { - val totalCount = repository.getSignatureListTotalCount() + fun getSignatureList(pageable: Pageable, memberId: Long): GetSignatureListResponse { + val totalCount = repository.getSignatureListTotalCount(memberId = memberId) val items = repository.getSignatureList( + memberId = memberId, imageHost = imageHost, offset = pageable.offset, limit = pageable.pageSize.toLong()