From a657fab89a7de41f0a33389023166a6f7af6dbe6 Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Tue, 3 Jan 2023 00:22:30 -0800 Subject: generate pubkey on register --- src/routes/(app)/+layout.server.js | 27 ++++++++++++--- src/routes/(app)/[username]/generate/+page.svelte | 42 ++++++++++++++++++++--- src/routes/(app)/[username]/generate/+server.js | 5 ++- src/routes/(app)/login/+server.js | 6 ---- src/routes/(app)/register/+page.server.js | 7 ++-- 5 files changed, 65 insertions(+), 22 deletions(-) delete mode 100644 src/routes/(app)/login/+server.js (limited to 'src/routes/(app)') diff --git a/src/routes/(app)/+layout.server.js b/src/routes/(app)/+layout.server.js index 88ca1539..eef1bdec 100644 --- a/src/routes/(app)/+layout.server.js +++ b/src/routes/(app)/+layout.server.js @@ -1,18 +1,35 @@ import { error, redirect } from '@sveltejs/kit'; -import { get, post, auth } from '$lib/utils'; +import { get, post, auth, protectedRoutes } from '$lib/utils'; import { PUBLIC_BTC as btc } from '$env/static/public'; -export async function load({ cookies, locals, request, url, params }) { - url.pathname; +export async function load({ cookies, request, url, params }) { + let { pathname } = url; let token = cookies.get('token'); let rate, rates = { USD: 1 }, subject; - let { user } = locals; + let user; + if (token) { + try { + user = await get('/me', auth(cookies)); + } catch (e) {} + } + + if (user && ['/', '/login', '/register'].includes(pathname) && request.method === 'GET') + throw redirect(307, `/${user.username}/dashboard`); + + if ( + protectedRoutes.find((p) => pathname.match(p)) && + (!user || user.username !== params.username) + ) { + throw redirect(307, '/login'); + } + if (user) { - if (!user.pubkey && !url.pathname.includes('gen')) + if (!user.pubkey && !url.pathname.includes('gen')) { throw redirect(307, `/${user.username}/generate`); + } let account = user.accounts.find((a) => a.asset === btc && !a.pubkey); if (account) { let { id } = account; diff --git a/src/routes/(app)/[username]/generate/+page.svelte b/src/routes/(app)/[username]/generate/+page.svelte index f2e53be7..91c3d189 100644 --- a/src/routes/(app)/[username]/generate/+page.svelte +++ b/src/routes/(app)/[username]/generate/+page.svelte @@ -1,14 +1,14 @@