File size: 1,530 Bytes
1bc3f18
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
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}