diff --git a/src/routes/(console)/organization-[organization]/billing/paymentHistory.svelte b/src/routes/(console)/organization-[organization]/billing/paymentHistory.svelte index baee0abfec..3728876597 100644 --- a/src/routes/(console)/organization-[organization]/billing/paymentHistory.svelte +++ b/src/routes/(console)/organization-[organization]/billing/paymentHistory.svelte @@ -23,12 +23,13 @@ import { toLocaleDate } from '$lib/helpers/date'; import { formatCurrency } from '$lib/helpers/numbers'; import type { Invoice, InvoiceList } from '$lib/sdk/billing'; - import { getApiEndpoint, sdk } from '$lib/stores/sdk'; + import { sdk } from '$lib/stores/sdk'; import { Query } from '@appwrite.io/console'; import { onMount } from 'svelte'; import { trackEvent } from '$lib/actions/analytics'; import { selectedInvoice, showRetryModal } from './store'; import { organization } from '$lib/stores/organization'; + import { base } from '$app/paths'; let showDropdown = []; let showFailedError = false; @@ -41,7 +42,6 @@ }; const limit = 5; - const endpoint = getApiEndpoint(); onMount(request); @@ -153,14 +153,14 @@ (showDropdown[i] = !showDropdown[i])} event="view_invoice"> View invoice { showDropdown[i] = !showDropdown[i]; }} diff --git a/src/routes/(console)/organization-[organization]/invoices/[invoiceId]/download/+page.ts b/src/routes/(console)/organization-[organization]/invoices/[invoiceId]/download/+page.ts new file mode 100644 index 0000000000..de6e172699 --- /dev/null +++ b/src/routes/(console)/organization-[organization]/invoices/[invoiceId]/download/+page.ts @@ -0,0 +1,14 @@ +import { getApiEndpoint, sdk } from '$lib/stores/sdk'; +import { redirect } from '@sveltejs/kit'; +import type { PageLoad } from './$types'; + +export const load: PageLoad = async ({ params }) => { + // verify invoice exists + const invoice = await sdk.forConsole.billing.getInvoice(params.organization, params.invoiceId); + const endpoint = getApiEndpoint(); + + return redirect( + 302, + `${endpoint}/organizations/${params.organization}/invoices/${invoice.$id}/download` + ); +}; diff --git a/src/routes/(console)/organization-[organization]/invoices/[invoiceId]/view/+page.ts b/src/routes/(console)/organization-[organization]/invoices/[invoiceId]/view/+page.ts new file mode 100644 index 0000000000..bfd0e5b082 --- /dev/null +++ b/src/routes/(console)/organization-[organization]/invoices/[invoiceId]/view/+page.ts @@ -0,0 +1,14 @@ +import { getApiEndpoint, sdk } from '$lib/stores/sdk'; +import { redirect } from '@sveltejs/kit'; +import type { PageLoad } from './$types'; + +export const load: PageLoad = async ({ params }) => { + // verify invoice exists + const invoice = await sdk.forConsole.billing.getInvoice(params.organization, params.invoiceId); + const endpoint = getApiEndpoint(); + + return redirect( + 302, + `${endpoint}/organizations/${params.organization}/invoices/${invoice.$id}/view` + ); +};