From 25fc9570927340135a3cf3fe8d1767c163170bc1 Mon Sep 17 00:00:00 2001 From: DecDuck Date: Sun, 8 Dec 2024 16:07:42 +1100 Subject: [PATCH] fix(giantbomb): fix for missing developers or publishers --- server/internal/metadata/giantbomb.ts | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/server/internal/metadata/giantbomb.ts b/server/internal/metadata/giantbomb.ts index 0f732b17..7fdcf953 100644 --- a/server/internal/metadata/giantbomb.ts +++ b/server/internal/metadata/giantbomb.ts @@ -41,8 +41,8 @@ interface GameResult { deck: string; description?: string; - developers: Array<{ id: number; name: string }>; - publishers: Array<{ id: number; name: string }>; + developers?: Array<{ id: number; name: string }>; + publishers?: Array<{ id: number; name: string }>; number_of_user_reviews: number; // Doesn't provide an actual rating, so kinda useless original_release_date?: string; @@ -169,13 +169,17 @@ export class GiantBombProvider implements MetadataProvider { : gameData.deck; const publishers: Publisher[] = []; - for (const pub of gameData.publishers) { - publishers.push(await publisher(pub.name)); + if (gameData.publishers) { + for (const pub of gameData.publishers) { + publishers.push(await publisher(pub.name)); + } } const developers: Developer[] = []; - for (const dev of gameData.developers) { - developers.push(await developer(dev.name)); + if (gameData.developers) { + for (const dev of gameData.developers) { + developers.push(await developer(dev.name)); + } } const icon = createObject(gameData.image.icon_url); @@ -208,7 +212,7 @@ export class GiantBombProvider implements MetadataProvider { icon, bannerId: banner, - coverId: images[1], + coverId: images[1] ?? banner, images, };