From d4e4b327832357c4c95f6dec43527f50391ad7d9 Mon Sep 17 00:00:00 2001 From: cirroskais Date: Sat, 6 Jul 2024 00:49:08 -0400 Subject: [PATCH] respect user limits --- package.json | 2 +- src/app.d.ts | 12 ++++++++++-- src/hooks.server.js | 6 ++++-- src/lib/components/File.svelte | 11 ++++++++--- src/lib/stores.ts | 3 ++- src/routes/(app)/dashboard/+page.svelte | 6 ++++-- src/routes/(landing)/+page.server.ts | 10 ++++++++++ src/routes/(landing)/+page.svelte | 9 ++++++++- src/routes/api/upload/+server.ts | 6 ++++-- 9 files changed, 51 insertions(+), 14 deletions(-) create mode 100644 src/routes/(landing)/+page.server.ts diff --git a/package.json b/package.json index 3465093..145369f 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "private": true, "scripts": { "dev": "vite dev", - "build": "vite build", + "build": "BODY_SIZE_LIMIT=10737418240 vite build", "preview": "vite preview", "lint": "prettier --check .", "format": "prettier --write ." diff --git a/src/app.d.ts b/src/app.d.ts index 35d5351..9f9870e 100644 --- a/src/app.d.ts +++ b/src/app.d.ts @@ -1,4 +1,12 @@ -import type { User } from '@prisma/client'; +import type { Role } from '@prisma/client'; + +export interface UserSafe { + id: number; + username: string; + email: string; + maxUploadMB: number; + role: Role; +} declare global { namespace App { @@ -7,7 +15,7 @@ declare global { message: string; } interface Locals { - user: User; + user: UserSafe; } interface PageData {} // interface PageState {} diff --git a/src/hooks.server.js b/src/hooks.server.js index 0f4e54b..fbb3424 100644 --- a/src/hooks.server.js +++ b/src/hooks.server.js @@ -14,13 +14,15 @@ const PUBLIC_RESOURCES = [ /** @type {import('@sveltejs/kit').Handle} */ export async function handle({ event, resolve }) { const { cookies, locals } = event; - const session = await getSession(cookies.get(COOKIE)); + const session = await getSession(cookies.get(COOKIE) || ''); if (session && session.user) { locals.user = { id: session.user.id, username: session.user.username, - email: session.user.email + email: session.user.email, + maxUploadMB: session.user.maxUploadMB, + role: session.user.role }; } else { if (event.route.id) { diff --git a/src/lib/components/File.svelte b/src/lib/components/File.svelte index 4793131..452a384 100644 --- a/src/lib/components/File.svelte +++ b/src/lib/components/File.svelte @@ -1,7 +1,8 @@