migrate to nextjs

This commit is contained in:
Fran Jurmanović
2025-08-27 20:38:19 +02:00
parent 965e13a0bf
commit b269144ee7
120 changed files with 10393 additions and 8526 deletions

31
src/lib/auth/server.ts Normal file
View File

@@ -0,0 +1,31 @@
import { getIronSession } from 'iron-session';
import { cookies } from 'next/headers';
import { SessionData, sessionOptions } from '@/lib/session/config';
import { redirect } from 'next/navigation';
export async function getSession() {
const session = await getIronSession<SessionData>(await cookies(), sessionOptions);
return session;
}
export async function requireAuth() {
const session = await getSession();
if (!session.token || !session.user) {
redirect('/login');
}
return session;
}
export async function login(token: string, user: SessionData['user']) {
const session = await getSession();
session.token = token;
session.user = user;
await session.save();
}
export async function logout() {
const session = await getSession();
session.destroy();
}