fix: various fixes

This commit is contained in:
DecDuck
2025-05-30 10:29:55 +10:00
parent fca85633c1
commit 83a9b22d82
7 changed files with 21 additions and 17 deletions

View File

@ -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

View File

@ -10,7 +10,7 @@
class="flex flex-col lg:flex-row lg:justify-between items-start lg:items-center gap-2"
>
<div class="inline-flex items-center gap-4">
<!-- cover image -->
<!-- icon image -->
<img :src="coreMetadataIconUrl" class="size-20" />
<div>
<h1 class="text-5xl font-bold font-display text-zinc-100">

View File

@ -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;

View File

@ -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,
});

View File

@ -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,
});

View File

@ -234,7 +234,6 @@ export class MetadataHandler {
libraryBasePath,
},
});
// relate companies to game
await pullObjects();

View File

@ -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({