From 9c5dc7fff1dc118c8346b19443f3ec7076c71ad5 Mon Sep 17 00:00:00 2001 From: rhodinemma Date: Wed, 5 Mar 2025 15:44:29 +0300 Subject: [PATCH] chore: ensure exclusion of deleted database records from listings --- app/routes.py | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/app/routes.py b/app/routes.py index ec59fe1..95cbc4d 100644 --- a/app/routes.py +++ b/app/routes.py @@ -29,8 +29,10 @@ def fetch_database_stats(access_token: str = Depends(security), db: Session = De total = 0 for flavour in database_flavours: - databases = db.query(Database).filter_by( - database_flavour_name=flavour['name']).all() + databases = db.query(Database).filter( + Database.database_flavour_name == flavour['name'], + Database.deleted == False + ).all() database_count = len(databases) dbs_per_flavour[f"{flavour['name']}_db_count"] = database_count @@ -71,6 +73,9 @@ def get_all_databases( query = query.filter( Database.database_flavour_name == database_flavour_name) + # ensure at this point that deleted databases are not part of the query for the above filters + query = query.filter(Database.deleted == False) + total_count = query.count() total_pages = (total_count + per_page - 1) // per_page @@ -181,9 +186,6 @@ def create_database(database: DatabaseFlavor, access_token: str = Depends(securi return SimpleNamespace(status_code=201, data={"database": database}) - - - @router.post("/databases/{database_id}/enable") def enable_database(database_id: str, access_token: str = Depends(security), db: Session = Depends(get_db)): current_user = get_current_user(access_token.credentials) @@ -621,7 +623,6 @@ def database_graph_data(start: Optional[str] = Query(description="Start date for return {"status_code": 200, 'data': {'metadata': metadata, 'graph_data': db_info}} - @router.get("/databases/{database_id}") def single_database(database_id: str, access_token: str = Depends(security), db: Session = Depends(get_db)): current_user = get_current_user(access_token.credentials)