Fix GiantBomb metadata #61 (#62)

* fix: reviews error

* fix: lint
This commit is contained in:
DecDuck
2025-06-01 15:39:10 +10:00
committed by GitHub
parent 3fbe514f65
commit 490afd0bb7
5 changed files with 17 additions and 18 deletions

View File

@ -3,7 +3,6 @@ import aclManager from "~/server/internal/acls";
import prisma from "~/server/internal/db/database";
import { handleFileUpload } from "~/server/internal/utils/handlefileupload";
export default defineEventHandler(async (h3) => {
const allowed = await aclManager.allowSystemACL(h3, ["game:update"]);
if (!allowed) throw createError({ statusCode: 403 });

View File

@ -2,7 +2,7 @@ import { configure } from "arktype/config";
export const throwingArktype = configure({
onFail: (errors) => errors.throw(),
actual: () => ""
actual: () => "",
});
// be sure to specify both the runtime and static configs

View File

@ -1 +1 @@
export const DROP_VERSION = "0.3.0";
export const DROP_VERSION = "0.3.0";

View File

@ -60,7 +60,7 @@ interface GameResult {
original: string;
}>;
reviews: Array<{
reviews?: Array<{
api_detail_url: string;
}>;
}
@ -211,20 +211,20 @@ export class GiantBombProvider implements MetadataProvider {
).toJSDate();
const reviews: GameMetadataRating[] = [];
for (const { api_detail_url } of gameData.reviews) {
const reviewId = api_detail_url.split("/").at(-2);
if (!reviewId) continue;
const review = await this.request<ReviewResult>("review", reviewId, {});
console.log(review.data);
reviews.push({
metadataSource: MetadataSource.GiantBomb,
metadataId: reviewId,
mReviewCount: 1,
mReviewRating: review.data.results.score / 5,
mReviewHref: review.data.results.site_detail_url,
});
if (gameData.reviews) {
for (const { api_detail_url } of gameData.reviews) {
const reviewId = api_detail_url.split("/").at(-2);
if (!reviewId) continue;
const review = await this.request<ReviewResult>("review", reviewId, {});
reviews.push({
metadataSource: MetadataSource.GiantBomb,
metadataId: reviewId,
mReviewCount: 1,
mReviewRating: review.data.results.score / 5,
mReviewHref: review.data.results.site_detail_url,
});
}
}
const metadata: GameMetadata = {
id: gameData.guid,
name: gameData.name,

View File

@ -356,7 +356,7 @@ export class IGDBProvider implements MetadataProvider {
for (let i = 0; i < response.length; i++) {
const currentGame = response[i];
if(!currentGame) continue;
if (!currentGame) continue;
let iconRaw;
const cover = currentGame.cover;