Spaces:
Sleeping
Sleeping
File size: 1,608 Bytes
57cab59 819bacd fe7c659 819bacd fe7c659 57cab59 819bacd 57cab59 819bacd 57cab59 819bacd |
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 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
from fastapi import APIRouter, File, HTTPException, UploadFile
from fastapi.responses import JSONResponse
from app.db_local_storage.vector_files_db import vector_files_db
from app.modules.uploadDocument.controllers.file_upload_controller import (
FileUploadController,
)
from app.db_local_storage.documents_db import documents_db
router = APIRouter()
fileUploadController = FileUploadController()
@router.get("/get_documents")
async def get_all_documents():
return JSONResponse(status_code=200, content={"data": documents_db})
@router.get("/get_embeddings")
async def get_all_embeddings():
return JSONResponse(status_code=200, content={"data": vector_files_db})
@router.delete("/delete_document/{id}")
async def delete_document(id: int):
document = next((doc for doc in documents_db if doc["id"] == id), None)
if document:
documents_db.remove(document)
else:
raise HTTPException(status_code=404, detail="Document not found")
vector_file_key = next(
(
key
for key, value in vector_files_db.items()
if value["metadata"]["id"] == id
),
None,
)
if vector_file_key:
del vector_files_db[vector_file_key]
return JSONResponse(status_code=200, content={"message": "Document deleted"})
# {
# "data": {
# "document_1": {
# "metadata": {
# "id": 1,
# "filename": "doc_test.pdf",
# "chunks": 4
# },
@router.post("/document")
async def upload_file(file: UploadFile = File(...)):
return await fileUploadController.handle_file_upload(file)
|