diff options
| author | Adam Soltys <[email protected]> | 2023-03-21 12:23:02 -0700 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2023-03-21 12:23:02 -0700 |
| commit | b9824ce3b80f11f302458575cb90b230dbe08a37 (patch) | |
| tree | 63b5bce3d06521507e3176b26f8f67e383dfc96d /src | |
| parent | 067054f780e2f6f8acd9c950cbc2227783f6208b (diff) | |
| download | coinos-ui-b9824ce3b80f11f302458575cb90b230dbe08a37.tar.gz coinos-ui-b9824ce3b80f11f302458575cb90b230dbe08a37.zip | |
new send fiat route
Diffstat (limited to 'src')
| -rw-r--r-- | src/routes/(app)/send/user/[username]/[...amount]/+page.server.js | 27 |
1 files changed, 23 insertions, 4 deletions
diff --git a/src/routes/(app)/send/user/[username]/[...amount]/+page.server.js b/src/routes/(app)/send/user/[username]/[...amount]/+page.server.js index c63328e2..6fc74577 100644 --- a/src/routes/(app)/send/user/[username]/[...amount]/+page.server.js +++ b/src/routes/(app)/send/user/[username]/[...amount]/+page.server.js @@ -1,9 +1,28 @@ import { error, fail, redirect } from '@sveltejs/kit'; -import { fd, auth, get, post } from '$lib/utils'; +import { types, sats, fd, auth, get, post } from '$lib/utils'; + +export async function load({ cookies, params, parent }) { + let { rates, user } = await parent(); + let { username } = params; + let [amount, currency] = params.amount.split('/'); + + if (amount) { + let rate = rates[currency.toUpperCase() || user.currency]; + if (!rate) throw error(500, "Invalid currency symbol"); + if (currency) amount = (amount * sats) / rate; + + let { hash } = await post( + '/invoice', + { + invoice: { amount, prompt: false, type: types.lightning }, + user: { username } + }, + auth(cookies) + ); + + throw redirect(307, `/${username}/invoice/${hash}`); + } -export async function load({ params, parent }) { - let { user } = await parent(); - let { amount } = params; let subject = await get(`/users/${params.username}`); if (subject.username === user?.username) throw error(500, { message: 'Cannot send to self' }); return { amount, subject }; |
