Files
famdone/frontend/src/routes/login/+page.server.ts
T
2026-07-29 09:41:52 +01:00

34 lines
888 B
TypeScript

import { fail, redirect } from '@sveltejs/kit';
import { login, setSessionCookie, setPbTokenCookie } from '$lib/server/auth';
export const actions = {
default: async (event) => {
const fd = await event.request.formData();
const email = fd.get('email') as string;
const password = fd.get('password') as string;
if (!email || !password) {
return fail(400, { error: 'Email and password required', email });
}
let result: any;
try {
result = await login(email, password);
} catch (e) {
return fail(400, { error: e instanceof Error ? e.message : 'Login failed', email });
}
setSessionCookie(event, {
famId: result.famId,
userId: result.userId,
famSlug: result.famSlug,
memberName: result.memberName,
role: result.role,
});
setPbTokenCookie(event, result.token);
throw redirect(303, `/${result.famSlug}/${result.memberName}`);
},
};