From 1e43b36fe650ad9dd0319bf4f502dff04d07a41c Mon Sep 17 00:00:00 2001 From: Benjamin Palko Date: Thu, 19 Dec 2024 22:14:03 -0500 Subject: [PATCH 1/4] ignore underscores --- eslint.config.js | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/eslint.config.js b/eslint.config.js index 5c68edc..5297430 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -30,5 +30,17 @@ export default ts.config( parser: ts.parser, }, }, + }, + { + rules: { + '@typescript-eslint/no-unused-vars': [ + 'error', + { + argsIgnorePattern: '^_', + varsIgnorePattern: '^_', + caughtErrorsIgnorePattern: '^_', + }, + ], + }, } -); +); \ No newline at end of file -- 2.45.3 From 6d3a4b0e7a8ce698323db716f36ee22dee0fb201 Mon Sep 17 00:00:00 2001 From: Benjamin Palko Date: Thu, 19 Dec 2024 22:14:16 -0500 Subject: [PATCH 2/4] great user and redirect to login on /app --- .../Navigation/Navbar/Navbar.svelte | 8 ++++--- src/routes/+page.server.ts | 5 ++-- src/routes/app/+layout.server.ts | 24 +++++++++++++++++++ src/routes/app/+layout.svelte | 13 +++++++--- src/routes/app/+page.svelte | 2 ++ 5 files changed, 44 insertions(+), 8 deletions(-) create mode 100644 src/routes/app/+layout.server.ts diff --git a/src/lib/components/Navigation/Navbar/Navbar.svelte b/src/lib/components/Navigation/Navbar/Navbar.svelte index c16b463..4f0cc03 100644 --- a/src/lib/components/Navigation/Navbar/Navbar.svelte +++ b/src/lib/components/Navigation/Navbar/Navbar.svelte @@ -1,12 +1,14 @@ + \ No newline at end of file diff --git a/src/routes/+page.server.ts b/src/routes/+page.server.ts index 89bd867..7bf8f64 100644 --- a/src/routes/+page.server.ts +++ b/src/routes/+page.server.ts @@ -1,5 +1,6 @@ import { prisma } from '$lib/server/prisma'; import { redirect } from '@sveltejs/kit'; + export async function load(event) { const sessionId = event.cookies.get('auth_session'); if (!sessionId) { @@ -11,7 +12,7 @@ export async function load(event) { }, }); if (!user) { - redirect(401, '/login'); + redirect(300, '/login'); } return {}; -} +} \ No newline at end of file diff --git a/src/routes/app/+layout.server.ts b/src/routes/app/+layout.server.ts new file mode 100644 index 0000000..ca87351 --- /dev/null +++ b/src/routes/app/+layout.server.ts @@ -0,0 +1,24 @@ +import { prisma } from '$lib/server/prisma'; +import { redirect } from '@sveltejs/kit'; +import dayjs from 'dayjs'; + +export async function load(event) { + const sessionId = event.cookies.get('auth_session'); + if (!sessionId) { + redirect(300, '/login'); + } + const session = await prisma.session.findUnique({ + where: { id: sessionId }, + include: { user: true }, + }); + if (!session) { + redirect(300, '/login'); + } + const expiry = session.expiresAt; + if (dayjs(expiry).isBefore(dayjs())) { + redirect(300, '/login'); + } + + const { password: _, ...rest } = session.user; + return rest; +} \ No newline at end of file diff --git a/src/routes/app/+layout.svelte b/src/routes/app/+layout.svelte index c14e9a4..56475e5 100644 --- a/src/routes/app/+layout.svelte +++ b/src/routes/app/+layout.svelte @@ -1,8 +1,15 @@ - -{@render children()} + +{@render children()} \ No newline at end of file diff --git a/src/routes/app/+page.svelte b/src/routes/app/+page.svelte index e69de29..4d28455 100644 --- a/src/routes/app/+page.svelte +++ b/src/routes/app/+page.svelte @@ -0,0 +1,2 @@ + \ No newline at end of file -- 2.45.3 From bf207f0c40848d74e8af1cbd6582cd43c82a1ade Mon Sep 17 00:00:00 2001 From: Benjamin Palko Date: Thu, 19 Dec 2024 22:19:15 -0500 Subject: [PATCH 3/4] format --- eslint.config.js | 2 +- src/lib/components/Navigation/Navbar/Navbar.svelte | 2 +- src/routes/+page.server.ts | 2 +- src/routes/+page.svelte | 2 +- src/routes/app/+layout.server.ts | 2 +- src/routes/app/+layout.svelte | 2 +- src/routes/app/+page.svelte | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/eslint.config.js b/eslint.config.js index 5297430..4c9cdec 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -43,4 +43,4 @@ export default ts.config( ], }, } -); \ No newline at end of file +); diff --git a/src/lib/components/Navigation/Navbar/Navbar.svelte b/src/lib/components/Navigation/Navbar/Navbar.svelte index 4f0cc03..f3f1bc8 100644 --- a/src/lib/components/Navigation/Navbar/Navbar.svelte +++ b/src/lib/components/Navigation/Navbar/Navbar.svelte @@ -11,4 +11,4 @@ \ No newline at end of file + diff --git a/src/routes/+page.server.ts b/src/routes/+page.server.ts index 7bf8f64..8ff2993 100644 --- a/src/routes/+page.server.ts +++ b/src/routes/+page.server.ts @@ -15,4 +15,4 @@ export async function load(event) { redirect(300, '/login'); } return {}; -} \ No newline at end of file +} diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index 378f71c..0342404 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -19,4 +19,4 @@ .site-loader { @apply flex h-screen w-screen flex-col items-center justify-center gap-6; } - \ No newline at end of file + diff --git a/src/routes/app/+layout.server.ts b/src/routes/app/+layout.server.ts index ca87351..fc8aef8 100644 --- a/src/routes/app/+layout.server.ts +++ b/src/routes/app/+layout.server.ts @@ -21,4 +21,4 @@ export async function load(event) { const { password: _, ...rest } = session.user; return rest; -} \ No newline at end of file +} diff --git a/src/routes/app/+layout.svelte b/src/routes/app/+layout.svelte index 56475e5..11533c8 100644 --- a/src/routes/app/+layout.svelte +++ b/src/routes/app/+layout.svelte @@ -12,4 +12,4 @@ -{@render children()} \ No newline at end of file +{@render children()} diff --git a/src/routes/app/+page.svelte b/src/routes/app/+page.svelte index 4d28455..0fbba99 100644 --- a/src/routes/app/+page.svelte +++ b/src/routes/app/+page.svelte @@ -1,2 +1,2 @@ \ No newline at end of file + -- 2.45.3 From b8658c9d277b14755aed27589a2074a7ee4af9e0 Mon Sep 17 00:00:00 2001 From: Benjamin Palko Date: Thu, 19 Dec 2024 22:24:11 -0500 Subject: [PATCH 4/4] pass user as property of data object --- src/routes/app/+layout.server.ts | 6 ++++-- src/routes/app/+layout.svelte | 8 +++++--- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/routes/app/+layout.server.ts b/src/routes/app/+layout.server.ts index fc8aef8..dfefb8f 100644 --- a/src/routes/app/+layout.server.ts +++ b/src/routes/app/+layout.server.ts @@ -20,5 +20,7 @@ export async function load(event) { } const { password: _, ...rest } = session.user; - return rest; -} + return { + user: rest, + }; +} \ No newline at end of file diff --git a/src/routes/app/+layout.svelte b/src/routes/app/+layout.svelte index 11533c8..8429527 100644 --- a/src/routes/app/+layout.svelte +++ b/src/routes/app/+layout.svelte @@ -5,11 +5,13 @@ type Props = { children: Snippet; - data: Omit; + data: { + user: Omit; + }; }; let { children, data }: Props = $props(); - -{@render children()} + +{@render children()} \ No newline at end of file -- 2.45.3