import { useSession } from 'vinxi/http';
export interface UserSession {
id: number;
}
function getSession() {
'use server';
return useSession<UserSession>({
password: process.env.SESSION_SECRET!
});
}
export async function getSessionData() {
'use server';
const session = await getSession();
if (!session.data.id) {
return null;
}
return session.data;
}
export async function login() {
'use server';
const session = await getSession();
await session.update(() => ({
id: 1
}));
return session.data;
}
export async function logout() {
'use server';
const session = await getSession();
await session.clear();
}
import { useSession } from 'vinxi/http';
export interface UserSession {
id: number;
}
function getSession() {
'use server';
return useSession<UserSession>({
password: process.env.SESSION_SECRET!
});
}
export async function getSessionData() {
'use server';
const session = await getSession();
if (!session.data.id) {
return null;
}
return session.data;
}
export async function login() {
'use server';
const session = await getSession();
await session.update(() => ({
id: 1
}));
return session.data;
}
export async function logout() {
'use server';
const session = await getSession();
await session.clear();
}