Unverified Commit 4bc09c00 authored by mvdbeek's avatar mvdbeek
Browse files

Ensure that offset and limit are never negative

And set minimum limit consistently to 1 ... 0 doesn't seem to have much
utility but would also be an option.

Fixes part of https://github.com/galaxyproject/galaxy/issues/18043.
parent 8f4968f0
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -36,10 +36,11 @@ FolderIdPathParam = Annotated[
    Path(..., title="Folder ID", description="The encoded identifier of the library folder."),
]

LimitQueryParam: int = Query(default=10, title="Limit", description="Maximum number of contents to return.")
LimitQueryParam: int = Query(default=10, ge=1, title="Limit", description="Maximum number of contents to return.")

OffsetQueryParam: int = Query(
    default=0,
    ge=0,
    title="Offset",
    description="Return contents from this specified position. For example, if ``limit`` is set to 100 and ``offset`` to 200, contents between position 200-299 will be returned.",
)
+2 −1
Original line number Diff line number Diff line
@@ -161,10 +161,11 @@ SortByQueryParam: JobIndexSortByEnum = Query(
    description="Sort results by specified field.",
)

LimitQueryParam: int = Query(default=500, title="Limit", description="Maximum number of jobs to return.")
LimitQueryParam: int = Query(default=500, ge=1, title="Limit", description="Maximum number of jobs to return.")

OffsetQueryParam: int = Query(
    default=0,
    ge=0,
    title="Offset",
    description="Return jobs starting from this specified position. For example, if ``limit`` is set to 100 and ``offset`` to 200, jobs 200-299 will be returned.",
)
+2 −1
Original line number Diff line number Diff line
@@ -72,10 +72,11 @@ SortDescQueryParam: bool = Query(
    description="Sort in descending order?",
)

LimitQueryParam: int = Query(default=100, lt=1000, title="Limit number of queries.")
LimitQueryParam: int = Query(default=100, ge=1, lt=1000, title="Limit number of queries.")

OffsetQueryParam: int = Query(
    default=0,
    ge=0,
    title="Number of pages to skip in sorted query (to enable pagination).",
)

+4 −1
Original line number Diff line number Diff line
@@ -815,10 +815,11 @@ SortDescQueryParam: Optional[bool] = Query(
    description="Sort in descending order?",
)

LimitQueryParam: Optional[int] = Query(default=None, title="Limit number of queries.")
LimitQueryParam: Optional[int] = Query(default=None, ge=1, title="Limit number of queries.")

OffsetQueryParam: Optional[int] = Query(
    default=0,
    ge=0,
    title="Number of workflows to skip in sorted query (to enable pagination).",
)

@@ -1229,6 +1230,7 @@ InvocationsIncludeTerminalQueryParam = Annotated[
InvocationsLimitQueryParam = Annotated[
    Optional[int],
    Query(
        ge=1,
        title="Limit",
        description="Limit the number of invocations to return.",
    ),
@@ -1237,6 +1239,7 @@ InvocationsLimitQueryParam = Annotated[
InvocationsOffsetQueryParam = Annotated[
    Optional[int],
    Query(
        ge=0,
        title="Offset",
        description="Number of invocations to skip.",
    ),