Skip to content

Commit

Permalink
Merge pull request #113 from Central-MakeUs/112-피드-조회할-때-접근-여부-추가
Browse files Browse the repository at this point in the history
🐛 fix: 피드 접근 여부 추가
  • Loading branch information
tmddus2 authored Aug 29, 2024
2 parents fcd7d98 + ff620e2 commit c03813c
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -45,4 +45,7 @@ public class FeedDto {

@Schema(description = "필터 OS 정보")
OS os;

@Schema(description = "필터 조회 가능 여부")
boolean canAccess;
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
import com.example.purithm.domain.feed.dto.response.FeedDto;
import com.example.purithm.domain.filter.dto.response.DatedStampDto;
import com.example.purithm.domain.filter.entity.Filter;
import com.example.purithm.domain.filter.entity.Membership;
import com.example.purithm.domain.filter.entity.OS;
import com.example.purithm.domain.filter.repository.FilterRepository;
import com.example.purithm.domain.review.dto.request.ReviewRequestDto;
Expand Down Expand Up @@ -78,6 +79,9 @@ private void upgradeMembership(User user) {
}

public List<FeedDto> getFeeds(OS os, String sortedBy, Long userId) {
User user = userRepository.findById(userId)
.orElseThrow(() -> CustomException.of(Error.NOT_FOUND_ERROR));

List<Review> reviews;
if (sortedBy.equals("earliest")) {
reviews = reviewRepository.findAllOrderByCreatedAtAsc(os, userId);
Expand All @@ -89,12 +93,15 @@ public List<FeedDto> getFeeds(OS os, String sortedBy, Long userId) {
reviews = reviewRepository.findAllOrderByCreatedAtDesc(os, userId);
}

return changeReviewToFeedDto(reviews);
return changeReviewToFeedDto(reviews, user.getMembership());
}

public List<FeedDto> getMyReviews(Long userId) {
User user = userRepository.findById(userId)
.orElseThrow(() -> CustomException.of(Error.NOT_FOUND_ERROR));

List<Review> reviews = reviewRepository.findAllByUserId(userId);
return changeReviewToFeedDto(reviews);
return changeReviewToFeedDto(reviews, user.getMembership());
}

@Transactional
Expand Down Expand Up @@ -125,7 +132,7 @@ public void blockUser(Long userId, Long feedId) {
}
}

private List<FeedDto> changeReviewToFeedDto(List<Review> reviews) {
private List<FeedDto> changeReviewToFeedDto(List<Review> reviews, Membership membership) {
return reviews.stream().map(review ->
FeedDto.builder()
.filterId(review.getFilter().getId())
Expand All @@ -138,6 +145,11 @@ private List<FeedDto> changeReviewToFeedDto(List<Review> reviews) {
.pictures(review.getPictures())
.id(review.getId())
.os(review.getFilter().getOs())
.filterThumbnail(review.getFilter().getThumbnail()).build()).toList();
.filterThumbnail(review.getFilter().getThumbnail())
.canAccess(checkAccess(membership, review.getFilter().getMembership())).build()).toList();
}

private static boolean checkAccess(Membership membership, Membership filter) {
return filter.compareTo(membership) > 0 ? false : true;
}
}

0 comments on commit c03813c

Please sign in to comment.