diff --git a/src/main/java/EatPic/spring/domain/card/controller/CardController.java b/src/main/java/EatPic/spring/domain/card/controller/CardController.java index 6393f32..31cb0c1 100644 --- a/src/main/java/EatPic/spring/domain/card/controller/CardController.java +++ b/src/main/java/EatPic/spring/domain/card/controller/CardController.java @@ -151,5 +151,13 @@ public ApiResponse getProfileCardsList(@PathVar return ApiResponse.onSuccess(cardService.getProfileCardList(userId, size, cursor)); } + @GetMapping("/mypage/feeds") + @Operation(summary = "내가 작성한 피드 보기", description = "내가 작성한 피드 전체 조회(미리보기)") + public ApiResponse getMyCardsList(HttpServletRequest request, + @RequestParam(required = false) Long cursor, + @RequestParam(defaultValue = "15") int size) { + return ApiResponse.onSuccess(cardService.getMyProfileCardList(request, size, cursor)); + } + } diff --git a/src/main/java/EatPic/spring/domain/card/repository/CardRepository.java b/src/main/java/EatPic/spring/domain/card/repository/CardRepository.java index 8170d01..4a23be4 100644 --- a/src/main/java/EatPic/spring/domain/card/repository/CardRepository.java +++ b/src/main/java/EatPic/spring/domain/card/repository/CardRepository.java @@ -115,6 +115,10 @@ SELECT ch.hashtag.id, COUNT(ch.card.id) Slice findByUserIdAndIsSharedTrueAndIsDeletedFalseOrderByIdDesc(Long userId, Pageable pageable); Slice findByUserIdAndIsSharedTrueAndIsDeletedFalseAndIdLessThanOrderByIdDesc(Long userId, Long cursor, Pageable pageable); + Slice findByUserIdAndIsDeletedFalseOrderByIdDesc(Long userId, Pageable pageable); + Slice findByUserIdAndIsDeletedFalseAndIdLessThanOrderByIdDesc(Long userId, Long cursor, Pageable pageable); + + @Query(""" select count(c) from Card c diff --git a/src/main/java/EatPic/spring/domain/card/service/CardService.java b/src/main/java/EatPic/spring/domain/card/service/CardService.java index eba237a..4c301b0 100644 --- a/src/main/java/EatPic/spring/domain/card/service/CardService.java +++ b/src/main/java/EatPic/spring/domain/card/service/CardService.java @@ -26,4 +26,5 @@ public interface CardService { CardResponse.PagedCardFeedResponseDto getCardFeedByCursor(HttpServletRequest request, Long userId, int size, Long cursor); List getRecommendedCardPreviews(Long userId); CardResponse.ProfileCardListDTO getProfileCardList(Long userId, int size, Long cursor); + CardResponse.ProfileCardListDTO getMyProfileCardList(HttpServletRequest request,int size, Long cursor); } diff --git a/src/main/java/EatPic/spring/domain/card/service/CardServiceImpl.java b/src/main/java/EatPic/spring/domain/card/service/CardServiceImpl.java index 8e8200c..4609b9e 100644 --- a/src/main/java/EatPic/spring/domain/card/service/CardServiceImpl.java +++ b/src/main/java/EatPic/spring/domain/card/service/CardServiceImpl.java @@ -264,6 +264,23 @@ public CardResponse.ProfileCardListDTO getProfileCardList(Long userId, int size, return CardConverter.toProfileCardList(userId, cardSlice); } + @Override + public CardResponse.ProfileCardListDTO getMyProfileCardList(HttpServletRequest request,int size, Long cursor) { + User me = userService.getLoginUser(request); + + Slice cardSlice; + Pageable pageable = PageRequest.of(0, size); + + if (cursor == null) { + cardSlice = cardRepository.findByUserIdAndIsDeletedFalseOrderByIdDesc(me.getId(), pageable); + } else { + cardSlice = cardRepository.findByUserIdAndIsDeletedFalseAndIdLessThanOrderByIdDesc(me.getId(), cursor, pageable); + } + return CardConverter.toProfileCardList(me.getId(), cardSlice); + } + + + @Override @Transactional public CardDeleteResponse deleteCard(Long cardId, Long userId) {