fix: remove jank prisma script, and move to generated prisma client
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
import { APITokenMode } from "@prisma/client";
|
||||
import { APITokenMode } from "~/prisma/client";
|
||||
import prisma from "../db/database";
|
||||
import sessionHandler from "../session";
|
||||
import type { MinimumRequestObject } from "~/server/h3";
|
||||
|
||||
@@ -2,7 +2,7 @@ import type { EnumDictionary } from "../utils/types";
|
||||
import https from "https";
|
||||
import { useCertificateAuthority } from "~/server/plugins/ca";
|
||||
import prisma from "../db/database";
|
||||
import { ClientCapabilities } from "@prisma/client";
|
||||
import { ClientCapabilities } from "~/prisma/client";
|
||||
|
||||
// These values are technically mapped to the database,
|
||||
// but Typescript/Prisma doesn't let me link them
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import type { Client, User } from "@prisma/client";
|
||||
import type { Client, User } from "~/prisma/client";
|
||||
import type { EventHandlerRequest, H3Event } from "h3";
|
||||
import droplet from "@drop-oss/droplet";
|
||||
import prisma from "../db/database";
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { randomUUID } from "node:crypto";
|
||||
import prisma from "../db/database";
|
||||
import type { Platform } from "@prisma/client";
|
||||
import type { Platform } from "~/prisma/client";
|
||||
import { useCertificateAuthority } from "~/server/plugins/ca";
|
||||
|
||||
export interface ClientMetadata {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import type { ApplicationSettings } from "@prisma/client";
|
||||
import type { ApplicationSettings } from "~/prisma/client";
|
||||
import prisma from "../db/database";
|
||||
|
||||
class ApplicationConfiguration {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { PrismaClient } from "@prisma/client";
|
||||
import { PrismaClient } from "~/prisma/client";
|
||||
|
||||
const prismaClientSingleton = () => {
|
||||
return new PrismaClient({});
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import type { GameVersion } from "@prisma/client";
|
||||
import type { GameVersion } from "~/prisma/client";
|
||||
import prisma from "../db/database";
|
||||
|
||||
export type DropChunk = {
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
import fs from "fs";
|
||||
import path from "path";
|
||||
import prisma from "../db/database";
|
||||
import type { GameVersion } from "@prisma/client";
|
||||
import type { GameVersion } from "~/prisma/client";
|
||||
import { fuzzy } from "fast-fuzzy";
|
||||
import { recursivelyReaddir } from "../utils/recursivedirs";
|
||||
import taskHandler from "../tasks";
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import type { Developer, Publisher } from "@prisma/client";
|
||||
import { MetadataSource } from "@prisma/client";
|
||||
import type { Developer, Publisher } from "~/prisma/client";
|
||||
import { MetadataSource } from "~/prisma/client";
|
||||
import type { MetadataProvider } from ".";
|
||||
import { MissingMetadataProviderConfig } from ".";
|
||||
import type {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import type { Developer, Publisher } from "@prisma/client";
|
||||
import { MetadataSource } from "@prisma/client";
|
||||
import type { Developer, Publisher } from "~/prisma/client";
|
||||
import { MetadataSource } from "~/prisma/client";
|
||||
import type { MetadataProvider } from ".";
|
||||
import { MissingMetadataProviderConfig } from ".";
|
||||
import type {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import type { Developer, Publisher } from "@prisma/client";
|
||||
import { MetadataSource } from "@prisma/client";
|
||||
import type { Developer, Publisher } from "~/prisma/client";
|
||||
import { MetadataSource } from "~/prisma/client";
|
||||
import prisma from "../db/database";
|
||||
import type {
|
||||
_FetchDeveloperMetadataParams,
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { MetadataSource } from "@prisma/client";
|
||||
import { MetadataSource } from "~/prisma/client";
|
||||
import type { MetadataProvider } from ".";
|
||||
import type {
|
||||
_FetchGameMetadataParams,
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import type { Developer, Publisher } from "@prisma/client";
|
||||
import { MetadataSource } from "@prisma/client";
|
||||
import type { Developer, Publisher } from "~/prisma/client";
|
||||
import { MetadataSource } from "~/prisma/client";
|
||||
import type { MetadataProvider } from ".";
|
||||
import type {
|
||||
GameMetadataSearchResult,
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
import type { Developer, Publisher } from "@prisma/client";
|
||||
import type { Developer, Publisher } from "~/prisma/client";
|
||||
import type { TransactionDataType } from "../objects/transactional";
|
||||
import type { ObjectReference } from "../objects/objectHandler";
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ Design goals:
|
||||
2. Real-time; use websocket listeners to keep clients up-to-date
|
||||
*/
|
||||
|
||||
import type { Notification } from "@prisma/client";
|
||||
import type { Notification } from "~/prisma/client";
|
||||
import prisma from "../db/database";
|
||||
|
||||
export type NotificationCreateArgs = Pick<
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { randomUUID } from "crypto";
|
||||
import prisma from "../db/database";
|
||||
import { AuthMec } from "@prisma/client";
|
||||
import { AuthMec } from "~/prisma/client";
|
||||
import objectHandler from "../objects";
|
||||
import type { Readable } from "stream";
|
||||
import * as jdenticon from "jdenticon";
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
import cacheHandler from "../cache";
|
||||
import type { Session, SessionProvider } from "./types";
|
||||
|
||||
export default function createCacheSessionProvider() {
|
||||
const sessions = cacheHandler.createCache<Session>("cacheSessionProvider");
|
||||
|
||||
const memoryProvider: SessionProvider = {
|
||||
async setSession(token, data) {
|
||||
await sessions.set(token, data);
|
||||
return true;
|
||||
},
|
||||
async getSession<T extends Session>(token: string): Promise<T | undefined> {
|
||||
const session = await sessions.get(token);
|
||||
return session ? (session as T) : undefined; // Ensure undefined is returned if session is not found
|
||||
},
|
||||
async updateSession(token, data) {
|
||||
return await this.setSession(token, data);
|
||||
},
|
||||
async removeSession(token) {
|
||||
await sessions.remove(token);
|
||||
return true;
|
||||
},
|
||||
async cleanupSessions() {
|
||||
const now = new Date();
|
||||
for (const token of await sessions.getKeys()) {
|
||||
const session = await sessions.get(token);
|
||||
if (!session) continue;
|
||||
// if expires at time is before now, the session is expired
|
||||
if (session.expiresAt < now) await this.removeSession(token);
|
||||
}
|
||||
},
|
||||
};
|
||||
|
||||
return memoryProvider;
|
||||
}
|
||||
@@ -3,9 +3,9 @@ import type { Session, SessionProvider } from "./types";
|
||||
import { randomUUID } from "node:crypto";
|
||||
import { parse as parseCookies } from "cookie-es";
|
||||
import type { MinimumRequestObject } from "~/server/h3";
|
||||
import createDBSessionHandler from "./db";
|
||||
import type { DurationLike } from "luxon";
|
||||
import { DateTime } from "luxon";
|
||||
import createCacheSessionProvider from "./cache";
|
||||
|
||||
/*
|
||||
This implementation may need work.
|
||||
@@ -26,7 +26,8 @@ export class SessionHandler {
|
||||
|
||||
constructor() {
|
||||
// Create a new provider
|
||||
this.sessionProvider = createDBSessionHandler();
|
||||
this.sessionProvider = createCacheSessionProvider();
|
||||
// this.sessionProvider = createDBSessionHandler();
|
||||
// this.sessionProvider = createMemorySessionProvider();
|
||||
}
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Platform } from "@prisma/client";
|
||||
import { Platform } from "~/prisma/client";
|
||||
|
||||
export function parsePlatform(platform: string) {
|
||||
switch (platform.toLowerCase()) {
|
||||
|
||||
Reference in New Issue
Block a user