11from typing import Annotated , Final
22
3- from fastapi import APIRouter , Depends , FastAPI , status
3+ from fastapi import APIRouter , Depends , FastAPI , HTTPException , status
44from fastapi_pagination .api import create_page
55from fastapi_pagination .bases import AbstractPage
66from models_library .api_schemas_long_running_tasks .tasks import TaskGet
@@ -266,6 +266,7 @@ async def function_job_outputs(
266266 function .function_class == FunctionClass .PROJECT
267267 and function_job .function_class == FunctionClass .PROJECT
268268 ):
269+ assert function_job .project_job_id is not None # nosec
269270 new_outputs = dict (
270271 (
271272 await studies_jobs .get_study_job_outputs (
@@ -281,6 +282,7 @@ async def function_job_outputs(
281282 function .function_class == FunctionClass .SOLVER
282283 and function_job .function_class == FunctionClass .SOLVER
283284 ):
285+ assert function_job .solver_job_id is not None # nosec
284286 new_outputs = dict (
285287 (
286288 await solvers_jobs_read .get_job_outputs (
@@ -337,6 +339,11 @@ async def get_function_job_logs_task(
337339 function .function_class == FunctionClass .PROJECT
338340 and function_job .function_class == FunctionClass .PROJECT
339341 ):
342+ if function_job .project_job_id is None :
343+ raise HTTPException (
344+ status_code = status .HTTP_404_NOT_FOUND ,
345+ detail = "Could not find project job" ,
346+ )
340347 async_job_get = await job_service .start_log_export (
341348 job_id = function_job .project_job_id ,
342349 )
@@ -353,6 +360,11 @@ async def get_function_job_logs_task(
353360 function .function_class == FunctionClass .SOLVER
354361 and function_job .function_class == FunctionClass .SOLVER
355362 ):
363+ if function_job .solver_job_id is None :
364+ raise HTTPException (
365+ status_code = status .HTTP_404_NOT_FOUND ,
366+ detail = "Could not find solver job" ,
367+ )
356368 async_job_get = await job_service .start_log_export (
357369 job_id = function_job .solver_job_id ,
358370 )
0 commit comments