2020from app .models import DatasetItemAnnotationStatus , DatasetItemSubset
2121from app .schemas import ProjectView
2222from app .services import DatasetService , ResourceNotFoundError
23- from app .services .dataset_service import AnnotationValidationError , InvalidImageError , SubsetAlreadyAssignedError
23+ from app .services .dataset_service import (
24+ AnnotationValidationError ,
25+ DatasetItemFilters ,
26+ InvalidImageError ,
27+ SubsetAlreadyAssignedError ,
28+ )
2429
2530router = APIRouter (prefix = "/api/projects/{project_id}/dataset/items" , tags = ["Datasets" ])
2631
@@ -122,14 +127,16 @@ def list_dataset_items( # noqa: PLR0913
122127 subset = subset ,
123128 )
124129 dataset_items = dataset_service .list_dataset_items (
125- project = project ,
126- limit = limit ,
127- offset = offset ,
128- start_date = start_date ,
129- end_date = end_date ,
130- annotation_status = annotation_status ,
131- label_ids = labels ,
132- subset = subset ,
130+ project_id = project .id ,
131+ filters = DatasetItemFilters (
132+ limit = limit ,
133+ offset = offset ,
134+ start_date = start_date ,
135+ end_date = end_date ,
136+ annotation_status = annotation_status ,
137+ label_ids = labels ,
138+ subset = subset ,
139+ ),
133140 )
134141 return DatasetItemsWithPagination (
135142 items = [DatasetItemView .model_validate (dataset_item , from_attributes = True ) for dataset_item in dataset_items ],
@@ -157,7 +164,7 @@ def get_dataset_item(
157164) -> DatasetItemView :
158165 """Get information about a specific dataset item"""
159166 try :
160- dataset_item = dataset_service .get_dataset_item_by_id (project = project , dataset_item_id = dataset_item_id )
167+ dataset_item = dataset_service .get_dataset_item_by_id (project_id = project . id , dataset_item_id = dataset_item_id )
161168 return DatasetItemView .model_validate (dataset_item , from_attributes = True )
162169 except ResourceNotFoundError as e :
163170 raise HTTPException (status_code = status .HTTP_404_NOT_FOUND , detail = str (e ))
@@ -179,7 +186,7 @@ def get_dataset_item_binary(
179186 """Get dataset item binary content"""
180187 try :
181188 binary_path = dataset_service .get_dataset_item_binary_path_by_id (
182- project = project , dataset_item_id = dataset_item_id
189+ project_id = project . id , dataset_item_id = dataset_item_id
183190 )
184191 return FileResponse (path = binary_path )
185192 except ResourceNotFoundError as e :
@@ -281,7 +288,7 @@ def get_dataset_item_annotations(
281288) -> DatasetItemAnnotations :
282289 """Get the dataset item annotations"""
283290 try :
284- dataset_item = dataset_service .get_dataset_item_by_id (project = project , dataset_item_id = dataset_item_id )
291+ dataset_item = dataset_service .get_dataset_item_by_id (project_id = project . id , dataset_item_id = dataset_item_id )
285292 if dataset_item .annotation_data is None :
286293 raise HTTPException (
287294 status_code = status .HTTP_404_NOT_FOUND , detail = "Dataset item has not been annotated yet."
@@ -336,7 +343,7 @@ def assign_dataset_item_subset(
336343 """Assign dataset item subset"""
337344 try :
338345 dataset_item = dataset_service .assign_dataset_item_subset (
339- project = project , dataset_item_id = dataset_item_id , subset = subset_config .subset
346+ project_id = project . id , dataset_item_id = dataset_item_id , subset = subset_config .subset
340347 )
341348 return DatasetItemView .model_validate (dataset_item , from_attributes = True )
342349 except ResourceNotFoundError as e :
0 commit comments