@cryptotaxi247 / CoPilot / commits / 08d3fecc

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}")