import os from fastapi import FastAPI from fastapi.middleware.cors import CORSMiddleware from fastapi.staticfiles import StaticFiles from starlette.middleware.sessions import SessionMiddleware # ÚJ from app.api.v1.api import api_router from app.core.config import settings # Statikus mappák létrehozása induláskor os.makedirs("static/previews", exist_ok=True) app = FastAPI( title="Service Finder API", description="Traffic Ecosystem, Asset Vault & AI Evidence Processing", version="2.0.0", openapi_url="/api/v1/openapi.json", docs_url="/docs" ) # --- SESSION MIDDLEWARE (Google Authhoz kötelező) --- app.add_middleware( SessionMiddleware, secret_key=settings.SECRET_KEY ) # --- CORS BEÁLLÍTÁSOK --- app.add_middleware( CORSMiddleware, allow_origins=[ "http://192.168.100.10:3001", "http://localhost:3001", "https://dev.profibot.hu", "https://app.profibot.hu" ], allow_credentials=True, allow_methods=["*"], allow_headers=["*"], ) # Statikus fájlok kiszolgálása (képek, letöltések) app.mount("/static", StaticFiles(directory="static"), name="static") # A V1-es API router bekötése a /api/v1 prefix alá app.include_router(api_router, prefix="/api/v1") # --- ALAPVETŐ VÉGPONTOK --- @app.get("/", tags=["System"]) async def root(): return { "status": "online", "message": "Service Finder Master System v2.0", "features": [ "Google Auth Enabled", "Asset Vault", "Org Onboarding", "AI Evidence OCR (Robot 3)", "Fleet Expenses (TCO)" ] } @app.get("/health", tags=["System"]) async def health_check(): """ Monitoring és Load Balancer egészségügyi ellenőrző végpont. """ return {"status": "ok", "message": "Service Finder API is running flawlessly."}