filter images by board_id

This commit is contained in:
maryhipp 2023-06-13 12:07:09 -07:00 committed by psychedelicious
parent a121e6b3a0
commit 6ca5ad9075
3 changed files with 11 additions and 0 deletions

View File

@ -221,6 +221,9 @@ async def list_images_with_metadata(
is_intermediate: Optional[bool] = Query( is_intermediate: Optional[bool] = Query(
default=None, description="Whether to list intermediate images" default=None, description="Whether to list intermediate images"
), ),
board_id: Optional[str] = Query(
default=None, description="The board of images to include"
),
offset: int = Query(default=0, description="The page offset"), offset: int = Query(default=0, description="The page offset"),
limit: int = Query(default=10, description="The number of images per page"), limit: int = Query(default=10, description="The number of images per page"),
) -> OffsetPaginatedResults[ImageDTO]: ) -> OffsetPaginatedResults[ImageDTO]:
@ -232,6 +235,7 @@ async def list_images_with_metadata(
image_origin, image_origin,
categories, categories,
is_intermediate, is_intermediate,
board_id
) )
return image_dtos return image_dtos

View File

@ -286,6 +286,7 @@ class SqliteImageRecordStorage(ImageRecordStorageBase):
image_origin: Optional[ResourceOrigin] = None, image_origin: Optional[ResourceOrigin] = None,
categories: Optional[list[ImageCategory]] = None, categories: Optional[list[ImageCategory]] = None,
is_intermediate: Optional[bool] = None, is_intermediate: Optional[bool] = None,
board_id: Optional[str] = None,
) -> OffsetPaginatedResults[ImageRecord]: ) -> OffsetPaginatedResults[ImageRecord]:
try: try:
self._lock.acquire() self._lock.acquire()
@ -317,6 +318,10 @@ class SqliteImageRecordStorage(ImageRecordStorageBase):
query_conditions += f"""AND is_intermediate = ?\n""" query_conditions += f"""AND is_intermediate = ?\n"""
query_params.append(is_intermediate) query_params.append(is_intermediate)
if board_id is not None:
query_conditions += f"""AND board_id = ?\n"""
query_params.append(board_id)
query_pagination = f"""ORDER BY created_at DESC LIMIT ? OFFSET ?\n""" query_pagination = f"""ORDER BY created_at DESC LIMIT ? OFFSET ?\n"""
# Final images query with pagination # Final images query with pagination

View File

@ -322,6 +322,7 @@ class ImageService(ImageServiceABC):
image_origin: Optional[ResourceOrigin] = None, image_origin: Optional[ResourceOrigin] = None,
categories: Optional[list[ImageCategory]] = None, categories: Optional[list[ImageCategory]] = None,
is_intermediate: Optional[bool] = None, is_intermediate: Optional[bool] = None,
board_id: Optional[str] = None,
) -> OffsetPaginatedResults[ImageDTO]: ) -> OffsetPaginatedResults[ImageDTO]:
try: try:
results = self._services.records.get_many( results = self._services.records.get_many(
@ -330,6 +331,7 @@ class ImageService(ImageServiceABC):
image_origin, image_origin,
categories, categories,
is_intermediate, is_intermediate,
board_id
) )
image_dtos = list( image_dtos = list(