From e9bd499572da11360015f9401235d21aafa80f36 Mon Sep 17 00:00:00 2001 From: Brian Duenas Date: Wed, 7 May 2025 16:00:53 -0700 Subject: [PATCH 1/2] update base64 example --- README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README.md b/README.md index ab0fd32..f5add47 100644 --- a/README.md +++ b/README.md @@ -197,6 +197,11 @@ type: Opaque ``` +Example for base 64 command in terminal +```bash +echo -n "VALUE" | base64 +``` + ### Setup Pull secrets Example docker pull secret config From 5c881fcd91e8a507450997be7027cc6026a70950 Mon Sep 17 00:00:00 2001 From: Brian Duenas Date: Wed, 7 May 2025 16:18:18 -0700 Subject: [PATCH 2/2] delete dataset assets --- app/database/db.py | 14 ++++++++++++++ app/main.py | 12 ++++++++---- 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/app/database/db.py b/app/database/db.py index 5be1f6b..fe012be 100644 --- a/app/database/db.py +++ b/app/database/db.py @@ -563,6 +563,20 @@ async def get_user_datasets_all(self, user_id: str) -> list[DatasetModel]: ] # Pydantic serialization return [] + async def get_user_dataset( + self, user_id: str, dataset_id: str + ) -> DatasetModel | None: + """Retrieve a single dataset for a specific user.""" + try: + dataset = await self.datasets_collection.find_one( + {"_id": ObjectId(dataset_id), "user_id": user_id} + ) + if dataset: + return DatasetModel(**dataset) # Pydantic serialization + except Exception as e: + logger.error(str(e)) + return None + async def get_user_datasets_page( self, user_id: str, diff --git a/app/main.py b/app/main.py index b3aeb9f..fd749be 100644 --- a/app/main.py +++ b/app/main.py @@ -1040,13 +1040,17 @@ async def get_user_datasets_page( async def delete_datasets( request: Request, dataset_id: str, user_id: str = Query(DEFAULT_USER) ): - logger.debug(f"deleting dataset {dataset_id} for user {user_id}") jwt_data, jwt = decode_request(request) if jwt: user_id = jwt.user_id - - job_info = await db_manager.delete_dataset(user_id, dataset_id) - return job_info + dataset_info = await db_manager.get_user_dataset(user_id, dataset_id) + if not dataset_info: + raise HTTPException(status_code=404, detail=f"Dataset '{dataset_id}' not found") + logger.debug(f"deleting dataset {dataset_id} for user {user_id}") + if dataset_info.dataset.s3_uri: + await s3_handler.cleanup_uri_items(dataset_info.dataset.s3_uri) + await db_manager.delete_dataset(user_id, dataset_id) + return {"message": "Dataset deleted successfully"} # @api_v1.put("/dataset", tags=["Datasets"])