Audiobook fixes

This commit is contained in:
acx10
2026-02-06 17:47:22 -07:00
parent f540e75994
commit 11007325b3
5 changed files with 13 additions and 51 deletions

View File

@@ -23,5 +23,5 @@ public class MobileBookSummary {
private Instant addedOn;
private Instant lastReadTime;
private Float readProgress;
private Boolean hasAudiobook;
private String primaryFileType;
}

View File

@@ -30,7 +30,7 @@ public interface MobileBookMapper {
@Mapping(target = "addedOn", source = "book.addedOn")
@Mapping(target = "lastReadTime", source = "progress.lastReadTime")
@Mapping(target = "readProgress", source = "progress", qualifiedByName = "mapReadProgress")
@Mapping(target = "hasAudiobook", source = "book", qualifiedByName = "mapHasAudiobook")
@Mapping(target = "primaryFileType", source = "book", qualifiedByName = "mapPrimaryFileType")
MobileBookSummary toSummary(BookEntity book, UserBookProgressEntity progress);
@Mapping(target = "id", source = "book.id")
@@ -140,15 +140,6 @@ public interface MobileBookMapper {
return null;
}
@Named("mapHasAudiobook")
default Boolean mapHasAudiobook(BookEntity book) {
if (book == null || book.getBookFiles() == null || book.getBookFiles().isEmpty()) {
return false;
}
return book.getBookFiles().stream()
.anyMatch(bf -> bf.getBookType() == BookFileType.AUDIOBOOK);
}
@Named("mapEpubProgress")
default MobileBookDetail.EpubProgress mapEpubProgress(UserBookProgressEntity progress) {
if (progress == null || progress.getEpubProgress() == null) {