diff --git a/bun.lock b/bun.lock index 03a18eb5a5..8db6da9fae 100644 --- a/bun.lock +++ b/bun.lock @@ -90,11 +90,12 @@ }, }, "overrides": { - "brace-expansion": ">=5.0.5", + "brace-expansion": ">=5.0.7", "cookie": "^0.7.0", "devalue": "^5.8.1", "flatted": "^3.4.2", "immutable": "^5.1.5", + "js-yaml": "^4.3.0", "minimatch": "10.2.3", "picomatch": "^4.0.4", "vite": "npm:rolldown-vite@latest", @@ -648,7 +649,7 @@ "binary-extensions": ["binary-extensions@2.3.0", "", {}, "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw=="], - "brace-expansion": ["brace-expansion@5.0.5", "", { "dependencies": { "balanced-match": "^4.0.2" } }, "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ=="], + "brace-expansion": ["brace-expansion@5.0.7", "", { "dependencies": { "balanced-match": "^4.0.2" } }, "sha512-7oFy703dxfY3/NLxC1fh2SUCQ0H9rmAY+5EpDVfXjUTTs+HEwR2nYaqLv+GWcTsumwxPfiz6CzCNkwXwBUwqCA=="], "braces": ["braces@3.0.3", "", { "dependencies": { "fill-range": "^7.1.1" } }, "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA=="], @@ -1022,7 +1023,7 @@ "js-tokens": ["js-tokens@4.0.0", "", {}, "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="], - "js-yaml": ["js-yaml@4.1.1", "", { "dependencies": { "argparse": "^2.0.1" }, "bin": { "js-yaml": "bin/js-yaml.js" } }, "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA=="], + "js-yaml": ["js-yaml@4.3.0", "", { "dependencies": { "argparse": "^2.0.1" }, "bin": { "js-yaml": "bin/js-yaml.js" } }, "sha512-1td788aAnnZ5qs7V2QIRl1owjtYpbKt749Y3xauqQgwIIGF/xXWz1wMTEBx5O3LK3lXLVuqXPdPxj2BoFHaW9Q=="], "jsdom": ["jsdom@26.1.0", "", { "dependencies": { "cssstyle": "^4.2.1", "data-urls": "^5.0.0", "decimal.js": "^10.5.0", "html-encoding-sniffer": "^4.0.0", "http-proxy-agent": "^7.0.2", "https-proxy-agent": "^7.0.6", "is-potential-custom-element-name": "^1.0.1", "nwsapi": "^2.2.16", "parse5": "^7.2.1", "rrweb-cssom": "^0.8.0", "saxes": "^6.0.0", "symbol-tree": "^3.2.4", "tough-cookie": "^5.1.1", "w3c-xmlserializer": "^5.0.0", "webidl-conversions": "^7.0.0", "whatwg-encoding": "^3.1.1", "whatwg-mimetype": "^4.0.0", "whatwg-url": "^14.1.1", "ws": "^8.18.0", "xml-name-validator": "^5.0.0" }, "peerDependencies": { "canvas": "^3.0.0" }, "optionalPeers": ["canvas"] }, "sha512-Cvc9WUhxSMEo4McES3P7oK3QaXldCfNWp7pl2NNeiIFlCoLr3kfq9kb1fxftiwk1FLV7CvpvDfonxtzUDeSOPg=="], diff --git a/package.json b/package.json index 1623eb16e0..ccde1e9adc 100644 --- a/package.json +++ b/package.json @@ -104,7 +104,8 @@ "overrides": { "vite": "npm:rolldown-vite@latest", "minimatch": "10.2.3", - "brace-expansion": ">=5.0.5", + "brace-expansion": ">=5.0.7", + "js-yaml": "^4.3.0", "immutable": "^5.1.5", "flatted": "^3.4.2", "devalue": "^5.8.1", diff --git a/src/lib/commandCenter/searchers/functions.ts b/src/lib/commandCenter/searchers/functions.ts index d28992964e..0e708d5a96 100644 --- a/src/lib/commandCenter/searchers/functions.ts +++ b/src/lib/commandCenter/searchers/functions.ts @@ -56,16 +56,6 @@ export const functionsSearcher = (async (query: string) => { }, group: 'functions' }, - { - label: 'Go to usage', - nested: true, - callback() { - goto( - `${base}/project-${page.params.region}-${projectId}/functions/function-${func.$id}/usage` - ); - }, - group: 'functions' - }, { label: 'Go to executions', nested: true, diff --git a/src/lib/layout/index.ts b/src/lib/layout/index.ts index d280202090..004b68fbb7 100644 --- a/src/lib/layout/index.ts +++ b/src/lib/layout/index.ts @@ -10,8 +10,7 @@ export { default as WizardWithSteps } from './wizardWithSteps.svelte'; export { default as WizardStep } from './wizardStep.svelte'; export { default as Breadcrumbs } from './breadcrumbs.svelte'; export { default as Unauthenticated } from './unauthenticated.svelte'; -export { default as Usage, type UsagePeriods } from './usage.svelte'; -export { default as UsageMultiple } from './usageMultiple.svelte'; +export type { UsagePeriods } from './usageHelpers'; export { default as Progress } from './progress.svelte'; export { default as GridHeader } from './gridHeader.svelte'; export { default as ContainerHeader } from './containerHeader.svelte'; diff --git a/src/lib/layout/usage.svelte b/src/lib/layout/usage.svelte deleted file mode 100644 index 9f5889b046..0000000000 --- a/src/lib/layout/usage.svelte +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - {#if !hidePeriodSelect} -
- goto(`${path}/${e.detail}`)} - id="period" - options={[ - { - label: '24 hours', - value: '24h' - }, - { - label: '30 days', - value: '30d' - }, - { - label: '90 days', - value: '90d' - } - ]} - value={page.params.period ?? '30d'} /> -
- {/if} - - {#if count} - - {formatNumberWithCommas(total)} - {countMetadata.title} - -
- [m.date, m.value]) - : accumulateFromEndingTotal(count, total) - } - ]} /> -
- {/if} -
-
- - diff --git a/src/lib/layout/usageHelpers.ts b/src/lib/layout/usageHelpers.ts new file mode 100644 index 0000000000..61c457ef39 --- /dev/null +++ b/src/lib/layout/usageHelpers.ts @@ -0,0 +1,68 @@ +import { ProjectUsageRange, type Models } from '@appwrite.io/console'; + +export type UsagePeriods = '24h' | '30d' | '90d'; + +export function periodToDates(period: UsagePeriods): { + start: string; + end: string; + period: ProjectUsageRange; +} { + const start = new Date(); + switch (period) { + case '24h': + start.setUTCHours(start.getHours() - 24); + break; + case '30d': + start.setUTCHours(0, 0, 0, 0); + start.setUTCDate(start.getDate() - 30); + break; + case '90d': + start.setUTCHours(0, 0, 0, 0); + start.setUTCDate(start.getDate() - 90); + break; + } + const end = new Date(); + end.setUTCDate(end.getUTCDate() + 1); + end.setUTCHours(0, 0, 0, 0); + return { + start: start.toISOString(), + end: end.toISOString(), + period: period === '24h' ? ProjectUsageRange.OneHour : ProjectUsageRange.OneDay + }; +} + +export function last(set: Models.Metric[]): Models.Metric | null { + if (!set) return null; + return set.slice(-1)[0] ?? null; +} + +export function total(set: Models.Metric[]): number { + return set?.reduce((prev, curr) => prev + curr.value, 0) ?? 0; +} + +export function accumulateFromEndingTotal( + metrics: Models.Metric[], + endingTotal: number, + startingDayToFillZero: Date = null +): Array<[string, number]> { + return (metrics ?? []).reduceRight( + (acc, curr) => { + if (startingDayToFillZero !== null && startingDayToFillZero instanceof Date) { + const date = new Date(curr.date); + if (date > startingDayToFillZero) { + acc.data.unshift([date.toISOString(), 0]); + acc.total -= 0; + + return acc; + } + } + acc.data.unshift([curr.date, acc.total]); + acc.total -= curr.value; + return acc; + }, + { + total: endingTotal, + data: [] + } + ).data; +} diff --git a/src/lib/layout/usageMultiple.svelte b/src/lib/layout/usageMultiple.svelte deleted file mode 100644 index ff1789c49a..0000000000 --- a/src/lib/layout/usageMultiple.svelte +++ /dev/null @@ -1,99 +0,0 @@ - - -
- {#if showHeader} -
- {title} - - {#if path} - - - 24h - - - 30d - - - 90d - - - {/if} -
- {/if} - - - {#if count} - - {formatNumberWithCommas(totalCount)} - Total {title.toLocaleLowerCase()} - -
- - - {#if legendData} - - {/if} -
- {/if} -
-
- - diff --git a/src/routes/(console)/organization-[organization]/usage/[[invoice]]/+page.svelte b/src/routes/(console)/organization-[organization]/usage/[[invoice]]/+page.svelte index 874cc23ec1..cdee868486 100644 --- a/src/routes/(console)/organization-[organization]/usage/[[invoice]]/+page.svelte +++ b/src/routes/(console)/organization-[organization]/usage/[[invoice]]/+page.svelte @@ -15,7 +15,7 @@ import { organization } from '$lib/stores/organization'; import ProjectBreakdown from './ProjectBreakdown.svelte'; import { formatNum } from '$lib/helpers/string'; - import { accumulateFromEndingTotal, total } from '$lib/layout/usage.svelte'; + import { accumulateFromEndingTotal, total } from '$lib/layout/usageHelpers'; import { Click, trackEvent } from '$lib/actions/analytics'; import TotalMembers from './totalMembers.svelte'; import { formatCurrency, formatNumberWithCommas } from '$lib/helpers/numbers'; diff --git a/src/routes/(console)/project-[region]-[project]/auth/+layout.svelte b/src/routes/(console)/project-[region]-[project]/auth/+layout.svelte index 2c8c7a904d..ddfdd3d56a 100644 --- a/src/routes/(console)/project-[region]-[project]/auth/+layout.svelte +++ b/src/routes/(console)/project-[region]-[project]/auth/+layout.svelte @@ -58,16 +58,6 @@ rank: 1, disabled: page.url.pathname.endsWith('teams') }, - { - label: 'Go to usage', - keys: ['g', 'u'], - callback: async () => { - await goto(withPath(authProjectRoute, '/usage')); - }, - group: 'navigation', - rank: 1, - disabled: page.url.pathname.endsWith('usage') - }, { label: 'Go to security', keys: ['g', 'e'], diff --git a/src/routes/(console)/project-[region]-[project]/auth/header.svelte b/src/routes/(console)/project-[region]-[project]/auth/header.svelte index bb425c2b54..4c2cddbb39 100644 --- a/src/routes/(console)/project-[region]-[project]/auth/header.svelte +++ b/src/routes/(console)/project-[region]-[project]/auth/header.svelte @@ -34,12 +34,6 @@ event: 'templates', disabled: !$canWriteProjects }, - { - href: `${path}/usage`, - title: 'Usage', - hasChildren: true, - event: 'usage' - }, { href: `${path}/settings`, title: 'Settings', diff --git a/src/routes/(console)/project-[region]-[project]/auth/usage/[[period]]/+page.svelte b/src/routes/(console)/project-[region]-[project]/auth/usage/[[period]]/+page.svelte deleted file mode 100644 index 9879c54e4d..0000000000 --- a/src/routes/(console)/project-[region]-[project]/auth/usage/[[period]]/+page.svelte +++ /dev/null @@ -1,20 +0,0 @@ - - - - - diff --git a/src/routes/(console)/project-[region]-[project]/auth/usage/[[period]]/+page.ts b/src/routes/(console)/project-[region]-[project]/auth/usage/[[period]]/+page.ts deleted file mode 100644 index 7356f8c309..0000000000 --- a/src/routes/(console)/project-[region]-[project]/auth/usage/[[period]]/+page.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { isValueOfStringEnum } from '$lib/helpers/types'; -import { sdk } from '$lib/stores/sdk'; -import { UsageRange } from '@appwrite.io/console'; -import type { PageLoad } from './$types'; - -export const load: PageLoad = async ({ params }) => { - const period = isValueOfStringEnum(UsageRange, params.period) - ? params.period - : UsageRange.ThirtyDays; - - return { - ...(await sdk.forProject(params.region, params.project).users.getUsage({ range: period })) - }; -}; diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/(entity)/index.ts b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/(entity)/index.ts index 8437673d36..e2964fbdd6 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/(entity)/index.ts +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/(entity)/index.ts @@ -7,6 +7,5 @@ export * from './views/settings'; export { default as Header } from './views/header.svelte'; export { default as Breadcrumbs } from './views/breadcrumbs.svelte'; -export { default as Usage } from './views/usage/view.svelte'; export { default as CreateEntity } from './views/create.svelte'; export { default as FailedModal } from './views/failedModal.svelte'; diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/(entity)/views/usage/view.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/(entity)/views/usage/view.svelte deleted file mode 100644 index c47c8da008..0000000000 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/(entity)/views/usage/view.svelte +++ /dev/null @@ -1,47 +0,0 @@ - - -
- - - -
diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/+layout.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/+layout.svelte index 5109887944..05312ab837 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/+layout.svelte +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/+layout.svelte @@ -147,18 +147,6 @@ keys: ['g', 'c'], group: 'databases' }, - { - label: 'Go to usage', - callback() { - goto( - `${base}/project-${page.params.region}-${project}/databases/database-${databaseId}/usage` - ); - }, - disabled: - page.url.pathname.includes('/usage') || page.url.pathname.includes('table-'), - keys: ['g', 'u'], - group: 'databases' - }, { label: 'Go to backups', callback() { diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/header.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/header.svelte index 1d3ded6c0d..7bd3d0756a 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/header.svelte +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/header.svelte @@ -34,12 +34,6 @@ event: 'backups', hasChildren: true }, - { - href: withPath(baseDatabasePath, '/usage'), - title: 'Usage', - event: 'usage', - hasChildren: true - }, { href: withPath(baseDatabasePath, '/settings'), event: 'settings', diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/store.ts b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/store.ts index a34a5d001d..1a378fe435 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/store.ts +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/store.ts @@ -1,6 +1,6 @@ import { writable } from 'svelte/store'; import type { Column } from '$lib/helpers/types'; -import { IconChartBar, IconCloudUpload, IconCog } from '@appwrite.io/pink-icons-svelte'; +import { IconCloudUpload, IconCog } from '@appwrite.io/pink-icons-svelte'; import { resolveRoute, withPath } from '$lib/stores/navigation'; import type { Page } from '@sveltejs/kit'; import { type Models, Query } from '@appwrite.io/console'; @@ -104,7 +104,6 @@ export const customRetainingOptions = [ export const databaseSubNavigationItems = [ { title: 'Backups', href: 'backups', icon: IconCloudUpload }, - { title: 'Usage', href: 'usage', icon: IconChartBar }, { title: 'Settings', href: 'settings', icon: IconCog } ]; diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/+layout.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/+layout.svelte index 6bd8212f66..57e32165ba 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/+layout.svelte +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/+layout.svelte @@ -204,15 +204,6 @@ disabled: page.url.pathname.endsWith('indexes'), group: 'tables' }, - { - label: 'Go to usage', - keys: ['g', 'u'], - callback() { - goto(withPath(basePath, '/usage')); - }, - disabled: page.url.pathname.endsWith('usage'), - group: 'tables' - }, { label: 'Go to settings', keys: ['g', 's'], diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/header.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/header.svelte index b408f6d22b..5c4463f04b 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/header.svelte +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/header.svelte @@ -32,12 +32,6 @@ title: 'Indexes', event: 'indexes' }, - { - href: `${path}/usage`, - title: 'Usage', - event: 'usage', - hasChildren: true - }, { href: `${path}/settings`, title: 'Settings', diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/usage/[[period]]/+page.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/usage/[[period]]/+page.svelte deleted file mode 100644 index a8d8fdb0b0..0000000000 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/usage/[[period]]/+page.svelte +++ /dev/null @@ -1,11 +0,0 @@ - - - diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/usage/[[period]]/+page.ts b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/usage/[[period]]/+page.ts deleted file mode 100644 index 2881862b8f..0000000000 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/usage/[[period]]/+page.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { isValueOfStringEnum } from '$lib/helpers/types'; -import { sdk } from '$lib/stores/sdk'; -import { UsageRange } from '@appwrite.io/console'; -import type { PageLoad } from './$types'; - -export const load: PageLoad = async ({ params }) => { - const period = isValueOfStringEnum(UsageRange, params.period) - ? params.period - : UsageRange.ThirtyDays; - - return { - ...(await sdk.forProject(params.region, params.project).tablesDB.getTableUsage({ - databaseId: params.database, - tableId: params.table, - range: period - })) - }; -}; diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/usage/[[period]]/+page.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/usage/[[period]]/+page.svelte deleted file mode 100644 index 3563aba6ed..0000000000 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/usage/[[period]]/+page.svelte +++ /dev/null @@ -1,41 +0,0 @@ - - - - - diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/usage/[[period]]/+page.ts b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/usage/[[period]]/+page.ts deleted file mode 100644 index 9391c5451a..0000000000 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/usage/[[period]]/+page.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { isValueOfStringEnum } from '$lib/helpers/types'; -import { sdk } from '$lib/stores/sdk'; -import { UsageRange } from '@appwrite.io/console'; -import type { PageLoad } from './$types'; - -export const load: PageLoad = async ({ params }) => { - const period = isValueOfStringEnum(UsageRange, params.period) - ? params.period - : UsageRange.ThirtyDays; - - return { - ...(await sdk.forProject(params.region, params.project).tablesDB.getUsage({ - databaseId: params.database, - range: period - })) - }; -}; diff --git a/src/routes/(console)/project-[region]-[project]/functions/function-[function]/+layout.svelte b/src/routes/(console)/project-[region]-[project]/functions/function-[function]/+layout.svelte index 24aadfb532..5bbf865c2f 100644 --- a/src/routes/(console)/project-[region]-[project]/functions/function-[function]/+layout.svelte +++ b/src/routes/(console)/project-[region]-[project]/functions/function-[function]/+layout.svelte @@ -131,18 +131,6 @@ rank: 10, disabled: page.url.pathname.endsWith($func.$id) }, - { - label: 'Go to usage', - callback() { - goto( - `${base}/project-${page.params.region}-${page.params.project}/functions/function-${$func.$id}/usage` - ); - }, - keys: ['g', 'u'], - group: 'navigation', - rank: 10, - disabled: page.url.pathname.endsWith('usage') - }, { label: 'Go to executions', callback() { diff --git a/src/routes/(console)/project-[region]-[project]/functions/function-[function]/header.svelte b/src/routes/(console)/project-[region]-[project]/functions/function-[function]/header.svelte index 22f1ac8671..2dbc394bd4 100644 --- a/src/routes/(console)/project-[region]-[project]/functions/function-[function]/header.svelte +++ b/src/routes/(console)/project-[region]-[project]/functions/function-[function]/header.svelte @@ -28,12 +28,6 @@ title: 'Domains', event: 'domains' }, - { - href: `${path}/usage`, - title: 'Usage', - event: 'usage', - hasChildren: true - }, { href: `${path}/settings`, event: 'settings', diff --git a/src/routes/(console)/project-[region]-[project]/functions/function-[function]/usage/[[period]]/+page.svelte b/src/routes/(console)/project-[region]-[project]/functions/function-[function]/usage/[[period]]/+page.svelte deleted file mode 100644 index 4a1316b98e..0000000000 --- a/src/routes/(console)/project-[region]-[project]/functions/function-[function]/usage/[[period]]/+page.svelte +++ /dev/null @@ -1,56 +0,0 @@ - - - - - {#if count.length} - - {/if} - - {#if executionsTime.length} - - {/if} - - diff --git a/src/routes/(console)/project-[region]-[project]/functions/function-[function]/usage/[[period]]/+page.ts b/src/routes/(console)/project-[region]-[project]/functions/function-[function]/usage/[[period]]/+page.ts deleted file mode 100644 index 3ac7b0bde9..0000000000 --- a/src/routes/(console)/project-[region]-[project]/functions/function-[function]/usage/[[period]]/+page.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { sdk } from '$lib/stores/sdk'; -import { UsageRange } from '@appwrite.io/console'; -import type { PageLoad } from './$types'; -import { isValueOfStringEnum } from '$lib/helpers/types'; - -export const load: PageLoad = async ({ params }) => { - const period = isValueOfStringEnum(UsageRange, params.period) - ? params.period - : UsageRange.ThirtyDays; - - return { - ...(await sdk.forProject(params.region, params.project).functions.getUsage({ - functionId: params.function, - range: period - })) - }; -}; diff --git a/src/routes/(console)/project-[region]-[project]/overview/+layout.svelte b/src/routes/(console)/project-[region]-[project]/overview/+layout.svelte index 6f52422be6..059310af00 100644 --- a/src/routes/(console)/project-[region]-[project]/overview/+layout.svelte +++ b/src/routes/(console)/project-[region]-[project]/overview/+layout.svelte @@ -22,7 +22,7 @@ import Bandwidth from './bandwidth.svelte'; import Requests from './requests.svelte'; import { usage } from './store'; - import { periodToDates } from '$lib/layout/usage.svelte'; + import { periodToDates } from '$lib/layout/usageHelpers'; import { canWriteProjects } from '$lib/stores/roles'; import { Card, Layout, Typography } from '@appwrite.io/pink-svelte'; import { writable, type Writable } from 'svelte/store'; diff --git a/src/routes/(console)/project-[region]-[project]/settings/usage/[[invoice]]/+page.svelte b/src/routes/(console)/project-[region]-[project]/settings/usage/[[invoice]]/+page.svelte index b6d5350784..085865d6de 100644 --- a/src/routes/(console)/project-[region]-[project]/settings/usage/[[invoice]]/+page.svelte +++ b/src/routes/(console)/project-[region]-[project]/settings/usage/[[invoice]]/+page.svelte @@ -12,7 +12,7 @@ import { bytesToSize, humanFileSize, mbSecondsToGBHours } from '$lib/helpers/sizeConvertion'; import { BarChart, Legend } from '$lib/charts'; import { formatNum } from '$lib/helpers/string'; - import { total } from '$lib/layout/usage.svelte'; + import { total } from '$lib/layout/usageHelpers'; import { base } from '$app/paths'; import { formatCurrency, formatNumberWithCommas, clampMin } from '$lib/helpers/numbers'; import { getCountryName } from '$lib/helpers/diallingCodes.js'; diff --git a/src/routes/(console)/project-[region]-[project]/sites/site-[site]/deployments/+layout.svelte b/src/routes/(console)/project-[region]-[project]/sites/site-[site]/deployments/+layout.svelte index 64a7454fa3..a0452b110d 100644 --- a/src/routes/(console)/project-[region]-[project]/sites/site-[site]/deployments/+layout.svelte +++ b/src/routes/(console)/project-[region]-[project]/sites/site-[site]/deployments/+layout.svelte @@ -90,18 +90,6 @@ rank: 10, disabled: page.url.pathname.endsWith('deployments') }, - { - label: 'Go to usage', - callback() { - goto( - `${base}/project-${$project.region}-${$project.$id}/sites/site-${page.params.site}/usage` - ); - }, - keys: ['g', 'u'], - group: 'navigation', - rank: 10, - disabled: page.url.pathname.endsWith('usage') - }, { label: 'Go to logs', callback() { diff --git a/src/routes/(console)/project-[region]-[project]/sites/site-[site]/usage/[[period]]/+page.svelte b/src/routes/(console)/project-[region]-[project]/sites/site-[site]/usage/[[period]]/+page.svelte deleted file mode 100644 index cb464c166c..0000000000 --- a/src/routes/(console)/project-[region]-[project]/sites/site-[site]/usage/[[period]]/+page.svelte +++ /dev/null @@ -1,7 +0,0 @@ - - - diff --git a/src/routes/(console)/project-[region]-[project]/sites/site-[site]/usage/[[period]]/+page.ts b/src/routes/(console)/project-[region]-[project]/sites/site-[site]/usage/[[period]]/+page.ts deleted file mode 100644 index 80b1ec6bf5..0000000000 --- a/src/routes/(console)/project-[region]-[project]/sites/site-[site]/usage/[[period]]/+page.ts +++ /dev/null @@ -1,3 +0,0 @@ -import type { PageLoad } from './$types'; - -export const load: PageLoad = async () => ({}); diff --git a/src/routes/(console)/project-[region]-[project]/storage/bucket-[bucket]/+layout.svelte b/src/routes/(console)/project-[region]-[project]/storage/bucket-[bucket]/+layout.svelte index 5988aa94c1..b919dc87ea 100644 --- a/src/routes/(console)/project-[region]-[project]/storage/bucket-[bucket]/+layout.svelte +++ b/src/routes/(console)/project-[region]-[project]/storage/bucket-[bucket]/+layout.svelte @@ -74,18 +74,6 @@ group: 'navigation', rank: 10 }, - { - label: 'Go to usage', - callback() { - goto( - `${base}/project-${$project.region}-${$project.$id}/storage/bucket-${$bucket.$id}/usage` - ); - }, - disabled: page.url.pathname.endsWith('usage'), - keys: ['g', 'u'], - group: 'navigation', - rank: 10 - }, { label: 'Go to settings', callback() { diff --git a/src/routes/(console)/project-[region]-[project]/storage/bucket-[bucket]/usage/[[period]]/+page.svelte b/src/routes/(console)/project-[region]-[project]/storage/bucket-[bucket]/usage/[[period]]/+page.svelte deleted file mode 100644 index 3ef899e530..0000000000 --- a/src/routes/(console)/project-[region]-[project]/storage/bucket-[bucket]/usage/[[period]]/+page.svelte +++ /dev/null @@ -1,5 +0,0 @@ - - - diff --git a/src/routes/(console)/project-[region]-[project]/storage/bucket-[bucket]/usage/[[period]]/+page.ts b/src/routes/(console)/project-[region]-[project]/storage/bucket-[bucket]/usage/[[period]]/+page.ts deleted file mode 100644 index 80b1ec6bf5..0000000000 --- a/src/routes/(console)/project-[region]-[project]/storage/bucket-[bucket]/usage/[[period]]/+page.ts +++ /dev/null @@ -1,3 +0,0 @@ -import type { PageLoad } from './$types'; - -export const load: PageLoad = async () => ({});