EXAM_RAG_API / routes /base.py
MinaNasser's picture
1st
1bc3f18
from fastapi import APIRouter , Depends
from config import get_settings
from indexing.indexingController import IndexingController
base_router = APIRouter(tags=["base"])
@base_router.get("/health")
async def health_check(settings = Depends(get_settings)):
return {"status": "ok", "app_name": settings}
# @base_router.post("/all_docs")
# async def get_all_docs():
# indexing_controller = IndexingController()
# all_docs = indexing_controller.vector_store.get_all_documents()
# return {
# "total_docs": len(all_docs),
# "documents": all_docs
# }
@base_router.get("/all_files")
async def get__files():
indexing_controller = IndexingController()
all_files = indexing_controller.vector_store.get_all_files()
return {
"total_files": len(all_files),
"files": all_files,}
@base_router.get("/remove_file")
async def remove_file(filename: str,username: str ,course: str):
indexing_controller = IndexingController()
result = indexing_controller.vector_store.remove_points_by_file(filename,username,course)
return {
"status": "success" if result else "failure",
"message": f"File '{filename}' removed." if result else f"File '{filename}' not found."
}
@base_router.get("/user/docs")
async def get_user_docs(username: str):
indexing_controller = IndexingController()
user_docs = indexing_controller.vector_store.all_user_files_bookmarks(username)
return {
"total_docs": len(user_docs),
"documents": user_docs}