added customer code to /soc/alerts
Taylor committed
Jan 30, 2024 at 10:24 UTC
08d3fecc16d87ab66fa9b62f2e88d7896f3b5f31
2 files changed
+7
-3
backend/app/connectors/dfir_iris/routes/alerts.py
+2
-2
@@ -70,7 +70,7 @@ async def get_all_bookmarked_alerts() -> BookmarkedAlertsResponse:
70
description="Get alerts from IRIS based on the provided filters",
71
dependencies=[Security(AuthHandler().require_any_scope("admin", "analyst"))],
72
)
73
-async def get_alerts_filtered(request: FilterAlertsRequest) -> AlertsResponse:
73
+async def get_alerts_filtered(request: FilterAlertsRequest, session: AsyncSession = Depends(get_db)) -> AlertsResponse:
74
"""
75
Retrieve alerts from DFIR-IRIS based on the provided filters.
76
@@ -79,7 +79,7 @@ async def get_alerts_filtered(request: FilterAlertsRequest) -> AlertsResponse:
79
"""
80
logger.info("Fetching all alerts")
81
logger.info(f"Request: {request}")
82
- return await get_alerts(request)
82
+ return await get_alerts(request, session=session)
83
84
85
@dfir_iris_alerts_router.get(
backend/app/connectors/dfir_iris/services/alerts.py
+5
-1
@@ -41,7 +41,7 @@ async def get_customer_code(session: AsyncSession, customer_id: int) -> str:
41
return "Customer Not Found"
42
43
44
-async def get_alerts(request: FilterAlertsRequest) -> AlertsResponse:
44
+async def get_alerts(request: FilterAlertsRequest, session: AsyncSession) -> AlertsResponse:
45
"""
46
Retrieves alerts from the DFIR-IRIS service.
47
@@ -56,6 +56,10 @@ async def get_alerts(request: FilterAlertsRequest) -> AlertsResponse:
56
params = construct_params(request)
57
result = await fetch_and_validate_data(client, lambda: alert.filter_alerts(**params))
58
logger.info(f"Successfully fetched length {len(result['data']['alerts'])} alerts")
59
+ # Add the customer code to each alert
60
+ for alert in result["data"]["alerts"]:
61
+ customer_code = await get_customer_code(session, alert["customer"]["customer_id"])
62
+ alert["customer"]["customer_code"] = customer_code
63
return AlertsResponse(success=True, message="Successfully fetched alerts", alerts=result["data"]["alerts"])
64
except Exception as e:
65
logger.error(f"Error fetching alerts: {e}")