88from fastapi .openapi .models import Example
99from starlette .responses import FileResponse
1010
11- from app .api .dependencies import get_dataset_item_id , get_dataset_service , get_file_name_and_extension , get_project_id
11+ from app .api .dependencies import get_dataset_item_id , get_dataset_service , get_file_name_and_extension , get_project
1212from app .core .models import Pagination
13- from app .schemas import DatasetItem , DatasetItemsWithPagination
13+ from app .schemas import DatasetItem , DatasetItemsWithPagination , ProjectView
1414from app .schemas .dataset_item import (
1515 DatasetItemAnnotation ,
1616 DatasetItemAnnotationsWithSource ,
7474 },
7575)
7676def add_dataset_item (
77- project_id : Annotated [UUID , Depends (get_project_id )],
77+ project : Annotated [ProjectView , Depends (get_project )],
7878 dataset_service : Annotated [DatasetService , Depends (get_dataset_service )],
7979 file_name_and_extension : Annotated [tuple [str , str ], Depends (get_file_name_and_extension )],
8080 file : Annotated [UploadFile , File ()],
@@ -83,7 +83,7 @@ def add_dataset_item(
8383 name , format = file_name_and_extension
8484 try :
8585 return dataset_service .create_dataset_item (
86- project_id = project_id ,
86+ project = project ,
8787 data = file .file ,
8888 name = name ,
8989 format = format ,
@@ -100,7 +100,7 @@ def add_dataset_item(
100100 },
101101)
102102def list_dataset_items (
103- project_id : Annotated [UUID , Depends (get_project_id )],
103+ project : Annotated [ProjectView , Depends (get_project )],
104104 dataset_service : Annotated [DatasetService , Depends (get_dataset_service )],
105105 limit : Annotated [int , Query (ge = 1 , le = MAX_DATASET_ITEMS_NUMBER_RETURNED )] = DEFAULT_DATASET_ITEMS_NUMBER_RETURNED ,
106106 offset : Annotated [int , Query (ge = 0 )] = 0 ,
@@ -112,9 +112,9 @@ def list_dataset_items(
112112 raise HTTPException (
113113 status_code = status .HTTP_422_UNPROCESSABLE_ENTITY , detail = "Start date must be before end date."
114114 )
115- total = dataset_service .count_dataset_items (project_id = project_id , start_date = start_date , end_date = end_date )
115+ total = dataset_service .count_dataset_items (project = project , start_date = start_date , end_date = end_date )
116116 dataset_items = dataset_service .list_dataset_items (
117- project_id = project_id , limit = limit , offset = offset , start_date = start_date , end_date = end_date
117+ project = project , limit = limit , offset = offset , start_date = start_date , end_date = end_date
118118 )
119119 return DatasetItemsWithPagination (
120120 items = dataset_items ,
@@ -136,13 +136,13 @@ def list_dataset_items(
136136 },
137137)
138138def get_dataset_item (
139- project_id : Annotated [UUID , Depends (get_project_id )],
139+ project : Annotated [ProjectView , Depends (get_project )],
140140 dataset_item_id : Annotated [UUID , Depends (get_dataset_item_id )],
141141 dataset_service : Annotated [DatasetService , Depends (get_dataset_service )],
142142) -> DatasetItem :
143143 """Get information about a specific dataset item"""
144144 try :
145- return dataset_service .get_dataset_item_by_id (project_id = project_id , dataset_item_id = dataset_item_id )
145+ return dataset_service .get_dataset_item_by_id (project = project , dataset_item_id = dataset_item_id )
146146 except ResourceNotFoundError as e :
147147 raise HTTPException (status_code = status .HTTP_404_NOT_FOUND , detail = str (e ))
148148
@@ -156,14 +156,14 @@ def get_dataset_item(
156156 },
157157)
158158def get_dataset_item_binary (
159- project_id : Annotated [UUID , Depends (get_project_id )],
159+ project : Annotated [ProjectView , Depends (get_project )],
160160 dataset_item_id : Annotated [UUID , Depends (get_dataset_item_id )],
161161 dataset_service : Annotated [DatasetService , Depends (get_dataset_service )],
162162) -> FileResponse :
163163 """Get dataset item binary content"""
164164 try :
165165 binary_path = dataset_service .get_dataset_item_binary_path_by_id (
166- project_id = project_id , dataset_item_id = dataset_item_id
166+ project = project , dataset_item_id = dataset_item_id
167167 )
168168 return FileResponse (path = binary_path )
169169 except ResourceNotFoundError as e :
@@ -179,14 +179,14 @@ def get_dataset_item_binary(
179179 },
180180)
181181def get_dataset_item_thumbnail (
182- project_id : Annotated [UUID , Depends (get_project_id )],
182+ project : Annotated [ProjectView , Depends (get_project )],
183183 dataset_item_id : Annotated [UUID , Depends (get_dataset_item_id )],
184184 dataset_service : Annotated [DatasetService , Depends (get_dataset_service )],
185185) -> FileResponse :
186186 """Get dataset item thumbnail binary content"""
187187 try :
188188 thumbnail_path = dataset_service .get_dataset_item_thumbnail_path_by_id (
189- project_id = project_id , dataset_item_id = dataset_item_id
189+ project = project , dataset_item_id = dataset_item_id
190190 )
191191 return FileResponse (path = thumbnail_path )
192192 except ResourceNotFoundError as e :
@@ -203,13 +203,13 @@ def get_dataset_item_thumbnail(
203203 },
204204)
205205def delete_dataset_item (
206- project_id : Annotated [UUID , Depends (get_project_id )],
206+ project : Annotated [ProjectView , Depends (get_project )],
207207 dataset_item_id : Annotated [UUID , Depends (get_dataset_item_id )],
208208 dataset_service : Annotated [DatasetService , Depends (get_dataset_service )],
209209) -> None :
210210 """Delete an item from the dataset"""
211211 try :
212- dataset_service .delete_dataset_item (project_id = project_id , dataset_item_id = dataset_item_id )
212+ dataset_service .delete_dataset_item (project = project , dataset_item_id = dataset_item_id )
213213 except ResourceNotFoundError as e :
214214 raise HTTPException (status_code = status .HTTP_404_NOT_FOUND , detail = str (e ))
215215
@@ -224,7 +224,7 @@ def delete_dataset_item(
224224 },
225225)
226226def set_dataset_item_annotations (
227- project_id : Annotated [UUID , Depends (get_project_id )],
227+ project : Annotated [ProjectView , Depends (get_project )],
228228 dataset_item_id : Annotated [UUID , Depends (get_dataset_item_id )],
229229 dataset_item_annotations : Annotated [
230230 SetDatasetItemAnnotations , Body (openapi_examples = SET_DATASET_ITEM_ANNOTATIONS_BODY_EXAMPLES )
@@ -234,7 +234,7 @@ def set_dataset_item_annotations(
234234 """Set dataset item annotations"""
235235 try :
236236 return dataset_service .set_dataset_item_annotations (
237- project_id = project_id , dataset_item_id = dataset_item_id , annotations = dataset_item_annotations .annotations
237+ project = project , dataset_item_id = dataset_item_id , annotations = dataset_item_annotations .annotations
238238 )
239239 except ResourceNotFoundError as e :
240240 raise HTTPException (status_code = status .HTTP_404_NOT_FOUND , detail = str (e ))
@@ -254,13 +254,13 @@ def set_dataset_item_annotations(
254254 },
255255)
256256def get_dataset_item_annotations (
257- project_id : Annotated [UUID , Depends (get_project_id )],
257+ project : Annotated [ProjectView , Depends (get_project )],
258258 dataset_item_id : Annotated [UUID , Depends (get_dataset_item_id )],
259259 dataset_service : Annotated [DatasetService , Depends (get_dataset_service )],
260260) -> DatasetItemAnnotationsWithSource :
261261 """Get the dataset item annotations"""
262262 try :
263- return dataset_service .get_dataset_item_annotations (project_id = project_id , dataset_item_id = dataset_item_id )
263+ return dataset_service .get_dataset_item_annotations (project = project , dataset_item_id = dataset_item_id )
264264 except (ResourceNotFoundError , NotAnnotatedError ) as e :
265265 raise HTTPException (status_code = status .HTTP_404_NOT_FOUND , detail = str (e ))
266266
@@ -275,13 +275,13 @@ def get_dataset_item_annotations(
275275 },
276276)
277277def delete_dataset_item_annotation (
278- project_id : Annotated [UUID , Depends (get_project_id )],
278+ project : Annotated [ProjectView , Depends (get_project )],
279279 dataset_item_id : Annotated [UUID , Depends (get_dataset_item_id )],
280280 dataset_service : Annotated [DatasetService , Depends (get_dataset_service )],
281281) -> None :
282282 """Delete dataset item annotations"""
283283 try :
284- dataset_service .delete_dataset_item_annotations (project_id = project_id , dataset_item_id = dataset_item_id )
284+ dataset_service .delete_dataset_item_annotations (project = project , dataset_item_id = dataset_item_id )
285285 except ResourceNotFoundError as e :
286286 raise HTTPException (status_code = status .HTTP_404_NOT_FOUND , detail = str (e ))
287287
@@ -298,15 +298,15 @@ def delete_dataset_item_annotation(
298298 },
299299)
300300def assign_dataset_item_subset (
301- project_id : Annotated [UUID , Depends (get_project_id )],
301+ project : Annotated [ProjectView , Depends (get_project )],
302302 dataset_item_id : Annotated [UUID , Depends (get_dataset_item_id )],
303303 dataset_service : Annotated [DatasetService , Depends (get_dataset_service )],
304304 subset_config : Annotated [DatasetItemAssignSubset , Body ()],
305305) -> DatasetItem :
306306 """Assign dataset item subset"""
307307 try :
308308 return dataset_service .assign_dataset_item_subset (
309- project_id = project_id , dataset_item_id = dataset_item_id , subset = subset_config .subset
309+ project = project , dataset_item_id = dataset_item_id , subset = subset_config .subset
310310 )
311311 except ResourceNotFoundError as e :
312312 raise HTTPException (status_code = status .HTTP_404_NOT_FOUND , detail = str (e ))
0 commit comments