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