@cryptotaxi247 / CoPilot / commits / 55cb7c04

Add customer code to get_single_case_route

Taylor committed Jan 29, 2024 at 13:05 UTC 55cb7c043a7e421de26ba12c09c7603d144dc309
3 files changed +5 -3
backend/app/connectors/dfir_iris/routes/cases.py
+2 -2
@@ -152,7 +152,7 @@ async def purge_single_case_route(case_id: int = Depends(verify_case_exists)) ->
152 description="Get a single case",
153 dependencies=[Security(AuthHandler().require_any_scope("admin", "analyst"))],
154 )
155 -async def get_single_case_route(case_id: int = Depends(verify_case_exists)) -> SingleCaseResponse:
155 +async def get_single_case_route(case_id: int = Depends(verify_case_exists), session: AsyncSession = Depends(get_db)) -> SingleCaseResponse:
156 """
157 Retrieve a single case by its ID.
158
@@ -164,7 +164,7 @@ async def get_single_case_route(case_id: int = Depends(verify_case_exists)) -> S
164 """
165 logger.info(f"Fetching case {case_id}")
166 single_case_body = SingleCaseBody(case_id=case_id)
167 - return await get_single_case(single_case_body.case_id)
167 + return await get_single_case(single_case_body.case_id, session=session)
168
169
170 @dfir_iris_cases_router.put(
backend/app/connectors/dfir_iris/schema/cases.py
+1
@@ -75,6 +75,7 @@ class SingleCaseModel(BaseModel):
75 state_name: str
76 status_id: int
77 status_name: str
78 + customer_code: str
79
80
81 class SingleCaseBody(BaseModel):
backend/app/connectors/dfir_iris/services/cases.py
+2 -1
@@ -146,7 +146,7 @@ async def get_cases_older_than(case_older_than_body: CaseOlderThanBody) -> Cases
146 )
147
148
149 -async def get_single_case(case_id: SingleCaseBody) -> SingleCaseResponse:
149 +async def get_single_case(case_id: SingleCaseBody, session: AsyncSession) -> SingleCaseResponse:
150 """
151 Fetches a single case from DFIR-IRIS based on the provided case ID.
152
@@ -162,6 +162,7 @@ async def get_single_case(case_id: SingleCaseBody) -> SingleCaseResponse:
162 dfir_iris_client = await create_dfir_iris_client("DFIR-IRIS")
163 case = Case(session=dfir_iris_client)
164 result = await fetch_and_parse_data(dfir_iris_client, case.get_case, case_id)
165 + result["data"]["customer_code"] = await get_customer_code(session, result["data"]["customer_name"])
166 return SingleCaseResponse(success=True, message="Successfully fetched single case", case=result["data"])
167
168