mirror of
https://github.com/Drop-OSS/drop.git
synced 2025-11-09 20:12:10 +10:00
fix: various fixes
This commit is contained in:
@ -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
|
||||
|
||||
@ -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">
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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,
|
||||
});
|
||||
|
||||
@ -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,
|
||||
});
|
||||
|
||||
@ -234,7 +234,6 @@ export class MetadataHandler {
|
||||
libraryBasePath,
|
||||
},
|
||||
});
|
||||
// relate companies to game
|
||||
|
||||
await pullObjects();
|
||||
|
||||
|
||||
@ -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({
|
||||
|
||||
Reference in New Issue
Block a user