diff --git a/nuxt.config.ts b/nuxt.config.ts index bd2ffe2..ff77811 100644 --- a/nuxt.config.ts +++ b/nuxt.config.ts @@ -2,18 +2,14 @@ import tailwindcss from "@tailwindcss/vite"; import { execSync } from "node:child_process"; // get drop version -const dropVersion = - process.env.BUILD_DROP_VERSION === undefined - ? "v0.3.0-alpha.1" - : process.env.BUILD_DROP_VERSION; +const dropVersion = process.env.BUILD_DROP_VERSION ?? "v0.3.0-alpha.1"; // example nightly: "v0.3.0-nightly.2025.05.28" // get git ref or supply during build const commitHash = - process.env.BUILD_GIT_REF === undefined - ? execSync("git rev-parse --short HEAD").toString().trim() - : process.env.BUILD_GIT_REF; - + process.env.BUILD_GIT_REF ?? + execSync("git rev-parse --short HEAD").toString().trim(); + console.log(`Building Drop ${dropVersion} #${commitHash}`); // https://nuxt.com/docs/api/configuration/nuxt-config diff --git a/pages/admin/metadata/games/[id]/index.vue b/pages/admin/metadata/games/[id]/index.vue index 2512ff7..f773a3c 100644 --- a/pages/admin/metadata/games/[id]/index.vue +++ b/pages/admin/metadata/games/[id]/index.vue @@ -10,7 +10,7 @@ class="flex flex-col lg:flex-row lg:justify-between items-start lg:items-center gap-2" >
- +

diff --git a/server/api/v1/admin/game/metadata.post.ts b/server/api/v1/admin/game/metadata.post.ts index e46dedc..df64c04 100644 --- a/server/api/v1/admin/game/metadata.post.ts +++ b/server/api/v1/admin/game/metadata.post.ts @@ -28,24 +28,32 @@ export default defineEventHandler(async (h3) => { const description = options.description; const gameId = options.id; - const changes: Prisma.GameUpdateInput = { + const updateModel: Prisma.GameUpdateInput = { mName: name, mShortDescription: description, }; // handle if user uploaded new icon if (id) { - changes.mIconObjectId = id; + updateModel.mIconObjectId = id; await pull(); } else { dump(); } + // If the API call doesn't provide values, don't set them + for (const [key, value] of Object.entries(updateModel)) { + if (value === undefined) { + // eslint-disable-next-line @typescript-eslint/no-dynamic-delete + delete updateModel[key as keyof typeof updateModel]; + } + } + const newObject = await prisma.game.update({ where: { id: gameId, }, - data: changes, + data: updateModel, }); return newObject; diff --git a/server/api/v1/screenshots/[id]/index.delete.ts b/server/api/v1/screenshots/[id]/index.delete.ts index b4c5e7c..801b19d 100644 --- a/server/api/v1/screenshots/[id]/index.delete.ts +++ b/server/api/v1/screenshots/[id]/index.delete.ts @@ -18,7 +18,7 @@ export default defineEventHandler(async (h3) => { throw createError({ statusCode: 404, }); - else if (result.userId !== userId) + if (result.userId !== userId) throw createError({ statusCode: 404, }); diff --git a/server/api/v1/screenshots/[id]/index.get.ts b/server/api/v1/screenshots/[id]/index.get.ts index 5944103..c43b272 100644 --- a/server/api/v1/screenshots/[id]/index.get.ts +++ b/server/api/v1/screenshots/[id]/index.get.ts @@ -18,7 +18,7 @@ export default defineEventHandler(async (h3) => { throw createError({ statusCode: 404, }); - else if (result.userId !== userId) + if (result.userId !== userId) throw createError({ statusCode: 404, }); diff --git a/server/internal/metadata/index.ts b/server/internal/metadata/index.ts index ad23e94..cd3bd6a 100644 --- a/server/internal/metadata/index.ts +++ b/server/internal/metadata/index.ts @@ -234,7 +234,6 @@ export class MetadataHandler { libraryBasePath, }, }); - // relate companies to game await pullObjects(); diff --git a/server/internal/screenshots/index.ts b/server/internal/screenshots/index.ts index 4179ebc..b41ac03 100644 --- a/server/internal/screenshots/index.ts +++ b/server/internal/screenshots/index.ts @@ -53,11 +53,12 @@ class ScreenshotManager { * @param id */ async delete(id: string) { - await prisma.screenshot.delete({ + const deletedScreenshot = await prisma.screenshot.delete({ where: { id, }, }); + await objectHandler.deleteAsSystem(deletedScreenshot.objectId); } /** @@ -74,7 +75,7 @@ class ScreenshotManager { // TODO: set createAt to the time screenshot was taken createdAt: new Date().toISOString(), }, - [`${userId}:read`, `${userId}:delete`], + [`${userId}:read`], // This is a system tracked object, so we don't want users to have direct write access to it ); if (!saveStream) throw createError({