Game specialisation & delta versions (#323)

* feat: game specialisation, auto-guess extensions

* fix: enforce specialisation specific schema at API level

* fix: lint

* feat: partial work on depot endpoints

* feat: bump torrential

* feat: dummy version creation for depot uploads

* fix: lint

* fix: types

* fix: lint

* feat: depot version import

* fix: lint

* fix: remove any type

* fix: lint

* fix: push update interval

* fix: cpu usage calculation

* feat: delta version support

* feat: style tweaks for selectlaunch.vue

* fix: lint
This commit is contained in:
DecDuck
2026-01-23 05:04:38 +00:00
committed by GitHub
parent d8db5b5b85
commit 00adab21c2
46 changed files with 1164 additions and 347 deletions
@@ -7,7 +7,11 @@ import libraryManager from "~/server/internal/library";
export const ImportVersion = type({
id: "string",
version: "string",
version: type({
type: "'depot' | 'local'",
identifier: "string",
name: "string",
}),
displayName: "string?",
launches: type({
@@ -16,6 +20,7 @@ export const ImportVersion = type({
launch: "string",
umuId: "string?",
executorId: "string?",
suggestions: "string[]?",
}).array(),
setups: type({
@@ -25,6 +30,10 @@ export const ImportVersion = type({
onlySetup: "boolean = false",
delta: "boolean = false",
requiredContent: type("string")
.array()
.default(() => []),
}).configure(throwingArktype);
export default defineEventHandler(async (h3) => {
@@ -47,7 +56,7 @@ export default defineEventHandler(async (h3) => {
if (validOverlayVersions == 0)
throw createError({
statusCode: 400,
statusMessage: "Update mode requires a pre-existing version.",
statusMessage: `Update mode requires a pre-existing version for platform: ${platformObject.platform}`,
});
}
}