From abc30a2a03ef6f1a6a34a616618983ed1c410366 Mon Sep 17 00:00:00 2001 From: Baobeld Date: Thu, 19 Dec 2024 22:24:44 -0500 Subject: [PATCH] Greet user (#21) * ignore underscores * great user and redirect to login on /app * format * pass user as property of data object --- eslint.config.js | 12 +++++++++ .../Navigation/Navbar/Navbar.svelte | 6 +++-- src/routes/+page.server.ts | 3 ++- src/routes/+page.svelte | 2 +- src/routes/app/+layout.server.ts | 26 +++++++++++++++++++ src/routes/app/+layout.svelte | 15 ++++++++--- src/routes/app/+page.svelte | 2 ++ 7 files changed, 59 insertions(+), 7 deletions(-) create mode 100644 src/routes/app/+layout.server.ts diff --git a/eslint.config.js b/eslint.config.js index 5c68edc..4c9cdec 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: '^_', + }, + ], + }, } ); diff --git a/src/lib/components/Navigation/Navbar/Navbar.svelte b/src/lib/components/Navigation/Navbar/Navbar.svelte index c16b463..f3f1bc8 100644 --- a/src/lib/components/Navigation/Navbar/Navbar.svelte +++ b/src/lib/components/Navigation/Navbar/Navbar.svelte @@ -1,11 +1,13 @@ \ 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..dfefb8f --- /dev/null +++ b/src/routes/app/+layout.server.ts @@ -0,0 +1,26 @@ +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 { + user: rest, + }; +} \ No newline at end of file diff --git a/src/routes/app/+layout.svelte b/src/routes/app/+layout.svelte index c14e9a4..8429527 100644 --- a/src/routes/app/+layout.svelte +++ b/src/routes/app/+layout.svelte @@ -1,8 +1,17 @@ - -{@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..0fbba99 100644 --- a/src/routes/app/+page.svelte +++ b/src/routes/app/+page.svelte @@ -0,0 +1,2 @@ +