mirror of
https://github.com/outbackdingo/step-ca-webui.git
synced 2026-01-27 10:20:25 +00:00
feat: Add support for LogFilterData in logs template
This commit is contained in:
@@ -1,9 +1,11 @@
|
||||
from fastapi import FastAPI, Request
|
||||
from fastapi import FastAPI, Request, Query
|
||||
from fastapi.templating import Jinja2Templates
|
||||
from fastapi.staticfiles import StaticFiles
|
||||
from fastapi.responses import HTMLResponse
|
||||
from typing import List, Optional
|
||||
from datetime import date
|
||||
|
||||
from front.template_models import CertificateData, LogData
|
||||
from front.template_models import CertificateData, LogData, LogFilterData
|
||||
|
||||
app = FastAPI()
|
||||
|
||||
@@ -16,14 +18,31 @@ templates = Jinja2Templates(directory="templates")
|
||||
async def read_dashboard(request: Request):
|
||||
certificates = [
|
||||
CertificateData(id="123", name="cert1", status="active", actions=["View", "Renew"]),
|
||||
CertificateData(id="123", name="cert1", status="active", actions=["View", "Renew"]),
|
||||
CertificateData(id="123", name="cert1", status="active", actions=["View", "Renew"]),
|
||||
CertificateData(id="456", name="cert2", status="expired", actions=["View", "Renew"]),
|
||||
CertificateData(id="789", name="cert3", status="active", actions=["View", "Renew"]),
|
||||
]
|
||||
return templates.TemplateResponse("dashboard.html.j2", {"request": request, "certificates": certificates})
|
||||
|
||||
|
||||
@app.get("/logs", response_class=HTMLResponse)
|
||||
async def read_logs(request: Request):
|
||||
async def read_logs(
|
||||
request: Request,
|
||||
commands_only: bool = Query(False),
|
||||
date_from: Optional[date] = Query(None),
|
||||
date_to: Optional[date] = Query(None),
|
||||
keywords: Optional[str] = Query(None),
|
||||
severity: List[str] = Query(["INFO", "WARN", "DEBUG", "ERROR"])
|
||||
):
|
||||
filter_data = LogFilterData(
|
||||
commands_only=commands_only,
|
||||
date_from=date_from,
|
||||
date_to=date_to,
|
||||
keywords=keywords,
|
||||
severity=severity
|
||||
)
|
||||
|
||||
# Here you would typically use the filter_data to query your logs
|
||||
# For now, we'll just use the sample logs
|
||||
logs = [
|
||||
LogData(
|
||||
entry_id="1ab2",
|
||||
@@ -40,7 +59,7 @@ async def read_logs(request: Request):
|
||||
trace_id="111"
|
||||
),
|
||||
]
|
||||
return templates.TemplateResponse("logs.html.j2", {"request": request, "logs": logs})
|
||||
return templates.TemplateResponse("logs.html.j2", {"request": request, "logs": logs, "filter_data": filter_data})
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
Reference in New Issue
Block a user