diff --git a/package.json b/package.json index c85e2c7..5e87da4 100644 --- a/package.json +++ b/package.json @@ -42,7 +42,7 @@ "@immich/sdk": "^2.5.6", "@prisma/adapter-better-sqlite3": "^7.4.2", "@prisma/client": "^7.4.2", - "@sveltejs/adapter-node": "^5.5.3", + "@sveltejs/adapter-node": "^5.5.5", "@types/js-yaml": "^4.0.9", "canvas-dither": "^1.0.1", "date-fns": "^4.1.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index db653a9..b0602ce 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -18,7 +18,7 @@ importers: specifier: ^7.4.2 version: 7.8.0(prisma@7.8.0(@types/react@19.2.17)(better-sqlite3@12.11.1)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@5.9.3))(typescript@5.9.3) '@sveltejs/adapter-node': - specifier: ^5.5.3 + specifier: ^5.5.5 version: 5.5.5(@sveltejs/kit@2.66.0(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.56.3(@typescript-eslint/types@8.61.1))(vite@6.4.3(@types/node@25.9.4)(jiti@2.7.0)(sass@1.101.0)))(svelte@5.56.3(@typescript-eslint/types@8.61.1))(typescript@5.9.3)(vite@6.4.3(@types/node@25.9.4)(jiti@2.7.0)(sass@1.101.0))) '@types/js-yaml': specifier: ^4.0.9 diff --git a/prisma.config.ts b/prisma.config.ts index 511d6d6..37cbeaa 100644 --- a/prisma.config.ts +++ b/prisma.config.ts @@ -11,4 +11,5 @@ export default defineConfig({ datasource: { url: process.env['DATABASE_URL'], }, + }); diff --git a/src/app.d.ts b/src/app.d.ts index 7ba8481..65fb4a5 100644 --- a/src/app.d.ts +++ b/src/app.d.ts @@ -6,7 +6,7 @@ import type { PrismaClient } from '../generated/prisma/client.ts'; declare global { namespace App { interface Locals { - prisma: PrismaClient; + // prisma: PrismaClient; } // interface Platform {} // interface Session {} diff --git a/src/hooks.server.ts b/src/hooks.server.ts deleted file mode 100644 index 12d68ed..0000000 --- a/src/hooks.server.ts +++ /dev/null @@ -1,9 +0,0 @@ -import type { Handle } from '@sveltejs/kit'; -import { PrismaClientFactory } from './prisma/PrismaClientFactory.js'; - -export const handle: Handle = async ({ event, resolve }) => { - const prismaClient = PrismaClientFactory.fromEnv().createClient(); - event.locals.prisma = prismaClient; - const response = await resolve(event); - return response; -}; diff --git a/src/lib/server/prisma.ts b/src/lib/server/prisma.ts new file mode 100644 index 0000000..a0e1809 --- /dev/null +++ b/src/lib/server/prisma.ts @@ -0,0 +1,12 @@ +import { PrismaClientFactory } from '../../prisma/PrismaClientFactory.js'; +import type { PrismaClient } from '../../../generated/prisma/client.js'; + +const globalForPrisma = globalThis as unknown as { + prisma: PrismaClient | undefined; +}; + +export const prisma = globalForPrisma.prisma ?? PrismaClientFactory.fromEnv().createClient(); + +if (process.env.NODE_ENV !== 'production') { + globalForPrisma.prisma = prisma; +} \ No newline at end of file diff --git a/src/routes/image/[filename]/+server.ts b/src/routes/image/[filename]/+server.ts index 4370947..69e328a 100644 --- a/src/routes/image/[filename]/+server.ts +++ b/src/routes/image/[filename]/+server.ts @@ -4,7 +4,7 @@ import { PRIVATE_PHOTO_UPLOAD_DIR } from '$env/static/private'; import * as path from 'node:path'; import { error, type ServerLoad } from '@sveltejs/kit'; -export const GET: ServerLoad = async ({ params, locals }) => { +export const GET: ServerLoad = async ({ params }) => { const { filename } = params; const proposedFilePath = path.join(PRIVATE_PHOTO_UPLOAD_DIR, filename); diff --git a/svelte.config.js b/svelte.config.js index b137e34..8fa8776 100644 --- a/svelte.config.js +++ b/svelte.config.js @@ -7,9 +7,9 @@ const config = { // Consult https://github.com/sveltejs/svelte-preprocess // for more information about preprocessors preprocess: [preprocess()], - kit: { - adapter: adapter({ split: false }), + + adapter: adapter({ split: false, }), alias: { $lib: '/src/lib', $srcPrisma: '/src/prisma',