mirror of
https://github.com/Drop-OSS/drop.git
synced 2025-11-14 00:31:25 +10:00
38 lines
912 B
TypeScript
38 lines
912 B
TypeScript
import libraryManager from "~/server/internal/library";
|
|
|
|
export default defineEventHandler(async (h3) => {
|
|
const user = await h3.context.session.getAdminUser(h3);
|
|
if (!user) throw createError({ statusCode: 403 });
|
|
|
|
const body = await readBody(h3);
|
|
const gameId = body.id;
|
|
const versionName = body.version;
|
|
const platform = body.platform;
|
|
const startup = body.startup;
|
|
const setup = body.setup ?? "";
|
|
if (
|
|
!gameId ||
|
|
!versionName ||
|
|
!platform ||
|
|
!startup
|
|
)
|
|
throw createError({
|
|
statusCode: 400,
|
|
statusMessage:
|
|
"Missing id, version, platform, setup or startup from body",
|
|
});
|
|
|
|
const taskId = await libraryManager.importVersion(gameId, versionName, {
|
|
platform,
|
|
startup,
|
|
setup,
|
|
});
|
|
if (!taskId)
|
|
throw createError({
|
|
statusCode: 400,
|
|
statusMessage: "Invalid options for import",
|
|
});
|
|
|
|
return { taskId: taskId };
|
|
});
|