feat: FASE 1 - Backend Core (modelli, auth, API)
Implementazione completa del backend FastAPI: - Modelli SQLAlchemy: User, Recipe, RecipeVersion, RecipeTask, RecipeSubtask, Measurement, AccessLog, SystemSetting, RecipeVersionAudit - Schemas Pydantic v2 per tutti i CRUD + statistiche SPC - Middleware: API Key auth (X-API-Key) con role checking + access logging - Router: auth, users, recipes, tasks, measurements, files, settings - Services: auth (bcrypt+secrets), recipe (copy-on-write versioning), measurement (auto pass/fail con UTL/UWL/LWL/LTL) - Alembic env.py con import modelli attivi - Fix architect review: no double-commit, recipe_id subquery filter, user_id in access logs, type annotations corrette Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -7,6 +7,14 @@ from fastapi.middleware.cors import CORSMiddleware
|
||||
|
||||
from config import settings
|
||||
from database import init_db
|
||||
from middleware.logging import AccessLogMiddleware
|
||||
from routers.auth import router as auth_router
|
||||
from routers.users import router as users_router
|
||||
from routers.recipes import router as recipes_router
|
||||
from routers.tasks import router as tasks_router
|
||||
from routers.measurements import router as measurements_router
|
||||
from routers.files import router as files_router
|
||||
from routers.settings import router as settings_router
|
||||
|
||||
|
||||
@asynccontextmanager
|
||||
@@ -39,6 +47,19 @@ app.add_middleware(
|
||||
)
|
||||
|
||||
|
||||
# Access logging middleware
|
||||
app.add_middleware(AccessLogMiddleware)
|
||||
|
||||
# Register routers
|
||||
app.include_router(auth_router)
|
||||
app.include_router(users_router)
|
||||
app.include_router(recipes_router)
|
||||
app.include_router(tasks_router)
|
||||
app.include_router(measurements_router)
|
||||
app.include_router(files_router)
|
||||
app.include_router(settings_router)
|
||||
|
||||
|
||||
@app.get("/api/health")
|
||||
async def health_check() -> dict:
|
||||
"""Health check endpoint."""
|
||||
|
||||
Reference in New Issue
Block a user