Add ability to see history of http functions invocations
This commit is contained in:
@@ -47,9 +47,9 @@
|
||||
<td class="p-4 align-middle [&:has([role=checkbox])]:pr-0 hidden md:table-cell" data-id="68">
|
||||
<button
|
||||
class="inline-flex items-center justify-center text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 border border-input bg-background hover:bg-accent hover:text-accent-foreground h-9 rounded-md px-3"
|
||||
data-id="69" hx-get="{{ url_for('client', function=function.name) }}" hx-target="#container"
|
||||
hx-swap="innerHTML">
|
||||
Try
|
||||
data-id="69" hx-get="{{ url_for('get_http_function_logs', name=function.name) }}"
|
||||
hx-target="#container" hx-swap="innerHTML">
|
||||
Logs
|
||||
</button>
|
||||
<button
|
||||
class="inline-flex items-center justify-center text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 border border-input bg-background hover:bg-accent hover:text-accent-foreground h-9 rounded-md px-3"
|
||||
@@ -57,6 +57,12 @@
|
||||
hx-target="#container" hx-swap="innerHTML">
|
||||
Edit
|
||||
</button>
|
||||
<button
|
||||
class="inline-flex items-center justify-center text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 border border-input bg-background hover:bg-accent hover:text-accent-foreground h-9 rounded-md px-3"
|
||||
data-id="69" hx-get="{{ url_for('client', function=function.name) }}" hx-target="#container"
|
||||
hx-swap="innerHTML">
|
||||
Try
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
|
||||
48
templates/dashboard/http_functions/logs.html
Normal file
48
templates/dashboard/http_functions/logs.html
Normal file
@@ -0,0 +1,48 @@
|
||||
<div class="flex items-center" data-id="51">
|
||||
<h1 class="font-semibold text-lg md:text-2xl" data-id="52">Logs: <span class="font-mono">{{ name }}</span></h1>
|
||||
<button
|
||||
class="inline-flex items-center justify-center text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 bg-primary text-primary-foreground hover:bg-primary/90 h-9 rounded-md px-3 ml-auto"
|
||||
hx-get="{{ url_for('dashboard_http_functions') }}" hx-target="#container" hx-swap="innerHTML">
|
||||
Cancel
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<div class="grid grid-cols-4 gap-4 p-4">
|
||||
<!-- Headers -->
|
||||
<div class="font-medium text-muted-foreground">Timestamp</div>
|
||||
<div class="font-medium text-muted-foreground">Request</div>
|
||||
<div class="font-medium text-muted-foreground">Response</div>
|
||||
<div class="font-medium text-muted-foreground">Logs</div>
|
||||
|
||||
<!-- Data Rows -->
|
||||
{% for invocation in http_function_invocations %}
|
||||
<!-- Timestamp and Status -->
|
||||
<div class="flex items-center space-x-2">
|
||||
<span>{{ invocation.invocation_time.strftime('%Y-%m-%d %H:%M:%S') }}</span>
|
||||
<button
|
||||
class="{{ 'bg-green-400' if invocation.status == 'SUCCESS' else 'bg-red-400' }} hover:bg-opacity-75 text-white font-bold rounded-full h-fit p-2">
|
||||
<svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
|
||||
d="{{ 'M5 13l4 4L19 7' if invocation.status == 'SUCCESS' else 'M6 18L18 6M6 6l12 12' }}"></path>
|
||||
</svg>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<!-- Request Data -->
|
||||
<div class="font-mono text-gray-400 overflow-auto">
|
||||
{{ invocation.request_data }}
|
||||
</div>
|
||||
|
||||
<!-- Response Data -->
|
||||
<div class="font-mono text-gray-400 overflow-auto">
|
||||
{{ invocation.response_data }}
|
||||
</div>
|
||||
|
||||
<!-- Logs -->
|
||||
<div class="space-y-1">
|
||||
{% for log in invocation.logs %}
|
||||
<div class="font-mono text-gray-400">{{ log }}</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
Reference in New Issue
Block a user