Upload files to "frontend/routes"
This commit is contained in:
parent
d009e0da62
commit
57ee7f3419
5 changed files with 153 additions and 0 deletions
58
frontend/routes/admin.py
Normal file
58
frontend/routes/admin.py
Normal file
|
|
@ -0,0 +1,58 @@
|
|||
from fastapi import APIRouter, Request
|
||||
from fastapi.responses import HTMLResponse
|
||||
import api_client
|
||||
|
||||
router = APIRouter()
|
||||
|
||||
|
||||
def _render(request: Request, template: str, **kwargs) -> HTMLResponse:
|
||||
"""Render using JinjaX catalog for all .jinja templates"""
|
||||
catalog = request.app.state.catalog
|
||||
html_content = catalog.render(template, **kwargs)
|
||||
return HTMLResponse(content=html_content)
|
||||
|
||||
|
||||
@router.get("/admin/list", response_class=HTMLResponse)
|
||||
async def admin_list(request: Request):
|
||||
try:
|
||||
pointclouds = await api_client.list_pointclouds()
|
||||
return _render(
|
||||
request, "partials/cloud_list",
|
||||
pointclouds=pointclouds, error=None,
|
||||
)
|
||||
except Exception as e:
|
||||
return _render(
|
||||
request, "partials/cloud_list",
|
||||
pointclouds=[], error=str(e),
|
||||
)
|
||||
|
||||
|
||||
@router.get("/admin/debug/{pc_id}", response_class=HTMLResponse)
|
||||
async def admin_debug(request: Request, pc_id: str):
|
||||
try:
|
||||
data = await api_client.get_debug(pc_id)
|
||||
return _render(
|
||||
request, "partials/debug_panel",
|
||||
pc_id=pc_id, data=data, error=None,
|
||||
)
|
||||
except Exception as e:
|
||||
return _render(
|
||||
request, "partials/debug_panel",
|
||||
pc_id=pc_id, data=None, error=str(e),
|
||||
)
|
||||
|
||||
|
||||
@router.delete("/admin/delete/{pc_id}", response_class=HTMLResponse)
|
||||
async def admin_delete(request: Request, pc_id: str):
|
||||
try:
|
||||
await api_client.delete_pointcloud(pc_id)
|
||||
pointclouds = await api_client.list_pointclouds()
|
||||
return _render(
|
||||
request, "partials/cloud_list",
|
||||
pointclouds=pointclouds, error=None,
|
||||
)
|
||||
except Exception as e:
|
||||
return _render(
|
||||
request, "partials/cloud_list",
|
||||
pointclouds=[], error=str(e),
|
||||
)
|
||||
Loading…
Add table
Add a link
Reference in a new issue