시그니처 조회
- 조회하는 크리에이터 본인 것만 조회하도록 수정
This commit is contained in:
		| @@ -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( | ||||
|   | ||||
| @@ -9,9 +9,9 @@ import org.springframework.data.jpa.repository.JpaRepository | ||||
| interface CreatorAdminSignatureRepository : JpaRepository<SignatureCan, Long>, CreatorAdminSignatureQueryRepository | ||||
|  | ||||
| interface CreatorAdminSignatureQueryRepository { | ||||
|     fun getSignatureListTotalCount(): Int | ||||
|     fun getSignatureListTotalCount(memberId: Long): Int | ||||
|  | ||||
|     fun getSignatureList(imageHost: String, offset: Long, limit: Long): List<GetSignatureListItem> | ||||
|     fun getSignatureList(memberId: Long, imageHost: String, offset: Long, limit: Long): List<GetSignatureListItem> | ||||
|  | ||||
|     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<GetSignatureListItem> { | ||||
|     override fun getSignatureList( | ||||
|         memberId: Long, | ||||
|         imageHost: String, | ||||
|         offset: Long, | ||||
|         limit: Long | ||||
|     ): List<GetSignatureListItem> { | ||||
|         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()) | ||||
|   | ||||
| @@ -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() | ||||
|   | ||||
		Reference in New Issue
	
	Block a user