diff --git a/app/routes/deployments.py b/app/routes/deployments.py new file mode 100644 index 0000000..ca7eb82 --- /dev/null +++ b/app/routes/deployments.py @@ -0,0 +1,41 @@ +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, + }, + )