# main.py
from fastapi import FastAPI, APIRouter
from fastapi.middleware.cors import CORSMiddleware
from src.service.solo_vida import prueba_de_vida, prueba_de_vidaV2
from fastapi.staticfiles import StaticFiles
import logging
from middleware.audit_middleware import AuditoriaMiddleware
from fastapi.responses import FileResponse
from src.service.cedula import process_image_endpoint

app = FastAPI()
# API router con prefijo
app = FastAPI(root_path="/biometria")

router = APIRouter()
# Agregar middleware
app.add_middleware(AuditoriaMiddleware)
# Middleware CORS
app.add_middleware(
    CORSMiddleware,
    allow_origins=["*"],
    allow_credentials=True,
    allow_methods=["*"],
    allow_headers=["*"],
)


# Ruta solo prueba de vida ()
app.post("/vida")(prueba_de_vida)

app.post("/vida/v2")(prueba_de_vidaV2)

app.post("/cedula/process_image")(process_image_endpoint)

# Sirve index.html y otros recursos estáticos
#app.mount("/", StaticFiles(directory="static", html=True), name="static")

# Servir index.html como endpoint bajo /biometria
@router.get("/", include_in_schema=False)
def index():
    return FileResponse("static/index.html")

# Registrar router
app.include_router(router)

# Servir recursos estáticos bajo /biometria/static
app.mount("/static", StaticFiles(directory="static"), name="static")