From 1e9ed8fa128ec5ae038be14ef168cad37c1c0eb1 Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Tue, 3 Mar 2026 22:45:50 -0800 Subject: api proxy --- src/components/AppForm.svelte | 2 +- src/components/Event.svelte | 6 +- src/components/Numpad.svelte | 44 ++++----- src/components/Password.svelte | 2 +- src/components/Pin.svelte | 2 +- src/lib/ark.ts | 8 +- src/lib/bitcoinSync.ts | 2 +- src/lib/keyWrapping.ts | 2 +- src/lib/nostr.ts | 2 +- src/routes/(app)/+layout.svelte | 4 +- src/routes/(app)/[username]/(profile)/+page.svelte | 10 +- src/routes/(app)/account/+server.ts | 21 ---- src/routes/(app)/account/[id]/+page.svelte | 4 +- src/routes/(app)/account/ark/+page.svelte | 2 +- src/routes/(app)/account/new/+page.svelte | 2 +- src/routes/(app)/account/pass/+page.svelte | 10 +- src/routes/(app)/account/seed/+page.svelte | 10 +- src/routes/(app)/api/[...path]/+server.ts | 25 +++++ src/routes/(app)/contacts/+server.ts | 12 --- src/routes/(app)/disable2fa/+server.ts | 13 --- src/routes/(app)/ecash/mint/+server.ts | 7 -- src/routes/(app)/email/+server.ts | 7 -- src/routes/(app)/enable2fa/+server.ts | 8 -- src/routes/(app)/events/+server.ts | 12 --- src/routes/(app)/firehose/+page.svelte | 2 +- src/routes/(app)/fund/[id]/access/+page.svelte | 2 +- src/routes/(app)/fund/[id]/withdraw/+server.ts | 6 -- src/routes/(app)/invoice/+server.ts | 12 --- src/routes/(app)/password/+server.ts | 7 -- src/routes/(app)/payment/[id]/+page.svelte | 10 +- src/routes/(app)/payment/[id]/print/+server.ts | 7 -- src/routes/(app)/pin/+server.ts | 7 -- src/routes/(app)/post/[...path]/+server.ts | 20 ---- src/routes/(app)/reset/+server.ts | 7 -- src/routes/(app)/send/[...text]/+page.svelte | 14 +-- .../[address]/[amount]/[...feeRate]/+page.svelte | 2 +- .../[address]/[amount]/[...feeRate]/+page.svelte | 106 +++++++++++---------- src/routes/(app)/send/invoice/[id]/+page.svelte | 4 +- .../send/lightning/[payreq]/[...memo]/+page.svelte | 2 +- .../(app)/send/zap/[id]/[...amount]/+page.svelte | 4 +- src/routes/(app)/settings/+layout.svelte | 2 +- src/routes/(app)/settings/account/+page.svelte | 2 +- src/routes/(app)/settings/security/+page.svelte | 4 +- src/routes/(app)/subscription/+server.ts | 8 -- src/routes/(app)/subscription/delete/+server.ts | 8 -- src/routes/(app)/tag/[tag]/+page.svelte | 2 +- src/routes/(app)/withdraw/+server.ts | 10 -- src/routes/(static)/register/auth/+page.svelte | 4 +- src/routes/(static)/support/+page.svelte | 4 +- 49 files changed, 175 insertions(+), 298 deletions(-) delete mode 100644 src/routes/(app)/account/+server.ts create mode 100644 src/routes/(app)/api/[...path]/+server.ts delete mode 100644 src/routes/(app)/contacts/+server.ts delete mode 100644 src/routes/(app)/disable2fa/+server.ts delete mode 100644 src/routes/(app)/ecash/mint/+server.ts delete mode 100644 src/routes/(app)/email/+server.ts delete mode 100644 src/routes/(app)/enable2fa/+server.ts delete mode 100644 src/routes/(app)/events/+server.ts delete mode 100644 src/routes/(app)/fund/[id]/withdraw/+server.ts delete mode 100644 src/routes/(app)/invoice/+server.ts delete mode 100644 src/routes/(app)/password/+server.ts delete mode 100644 src/routes/(app)/payment/[id]/print/+server.ts delete mode 100644 src/routes/(app)/pin/+server.ts delete mode 100644 src/routes/(app)/post/[...path]/+server.ts delete mode 100644 src/routes/(app)/reset/+server.ts delete mode 100644 src/routes/(app)/subscription/+server.ts delete mode 100644 src/routes/(app)/subscription/delete/+server.ts delete mode 100644 src/routes/(app)/withdraw/+server.ts (limited to 'src') diff --git a/src/components/AppForm.svelte b/src/components/AppForm.svelte index 86338a11..295fd6b6 100644 --- a/src/components/AppForm.svelte +++ b/src/components/AppForm.svelte @@ -57,7 +57,7 @@ let del = async () => { try { - await post(`/post/apps/delete`, { pubkey }); + await post(`/api/apps/delete`, { pubkey }); goto("/settings/nostr"); } catch (e: any) { fail(e.message); diff --git a/src/components/Event.svelte b/src/components/Event.svelte index c08bd452..eef48868 100644 --- a/src/components/Event.svelte +++ b/src/components/Event.svelte @@ -21,11 +21,11 @@ const body = new FormData(); if (!user) return goto(`/register?redirect=${$page.url.pathname}`); - let request = await post("/post/zapRequest", { amount, id }); - let { pr: payreq } = await post("/post/zap", { + let request = await post("/api/zapRequest", { amount, id }); + let { pr: payreq } = await post("/api/zap", { event: await sign(request), }); - await post("/post/payments", { amount, payreq }); + await post("/api/payments", { amount, payreq }); } catch (e: any) { console.log(e); fail(e.message); diff --git a/src/components/Numpad.svelte b/src/components/Numpad.svelte index eee43621..10f5d8f3 100644 --- a/src/components/Numpad.svelte +++ b/src/components/Numpad.svelte @@ -255,12 +255,19 @@
-
- +
+ {:else} + + {/if} +
- {#if fiat && position === "after"}{symbol}{/if} + {#if fiat && position === "after"} + + {/if}
- - -
diff --git a/src/components/Password.svelte b/src/components/Password.svelte index ab1b7d9d..7651d5a1 100644 --- a/src/components/Password.svelte +++ b/src/components/Password.svelte @@ -13,7 +13,7 @@ let submit = async (e) => { e.preventDefault(); try { - let res = await post("/password", { password }); + let res = await post("/api/password", { password }); $passwordPrompt = false; $pw = password; } catch (e) { diff --git a/src/components/Pin.svelte b/src/components/Pin.svelte index da0c6aeb..c8ead368 100644 --- a/src/components/Pin.svelte +++ b/src/components/Pin.svelte @@ -27,7 +27,7 @@ if (p?.length !== 6) return; let result; try { - result = await post("/pin", { pin: hashPin(p) }); + result = await post("/api/pin", { pin: hashPin(p) }); } catch (e) { console.log("Pin check failed", e); } diff --git a/src/lib/ark.ts b/src/lib/ark.ts index 18652d1e..e223d013 100644 --- a/src/lib/ark.ts +++ b/src/lib/ark.ts @@ -303,7 +303,7 @@ const _syncTransactions = async (aid: string) => { const bal = await wallet.getBalance(); const balance = (bal.available || 0) + (bal.preconfirmed || 0); - const result = await post("/post/ark/sync", { transactions, aid, balance, arkAddress: walletAddr }); + const result = await post("/api/ark/sync", { transactions, aid, balance, arkAddress: walletAddr }); cacheVaultSnapshot(); // fire-and-forget return result; }; @@ -456,14 +456,14 @@ export const sendArkViaForward = async ({ try { const txid = await sendArk(serverArkAddress, amount); - await post("/post/ark/vault-send", { hash: txid, amount, aid }); + await post("/api/ark/vault-send", { hash: txid, amount, aid }); const invoice: any = { type: "ark", amount, aid }; if (forward) invoice.forward = forward; - const inv = await post("/post/invoice", { invoice, user }); + const inv = await post("/api/invoice", { invoice, user }); - return await post("/post/ark/receive", { amount, hash: txid, iid: inv.id }); + return await post("/api/ark/receive", { amount, hash: txid, iid: inv.id }); } finally { vaultForwarding = false; } diff --git a/src/lib/bitcoinSync.ts b/src/lib/bitcoinSync.ts index 9061e2fc..92d3382b 100644 --- a/src/lib/bitcoinSync.ts +++ b/src/lib/bitcoinSync.ts @@ -6,7 +6,7 @@ export const syncBitcoinVault = async (aid: string) => { if (syncing) return; syncing = true; try { - return await post("/post/bitcoin/sync", { aid }); + return await post("/api/bitcoin/sync", { aid }); } finally { syncing = false; } diff --git a/src/lib/keyWrapping.ts b/src/lib/keyWrapping.ts index b176e741..fb46f767 100644 --- a/src/lib/keyWrapping.ts +++ b/src/lib/keyWrapping.ts @@ -45,7 +45,7 @@ export async function resolveCanonicalKey( export async function saveEncryptedKeys( encryptedKeys: Record, ): Promise { - await post("/post/user", { encryptedKeys }); + await post("/api/user", { encryptedKeys }); } export function passwordMethodId(): string { diff --git a/src/lib/nostr.ts b/src/lib/nostr.ts index 1bbf6bcc..4b7316e8 100644 --- a/src/lib/nostr.ts +++ b/src/lib/nostr.ts @@ -136,7 +136,7 @@ export const sign = async (event: any, user?: any) => { }; export const send = (event: EventTemplate) => { - return post("/events", { event }); + return post("/api/event", { event }); }; const getPassword = async (): Promise => { diff --git a/src/routes/(app)/+layout.svelte b/src/routes/(app)/+layout.svelte index f4d036f2..248206fb 100644 --- a/src/routes/(app)/+layout.svelte +++ b/src/routes/(app)/+layout.svelte @@ -104,8 +104,8 @@ try { const { serverArkAddress, amount, iid } = result.forward; const txid = await sendArk(serverArkAddress, amount); - await post("/post/ark/vault-send", { hash: txid, amount, aid }); - await post("/post/ark/receive", { amount, hash: txid, iid }); + await post("/api/ark/vault-send", { hash: txid, amount, aid }); + await post("/api/ark/receive", { amount, hash: txid, iid }); } catch (e) { console.error("Ark custodial forward failed:", e); } finally { diff --git a/src/routes/(app)/[username]/(profile)/+page.svelte b/src/routes/(app)/[username]/(profile)/+page.svelte index 2eb424e1..4ed8eaaf 100644 --- a/src/routes/(app)/[username]/(profile)/+page.svelte +++ b/src/routes/(app)/[username]/(profile)/+page.svelte @@ -46,15 +46,19 @@ const mn = entropyToMnemonic(entropy, wordlist); const seed = await mnemonicToSeed(mn); const master = HDKey.fromMasterSeed(seed, versions); - const child = master.derive("m/84'/0'/0'"); + const existing = await fetch("/api/accounts").then((r) => r.json()); + const nextIdx = existing + .filter((a: any) => a.pubkey && a.fingerprint) + .reduce((max: number, a: any) => Math.max(max, (a.accountIndex ?? 0) + 1), 0); + const child = master.derive(`m/84'/0'/${nextIdx}'`); const pubkey = child.publicExtendedKey; const fingerprint = child.fingerprint.toString(16).padStart(8, "0"); - await post("/account", { + await post("/api/accounts", { fingerprint, pubkey, name: $t("accounts.vault"), type: "bitcoin", - accountIndex: 0, + accountIndex: nextIdx, }); invalidate("app:payments"); } catch (e: any) { diff --git a/src/routes/(app)/account/+server.ts b/src/routes/(app)/account/+server.ts deleted file mode 100644 index 4387373e..00000000 --- a/src/routes/(app)/account/+server.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { auth, get, post } from "$lib/utils"; -import { error, json } from "@sveltejs/kit"; - -export async function GET({ cookies }) { - try { - return json(await get("/accounts", auth(cookies))); - } catch (e: any) { - console.log(e); - error(500, e.message); - } -} - -export async function POST({ cookies, request }) { - try { - const body = await request.json(); - return json(await post("/accounts", body, auth(cookies))); - } catch (e: any) { - console.log(e); - error(500, e.message); - } -} diff --git a/src/routes/(app)/account/[id]/+page.svelte b/src/routes/(app)/account/[id]/+page.svelte index bb0251db..582fe3ec 100644 --- a/src/routes/(app)/account/[id]/+page.svelte +++ b/src/routes/(app)/account/[id]/+page.svelte @@ -111,7 +111,7 @@ let pubkey = child.publicExtendedKey; let fp = child.fingerprint.toString(16).padStart(8, "0"); - await post(`/post/account/${id}`, { + await post(`/api/account/${id}`, { fingerprint: fp, pubkey, seed, @@ -131,7 +131,7 @@ let del = async () => { try { - await post("/post/account/delete", { id }); + await post("/api/account/delete", { id }); goto(`/${user.username}`); } catch (e: any) { fail(e.message); diff --git a/src/routes/(app)/account/ark/+page.svelte b/src/routes/(app)/account/ark/+page.svelte index 3d200070..65d03aad 100644 --- a/src/routes/(app)/account/ark/+page.svelte +++ b/src/routes/(app)/account/ark/+page.svelte @@ -42,7 +42,7 @@ const identity = SingleKey.fromHex(arkHex); const wallet = await Wallet.create({ identity, arkServerUrl }); arkAddress = await wallet.getAddress(); - await post("/account", { name, type, arkAddress }); + await post("/api/accounts", { name, type, arkAddress }); goto(`/${user.username}`); } catch (e: any) { console.log("Ark account creation failed", e); diff --git a/src/routes/(app)/account/new/+page.svelte b/src/routes/(app)/account/new/+page.svelte index da9b4c72..1761f3f6 100644 --- a/src/routes/(app)/account/new/+page.svelte +++ b/src/routes/(app)/account/new/+page.svelte @@ -37,7 +37,7 @@ const wallet = await Wallet.create({ identity, arkServerUrl }); const arkAddress = await wallet.getAddress(); - await post("/account", { name: $t("accounts.savings"), type: "ark", arkAddress }); + await post("/api/accounts", { name: $t("accounts.savings"), type: "ark", arkAddress }); goto(`/${user.username}`); } catch (e: any) { console.log("Ark account creation failed", e); diff --git a/src/routes/(app)/account/pass/+page.svelte b/src/routes/(app)/account/pass/+page.svelte index c7f6c0ab..a76494c0 100644 --- a/src/routes/(app)/account/pass/+page.svelte +++ b/src/routes/(app)/account/pass/+page.svelte @@ -41,15 +41,19 @@ await mnemonicToSeed(mn), versions, ); - const child = master.derive("m/84'/0'/0'"); + const accounts = await fetch("/api/accounts").then((r) => r.json()); + const nextIdx = (accounts || []) + .filter((a: any) => a.pubkey && a.fingerprint && a.type !== "ark") + .reduce((max: number, a: any) => Math.max(max, (a.accountIndex ?? 0) + 1), 0); + const child = master.derive(`m/84'/0'/${nextIdx}'`); const pubkey = child.publicExtendedKey; const fingerprint = child.fingerprint.toString(16).padStart(8, "0"); - await post("/account", { + await post("/api/accounts", { fingerprint, pubkey, name: $t("accounts.vault"), type: "bitcoin", - accountIndex: 0, + accountIndex: nextIdx, }); $mnemonic = ""; diff --git a/src/routes/(app)/account/seed/+page.svelte b/src/routes/(app)/account/seed/+page.svelte index 342852ca..70f3fe32 100644 --- a/src/routes/(app)/account/seed/+page.svelte +++ b/src/routes/(app)/account/seed/+page.svelte @@ -27,15 +27,19 @@ const mn = entropyToMnemonic(entropy, wordlist); const seed = await mnemonicToSeed(mn); const master = HDKey.fromMasterSeed(seed, versions); - const child = master.derive("m/84'/0'/0'"); + const accounts = await fetch("/api/accounts").then((r) => r.json()); + const nextIdx = (accounts || []) + .filter((a: any) => a.pubkey && a.fingerprint && a.type !== "ark") + .reduce((max: number, a: any) => Math.max(max, (a.accountIndex ?? 0) + 1), 0); + const child = master.derive(`m/84'/0'/${nextIdx}'`); const pubkey = child.publicExtendedKey; const fingerprint = child.fingerprint.toString(16).padStart(8, "0"); - await post("/account", { + await post("/api/accounts", { fingerprint, pubkey, name: $t("accounts.vault"), type: "bitcoin", - accountIndex: 0, + accountIndex: nextIdx, }); await goto(`/${user.username}`); } catch (e: any) { diff --git a/src/routes/(app)/api/[...path]/+server.ts b/src/routes/(app)/api/[...path]/+server.ts new file mode 100644 index 00000000..bc12494f --- /dev/null +++ b/src/routes/(app)/api/[...path]/+server.ts @@ -0,0 +1,25 @@ +import { PUBLIC_COINOS_URL as base } from "$env/static/public"; +import { auth } from "$lib/utils"; + +function getHeaders(cookies, request) { + const headers: Record = {}; + const authHeader = request.headers.get("authorization"); + if (authHeader) { + headers.authorization = authHeader; + } else { + Object.assign(headers, auth(cookies)); + } + return headers; +} + +export async function GET({ cookies, fetch, params, request }) { + return fetch(`${base}/${params.path}`, { headers: getHeaders(cookies, request) }); +} + +export async function POST({ cookies, fetch, params, request }) { + return fetch(`${base}/${params.path}`, { + method: "POST", + body: JSON.stringify(await request.json()), + headers: { "Content-Type": "application/json", ...getHeaders(cookies, request) }, + }); +} diff --git a/src/routes/(app)/contacts/+server.ts b/src/routes/(app)/contacts/+server.ts deleted file mode 100644 index 2bc5d28e..00000000 --- a/src/routes/(app)/contacts/+server.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { auth, get } from "$lib/utils"; -import { json } from "@sveltejs/kit"; - -export async function GET({ cookies }) { - try { - const contacts = await get("/contacts", auth(cookies)); - return json(contacts); - } catch (e) { - console.log(e); - return json({}); - } -} diff --git a/src/routes/(app)/disable2fa/+server.ts b/src/routes/(app)/disable2fa/+server.ts deleted file mode 100644 index 0d1c4573..00000000 --- a/src/routes/(app)/disable2fa/+server.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { error, json } from "@sveltejs/kit"; -import { auth, post } from "$lib/utils"; - -export async function POST({ cookies, request }) { - try { - const body = await request.json(); - const res = await post("/disable2fa", body, auth(cookies)); - - return json(res); - } catch { - error(500, "Problem disabling 2fa"); - } -} diff --git a/src/routes/(app)/ecash/mint/+server.ts b/src/routes/(app)/ecash/mint/+server.ts deleted file mode 100644 index e933208e..00000000 --- a/src/routes/(app)/ecash/mint/+server.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { auth, post } from "$lib/utils"; -import { json } from "@sveltejs/kit"; - -export async function POST({ cookies, request }) { - const result = await post("/mint", await request.json(), auth(cookies)); - return json(result); -} diff --git a/src/routes/(app)/email/+server.ts b/src/routes/(app)/email/+server.ts deleted file mode 100644 index 437c0ef0..00000000 --- a/src/routes/(app)/email/+server.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { auth, post } from "$lib/utils"; -import { json } from "@sveltejs/kit"; - -export async function POST({ cookies, request }) { - const result = await post("/request", await request.json(), auth(cookies)); - return json(result); -} diff --git a/src/routes/(app)/enable2fa/+server.ts b/src/routes/(app)/enable2fa/+server.ts deleted file mode 100644 index 76737968..00000000 --- a/src/routes/(app)/enable2fa/+server.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { auth, post } from "$lib/utils"; - -export async function POST({ cookies, request }) { - const body = await request.json(); - const res = await post("/2fa", body, auth(cookies)); - - return new Response(JSON.stringify(res)); -} diff --git a/src/routes/(app)/events/+server.ts b/src/routes/(app)/events/+server.ts deleted file mode 100644 index e2553753..00000000 --- a/src/routes/(app)/events/+server.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { auth, post } from "$lib/utils"; -import { error, json } from "@sveltejs/kit"; - -export async function POST({ cookies, request }) { - const body = await request.json(); - try { - const result = await post("/event", body, auth(cookies)); - return json(result); - } catch (e: any) { - error(500, e.message); - } -} diff --git a/src/routes/(app)/firehose/+page.svelte b/src/routes/(app)/firehose/+page.svelte index b2a2cab4..2a5e8fa6 100644 --- a/src/routes/(app)/firehose/+page.svelte +++ b/src/routes/(app)/firehose/+page.svelte @@ -23,7 +23,7 @@ const subscription = relay.subscribe([{ kinds: [1], limit: 20 }], { async onevent(event: any) { if (paused) return; - const { parts, names } = await post("/post/parseEvent", { event }); + const { parts, names } = await post("/api/parseEvent", { event }); event.author = await get(`/api/users/${event.pubkey}`); event.parts = parts; event.names = names; diff --git a/src/routes/(app)/fund/[id]/access/+page.svelte b/src/routes/(app)/fund/[id]/access/+page.svelte index d2d10ff0..3c9f6410 100644 --- a/src/routes/(app)/fund/[id]/access/+page.svelte +++ b/src/routes/(app)/fund/[id]/access/+page.svelte @@ -15,7 +15,7 @@ let del = async (e, user) => { e.preventDefault(); try { - m = await post(`/post/fund/${id}/managers/delete`, { + m = await post(`/api/fund/${id}/managers/delete`, { id: user.id, }); } catch (e: any) { diff --git a/src/routes/(app)/fund/[id]/withdraw/+server.ts b/src/routes/(app)/fund/[id]/withdraw/+server.ts deleted file mode 100644 index 96d66413..00000000 --- a/src/routes/(app)/fund/[id]/withdraw/+server.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { json } from "@sveltejs/kit"; -import { auth, post } from "$lib/utils"; - -export async function POST({ cookies, request }) { - return json(await post("/take", await request.json(), auth(cookies))); -} diff --git a/src/routes/(app)/invoice/+server.ts b/src/routes/(app)/invoice/+server.ts deleted file mode 100644 index b18eae15..00000000 --- a/src/routes/(app)/invoice/+server.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { auth, post } from "$lib/utils"; -import { error, json } from "@sveltejs/kit"; - -export const POST = async ({ cookies, request }) => { - try { - const body = await request.json(); - return json(await post("/invoice", body, auth(cookies))); - } catch (e) { - const { message } = e as Error; - error(500, message); - } -}; diff --git a/src/routes/(app)/password/+server.ts b/src/routes/(app)/password/+server.ts deleted file mode 100644 index 250dcfed..00000000 --- a/src/routes/(app)/password/+server.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { json } from "@sveltejs/kit"; -import { auth, post } from "$lib/utils"; - -export async function POST({ cookies, request }) { - const result = await post("/password", await request.json(), auth(cookies)); - return json(result); -} diff --git a/src/routes/(app)/payment/[id]/+page.svelte b/src/routes/(app)/payment/[id]/+page.svelte index 78ae22c3..15f42a75 100644 --- a/src/routes/(app)/payment/[id]/+page.svelte +++ b/src/routes/(app)/payment/[id]/+page.svelte @@ -146,7 +146,11 @@
{#if !expanded.has(label)} - {value.slice(0, 8)}...{value.slice(-8)} + {#if value.length > 20} + {value.slice(0, 8)}...{value.slice(-8)} + {:else} + {value} + {/if} {/if} - {/each} -
- -
- { - const r = parseFloat(e.currentTarget.value); - if (r >= 0.1) { feeRate = r; setFee(); } - }} - onkeydown={(e) => e.key === 'Enter' && applyCustom()} - /> - sat/vB +
+

{$t("payments.networkFee")}

+ +
+ +
+ {lowRate} sat/vB + {midRate} sat/vB + {highRate} sat/vB +
- +
{feeRate} sat/vB
+ {#if feeLoading} + + {:else} + + {/if}
{#if bumpReserve > 0} diff --git a/src/routes/(app)/send/invoice/[id]/+page.svelte b/src/routes/(app)/send/invoice/[id]/+page.svelte index d945ec19..a0af8482 100644 --- a/src/routes/(app)/send/invoice/[id]/+page.svelte +++ b/src/routes/(app)/send/invoice/[id]/+page.svelte @@ -70,9 +70,9 @@ e.stopPropagation(); if (trusted) { - await post("/post/trust/delete", { id: recipient.id }); + await post("/api/trust/delete", { id: recipient.id }); } else { - await post("/post/trust", { id: recipient.id }); + await post("/api/trust", { id: recipient.id }); } invalidate("app:trust"); diff --git a/src/routes/(app)/send/lightning/[payreq]/[...memo]/+page.svelte b/src/routes/(app)/send/lightning/[payreq]/[...memo]/+page.svelte index fc80e161..5669ee1e 100644 --- a/src/routes/(app)/send/lightning/[payreq]/[...memo]/+page.svelte +++ b/src/routes/(app)/send/lightning/[payreq]/[...memo]/+page.svelte @@ -70,7 +70,7 @@ (async () => { try { - const inv = await post("/post/invoice", { + const inv = await post("/api/invoice", { invoice: { type: "bitcoin", amount: parseInt(amount), diff --git a/src/routes/(app)/send/zap/[id]/[...amount]/+page.svelte b/src/routes/(app)/send/zap/[id]/[...amount]/+page.svelte index 62329d7a..21090d23 100644 --- a/src/routes/(app)/send/zap/[id]/[...amount]/+page.svelte +++ b/src/routes/(app)/send/zap/[id]/[...amount]/+page.svelte @@ -29,8 +29,8 @@ try { loading = false; event = await sign(request); - let { pr: payreq } = await post("/post/zap", { event }); - await post("/post/payments", { amount, payreq, pin: $pin }); + let { pr: payreq } = await post("/api/zap", { event }); + await post("/api/payments", { amount, payreq, pin: $pin }); goto(`/e/${id}`); } catch (e: any) { console.log(e); diff --git a/src/routes/(app)/settings/+layout.svelte b/src/routes/(app)/settings/+layout.svelte index 8a4b36a2..2b3de9f5 100644 --- a/src/routes/(app)/settings/+layout.svelte +++ b/src/routes/(app)/settings/+layout.svelte @@ -195,7 +195,7 @@ user.verified = false; - await post("/email", { email }); + await post("/api/request", { email }); warning($t("user.settings.verifying"), false); } catch (e: any) { diff --git a/src/routes/(app)/settings/account/+page.svelte b/src/routes/(app)/settings/account/+page.svelte index 115f46c5..fb8a9538 100644 --- a/src/routes/(app)/settings/account/+page.svelte +++ b/src/routes/(app)/settings/account/+page.svelte @@ -58,7 +58,7 @@ } if (subscription) { - await post("/subscription", { subscription }); + await post("/api/subscription", { subscription }); } }; run(() => { diff --git a/src/routes/(app)/settings/security/+page.svelte b/src/routes/(app)/settings/security/+page.svelte index dbd73b1b..6ba91240 100644 --- a/src/routes/(app)/settings/security/+page.svelte +++ b/src/routes/(app)/settings/security/+page.svelte @@ -136,7 +136,7 @@ let enable2fa = async (twoFa?: any) => { try { if (setting2fa && token && token.length === 6) { - await post("/enable2fa", { token }); + await post("/api/2fa", { token }); success("2FA enabled"); user.twofa = 1; cancel(); @@ -150,7 +150,7 @@ let disable2fa = async (_?: any) => { try { if (disabling2fa && token && token.length === 6) { - await post("/disable2fa", { token }); + await post("/api/disable2fa", { token }); success("2FA disabled"); delete user.twofa; disabling2fa = false; diff --git a/src/routes/(app)/subscription/+server.ts b/src/routes/(app)/subscription/+server.ts deleted file mode 100644 index f25db99a..00000000 --- a/src/routes/(app)/subscription/+server.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { auth, post } from "$lib/utils"; -import { json } from "@sveltejs/kit"; - -export async function POST({ cookies, request }) { - const body = await request.json(); - const result = await post("/subscription", body, auth(cookies)); - return json(result); -} diff --git a/src/routes/(app)/subscription/delete/+server.ts b/src/routes/(app)/subscription/delete/+server.ts deleted file mode 100644 index 1e6c1fdd..00000000 --- a/src/routes/(app)/subscription/delete/+server.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { auth, post } from "$lib/utils"; -import { json } from "@sveltejs/kit"; - -export async function POST({ cookies, request }) { - const body = await request.json(); - const result = await post("/subscription/delete", body, auth(cookies)); - return json(result); -} diff --git a/src/routes/(app)/tag/[tag]/+page.svelte b/src/routes/(app)/tag/[tag]/+page.svelte index f2e50c6c..6446c265 100644 --- a/src/routes/(app)/tag/[tag]/+page.svelte +++ b/src/routes/(app)/tag/[tag]/+page.svelte @@ -27,7 +27,7 @@ async onevent(event: any) { if (paused) return; if (events.find((e) => e.id === event.id)) return; - const { parts, names } = await post("/post/parseEvent", { event }); + const { parts, names } = await post("/api/parseEvent", { event }); event.author = await get(`/api/users/${event.pubkey}`); event.parts = parts; event.names = names; diff --git a/src/routes/(app)/withdraw/+server.ts b/src/routes/(app)/withdraw/+server.ts deleted file mode 100644 index f8e093ef..00000000 --- a/src/routes/(app)/withdraw/+server.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { auth, post } from "$lib/utils"; - -export async function POST({ cookies, request }) { - const body = await request.json(); - await post("/payments", body, auth(cookies)); - - return new Response(JSON.stringify("ok"), { - headers: { "content-type": "application/json" }, - }); -} diff --git a/src/routes/(static)/register/auth/+page.svelte b/src/routes/(static)/register/auth/+page.svelte index aca1f30c..c45d63f6 100644 --- a/src/routes/(static)/register/auth/+page.svelte +++ b/src/routes/(static)/register/auth/+page.svelte @@ -174,7 +174,7 @@ console.log("Nostr key derivation failed", e); } - await post("/post/user", nostrPubkey ? { encryptedKeys, pubkey: nostrPubkey } : { encryptedKeys }); + await post("/api/user", nostrPubkey ? { encryptedKeys, pubkey: nostrPubkey } : { encryptedKeys }); } catch (e) { console.log("Canonical key generation failed", e); } @@ -269,7 +269,7 @@ // Clean up the account created by passkeyCreate if passkey registration failed if (passkeyToken) { try { - await fetch("/post/user/delete", { + await fetch("/api/user/delete", { method: "POST", headers: { "Content-Type": "application/json", diff --git a/src/routes/(static)/support/+page.svelte b/src/routes/(static)/support/+page.svelte index 3a9b011f..6af80f86 100644 --- a/src/routes/(static)/support/+page.svelte +++ b/src/routes/(static)/support/+page.svelte @@ -31,7 +31,7 @@ let submit = (e: any) => { e.preventDefault(); if (isTor) { - post("/post/email", { + post("/api/email", { username: user?.username || `${username} (unverified)`, email, message, @@ -43,7 +43,7 @@ } grecaptcha.ready(() => { grecaptcha.execute(recaptchaSiteKey, { action: "submit" }).then((token) => - post("/post/email", { + post("/api/email", { username: user?.username || `${username} (unverified)`, email, message, -- cgit v1.2.3