From 80593f0df913800c7b4fb6cbe61ff38e31a8b6fa Mon Sep 17 00:00:00 2001 From: Taylor Date: Mon, 19 Aug 2024 17:41:07 -0500 Subject: [PATCH] chore: Update list_alerts_endpoint to include total count of alerts --- backend/app/incidents/routes/db_operations.py | 5 ++--- backend/app/incidents/services/db_operations.py | 4 ++++ 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/backend/app/incidents/routes/db_operations.py b/backend/app/incidents/routes/db_operations.py index aa7cb6fb..c2cb30e5 100644 --- a/backend/app/incidents/routes/db_operations.py +++ b/backend/app/incidents/routes/db_operations.py @@ -61,7 +61,7 @@ from app.incidents.schema.db_operations import UpdateCaseStatus from app.incidents.services.db_operations import add_alert_title_name from app.incidents.services.db_operations import add_asset_name -from app.incidents.services.db_operations import add_field_name +from app.incidents.services.db_operations import add_field_name, alert_total from app.incidents.services.db_operations import add_timefield_name from app.incidents.services.db_operations import create_alert, get_customer_code_names, delete_customer_code_name from app.incidents.services.db_operations import create_alert_context @@ -377,8 +377,7 @@ async def list_alerts_endpoint( page_size: int = Query(25, ge=1), db: AsyncSession = Depends(get_db) ): - alerts = await list_alerts(db, page=page, page_size=page_size) - return AlertOutResponse(alerts=alerts, total=len(alerts), success=True, message="Alerts retrieved successfully") + return AlertOutResponse(alerts=await list_alerts(db, page=page, page_size=page_size), total=await alert_total(db), success=True, message="Alerts retrieved successfully") @incidents_db_operations_router.get("/alert/{alert_id}", response_model=AlertOutResponse) async def get_alert_by_id_endpoint(alert_id: int, db: AsyncSession = Depends(get_db)): diff --git a/backend/app/incidents/services/db_operations.py b/backend/app/incidents/services/db_operations.py index 222156c0..b4d00485 100644 --- a/backend/app/incidents/services/db_operations.py +++ b/backend/app/incidents/services/db_operations.py @@ -36,6 +36,10 @@ from app.incidents.schema.db_operations import UpdateAlertStatus from app.incidents.schema.db_operations import UpdateCaseStatus +async def alert_total(db: AsyncSession) -> int: + result = await db.execute(select(Alert)) + return len(result.scalars().all()) + async def validate_source_exists(source: str, session: AsyncSession): # Check each of the FieldName tables and ensure each contains at least one entry for the source