feat(object transactions): support more types

This commit is contained in:
DecDuck
2024-12-26 19:37:21 +11:00
parent e5cf13fd93
commit 9b12d4576c
2 changed files with 5 additions and 3 deletions

View File

@ -1,5 +1,6 @@
import { Developer, Publisher } from "@prisma/client";
import { ObjectReference } from "../objects";
import { ObjectTransactionalHandler, TransactionDataType } from "../objects/transactional";
export interface GameMetadataSearchResult {
id: string;
@ -54,16 +55,17 @@ export type DeveloperMetadata = PublisherMetadata;
export interface _FetchGameMetadataParams {
id: string;
name: string;
publisher: (query: string) => Promise<Publisher>;
developer: (query: string) => Promise<Developer>;
createObject: (url: string) => ObjectReference;
createObject: (data: TransactionDataType) => ObjectReference;
}
export interface _FetchPublisherMetadataParams {
query: string;
createObject: (url: string) => ObjectReference;
createObject: (data: TransactionDataType) => ObjectReference;
}
export type _FetchDeveloperMetadataParams = _FetchPublisherMetadataParams;

View File

@ -6,7 +6,7 @@ import { Readable } from "stream";
import { v4 as uuidv4 } from "uuid";
import { objectHandler } from "~/server/plugins/objects";
type TransactionDataType = string | Readable | Buffer;
export type TransactionDataType = string | Readable | Buffer;
type TransactionTable = { [key: string]: TransactionDataType }; // ID to data
type GlobalTransactionRecord = { [key: string]: TransactionTable }; // Transaction ID to table