1212 JSONFunctionInputSchema ,
1313 JSONFunctionOutputSchema ,
1414 RegisteredFunction ,
15+ RegisteredFunctionJob ,
1516 RegisteredFunctionJobCollection ,
1617)
1718from models_library .rest_pagination import PageMetaInfoLimitOffset
@@ -64,7 +65,7 @@ def __init__(self) -> None:
6465 self ._function_jobs = {}
6566 self ._function_job_collections = {}
6667
67- async def register_function (self , function : Function ) -> Function :
68+ async def register_function (self , function : Function ) -> RegisteredFunction :
6869 # Mimic returning the same function that was passed and store it for later retrieval
6970 uid = uuid4 ()
7071 self ._functions [uid ] = TypeAdapter (RegisteredFunction ).validate_python (
@@ -81,7 +82,7 @@ async def register_function(self, function: Function) -> Function:
8182 )
8283 return self ._functions [uid ]
8384
84- async def get_function (self , function_id : str ) -> dict :
85+ async def get_function (self , function_id : str ) -> RegisteredFunction :
8586 # Mimic retrieval of a function based on function_id and raise 404 if not found
8687 if function_id not in self ._functions :
8788 raise HTTPException (status_code = 404 , detail = "Function not found" )
@@ -100,7 +101,7 @@ async def list_functions(
100101 self ,
101102 pagination_offset : int ,
102103 pagination_limit : int ,
103- ) -> tuple [list [Function ], PageMetaInfoLimitOffset ]:
104+ ) -> tuple [list [RegisteredFunction ], PageMetaInfoLimitOffset ]:
104105 # Mimic listing all functions
105106 functions_list = list (self ._functions .values ())[
106107 pagination_offset : pagination_offset + pagination_limit
@@ -121,10 +122,12 @@ async def delete_function(self, function_id: str) -> None:
121122 else :
122123 raise HTTPException (status_code = 404 , detail = "Function not found" )
123124
124- async def register_function_job (self , function_job : FunctionJob ) -> FunctionJob :
125+ async def register_function_job (
126+ self , function_job : FunctionJob
127+ ) -> RegisteredFunctionJob :
125128 # Mimic registering a function job
126129 uid = uuid4 ()
127- self ._function_jobs [uid ] = TypeAdapter (FunctionJob ).validate_python (
130+ self ._function_jobs [uid ] = TypeAdapter (RegisteredFunctionJob ).validate_python (
128131 {
129132 "uid" : str (uid ),
130133 "function_uid" : function_job .function_uid ,
@@ -138,7 +141,7 @@ async def register_function_job(self, function_job: FunctionJob) -> FunctionJob:
138141 )
139142 return self ._function_jobs [uid ]
140143
141- async def get_function_job (self , function_job_id : str ) -> dict :
144+ async def get_function_job (self , function_job_id : str ) -> RegisteredFunctionJob :
142145 # Mimic retrieval of a function job based on function_job_id and raise 404 if not found
143146 if function_job_id not in self ._function_jobs :
144147 raise HTTPException (status_code = 404 , detail = "Function job not found" )
@@ -148,7 +151,7 @@ async def list_function_jobs(
148151 self ,
149152 pagination_offset : int ,
150153 pagination_limit : int ,
151- ) -> tuple [list [FunctionJob ], PageMetaInfoLimitOffset ]:
154+ ) -> tuple [list [RegisteredFunctionJob ], PageMetaInfoLimitOffset ]:
152155 # Mimic listing all function jobs
153156 function_jobs_list = list (self ._function_jobs .values ())[
154157 pagination_offset : pagination_offset + pagination_limit
@@ -188,7 +191,7 @@ async def register_function_job_collection(
188191
189192 async def get_function_job_collection (
190193 self , function_job_collection_id : str
191- ) -> dict :
194+ ) -> RegisteredFunctionJobCollection :
192195 # Mimic retrieval of a function job collection based on collection_id and raise 404 if not found
193196 if function_job_collection_id not in self ._function_job_collections :
194197 raise HTTPException (
@@ -200,7 +203,7 @@ async def list_function_job_collections(
200203 self ,
201204 pagination_offset : int ,
202205 pagination_limit : int ,
203- ) -> tuple [list [FunctionJobCollection ], PageMetaInfoLimitOffset ]:
206+ ) -> tuple [list [RegisteredFunctionJobCollection ], PageMetaInfoLimitOffset ]:
204207 # Mimic listing all function job collections
205208 function_job_collections_list = list (self ._function_job_collections .values ())[
206209 pagination_offset : pagination_offset + pagination_limit
@@ -229,7 +232,6 @@ async def delete_function_job_collection(
229232def test_register_function (api_app ) -> None :
230233 client = TestClient (api_app )
231234 sample_function = {
232- "uid" : None ,
233235 "title" : "test_function" ,
234236 "function_class" : "project" ,
235237 "project_id" : str (uuid4 ()),
@@ -469,7 +471,6 @@ def test_register_function_job(api_app: FastAPI) -> None:
469471
470472 client = TestClient (api_app )
471473 mock_function_job = {
472- "uid" : None ,
473474 "function_uid" : str (uuid4 ()),
474475 "title" : "Test Function Job" ,
475476 "description" : "A test function job" ,
0 commit comments