Fix bug when game has no cover in IGDB

This commit is contained in:
Simon Grimme
2022-07-25 11:34:22 +02:00
parent b86544b22a
commit 206272b50b
5 changed files with 29 additions and 11 deletions
@@ -8,6 +8,7 @@ import de.grimsi.gameyfin.util.ProtobufUtil;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import org.springframework.util.StringUtils;
import java.io.IOException;
import java.nio.file.FileSystem;
@@ -38,7 +39,7 @@ public class GameMapper {
.onlineCoop(hasOnlineCoop(multiplayerModes))
.lanSupport(hasLanSupport(multiplayerModes))
.maxPlayers(getMaxPlayers(multiplayerModes))
.coverId(g.getCover().getImageId())
.coverId(getCoverId(g))
.screenshotIds(screenshotIds)
.videoIds(videoIds)
.companies(CompanyMapper.toCompanies(g.getInvolvedCompaniesList()))
@@ -59,6 +60,14 @@ public class GameMapper {
.build();
}
private static String getCoverId(Igdb.Game g) {
String coverId = g.getCover().getImageId();
if(StringUtils.hasText(coverId)) return coverId;
return "nocover";
}
private static boolean hasOfflineCoop(List<Igdb.MultiplayerMode> modes) {
return modes.stream().anyMatch(Igdb.MultiplayerMode::getOfflinecoop);
}
@@ -1,9 +1,9 @@
gameyfin:
#root: C:\Projects\privat\gameyfin-library
root: \\NAS-Simon\Öffentlich\Spiele
root: C:\Projects\privat\gameyfin-library
#root: \\NAS-Simon\Öffentlich\Spiele
cache: ${gameyfin.root}\.gameyfin\cache
#db: ${gameyfin.root}\.gameyfin\db
db: ./data
db: ${gameyfin.root}\.gameyfin\db
#db: ./data
igdb:
api:
client-id: 23l3l5qshx4dwjuao6yb8jyf1qrd08