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
@@ -3,7 +3,6 @@ import aclManager from "~/server/internal/acls";
import prisma from "~/server/internal/db/database"; import prisma from "~/server/internal/db/database";
import { handleFileUpload } from "~/server/internal/utils/handlefileupload"; import { handleFileUpload } from "~/server/internal/utils/handlefileupload";
export default defineEventHandler(async (h3) => { export default defineEventHandler(async (h3) => {
const allowed = await aclManager.allowSystemACL(h3, ["game:update"]); const allowed = await aclManager.allowSystemACL(h3, ["game:update"]);
if (!allowed) throw createError({ statusCode: 403 }); if (!allowed) throw createError({ statusCode: 403 });
+1 -1
View File
@@ -2,7 +2,7 @@ import { configure } from "arktype/config";
export const throwingArktype = configure({ export const throwingArktype = configure({
onFail: (errors) => errors.throw(), onFail: (errors) => errors.throw(),
actual: () => "" actual: () => "",
}); });
// be sure to specify both the runtime and static configs // be sure to specify both the runtime and static configs
+1 -1
View File
@@ -1 +1 @@
export const DROP_VERSION = "0.3.0"; export const DROP_VERSION = "0.3.0";
+14 -14
View File
@@ -60,7 +60,7 @@ interface GameResult {
original: string; original: string;
}>; }>;
reviews: Array<{ reviews?: Array<{
api_detail_url: string; api_detail_url: string;
}>; }>;
} }
@@ -211,20 +211,20 @@ export class GiantBombProvider implements MetadataProvider {
).toJSDate(); ).toJSDate();
const reviews: GameMetadataRating[] = []; const reviews: GameMetadataRating[] = [];
for (const { api_detail_url } of gameData.reviews) { if (gameData.reviews) {
const reviewId = api_detail_url.split("/").at(-2); for (const { api_detail_url } of gameData.reviews) {
if (!reviewId) continue; const reviewId = api_detail_url.split("/").at(-2);
const review = await this.request<ReviewResult>("review", reviewId, {}); if (!reviewId) continue;
console.log(review.data); const review = await this.request<ReviewResult>("review", reviewId, {});
reviews.push({ reviews.push({
metadataSource: MetadataSource.GiantBomb, metadataSource: MetadataSource.GiantBomb,
metadataId: reviewId, metadataId: reviewId,
mReviewCount: 1, mReviewCount: 1,
mReviewRating: review.data.results.score / 5, mReviewRating: review.data.results.score / 5,
mReviewHref: review.data.results.site_detail_url, mReviewHref: review.data.results.site_detail_url,
}); });
}
} }
const metadata: GameMetadata = { const metadata: GameMetadata = {
id: gameData.guid, id: gameData.guid,
name: gameData.name, name: gameData.name,
+1 -1
View File
@@ -356,7 +356,7 @@ export class IGDBProvider implements MetadataProvider {
for (let i = 0; i < response.length; i++) { for (let i = 0; i < response.length; i++) {
const currentGame = response[i]; const currentGame = response[i];
if(!currentGame) continue; if (!currentGame) continue;
let iconRaw; let iconRaw;
const cover = currentGame.cover; const cover = currentGame.cover;