Files
service-finder/backend/app/main.py

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."}