42 lines
1.0 KiB
Python
42 lines
1.0 KiB
Python
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,
|
|
},
|
|
)
|