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

os.makedirs("static/previews", exist_ok=True)

app = FastAPI(
    title="Service Finder API",
    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
)

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=["*"],
)

app.mount("/static", StaticFiles(directory="static"), name="static")
app.include_router(api_router, prefix="/api/v1")

@app.get("/")
async def root():
    return {
        "status": "online", 
        "message": "Service Finder Master System v2.0",
        "features": ["Google Auth Enabled", "Asset Vault", "Org Onboarding"]
    }