aboutsummaryrefslogtreecommitdiffstats
path: root/src/routes/launch/purchase/+page.server.js
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2022-10-18 21:03:27 -0700
committerAdam Soltys <[email protected]>2022-10-18 21:03:27 -0700
commitad24f34434368d3767fd147d80d45adc3c28f106 (patch)
treef98eea88a95a2c1fbe79283cfa3f77e4ff737449 /src/routes/launch/purchase/+page.server.js
parent02af363d2f0d552a72dc1c90bf8d785e04465d3a (diff)
downloadcoinos-ui-ad24f34434368d3767fd147d80d45adc3c28f106.tar.gz
coinos-ui-ad24f34434368d3767fd147d80d45adc3c28f106.zip
tickets wip
Diffstat (limited to 'src/routes/launch/purchase/+page.server.js')
-rw-r--r--src/routes/launch/purchase/+page.server.js19
1 files changed, 17 insertions, 2 deletions
diff --git a/src/routes/launch/purchase/+page.server.js b/src/routes/launch/purchase/+page.server.js
index ff5efc84..3317b420 100644
--- a/src/routes/launch/purchase/+page.server.js
+++ b/src/routes/launch/purchase/+page.server.js
@@ -7,16 +7,29 @@ import { browser } from '$app/environment';
export const load = async ({ parent }) => {
let tickets = await get('/tickets');
- return { ...(await parent()), tickets };
+ let { user } = await parent();
+ let hasTicket = !!user?.accounts.find((a) => tickets.includes(a.asset));
+ if (hasTicket) throw redirect(307, '/launch/ticket');
+ return { tickets };
};
export const actions = {
internal: async ({ cookies, request }) => {
+ let form = await request.formData();
+ let username = form.get('username');
+
+ let { address } = await post(
+ '/invoice',
+ { invoice: { network: 'liquid' }, user: { username } },
+ auth(cookies)
+ );
+
let { ticket } = await get('/ticket');
let { asset } = await post(
'/assets',
{
+ address,
name: `Launch Party Ticket ${ticket}`,
ticker: 'LPT',
precision: 0,
@@ -25,9 +38,10 @@ export const actions = {
domain: 'coinos.io',
filename: tickets[ticket]
},
- auth(cookies)
+ { authorization: `Bearer ${env.LAUNCH}` }
);
+ await post('/send', { amount: 25000, username: 'launch' }, auth(cookies));
await post('/ticket', { asset }, { authorization: `Bearer ${env.LAUNCH}` });
throw redirect(307, `/launch/thanks/${asset}`);
@@ -40,6 +54,7 @@ export const actions = {
let invoice = {
amount: 25000,
+ memo: 'launch',
network: 'lightning',
prompt: false,
rate: rates[form.get('currency')]