19 implement i18n #29

Merged
BenjaminPalko merged 8 commits from 19-implement-i18n into master 2024-12-20 11:41:01 -05:00
3 changed files with 34 additions and 36 deletions
Showing only changes of commit b11452e35c - Show all commits

View file

@ -0,0 +1,22 @@
import { redirect, type ServerLoadEvent } from '@sveltejs/kit';
import dayjs from 'dayjs';
import { prisma } from '../prisma';
export async function validateSession(event: ServerLoadEvent) {
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');
}
return session;
}

View file

@ -1,18 +1,10 @@
import { prisma } from '$lib/server/prisma'; import { validateSession } from '$lib/server/auth/index.js';
import { redirect } from '@sveltejs/kit';
export async function load(event) { export async function load(event) {
const sessionId = event.cookies.get('auth_session'); const {
if (!sessionId) { user: { password: _, ...rest },
redirect(303, '/login'); } = await validateSession(event);
} return {
const user = await prisma.session.findUnique({ user: rest,
where: { };
id: sessionId,
},
});
if (!user) {
redirect(300, '/login');
}
return {};
} }

View file

@ -1,25 +1,9 @@
import { prisma } from '$lib/server/prisma'; import { validateSession } from '$lib/server/auth/index.js';
import { redirect } from '@sveltejs/kit';
import dayjs from 'dayjs';
export async function load(event) { export async function load(event) {
const sessionId = event.cookies.get('auth_session'); const {
if (!sessionId) { user: { password: _, ...rest },
redirect(300, '/login'); } = await validateSession(event);
}
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 { return {
user: rest, user: rest,
}; };