diff --git a/apps/server/src/core/Base.ts b/apps/server/src/core/Base.ts index 7639cb2d..5ca414e8 100644 --- a/apps/server/src/core/Base.ts +++ b/apps/server/src/core/Base.ts @@ -311,13 +311,17 @@ export class Base { "https://mari-project.jad.li/api/v1/growtopia/cache/latest", )) as CDNContent; const itemsDat = (await fetchJSON(ITEMS_DAT_FETCH_URL)) as { - content: string; + latest: { content: string }; }; + if (!itemsDat?.latest?.content) { + throw new Error("Unexpected response shape from ITEMS_DAT_FETCH_URL"); + } + const data: CDNContent = { version: cdnData.version, uri: cdnData.uri, - itemsDatName: itemsDat.content, + itemsDatName: itemsDat.latest.content, }; return data; diff --git a/packages/utils/util/Utils.ts b/packages/utils/util/Utils.ts index 21ce9366..4d4c6f45 100644 --- a/packages/utils/util/Utils.ts +++ b/packages/utils/util/Utils.ts @@ -317,9 +317,12 @@ export function formatToDisplayName(name: string, role: string): string { export async function getLatestItemsDatName() { try { const itemsDat = (await fetchJSON(ITEMS_DAT_FETCH_URL)) as { - content: string; + latest: { content: string }; }; - return itemsDat.content; + if (!itemsDat?.latest?.content) { + throw new Error("Unexpected response shape from ITEMS_DAT_FETCH_URL"); + } + return itemsDat.latest.content; } catch (e) { logger.error(`Failed to get latest CDN: ${e}`); return "";