from fastapi import APIRouter, HTTPException
from pydantic import BaseModel
from typing import Optional
from backend.db.conexion import get_conexion
from src.TextManager.biblioteca import Biblioteca

router = APIRouter()

class BibliotecaIn(BaseModel):
    nombre: str
    descripcion: Optional[str] = ""
    vector_dim: Optional[int] = None

@router.post("/")
def crear_biblioteca(biblio: BibliotecaIn):
    try:
        biblioteca = Biblioteca(
            nombre=biblio.nombre,
            descripcion=biblio.descripcion,
            vector_dim=biblio.vector_dim
        )
        conexion = get_conexion()
        modelo = biblioteca.generar_modelo_notas(conexion)
        return {"id": biblioteca.id, "modelo": str(modelo.__name__)}
    except Exception as e:
        raise HTTPException(status_code=400, detail=str(e))
