Files
drop/server/api/v1/admin/import/game/index.get.ts
2025-08-22 13:48:47 +10:00

19 lines
750 B
TypeScript

import aclManager from "~/server/internal/acls";
import libraryManager from "~/server/internal/library";
export default defineEventHandler(async (h3) => {
const allowed = await aclManager.allowSystemACL(h3, ["import:game:read", "import:redist:read"]);
if (!allowed) throw createError({ statusCode: 403 });
const unimportedGames = await libraryManager.fetchUnimportedGames();
const libraries = Object.fromEntries(
(await libraryManager.fetchLibraries()).map((e) => [e.id, e]),
);
const iterableUnimportedGames = Object.entries(unimportedGames)
.map(([libraryId, gameArray]) =>
gameArray.map((e) => ({ game: e, library: libraries[libraryId] })),
)
.flat();
return { unimportedGames: iterableUnimportedGames };
});