mirror of
https://github.com/Drop-OSS/drop.git
synced 2025-11-14 00:31:25 +10:00
version importing
This commit is contained in:
37
server/api/v1/admin/import/version/index.post.ts
Normal file
37
server/api/v1/admin/import/version/index.post.ts
Normal file
@ -0,0 +1,37 @@
|
||||
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 };
|
||||
});
|
||||
Reference in New Issue
Block a user