from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware

from app.api.routes import router as api_router
from app.api.new_routes import router as new_api_router
from app.ml.model_loader import load_model

app = FastAPI(
    title="Tortured Phrase Detection API",
    description="Detects semantically tortured phrases in academic documents",
    version="1.0.0"
)

# -----------------------------
# CORS (optional but safe)
# -----------------------------
app.add_middleware(
    CORSMiddleware,
    allow_origins=["*"],
    allow_credentials=True,
    allow_methods=["*"],
    allow_headers=["*"],
)

# -----------------------------
# Startup Event
# -----------------------------
@app.on_event("startup")
def startup_event():
    """
    Load ML model and embeddings once at startup
    """
    load_model()

# -----------------------------
# Routes
# -----------------------------
app.include_router(api_router, prefix="/api")
app.include_router(new_api_router, prefix="/api")

# -----------------------------
# Health Check
# -----------------------------
@app.get("/health")
def health_check():
    return {
        "status": "OK",
        "model": "tortured-phrase-detector",
        "version": "1.0.0"
    }
