From bce9a19776d4ffc17c7942c839605b9a7658dbe6 Mon Sep 17 00:00:00 2001 From: DragonDuck24 Date: Sat, 11 Apr 2026 09:27:57 -0500 Subject: [PATCH] fix account save --- src/lib/auth/index.server.ts | 3 +++ src/routes/account/+page.server.ts | 16 ++++++++-------- src/routes/login/+page.server.ts | 3 +++ 3 files changed, 14 insertions(+), 8 deletions(-) diff --git a/src/lib/auth/index.server.ts b/src/lib/auth/index.server.ts index 4be39d5..786cc71 100644 --- a/src/lib/auth/index.server.ts +++ b/src/lib/auth/index.server.ts @@ -64,8 +64,10 @@ export async function login(email: string, password: string): Promise { SELECT * FROM users WHERE email = ${email}; `; + console.log('1.25: ' + Date.now()); if (user) { if (await bcrypt.compare(password, user.passwordHash!)) { + console.log('1.5: ' + Date.now()); delete user.passwordHash; await sql` @@ -73,6 +75,7 @@ export async function login(email: string, password: string): Promise { SET last_sign_in = NOW() WHERE id = ${user.id}; `; + console.log('1.75: ' + Date.now()); return user; } diff --git a/src/routes/account/+page.server.ts b/src/routes/account/+page.server.ts index 395b01e..88aa091 100644 --- a/src/routes/account/+page.server.ts +++ b/src/routes/account/+page.server.ts @@ -4,21 +4,22 @@ import type { User, UserSettings } from '$lib/types/user'; import { type Actions, error, fail } from '@sveltejs/kit'; import { getFormString, getRequiredFormString } from '$lib/shared'; import bcrypt from 'bcrypt'; +import { setJWTCookie } from '$lib/auth/index.server'; export const load: PageServerLoad = async ({ locals }) => { if (!locals || !locals.user) { throw Error('Need to be logged in!'); } - const [userData]: User[] = await sql` + const [userData] = await sql` SELECT * FROM users WHERE id = ${locals.user.id} `; - + userData.settings = JSON.parse(userData.settings); return { userData }; }; export const actions: Actions = { - default: async ({ request, url, locals, params }) => { + default: async ({ request, url, locals, params, cookies }) => { if (!locals || !locals.user) { throw error(403, 'Need to be logged in!'); } @@ -53,18 +54,17 @@ export const actions: Actions = { notifyAllTurnedInInquiries }; - return await sql` + const [res] = await sql` UPDATE users SET name = ${name}, email = ${email}, ${passwordHash ? sql`password_hash = ${passwordHash},` : sql``} - settings = ${settings.toString()} + settings = ${JSON.stringify(settings)} WHERE id = ${locals.user.id} RETURNING *; `; + res.settings = JSON.parse(res.settings); + setJWTCookie(cookies, res as User); } catch (e) { - console.log('fails'); - console.log(e); - return fail(400, { message: e instanceof Error ? e.message : 'Unknown error occurred', success: false diff --git a/src/routes/login/+page.server.ts b/src/routes/login/+page.server.ts index e2ba791..e7ca642 100644 --- a/src/routes/login/+page.server.ts +++ b/src/routes/login/+page.server.ts @@ -10,8 +10,11 @@ export const actions = { const email = getRequiredFormString(data, 'email'); const password = getRequiredFormString(data, 'password'); + console.log('1: ' + Date.now()); const user = await login(email, password); + console.log('2: ' + Date.now()); setJWTCookie(cookies, user); + console.log('3: ' + Date.now()); } catch (e) { return fail(400, { message: e instanceof Error ? e.message : 'Unknown error occurred' }); }