from fastapi import APIRouter, HTTPException, Request from fastapi.responses import HTMLResponse from fastapi.templating import Jinja2Templates from app.db.apps import get_deployment, get_deployments router = APIRouter() templates = Jinja2Templates(directory="app/templates") @router.get("/deployments", response_class=HTMLResponse) async def deployments_page(request: Request): deployments = get_deployments() return templates.TemplateResponse( request, "deployments.html", { "deployments": deployments, }, ) @router.get("/deployments/{deployment_id}", response_class=HTMLResponse) async def deployment_detail_page( request: Request, deployment_id: int, ): deployment = get_deployment(deployment_id) if not deployment: raise HTTPException(status_code=404, detail="Deployment not found") return templates.TemplateResponse( request, "deployment-detail.html", { "deployment": deployment, }, )