aboutsummaryrefslogtreecommitdiffstats
path: root/src/routes/+layout.server.js
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2022-08-19 23:13:01 -0700
committerAdam Soltys <[email protected]>2022-08-19 23:13:01 -0700
commit7a0d6188e5a58ec80d621a8356a7c272094060bb (patch)
treee6ce04a605c07353622e41db0a0028f08f442c0d /src/routes/+layout.server.js
parentc7e21a93c4e8fd64a6fd511641a5f22076248aaa (diff)
downloadcoinos-ui-7a0d6188e5a58ec80d621a8356a7c272094060bb.tar.gz
coinos-ui-7a0d6188e5a58ec80d621a8356a7c272094060bb.zip
get login and register working again
Diffstat (limited to 'src/routes/+layout.server.js')
-rw-r--r--src/routes/+layout.server.js17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/routes/+layout.server.js b/src/routes/+layout.server.js
new file mode 100644
index 00000000..e05380a7
--- /dev/null
+++ b/src/routes/+layout.server.js
@@ -0,0 +1,17 @@
+import cookie from 'cookie';
+import { protectedRoutes } from '$lib/utils';
+import { get } from '$lib/utils';
+
+export async function load({ request, setHeaders, url, params }) {
+ let { token } = cookie.parse(request.headers.get('cookie') || '');
+ let user;
+
+ if (token) {
+ user = await get('/me', { accept: 'application/json', authorization: `Bearer ${token}` });
+ if (protectedRoutes.find((p) => url.pathname.match(p))) {
+ if (user.username !== params.username) throw new Error('user not found');
+ }
+ }
+
+ return { user, token };
+}