mirror of
https://github.com/booklore-app/booklore.git
synced 2025-12-23 22:28:11 -05:00
Lesson: Avoid using entities in bad operations, prefer DTOs
This commit is contained in:
@@ -46,9 +46,9 @@ public class BookMetadataService {
|
||||
|
||||
public List<FetchedBookMetadata> fetchMetadataForRequest(long bookId, FetchMetadataRequest request) {
|
||||
BookEntity bookEntity = bookRepository.findById(bookId).orElseThrow(() -> ApiError.BOOK_NOT_FOUND.createException(bookId));
|
||||
|
||||
Book book = bookMapper.toBook(bookEntity);
|
||||
List<List<FetchedBookMetadata>> allMetadata = request.getProviders().stream()
|
||||
.map(provider -> CompletableFuture.supplyAsync(() -> fetchMetadataListFromAProvider(provider, bookMapper.toBook(bookEntity), request))
|
||||
.map(provider -> CompletableFuture.supplyAsync(() -> fetchMetadataListFromAProvider(provider, book, request))
|
||||
.exceptionally(e -> {
|
||||
log.error("Error fetching metadata from provider: {}", provider, e);
|
||||
return List.of();
|
||||
|
||||
Reference in New Issue
Block a user