diff --git a/server/server/api/v1/client/chunk.get.ts b/server/server/api/v1/client/chunk.get.ts index eefdc122..af193a9d 100644 --- a/server/server/api/v1/client/chunk.get.ts +++ b/server/server/api/v1/client/chunk.get.ts @@ -60,7 +60,5 @@ export default defineEventHandler(async (h3) => { const gameReadStream = fs.createReadStream(gameFile, { start, end: end - 1 }); // end needs to be offset by 1 - console.log(`sending game chunk for ${gameId}`); - return sendStream(h3, gameReadStream); }); diff --git a/server/server/api/v1/client/metadata/version.get.ts b/server/server/api/v1/client/metadata/version.get.ts new file mode 100644 index 00000000..e9cf38ef --- /dev/null +++ b/server/server/api/v1/client/metadata/version.get.ts @@ -0,0 +1,30 @@ +import { defineClientEventHandler } from "~/server/internal/clients/event-handler"; +import prisma from "~/server/internal/db/database"; + +export default defineClientEventHandler(async (h3) => { + const query = getQuery(h3); + const id = query.id?.toString(); + const version = query.version?.toString(); + if (!id || !version) + throw createError({ + statusCode: 400, + statusMessage: "Missing id or version in query", + }); + + const gameVersion = await prisma.gameVersion.findUnique({ + where: { + gameId_versionName: { + gameId: id, + versionName: version, + }, + }, + }); + + if (!gameVersion) + throw createError({ + statusCode: 404, + statusMessage: "Game version not found", + }); + + return gameVersion; +});