66 lines
1.8 KiB
Python
Executable File
66 lines
1.8 KiB
Python
Executable File
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."} |