diff --git a/backend/app/routers/datasets.py b/backend/app/routers/datasets.py index 112ea17d9..ff483b603 100644 --- a/backend/app/routers/datasets.py +++ b/backend/app/routers/datasets.py @@ -493,13 +493,14 @@ async def delete_folder( folder_id: str, db: MongoClient = Depends(dependencies.get_db), fs: Minio = Depends(dependencies.get_fs), + es: Elasticsearch = Depends(dependencies.get_elasticsearchclient), ): if (await db["folders"].find_one({"_id": ObjectId(folder_id)})) is not None: # delete current folder and files await remove_folder_entry(folder_id, db) async for file in db["files"].find({"folder_id": ObjectId(folder_id)}): file = FileOut(**file) - await remove_file_entry(file.id, db, fs) + await remove_file_entry(file.id, db, fs, es) # list all child folders and delete child folders/files parent_folder_id = folder_id @@ -530,7 +531,7 @@ async def _delete_nested_folders(parent_folder_id): {"folder_id": ObjectId(folder.id)} ): file = FileOut(**file) - await remove_file_entry(file.id, db, fs) + await remove_file_entry(file.id, db, fs, es) await _delete_nested_folders(parent_folder_id) diff --git a/backend/app/routers/files.py b/backend/app/routers/files.py index 59ebf07ac..ce5ec1b29 100644 --- a/backend/app/routers/files.py +++ b/backend/app/routers/files.py @@ -120,10 +120,7 @@ async def add_file_entry( # TODO: Move this to MongoDB middle layer async def remove_file_entry( - file_id: Union[str, ObjectId], - db: MongoClient, - fs: Minio, - es: Elasticsearch = Depends(dependencies.get_elasticsearchclient), + file_id: Union[str, ObjectId], db: MongoClient, fs: Minio, es: Elasticsearch ): """Remove FileDB object into MongoDB, Minio, and associated metadata and version information.""" # TODO: Deleting individual versions will require updating version_id in mongo, or deleting entire document @@ -254,9 +251,10 @@ async def delete_file( file_id: str, db: MongoClient = Depends(dependencies.get_db), fs: Minio = Depends(dependencies.get_fs), + es: Elasticsearch = Depends(dependencies.get_elasticsearchclient), ): if (file := await db["files"].find_one({"_id": ObjectId(file_id)})) is not None: - await remove_file_entry(file_id, db, fs) + await remove_file_entry(file_id, db, fs, es) return {"deleted": file_id} else: raise HTTPException(status_code=404, detail=f"File {file_id} not found")