feat: add webapp

This commit is contained in:
2026-04-07 19:33:29 -04:00
parent a7ab6eaf7c
commit 1a9dcc04b4
2 changed files with 1118 additions and 1 deletions
+8 -1
View File
@@ -36,13 +36,14 @@ from __future__ import annotations
import logging import logging
import sys import sys
from pathlib import Path
from typing import Optional from typing import Optional
# FastAPI / Pydantic # FastAPI / Pydantic
try: try:
from fastapi import Body, FastAPI, HTTPException, Query from fastapi import Body, FastAPI, HTTPException, Query
from fastapi.middleware.cors import CORSMiddleware from fastapi.middleware.cors import CORSMiddleware
from fastapi.responses import JSONResponse from fastapi.responses import FileResponse, JSONResponse
from pydantic import BaseModel from pydantic import BaseModel
import uvicorn import uvicorn
except ImportError: except ImportError:
@@ -246,6 +247,12 @@ def health() -> dict:
return {"status": "ok", "service": "sfm", "version": "0.1.0"} return {"status": "ok", "service": "sfm", "version": "0.1.0"}
@app.get("/", response_class=FileResponse)
def webapp():
"""Serve the SFM web app."""
return str(Path(__file__).parent / "sfm_webapp.html")
@app.get("/device/info") @app.get("/device/info")
def device_info( def device_info(
port: Optional[str] = Query(None, description="Serial port (e.g. COM5, /dev/ttyUSB0)"), port: Optional[str] = Query(None, description="Serial port (e.g. COM5, /dev/ttyUSB0)"),
+1110
View File
File diff suppressed because it is too large Load Diff