mirror of
https://github.com/Drop-OSS/drop.git
synced 2025-11-17 10:11:10 +10:00
Rearchitecture for v0.4.0 (#197)
* feat: database redist support * feat: rearchitecture of database schemas, migration reset, and #180 * feat: import redists * fix: giantbomb logging bug * feat: partial user platform support + statusMessage -> message * feat: add user platform filters to store view * fix: sanitize svg uploads ... copilot suggested this I feel dirty. * feat: beginnings of platform & redist management * feat: add server side redist patching * fix: update drop-base commit * feat: import of custom platforms & file extensions * fix: redelete platform * fix: remove platform * feat: uninstall commands, new R UI * checkpoint: before migrating to nuxt v4 * update to nuxt 4 * fix: fixes for Nuxt v4 update * fix: remaining type issues * feat: initial feedback to import other kinds of versions * working commit * fix: lint * feat: redist import
This commit is contained in:
@ -9,7 +9,7 @@ import prisma from "../db/database";
|
||||
import cacheHandler from "../cache";
|
||||
import { systemConfig } from "../config/sys-conf";
|
||||
import { type } from "arktype";
|
||||
import { logger } from "~/server/internal/logging";
|
||||
import { logger } from "~~/server/internal/logging";
|
||||
import type pino from "pino";
|
||||
|
||||
export class FsObjectBackend extends ObjectBackend {
|
||||
@ -123,7 +123,7 @@ export class FsObjectBackend extends ObjectBackend {
|
||||
const metadataRaw = JSON.parse(fs.readFileSync(metadataPath, "utf-8"));
|
||||
const metadata = objectMetadata(metadataRaw);
|
||||
if (metadata instanceof type.errors) {
|
||||
logger.error("FsObjectBackend#fetchMetadata", metadata.summary);
|
||||
logger.error("FsObjectBackend#fetchMetadata: %s", metadata.summary);
|
||||
return undefined;
|
||||
}
|
||||
await this.metadataCache.set(id, metadata);
|
||||
@ -194,11 +194,13 @@ export class FsObjectBackend extends ObjectBackend {
|
||||
try {
|
||||
fs.rmSync(filePath);
|
||||
cleanupLogger.info(
|
||||
`[FsObjectBackend#cleanupMetadata]: Removed ${file}`,
|
||||
`[FsObjectBackend#cleanupMetadata]: Removed %s`,
|
||||
file
|
||||
);
|
||||
} catch (error) {
|
||||
cleanupLogger.error(
|
||||
`[FsObjectBackend#cleanupMetadata]: Failed to remove ${file}`,
|
||||
`[FsObjectBackend#cleanupMetadata]: Failed to remove %s: %s`,
|
||||
file,
|
||||
error,
|
||||
);
|
||||
}
|
||||
|
||||
@ -32,15 +32,12 @@ export const objectMetadata = type({
|
||||
});
|
||||
export type ObjectMetadata = typeof objectMetadata.infer;
|
||||
|
||||
export enum ObjectPermission {
|
||||
Read = "read",
|
||||
Write = "write",
|
||||
Delete = "delete",
|
||||
}
|
||||
export const ObjectPermissions = ["read", "write", "delete"] as const;
|
||||
export type ObjectPermission = (typeof ObjectPermissions)[number];
|
||||
export const ObjectPermissionPriority: Array<ObjectPermission> = [
|
||||
ObjectPermission.Read,
|
||||
ObjectPermission.Write,
|
||||
ObjectPermission.Delete,
|
||||
"read",
|
||||
"write",
|
||||
"delete",
|
||||
];
|
||||
|
||||
export type Object = { mime: string; data: Source };
|
||||
|
||||
@ -5,7 +5,7 @@ This is used as a utility in metadata handling, so we only fetch the objects if
|
||||
import type { Readable } from "stream";
|
||||
import { randomUUID } from "node:crypto";
|
||||
import objectHandler from ".";
|
||||
import type { TaskRunContext } from "../tasks";
|
||||
import type { TaskRunContext } from "../tasks/utils";
|
||||
|
||||
export type TransactionDataType = string | Readable | Buffer;
|
||||
type TransactionTable = Map<string, TransactionDataType>; // ID to data
|
||||
|
||||
Reference in New Issue
Block a user