aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2022-10-03 10:21:24 -0700
committerAdam Soltys <[email protected]>2022-10-03 10:21:24 -0700
commit1792eb0ce5a2ff127e9f3c3bce392749f20b3f86 (patch)
treeebae8e1984d66cac88f04177fcad1a279313aa8c /src
parentcb272477247582355d38bc6c47b1795801689a55 (diff)
downloadcoinos-ui-1792eb0ce5a2ff127e9f3c3bce392749f20b3f86.tar.gz
coinos-ui-1792eb0ce5a2ff127e9f3c3bce392749f20b3f86.zip
migrate to new actions/cookies api
Diffstat (limited to 'src')
-rw-r--r--src/lib/utils.js18
-rw-r--r--src/routes/+layout.server.js8
-rw-r--r--src/routes/+page.svelte2
-rw-r--r--src/routes/[username]/transactions/[...page]/+page.server.js2
-rw-r--r--src/routes/disable2fa/+server.js4
-rw-r--r--src/routes/enable2fa/+server.js4
-rw-r--r--src/routes/invoice/+server.js4
-rw-r--r--src/routes/login/+page.server.js13
-rw-r--r--src/routes/logout/+page.server.js16
-rw-r--r--src/routes/register/+page.server.js20
-rw-r--r--src/routes/send/bitcoin/[address]/+page.server.js6
-rw-r--r--src/routes/send/lightning/[payreq]/+page.server.js4
-rw-r--r--src/routes/user/+server.js15
-rw-r--r--src/routes/withdraw/+server.js4
14 files changed, 47 insertions, 73 deletions
diff --git a/src/lib/utils.js b/src/lib/utils.js
index f2c7a6a4..a7d0adaa 100644
--- a/src/lib/utils.js
+++ b/src/lib/utils.js
@@ -1,4 +1,3 @@
-import cookie from 'cookie';
import { browser } from '$app/environment';
import { toast } from '@zerodevx/svelte-toast';
import { goto } from '$app/navigation';
@@ -107,28 +106,17 @@ export const info = (m) => {
});
};
-export const login = async (user, setHeaders) => {
+export const login = async (user, cookies) => {
let maxAge = 30 * 24 * 60 * 60;
let { token } = await post('/login', user);
let expires = new Date();
expires.setSeconds(expires.getSeconds() + maxAge);
- setHeaders({
- 'set-cookie': cookie.serialize('token', token, {
- httpOnly: true,
- maxAge,
- sameSite: 'lax',
- path: '/',
- expires
- })
- });
+ cookies.set('token', token, { path: '/' });
};
-export const auth = (req) => {
- let { token } = cookie.parse(req.headers.get('cookie') || '');
- return { authorization: `Bearer ${token}` };
-};
+export const auth = (cookies) => ({ authorization: `Bearer ${cookies.get('token')}` });
export const f = (s, currency) =>
new Intl.NumberFormat('en-US', {
diff --git a/src/routes/+layout.server.js b/src/routes/+layout.server.js
index ea3ccfdb..e31ea106 100644
--- a/src/routes/+layout.server.js
+++ b/src/routes/+layout.server.js
@@ -4,10 +4,10 @@ import { protectedRoutes } from '$lib/utils';
import { get, post, auth } from '$lib/utils';
import { env } from '$env/dynamic/public';
-export const { PUBLIC_BTC: btc } = env;
+export const { PUBLIC_BTC: btc } = env;
-export async function load({ request, setHeaders, url, params }) {
- let { token } = cookie.parse(request.headers.get('cookie') || '');
+export async function load({ cookies, request, url, params }) {
+ let token = cookies.get('token');
let user;
let rates;
let subject;
@@ -31,7 +31,7 @@ export async function load({ request, setHeaders, url, params }) {
if (account) {
let { id } = account;
if (user.account_id !== id) {
- user = await post('/shiftAccount', { id }, auth(request));
+ user = await post('/shiftAccount', { id }, auth(cookies));
}
}
}
diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte
index 37e5db78..d7df57d8 100644
--- a/src/routes/+page.svelte
+++ b/src/routes/+page.svelte
@@ -28,7 +28,7 @@
<!-- banner -->
<div class="mt-[101.7px] md:mt-0 w-full text-center py-4 border border-b-black text-secondary">
<p>
- {$t('newSiteHeader')}
+ {@html $t('newSiteHeader')}
</p>
</div>
diff --git a/src/routes/[username]/transactions/[...page]/+page.server.js b/src/routes/[username]/transactions/[...page]/+page.server.js
index d84c895a..5b88c32b 100644
--- a/src/routes/[username]/transactions/[...page]/+page.server.js
+++ b/src/routes/[username]/transactions/[...page]/+page.server.js
@@ -4,7 +4,7 @@ let offset = 25;
export async function load({ params, request }) {
let page = parseInt(params.page || 1);
- let transactions = await get('/payments', auth(request));
+ let transactions = await get('/payments', auth(cookies));
let total = transactions.length;
let pages = new Array(Math.ceil(total / offset));
let i = (page - 1) * offset;
diff --git a/src/routes/disable2fa/+server.js b/src/routes/disable2fa/+server.js
index be09f3f4..237da445 100644
--- a/src/routes/disable2fa/+server.js
+++ b/src/routes/disable2fa/+server.js
@@ -1,8 +1,8 @@
import { auth, post } from '$lib/utils';
-export async function PUT({ request }) {
+export async function PUT({ cookies, request }) {
let body = await request.json();
- let res = await post('/disable2fa', body, auth(request));
+ let res = await post('/disable2fa', body, auth(cookies));
return new Response(JSON.stringify(res));
}
diff --git a/src/routes/enable2fa/+server.js b/src/routes/enable2fa/+server.js
index eb69a341..3120e613 100644
--- a/src/routes/enable2fa/+server.js
+++ b/src/routes/enable2fa/+server.js
@@ -1,8 +1,8 @@
import { auth, post } from '$lib/utils';
-export async function PUT({ request }) {
+export async function PUT({ cookies, request }) {
let body = await request.json();
- let res = await post('/2fa', body, auth(request));
+ let res = await post('/2fa', body, auth(cookies));
return new Response(JSON.stringify(res));
}
diff --git a/src/routes/invoice/+server.js b/src/routes/invoice/+server.js
index 9b96b114..5b2f2b39 100644
--- a/src/routes/invoice/+server.js
+++ b/src/routes/invoice/+server.js
@@ -1,10 +1,10 @@
import { auth, get, post } from '$lib/utils';
-export async function POST({ request, parent }) {
+export async function POST({ cookies, request }) {
let { amount, currency, network = 'lightning', prompt, rate, tip, user } = await request.json();
let invoice = { amount, currency, network, prompt, rate, tip };
- return new Response(JSON.stringify(await post('/invoice', { invoice, user }, auth(request))), {
+ return new Response(JSON.stringify(await post('/invoice', { invoice, user }, auth(cookies))), {
headers: { 'content-type': 'application/json' }
});
}
diff --git a/src/routes/login/+page.server.js b/src/routes/login/+page.server.js
index 7c4eb295..28f72712 100644
--- a/src/routes/login/+page.server.js
+++ b/src/routes/login/+page.server.js
@@ -1,8 +1,11 @@
+import { redirect } from '@sveltejs/kit';
import { login } from '$lib/utils';
-export async function POST({ setHeaders, request }) {
- let user = Object.fromEntries(await request.formData());
- await login(user, setHeaders);
+export const actions = {
+ default: async ({ cookies, request }) => {
+ let user = Object.fromEntries(await request.formData());
+ await login(user, cookies);
- return { location: `/${user.username}/dashboard` };
-}
+ throw redirect(303, `/${user.username}/dashboard`);
+ }
+};
diff --git a/src/routes/logout/+page.server.js b/src/routes/logout/+page.server.js
index 01ddc1aa..6d863cb1 100644
--- a/src/routes/logout/+page.server.js
+++ b/src/routes/logout/+page.server.js
@@ -2,22 +2,12 @@ import { redirect } from '@sveltejs/kit';
import cookie from 'cookie';
const opts = {
- httpOnly: true,
- sameSite: 'lax',
+ expires: new Date(0),
path: '/'
};
export async function load({ cookies }) {
- cookies.set('set-cookie', [
- cookies.serialize('token', '', {
- ...opts,
- expires: new Date(0)
- }),
- cookies.serialize('refresh_token', '', {
- ...opts,
- expires: new Date(0)
- })
- ]);
-
+ cookies.set('token', '', opts);
+ cookies.set('refresh_token', '', opts);
throw redirect(302, '/logout/done');
}
diff --git a/src/routes/register/+page.server.js b/src/routes/register/+page.server.js
index 23c3800d..95ea4511 100644
--- a/src/routes/register/+page.server.js
+++ b/src/routes/register/+page.server.js
@@ -1,13 +1,15 @@
+import { redirect } from '@sveltejs/kit';
import { post, login } from '$lib/utils';
-export async function POST({ request, setHeaders }) {
- let form = Object.fromEntries(await request.formData());
- let { username, password, redirect } = form;
+export const actions = {
+ default: async ({ cookie, request }) => {
+ let form = Object.fromEntries(await request.formData());
+ let { username, password, redirect: r } = form;
- console.log('REDIRECT', redirect);
- let user = { username, password };
- await post('/register', { user });
- await login(user, setHeaders);
+ let user = { username, password };
+ await post('/register', { user });
+ await login(user, cookie);
- return { location: redirect || `/${user.username}/dashboard` };
-}
+ throw redirect(303, r || `/${user.username}/dashboard`);
+ }
+};
diff --git a/src/routes/send/bitcoin/[address]/+page.server.js b/src/routes/send/bitcoin/[address]/+page.server.js
index 4cc3736d..880804e5 100644
--- a/src/routes/send/bitcoin/[address]/+page.server.js
+++ b/src/routes/send/bitcoin/[address]/+page.server.js
@@ -2,10 +2,10 @@ import { redirect } from '@sveltejs/kit';
import { btc as asset, auth, post } from '$lib/utils';
export const actions = {
- default: async ({ request }) => {
+ default: async ({ cookies, request }) => {
let { address, amount } = Object.fromEntries(await request.formData());
- let { tx } = await post('/bitcoin/fee', { address, amount, asset }, auth(request));
- await post('/bitcoin/send', { address, tx }, auth(request));
+ let { tx } = await post('/bitcoin/fee', { address, amount, asset }, auth(cookies));
+ await post('/bitcoin/send', { address, tx }, auth(cookies));
throw redirect(307, '/sent');
}
};
diff --git a/src/routes/send/lightning/[payreq]/+page.server.js b/src/routes/send/lightning/[payreq]/+page.server.js
index 0030d690..89c03b40 100644
--- a/src/routes/send/lightning/[payreq]/+page.server.js
+++ b/src/routes/send/lightning/[payreq]/+page.server.js
@@ -6,9 +6,9 @@ export async function load({ params }) {
}
export const actions = {
- default: async ({ request }) => {
+ default: async ({ cookies, request }) => {
let body = Object.fromEntries(await request.formData());
- await post('/lightning/send', body, auth(request));
+ await post('/lightning/send', body, auth(cookies));
throw redirect(307, '/sent');
}
};
diff --git a/src/routes/user/+server.js b/src/routes/user/+server.js
index bb02ac54..c9490984 100644
--- a/src/routes/user/+server.js
+++ b/src/routes/user/+server.js
@@ -1,25 +1,16 @@
import { auth, post } from '$lib/utils';
import cookie from 'cookie';
-export async function PUT({ request, setHeaders }) {
+export async function PUT({ cookies, request }) {
let user = await request.json();
- let res = await post('/user', user, auth(request));
+ let res = await post('/user', user, auth(cookies));
let maxAge = 30 * 24 * 60 * 60;
let expires = new Date();
expires.setSeconds(expires.getSeconds() + maxAge);
- setHeaders({
- 'content-type': 'application/json',
- 'set-cookie': cookie.serialize('token', res.token, {
- httpOnly: true,
- maxAge,
- sameSite: 'lax',
- path: '/',
- expires
- })
- });
+ cookies.set('token', res.token, { expires, path: '/' });
return new Response(JSON.stringify(res));
}
diff --git a/src/routes/withdraw/+server.js b/src/routes/withdraw/+server.js
index cb9d177a..718707d0 100644
--- a/src/routes/withdraw/+server.js
+++ b/src/routes/withdraw/+server.js
@@ -1,8 +1,8 @@
import { auth, post } from '$lib/utils';
-export async function POST({ request }) {
+export async function POST({ cookies, request }) {
let body = await request.json();
- await post('/lightning/send', body, auth(request));
+ await post('/lightning/send', body, auth(cookies));
return new Response(JSON.stringify('ok'), { headers: { 'content-type': 'application/json' } });
}