From 75e1e4e6aa2dbc7d400df1860758db28bf44b7a3 Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Fri, 13 Jan 2023 20:26:53 -0800 Subject: server redis migration --- src/components/AppHeader.svelte | 2 +- src/components/Avatar.svelte | 2 +- src/components/Invoice.svelte | 2 +- src/lib/invoice.js | 10 +- src/lib/socket.js | 1 - src/routes/(app)/+layout.server.js | 22 +--- .../(app)/[username]/(profile)/+page.server.js | 3 +- .../[username]/(profile)/messages/+page.svelte | 6 +- .../(app)/[username]/address/+page.server.js | 4 +- src/routes/(app)/[username]/dashboard/+page.svelte | 132 ++++++++++----------- .../[username]/receive/[...param]/+page.svelte | 4 +- .../(app)/[username]/request/[id]/+page.server.js | 6 +- .../[username]/settings/[...tab]/+page.svelte | 2 +- .../[username]/settings/[...tab]/_account.svelte | 4 +- src/routes/(app)/events/+server.js | 2 +- src/routes/(app)/invoice/[id]/+layout.server.js | 2 +- src/routes/(app)/invoice/[id]/+page.svelte | 6 +- src/routes/(app)/invoice/[id]/paid/+page.svelte | 4 +- src/routes/(app)/invoice/[id]/tip/+page.server.js | 2 +- src/routes/(app)/launch/purchase/+page.server.js | 4 +- src/routes/(app)/login/+page.server.js | 1 + src/routes/(app)/send/[...text]/+page.server.js | 10 +- src/routes/(app)/send/[uuid=uuid]/+page.server.js | 2 +- 23 files changed, 110 insertions(+), 123 deletions(-) (limited to 'src') diff --git a/src/components/AppHeader.svelte b/src/components/AppHeader.svelte index 44c7c4a5..03767238 100644 --- a/src/components/AppHeader.svelte +++ b/src/components/AppHeader.svelte @@ -23,7 +23,7 @@ let showMenu = false; - $: bg = subject?.banner ? `url(/api/public/${subject.uuid}-banner.webp)` : undefined; + $: bg = subject?.banner ? `url(/api/public/${subject.id}-banner.webp)` : undefined; $: $page && (showMenu = false); diff --git a/src/components/Avatar.svelte b/src/components/Avatar.svelte index 8c819709..09161e01 100644 --- a/src/components/Avatar.svelte +++ b/src/components/Avatar.svelte @@ -12,7 +12,7 @@ $: src = '/api/public/' + - (user?.profile ? user.uuid + '-profile.webp' : 'punks/' + punk(user?.pubkey || user?.uuid || 'aa')); + (user?.profile ? user.id + '-profile.webp' : 'punks/' + punk(user?.pubkey || user?.id || 'aa')); diff --git a/src/components/Invoice.svelte b/src/components/Invoice.svelte index accb4c27..5eb4790c 100644 --- a/src/components/Invoice.svelte +++ b/src/components/Invoice.svelte @@ -21,7 +21,7 @@
- + diff --git a/src/lib/invoice.js b/src/lib/invoice.js index 79639d84..c81b4061 100644 --- a/src/lib/invoice.js +++ b/src/lib/invoice.js @@ -17,21 +17,21 @@ export default async ({ cookies, request, url }) => { request_id }; - let user = { username: form.get('username') }; + let user = { username: form.get('username'), currency: form.get('currency') }; - let { uuid } = await post('/invoice', { invoice, user }, auth(cookies)); + let { id } = await post('/invoice', { invoice, user }, auth(cookies)); if (request_id) { if (url.pathname.endsWith('tip')) { - throw redirect(307, `/send/${uuid}`); + throw redirect(307, `/send/${id}`); } throw redirect(307, `/${user.username}/request/${request_id}`); } if (invoice.prompt) { - throw redirect(307, `/invoice/${uuid}/tip`); + throw redirect(307, `/invoice/${id}/tip`); } else { - throw redirect(307, `/invoice/${uuid}`); + throw redirect(307, `/invoice/${id}`); } }; diff --git a/src/lib/socket.js b/src/lib/socket.js index 5a4da262..aba2f965 100644 --- a/src/lib/socket.js +++ b/src/lib/socket.js @@ -61,7 +61,6 @@ export const messages = (data) => ({ let { amount, invoice } = data; if (invoice) invalidate('app:invoice'); - if (get(user)?.account_id !== data.account_id) return; let payments = get(txns); let i = payments.findIndex((p) => p.id === data.id); diff --git a/src/routes/(app)/+layout.server.js b/src/routes/(app)/+layout.server.js index eef1bdec..f69c914f 100644 --- a/src/routes/(app)/+layout.server.js +++ b/src/routes/(app)/+layout.server.js @@ -6,8 +6,7 @@ export async function load({ cookies, request, url, params }) { let { pathname } = url; let token = cookies.get('token'); let rate, - rates = { USD: 1 }, - subject; + rates = { USD: 1 }; let user; if (token) { @@ -26,23 +25,12 @@ export async function load({ cookies, request, url, params }) { throw redirect(307, '/login'); } - if (user) { - 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; - if (user.account_id !== id) { - user = await post('/shiftAccount', { id }, auth(cookies)); - } - } - } - try { rate = await get('/rate'); rates = await get('/rates'); - } catch (e) {} + } catch (e) { + console.log(e) + } - return { subject, user, token, rate, rates }; + return { user, token, rate, rates }; } diff --git a/src/routes/(app)/[username]/(profile)/+page.server.js b/src/routes/(app)/[username]/(profile)/+page.server.js index 9c91efae..c29ed7df 100644 --- a/src/routes/(app)/[username]/(profile)/+page.server.js +++ b/src/routes/(app)/[username]/(profile)/+page.server.js @@ -3,12 +3,11 @@ import { get } from '$lib/utils'; export async function load({ params, parent, url }) { let { subject } = await parent(); let { pubkey } = subject; - if (!pubkey) pubkey = params.username; let events = []; try { - events = await get(`/nostr/${pubkey}`); + events = await get(`/${pubkey}/notes`); } catch (e) { console.log(`failed to fetch nostr events for ${pubkey}`, e); } diff --git a/src/routes/(app)/[username]/(profile)/messages/+page.svelte b/src/routes/(app)/[username]/(profile)/messages/+page.svelte index dbf02cf2..fd12c6bf 100644 --- a/src/routes/(app)/[username]/(profile)/messages/+page.svelte +++ b/src/routes/(app)/[username]/(profile)/messages/+page.svelte @@ -27,10 +27,10 @@ if (!$messages[user.pubkey][subject.pubkey][m.id]) { m.message = await decrypt({ event: m, user }); $messages[user.pubkey][subject.pubkey][m.id] = m; - tick().then(() => (pane.scrollTop = pane.scrollHeight)); + tick().then(() => pane && (pane.scrollTop = pane.scrollHeight)); } } - tick().then(() => (pane.scrollTop = pane.scrollHeight)); + tick().then(() => pane && (pane.scrollTop = pane.scrollHeight)); }; $: events = @@ -56,7 +56,7 @@ event.id = await calculateId(event); $messages[user.pubkey][subject.pubkey][event.id] = event; $messages = $messages; - tick().then(() => (pane.scrollTop = pane.scrollHeight)); + tick().then(() => pane && (pane.scrollTop = pane.scrollHeight)); try { event.content = await encrypt({ message, recipient: subject.pubkey, user }); diff --git a/src/routes/(app)/[username]/address/+page.server.js b/src/routes/(app)/[username]/address/+page.server.js index c18bcdba..281f9e2d 100644 --- a/src/routes/(app)/[username]/address/+page.server.js +++ b/src/routes/(app)/[username]/address/+page.server.js @@ -8,6 +8,6 @@ export async function load({ cookies, params, parent }) { network: 'bitcoin', rate: rates[user.currency] }; - let { uuid } = await post('/invoice', { invoice, user }, auth(cookies)); - throw redirect(307, `/invoice/${uuid}`); + let { id } = await post('/invoice', { invoice, user }, auth(cookies)); + throw redirect(307, `/invoice/${id}`); } diff --git a/src/routes/(app)/[username]/dashboard/+page.svelte b/src/routes/(app)/[username]/dashboard/+page.svelte index 3fcf8c06..86ec5c0e 100644 --- a/src/routes/(app)/[username]/dashboard/+page.svelte +++ b/src/routes/(app)/[username]/dashboard/+page.svelte @@ -20,7 +20,7 @@ let animateRate = (newRate) => { if (!accountBalanceFiat) return; let t = 0; - let newBalance = (user.account.balance * newRate) / sats; + let newBalance = (user.balance * newRate) / sats; let oldBalance = parseFloat(accountBalanceFiat); let diff = oldBalance - newBalance; let rateDiff = oldRate - newRate; @@ -47,7 +47,7 @@ $: user = data.user; $: accountBalanceFiat = accountBalanceFiat || - (user && $selectedRate && ((user.account.balance * $selectedRate) / sats).toFixed(2)); + (user && $selectedRate && ((user.balance * $selectedRate) / sats).toFixed(2)); let payreq = '', payreqField, @@ -55,7 +55,7 @@ $: btcPrice = f($selectedRate, user.currency); - $: accountBalanceBtc = user.account.balance / sats; + $: accountBalanceBtc = user.balance / sats;
@@ -65,7 +65,7 @@
- ⚡️{s(user.account.balance)} + ⚡️{s(user.balance)}
@@ -92,68 +92,68 @@ -
- {#each invoices as { request_id, amount, currency, rate, user: recipient, requester, uuid }} - {@const requested = user.username === requester.username} - -
-
-
- {#if requested} -
- -
-

{$t('transactions.invoiceFrom')}

-

{recipient.username}

-
-
- {:else} -
- -
-

{$t('transactions.awaiting')}

-

{requester.username}

-
-
- {/if} -
-
-
- {f(amount * (rate / sats), currency)} -
- -
{sat(amount)}
-
-
-
-
- {/each} -
- -
- {#each requests as { id, invoice, memo, requester: r }} - -
-
-
-
- -
-

{r.username}

-

{memo}

-
-
-
-
- -
-
-
-
- {/each} -
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/src/routes/(app)/[username]/receive/[...param]/+page.svelte b/src/routes/(app)/[username]/receive/[...param]/+page.svelte index 548f324f..4559f00c 100644 --- a/src/routes/(app)/[username]/receive/[...param]/+page.svelte +++ b/src/routes/(app)/[username]/receive/[...param]/+page.svelte @@ -21,7 +21,7 @@ let { user } = data; $: paid = browser && form && Object.values($invoices).find((inv) => inv.amount === form.amount); - $: paid && goto(`/invoice/${paid.uuid}/paid`); + $: paid && goto(`/invoice/${paid.id}/paid`);
@@ -34,7 +34,7 @@ {/if} - +
diff --git a/src/routes/(app)/[username]/request/[id]/+page.server.js b/src/routes/(app)/[username]/request/[id]/+page.server.js index 7beabfe6..001bd6e0 100644 --- a/src/routes/(app)/[username]/request/[id]/+page.server.js +++ b/src/routes/(app)/[username]/request/[id]/+page.server.js @@ -9,14 +9,14 @@ export let load = async ({ cookies, depends, locals: { user }, params }) => { let { invoice } = request; if (invoice) { - let { amount, received, uuid } = invoice; + let { amount, received, id } = invoice; if ( request.recipient.username === user.username && ((received && !amount) || received >= amount) ) - throw redirect(307, `/invoice/${uuid}/paid`); + throw redirect(307, `/invoice/${id}/paid`); - if (request.requester.username === user.username) throw redirect(307, `/send/${uuid}`); + if (request.requester.username === user.username) throw redirect(307, `/send/${id}`); } return { request }; diff --git a/src/routes/(app)/[username]/settings/[...tab]/+page.svelte b/src/routes/(app)/[username]/settings/[...tab]/+page.svelte index 92946544..94ca2223 100644 --- a/src/routes/(app)/[username]/settings/[...tab]/+page.svelte +++ b/src/routes/(app)/[username]/settings/[...tab]/+page.svelte @@ -78,7 +78,7 @@ content: JSON.stringify({ name: user.username, about: user.address, - picture: `${PUBLIC_COINOS_URL}/public/${user.uuid}-profile.webp` + picture: `${PUBLIC_COINOS_URL}/public/${user.id}-profile.webp` }), tags: [] }; diff --git a/src/routes/(app)/[username]/settings/[...tab]/_account.svelte b/src/routes/(app)/[username]/settings/[...tab]/_account.svelte index ba046735..93b5442d 100644 --- a/src/routes/(app)/[username]/settings/[...tab]/_account.svelte +++ b/src/routes/(app)/[username]/settings/[...tab]/_account.svelte @@ -97,7 +97,7 @@ on:keydown={() => select('profile')} > {user.username} @@ -151,7 +151,7 @@ /> {:else if user.banner} select('banner')} on:keydown={() => select('banner')} diff --git a/src/routes/(app)/events/+server.js b/src/routes/(app)/events/+server.js index d0b1242f..decd43cb 100644 --- a/src/routes/(app)/events/+server.js +++ b/src/routes/(app)/events/+server.js @@ -2,5 +2,5 @@ import { auth, post } from '$lib/utils'; import { json } from '@sveltejs/kit'; export async function POST({ cookies, request }) { - return json(post('/nostr/send', await request.json(), auth(cookies))); + return json(post('/event', await request.json(), auth(cookies))); } diff --git a/src/routes/(app)/invoice/[id]/+layout.server.js b/src/routes/(app)/invoice/[id]/+layout.server.js index b4d7d496..adcea6df 100644 --- a/src/routes/(app)/invoice/[id]/+layout.server.js +++ b/src/routes/(app)/invoice/[id]/+layout.server.js @@ -6,7 +6,7 @@ export async function load({ depends, params, url }) { depends('app:invoice'); let { id } = params; - let invoice = await get(`/invoice?uuid=${id}`); + let invoice = await get(`/invoice?id=${id}`); let { amount, received, pending } = invoice; amount = parseInt(amount); diff --git a/src/routes/(app)/invoice/[id]/+page.svelte b/src/routes/(app)/invoice/[id]/+page.svelte index 5eadb179..db491c66 100644 --- a/src/routes/(app)/invoice/[id]/+page.svelte +++ b/src/routes/(app)/invoice/[id]/+page.svelte @@ -22,7 +22,7 @@ prompt, text, tip, - user: { username, currency, uuid } + user: { username, currency } } = invoice; let showQr = !amount; @@ -43,7 +43,7 @@ prompt, text, tip, - user: { username, currency, uuid } + user: { username, currency } } = invoice); tipPercent = (tip / amount) * 100; @@ -108,7 +108,7 @@ > {#if user && user.username !== username} - +