diff --git a/src/lib/components/logs.svelte b/src/lib/components/logs.svelte index 3e33bd8f2..67396f85b 100644 --- a/src/lib/components/logs.svelte +++ b/src/lib/components/logs.svelte @@ -9,11 +9,12 @@ import { app } from '$lib/stores/app'; import { sdkForConsole } from '$lib/stores/sdk'; import { page } from '$app/stores'; + import { calculateTime } from '$lib/helpers/timeConversion'; console.log('test'); - let selectedTab = 'response'; - let rawData = `${sdkForConsole.client.config.endpoint}/functions/${$log.func.$id}/execution/${$log.data.$id}?mode=admin&project=${$page.params.project}`; + let selectedTab: string; + let rawData: string; const languages = { 'node-16.0': 'js', @@ -23,11 +24,22 @@ }; function isDeployment(data: Models.Deployment | Models.Execution): data is Models.Deployment { - selectedTab = 'logs'; - rawData = `${sdkForConsole.client.config.endpoint}/functions/${$log.func.$id}/deployment/${data.$id}?mode=admin&project=${$page.params.project}`; - - return true; + if ('buildId' in data) { + selectedTab = 'logs'; + rawData = `${sdkForConsole.client.config.endpoint}/functions/${$log.func.$id}/deployment/${$log.data.$id}?mode=admin&project=${$page.params.project}`; + return true; + } } + + function isExecution(data: Models.Deployment | Models.Execution): data is Models.Execution { + if ('trigger' in data) { + selectedTab = 'response'; + rawData = `${sdkForConsole.client.config.endpoint}/functions/${$log.func.$id}/execution/${$log.data.$id}?mode=admin&project=${$page.params.project}`; + return true; + } + } + + console.log(isDeployment($log.data)); {#if $log.data} @@ -67,10 +79,14 @@ (selectedTab = 'logs')}>Logs + on:click={() => (selectedTab = 'logs')}> + Logs + (selectedTab = 'errors')}>Errors + on:click={() => (selectedTab = 'errors')}> + Errors +
@@ -104,8 +120,90 @@
- {:else} - lol + {:else if isExecution($log.data)} +
+
+
+ technology +
+
+

Execution ID: {$log.data.$id}

+ +
+
+

Triggered by: {$log.data.trigger}

+

Type: TBI

+
+
+ {$log.data.status} + + +
+
+
+ + (selectedTab = 'response')}> + Response + + (selectedTab = 'errors')}> + Errors + + (selectedTab = 'logs')}> + Logs + + +
+
+
+
+
+ + +
+
+ {#if selectedTab === 'logs'} + + {:else if selectedTab === 'errors'} + + {:else} + + {/if} +
+
+
{/if} {/if} diff --git a/src/lib/helpers/sizeConvertion.ts b/src/lib/helpers/sizeConvertion.ts index 2f4a54f9a..989cf91b2 100644 --- a/src/lib/helpers/sizeConvertion.ts +++ b/src/lib/helpers/sizeConvertion.ts @@ -24,6 +24,7 @@ export function humanFileSize(value: number): { value: string; unit: string; } { + if (!value) return { value: 'No', unit: 'Bytes' }; const length = value.toString().length; const unit = length < 7 diff --git a/src/routes/console/project-[project]/functions/function/[function]/executions/+page.svelte b/src/routes/console/project-[project]/functions/function/[function]/executions/+page.svelte index e6f5195ca..1cd618c61 100644 --- a/src/routes/console/project-[project]/functions/function/[function]/executions/+page.svelte +++ b/src/routes/console/project-[project]/functions/function/[function]/executions/+page.svelte @@ -20,6 +20,7 @@ import { calculateTime } from '$lib/helpers/timeConversion'; import { Query } from '@aw-labs/appwrite-console'; import { log } from '$lib/stores/logs'; + import { func } from '../store'; let search = ''; let offset = 0; @@ -47,6 +48,7 @@ { $log.show = true; + $log.func = $func; $log.data = execution; }}> @@ -65,7 +67,7 @@ {execution.trigger} - {execution.trigger} + TBI {calculateTime(execution.duration)}