from fastapi import APIRouter, HTTPException from fastapi.responses import HTMLResponse from config import EPT_DIR from services.manifest import read_manifest from services.html_generator import generate_viewer_html router = APIRouter() @router.get("/viewer/{pc_id}") def viewer(pc_id: str): out_dir = EPT_DIR / pc_id if not out_dir.exists(): raise HTTPException(404, f"ID {pc_id} non trouvé") manifest = read_manifest(out_dir) return HTMLResponse(generate_viewer_html(pc_id, manifest.get("ept_dir"), embed=False)) @router.get("/viewer-embed/{pc_id}") def viewer_embed(pc_id: str): out_dir = EPT_DIR / pc_id if not out_dir.exists(): raise HTTPException(404, f"ID {pc_id} non trouvé") manifest = read_manifest(out_dir) return HTMLResponse(generate_viewer_html(pc_id, manifest.get("ept_dir"), embed=True))