Skip to content

Commit

Permalink
fix: remove dto return in functions
Browse files Browse the repository at this point in the history
  • Loading branch information
llucasreis committed Aug 23, 2021
1 parent 7c4d30e commit eb6cd7e
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 9 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,15 @@
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.CompletionStage;

import com.llucasreis.reviewdgs.dtos.ReviewDTO;
import com.llucasreis.reviewdgs.domain.entities.Review;
import com.llucasreis.reviewdgs.services.ReviewService;
import com.netflix.graphql.dgs.DgsDataLoader;

import org.dataloader.MappedBatchLoader;
import org.springframework.beans.factory.annotation.Autowired;

@DgsDataLoader(name = "reviews")
public class ReviewDataLoader implements MappedBatchLoader<Long, List<ReviewDTO>> {
public class ReviewDataLoader implements MappedBatchLoader<Long, List<Review>> {

private final ReviewService reviewService;

Expand All @@ -25,7 +25,7 @@ public ReviewDataLoader(ReviewService reviewService) {
}

@Override
public CompletionStage<Map<Long, List<ReviewDTO>>> load(Set<Long> gameIds) {
public CompletionStage<Map<Long, List<Review>>> load(Set<Long> gameIds) {
return CompletableFuture.supplyAsync(() ->
this.reviewService.getReviewsByGameIds(new ArrayList<>(gameIds)));
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
import java.util.stream.Collectors;

import com.llucasreis.reviewdgs.domain.entities.Review;
import com.llucasreis.reviewdgs.dtos.ReviewDTO;
import com.llucasreis.reviewdgs.repositories.ReviewRepository;

import org.springframework.beans.factory.annotation.Autowired;
Expand All @@ -22,16 +21,19 @@ public ReviewService(ReviewRepository reviewRepository) {
this.reviewRepository = reviewRepository;
}

public Map<Long, List<ReviewDTO>> getReviewsByGameIds(List<Long> gameIds) {
public List<Review> find() {
return this.reviewRepository.findAll();
}

public Map<Long, List<Review>> getReviewsByGameIds(List<Long> gameIds) {
List<Review> reviews = this.reviewRepository.findByGameIdIn(gameIds);
Map<Long, List<ReviewDTO>> response = new HashMap<>();
Map<Long, List<Review>> response = new HashMap<>();

gameIds.forEach(gameId -> {
List<ReviewDTO> reviewDTOs = reviews.stream()
List<Review> gameReviews = reviews.stream()
.filter(r -> r.getGameId().equals(gameId))
.map(ReviewDTO::convert)
.collect(Collectors.toList());
response.put(gameId, reviewDTOs);
response.put(gameId, gameReviews);
});

return response;
Expand Down

0 comments on commit eb6cd7e

Please sign in to comment.