aboutsummaryrefslogtreecommitdiffstats
path: root/src/routes/invoice/+server.js
blob: 759c93156afaa32b067666e195032f3b554b83ce (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import { auth, get, post } from '$lib/utils';

export async function POST({ request, parent }) {
	let { amount, currency, network = 'lightning', prompt, rate, tip, user } = await request.json();
	let invoice = { amount, currency, network, prompt, rate, tip };

	if (network === 'lightning') {
		invoice.text = (await post('/lightning/invoice', { amount }, auth(request))).text;
	} else {
		invoice.address = (await get('/address?network=bitcoin&type=bech32')).address;
	}

	return new Response(JSON.stringify(await post('/invoice', { invoice, user }, auth(request))), {
		headers: { 'content-type': 'application/json' }
	});
}