frontend añadido y backend de creacion de notas
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
from fastapi import APIRouter, Depends
|
||||
from sqlalchemy.orm import Session
|
||||
from backend.services.notaService import NotaService
|
||||
from backend.schemas.notaSchema import NotaCreate, NotaUpdate, NotaOut, SearchQuery, HybridSearchQuery
|
||||
from backend.db.dependencies import get_db # tu función para obtener la sesión
|
||||
|
||||
router = APIRouter(prefix="/notas", tags=["Notas"])
|
||||
|
||||
|
||||
@router.post("/", response_model=str)
|
||||
def create_nota(data: NotaCreate, db: Session = Depends(get_db)):
|
||||
return NotaService(db).create(**data.dict())
|
||||
|
||||
|
||||
@router.get("/{id_}", response_model=NotaOut)
|
||||
def get_nota(id_: str, db: Session = Depends(get_db)):
|
||||
return NotaService(db).get(id_)
|
||||
|
||||
|
||||
@router.get("/", response_model=list[NotaOut])
|
||||
def list_notas(db: Session = Depends(get_db)):
|
||||
return NotaService(db).list_all()
|
||||
|
||||
|
||||
@router.put("/{id_}", response_model=bool)
|
||||
def update_nota(id_: str, data: NotaUpdate, db: Session = Depends(get_db)):
|
||||
return NotaService(db).update(id_, **data.dict(exclude_none=True))
|
||||
|
||||
|
||||
@router.delete("/{id_}", response_model=bool)
|
||||
def delete_nota(id_: str, db: Session = Depends(get_db)):
|
||||
return NotaService(db).delete(id_)
|
||||
|
||||
|
||||
# ---------------------
|
||||
# RAG Endpoints
|
||||
# ---------------------
|
||||
@router.post("/search", response_model=list[NotaOut])
|
||||
def search_nota(query: SearchQuery, db: Session = Depends(get_db)):
|
||||
return NotaService(db).search_by_text(query.texto, query.top_k)
|
||||
|
||||
|
||||
@router.post("/hybrid-search", response_model=list[NotaOut])
|
||||
def hybrid_search(query: HybridSearchQuery, db: Session = Depends(get_db)):
|
||||
return NotaService(db).hybrid_search(query.texto, query.tags, query.top_k)
|
||||
Reference in New Issue
Block a user