feat(api): add order_by and order_dir to list images for sorting

This commit is contained in:
maryhipp
2024-06-27 12:21:23 -04:00
committed by psychedelicious
parent 6109a06f04
commit f268fe126e
6 changed files with 47 additions and 5 deletions

View File

@ -9,9 +9,15 @@ from PIL import Image
from pydantic import BaseModel, Field, JsonValue
from invokeai.app.invocations.fields import MetadataField
from invokeai.app.services.image_records.image_records_common import ImageCategory, ImageRecordChanges, ResourceOrigin
from invokeai.app.services.image_records.image_records_common import (
ImageCategory,
ImageRecordChanges,
OrderByOptions,
ResourceOrigin,
)
from invokeai.app.services.images.images_common import ImageDTO, ImageUrlsDTO
from invokeai.app.services.shared.pagination import OffsetPaginatedResults
from invokeai.app.services.shared.sqlite.sqlite_common import SQLiteDirection
from ..dependencies import ApiDependencies
@ -316,12 +322,16 @@ async def list_image_dtos(
),
offset: int = Query(default=0, description="The page offset"),
limit: int = Query(default=10, description="The number of images per page"),
order_by: OrderByOptions = Query(default=OrderByOptions.CREATED_AT, description="The way to sort the images"),
order_dir: SQLiteDirection = Query(default=SQLiteDirection.Descending, description="The order of sort"),
) -> OffsetPaginatedResults[ImageDTO]:
"""Gets a list of image DTOs"""
image_dtos = ApiDependencies.invoker.services.images.get_many(
offset,
limit,
order_by,
order_dir,
image_origin,
categories,
is_intermediate,