upload volledige repo

This commit is contained in:
kodi
2026-03-11 09:39:41 +01:00
commit ce420cbb0e
110 changed files with 5660 additions and 0 deletions
+51
View File
@@ -0,0 +1,51 @@
from __future__ import annotations
from pathlib import Path
from fastapi import FastAPI, Request
from fastapi.responses import JSONResponse
from fastapi.staticfiles import StaticFiles
from backend.app.api.errors import AppError
from backend.app.api.routes_bookmarks import router as bookmarks_router
from backend.app.api.routes_browse import router as browse_router
from backend.app.api.routes_copy import router as copy_router
from backend.app.api.routes_files import router as files_router
from backend.app.api.routes_move import router as move_router
from backend.app.api.routes_tasks import router as tasks_router
from backend.app.logging import configure_logging
configure_logging()
BASE_DIR = Path(__file__).resolve().parents[3]
UI_DIR = Path(__file__).resolve().parents[2] / "html"
if not UI_DIR.exists():
raise RuntimeError(f"UI directory does not exist: {UI_DIR}")
app = FastAPI(title="WebManager MVP Backend")
app.mount("/ui", StaticFiles(directory=str(UI_DIR), html=True), name="ui")
app.include_router(browse_router, prefix="/api")
app.include_router(files_router, prefix="/api")
app.include_router(copy_router, prefix="/api")
app.include_router(move_router, prefix="/api")
app.include_router(bookmarks_router, prefix="/api")
app.include_router(tasks_router, prefix="/api")
@app.exception_handler(AppError)
async def handle_app_error(_: Request, exc: AppError) -> JSONResponse:
return JSONResponse(
status_code=exc.status_code,
content={
"error": {
"code": exc.code,
"message": exc.message,
"details": exc.details,
}
},
)
@app.get("/")
async def read_root() -> dict[str, str]:
return {"status": "ok"}