22 lines
No EOL
668 B
Python
22 lines
No EOL
668 B
Python
from fastapi import APIRouter, Request
|
|
from fastapi.responses import HTMLResponse
|
|
import config
|
|
|
|
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("/viewer/{pc_id}", response_class=HTMLResponse)
|
|
async def viewer(request: Request, pc_id: str):
|
|
return _render(
|
|
request,
|
|
"partials/viewer",
|
|
pc_id=pc_id,
|
|
embed_url=f"{config.BACKEND_INTERNAL_URL}/viewer-embed/{pc_id}",
|
|
) |