From c59280ee5302f63fd232ba011d36c8ac99b2bb61 Mon Sep 17 00:00:00 2001 From: Arman Date: Wed, 15 Jan 2025 17:49:04 +0100 Subject: [PATCH] feat: logs --- .../logs/(components)/LogsRequest.svelte | 58 +++++++++++++++++ .../logs/(components)/LogsResponse.svelte | 63 +++++++++++++++++++ .../sites/site-[site]/logs/sheet.svelte | 33 ++++------ 3 files changed, 132 insertions(+), 22 deletions(-) create mode 100644 src/routes/(console)/project-[project]/sites/site-[site]/logs/(components)/LogsRequest.svelte create mode 100644 src/routes/(console)/project-[project]/sites/site-[site]/logs/(components)/LogsResponse.svelte diff --git a/src/routes/(console)/project-[project]/sites/site-[site]/logs/(components)/LogsRequest.svelte b/src/routes/(console)/project-[project]/sites/site-[site]/logs/(components)/LogsRequest.svelte new file mode 100644 index 000000000..3a72b5a56 --- /dev/null +++ b/src/routes/(console)/project-[project]/sites/site-[site]/logs/(components)/LogsRequest.svelte @@ -0,0 +1,58 @@ + + + + + (requestTab = 'parameters')}> + Parameters + + (requestTab = 'headers')}> + Headers + + (requestTab = 'body')}> + Body + + + {#if requestTab === 'parameters'} + parameters + {:else if requestTab === 'headers'} + {#if selectedLog.requestHeaders?.length} + + + Key + Value + + {#each selectedLog.requestHeaders as request} + + {request.name} + {request.value} + + {/each} + +

+ + Missing + headers? Check our docs to see the supported data and how to log it. + +

+ {:else} + no headers + {/if} + {:else if requestTab === 'body'} + body + {/if} +
diff --git a/src/routes/(console)/project-[project]/sites/site-[site]/logs/(components)/LogsResponse.svelte b/src/routes/(console)/project-[project]/sites/site-[site]/logs/(components)/LogsResponse.svelte new file mode 100644 index 000000000..9faf722f0 --- /dev/null +++ b/src/routes/(console)/project-[project]/sites/site-[site]/logs/(components)/LogsResponse.svelte @@ -0,0 +1,63 @@ + + + + + (responseTab = 'logs')}> + Logs + + (responseTab = 'errors')}> + Errors + + (responseTab = 'headers')}> + Headers + + (responseTab = 'body')}> + Body + + + {#if responseTab === 'logs'} + logs + {:else if responseTab === 'errors'} + errors + {:else if responseTab === 'headers'} + {#if selectedLog.responseHeaders?.length} + + + Key + Value + + {#each selectedLog.responseHeaders as request} + + {request.name} + {request.value} + + {/each} + +

+ + Missing + headers? Check our docs to see the supported data and how to log it. + +

+ {:else} + no headers + {/if} + {:else if responseTab === 'body'} + {selectedLog.responseBody} + {/if} +
diff --git a/src/routes/(console)/project-[project]/sites/site-[site]/logs/sheet.svelte b/src/routes/(console)/project-[project]/sites/site-[site]/logs/sheet.svelte index 50abc1fe5..2a12437ec 100644 --- a/src/routes/(console)/project-[project]/sites/site-[site]/logs/sheet.svelte +++ b/src/routes/(console)/project-[project]/sites/site-[site]/logs/sheet.svelte @@ -9,22 +9,17 @@ Icon, Layout, Sheet, - Table, Tag, Typography } from '@appwrite.io/pink-svelte'; import { timeFromNow } from '$lib/helpers/date'; + import LogsRequest from './(components)/LogsRequest.svelte'; + import LogsResponse from './(components)/LogsResponse.svelte'; export let open = false; export let selectedLogId: string; export let logs: Models.Execution[]; - $: if (!open) { - selectedLogId = null; - } - - $: selectedLog = logs?.find((log) => log.$id === selectedLogId); - function nextLog() { const currentIndex = logs.findIndex((log) => log.$id === selectedLogId); if (currentIndex < logs.length - 1) { @@ -37,9 +32,14 @@ selectedLogId = logs[currentIndex - 1].$id; } } + $: if (!open) { + selectedLogId = null; + } + $: selectedLog = logs?.find((log) => log.$id === selectedLogId); $: isFirstLog = logs.findIndex((log) => log.$id === selectedLogId) === 0; $: isLastLog = logs.findIndex((log) => log.$id === selectedLogId) === logs.length - 1; + $: console.log(selectedLog); @@ -120,22 +120,11 @@ - {#if selectedLog.requestHeaders?.length} - - - Key - Value - - {#each selectedLog.requestHeaders as request} - - {request.name} - {request.value} - - {/each} - - {/if} + + + + - Logs {/if}