diff options
| author | Adam Soltys <[email protected]> | 2024-09-24 20:12:43 -0700 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2024-09-24 20:12:43 -0700 |
| commit | d49d4119811dee9270f0858f3f03e5d8cd0d95ba (patch) | |
| tree | 42101a3ccf47f7b7290637700b90a843476e56f7 /src/routes/(app)/+layout.server.ts | |
| parent | 20c0c52f8b850bfbab490735b0b5cd5d08851488 (diff) | |
| parent | 9531ccbdf01b07c392b1b5cb6d8ad4680ee29d2c (diff) | |
| download | coinos-ui-d49d4119811dee9270f0858f3f03e5d8cd0d95ba.tar.gz coinos-ui-d49d4119811dee9270f0858f3f03e5d8cd0d95ba.zip | |
Merge branch 'self-custody'
Diffstat (limited to 'src/routes/(app)/+layout.server.ts')
| -rw-r--r-- | src/routes/(app)/+layout.server.ts | 25 |
1 files changed, 18 insertions, 7 deletions
diff --git a/src/routes/(app)/+layout.server.ts b/src/routes/(app)/+layout.server.ts index 655a9425..0901cb5d 100644 --- a/src/routes/(app)/+layout.server.ts +++ b/src/routes/(app)/+layout.server.ts @@ -1,8 +1,9 @@ -import { redirect } from "@sveltejs/kit"; - import { get, auth, protectedRoutes } from "$lib/utils"; +import { error, redirect } from "@sveltejs/kit"; +import { get, auth, protectedRoutes } from "$lib/utils"; export async function load({ cookies, request, url, params }) { let { pathname } = url; + let { username } = params; let token = cookies.get("token"); let rate, rates = { USD: 1 }; @@ -14,6 +15,18 @@ export async function load({ cookies, request, url, params }) { } catch (e) {} } + let subject; + if (username) { + try { + subject = await get(`/users/${username}`); + } catch (e) { + error(500, "Unable to retrieve user account data"); + } + } + + if (!subject) subject = user; + if (!user) user = subject; + if (user?.needsMigration) { redirect(307, `/migrate`); } @@ -26,14 +39,12 @@ export async function load({ cookies, request, url, params }) { redirect(307, `/${user.username}`); } - if ( - protectedRoutes.find((p) => pathname.match(p)) && - (!user || user.username !== params.username) - ) { + if (protectedRoutes.find((p) => pathname.match(p)) && !user) { redirect(307, "/login"); } if (user && !user.pubkey && !pathname.includes("generate")) { + console.log("user missing pubkey", user); redirect(303, `/${user.username}/generate`); } @@ -44,5 +55,5 @@ export async function load({ cookies, request, url, params }) { console.log(e); } - return { user, token, rate, rates }; + return { user, token, rate, rates, subject }; } |
