From d63e24bc3137e66269f94b0d6cd64e2e974898ea Mon Sep 17 00:00:00 2001 From: Arman Date: Wed, 5 Mar 2025 15:21:07 +0100 Subject: [PATCH] feat: sites usage --- .../sites/site-[site]/header.svelte | 10 +++--- .../settings/updateBuildSettings.svelte | 3 +- .../site-[site]/usage/[[period]]/+page.svelte | 34 +++++++++++++++++++ .../site-[site]/usage/[[period]]/+page.ts | 16 +++++++++ .../sites/usage/+page.svelte | 9 ----- .../project-[project]/sites/usage/+page.ts | 12 ------- .../sites/usage/[[period]]/+page.svelte | 21 ++++++++++++ .../sites/usage/[[period]]/+page.ts | 16 +++++++++ 8 files changed, 94 insertions(+), 27 deletions(-) create mode 100644 src/routes/(console)/project-[project]/sites/site-[site]/usage/[[period]]/+page.svelte create mode 100644 src/routes/(console)/project-[project]/sites/site-[site]/usage/[[period]]/+page.ts delete mode 100644 src/routes/(console)/project-[project]/sites/usage/+page.svelte delete mode 100644 src/routes/(console)/project-[project]/sites/usage/+page.ts create mode 100644 src/routes/(console)/project-[project]/sites/usage/[[period]]/+page.svelte create mode 100644 src/routes/(console)/project-[project]/sites/usage/[[period]]/+page.ts diff --git a/src/routes/(console)/project-[project]/sites/site-[site]/header.svelte b/src/routes/(console)/project-[project]/sites/site-[site]/header.svelte index 664ad1314..e3e1291ab 100644 --- a/src/routes/(console)/project-[project]/sites/site-[site]/header.svelte +++ b/src/routes/(console)/project-[project]/sites/site-[site]/header.svelte @@ -19,11 +19,6 @@ title: 'Deployments', event: 'deployments' }, - // { - // href: `${path}/analytics`, - // title: 'Analytics', - // event: 'analytics' - // }, { href: `${path}/logs`, title: 'Logs', @@ -34,6 +29,11 @@ title: 'Domains', event: 'domains' }, + { + href: `${path}/usage`, + title: 'Usage', + event: 'usage' + }, { href: `${path}/settings`, title: 'Settings', diff --git a/src/routes/(console)/project-[project]/sites/site-[site]/settings/updateBuildSettings.svelte b/src/routes/(console)/project-[project]/sites/site-[site]/settings/updateBuildSettings.svelte index 39d4f4aa9..7eea9fc19 100644 --- a/src/routes/(console)/project-[project]/sites/site-[site]/settings/updateBuildSettings.svelte +++ b/src/routes/(console)/project-[project]/sites/site-[site]/settings/updateBuildSettings.svelte @@ -79,7 +79,8 @@ buildCommand === site?.buildCommand && outputDirectory === site?.outputDirectory && selectedFramework?.key === site?.framework && - fallback === site?.fallbackFile + fallback === site?.fallbackFile && + adapter === site?.adapter ) { isButtonDisabled = true; } else { diff --git a/src/routes/(console)/project-[project]/sites/site-[site]/usage/[[period]]/+page.svelte b/src/routes/(console)/project-[project]/sites/site-[site]/usage/[[period]]/+page.svelte new file mode 100644 index 000000000..ace13c9dc --- /dev/null +++ b/src/routes/(console)/project-[project]/sites/site-[site]/usage/[[period]]/+page.svelte @@ -0,0 +1,34 @@ + + + + + diff --git a/src/routes/(console)/project-[project]/sites/site-[site]/usage/[[period]]/+page.ts b/src/routes/(console)/project-[project]/sites/site-[site]/usage/[[period]]/+page.ts new file mode 100644 index 000000000..c8b57fc02 --- /dev/null +++ b/src/routes/(console)/project-[project]/sites/site-[site]/usage/[[period]]/+page.ts @@ -0,0 +1,16 @@ +import { isValueOfStringEnum } from '$lib/helpers/types'; +import { sdk } from '$lib/stores/sdk'; +import { SiteUsageRange } from '@appwrite.io/console'; +import type { PageLoad } from './$types'; +import { error } from '@sveltejs/kit'; + +export const load: PageLoad = async ({ params }) => { + const period = isValueOfStringEnum(SiteUsageRange, params.period) + ? params.period + : SiteUsageRange.ThirtyDays; + try { + return sdk.forProject.sites.getUsage(params.site, period); + } catch (e) { + error(e.code, e.message); + } +}; diff --git a/src/routes/(console)/project-[project]/sites/usage/+page.svelte b/src/routes/(console)/project-[project]/sites/usage/+page.svelte deleted file mode 100644 index fbbc96e0d..000000000 --- a/src/routes/(console)/project-[project]/sites/usage/+page.svelte +++ /dev/null @@ -1,9 +0,0 @@ - - -Coming soon diff --git a/src/routes/(console)/project-[project]/sites/usage/+page.ts b/src/routes/(console)/project-[project]/sites/usage/+page.ts deleted file mode 100644 index 349bf84de..000000000 --- a/src/routes/(console)/project-[project]/sites/usage/+page.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { sdk } from '$lib/stores/sdk'; -import { Dependencies } from '$lib/constants'; - -export const load = async ({ depends }) => { - depends(Dependencies.SITES); - - const usage = await sdk.forProject.sites.listUsage(); - - return { - usage - }; -}; diff --git a/src/routes/(console)/project-[project]/sites/usage/[[period]]/+page.svelte b/src/routes/(console)/project-[project]/sites/usage/[[period]]/+page.svelte new file mode 100644 index 000000000..203a915da --- /dev/null +++ b/src/routes/(console)/project-[project]/sites/usage/[[period]]/+page.svelte @@ -0,0 +1,21 @@ + + + diff --git a/src/routes/(console)/project-[project]/sites/usage/[[period]]/+page.ts b/src/routes/(console)/project-[project]/sites/usage/[[period]]/+page.ts new file mode 100644 index 000000000..01f745f99 --- /dev/null +++ b/src/routes/(console)/project-[project]/sites/usage/[[period]]/+page.ts @@ -0,0 +1,16 @@ +import { isValueOfStringEnum } from '$lib/helpers/types'; +import { sdk } from '$lib/stores/sdk'; +import { SiteUsageRange } from '@appwrite.io/console'; +import type { PageLoad } from './$types'; +import { error } from '@sveltejs/kit'; + +export const load: PageLoad = async ({ params }) => { + const period = isValueOfStringEnum(SiteUsageRange, params.period) + ? params.period + : SiteUsageRange.ThirtyDays; + try { + return sdk.forProject.sites.listUsage(period); + } catch (e) { + error(e.code, e.message); + } +};