Skip to content

Commit b06e171

Browse files
fix pagination
1 parent 29f67ff commit b06e171

File tree

2 files changed

+5
-5
lines changed

2 files changed

+5
-5
lines changed

services/api-server/src/simcore_service_api_server/api/routes/solvers.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -257,7 +257,7 @@ async def list_solver_ports(
257257
product_name=product_name,
258258
)
259259

260-
return OnePage[SolverPort](items=ports)
260+
return OnePage[SolverPort].model_validate(dict(items=ports))
261261

262262

263263
@router.get(

services/api-server/src/simcore_service_api_server/models/pagination.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
MAXIMUM_NUMBER_OF_ITEMS_PER_PAGE,
1919
)
2020
from models_library.utils.pydantic_tools_extension import FieldNotRequired
21-
from pydantic import BaseModel, ConfigDict, NonNegativeInt, field_validator
21+
from pydantic import BaseModel, ConfigDict, NonNegativeInt, ValidationInfo, field_validator
2222

2323
T = TypeVar("T")
2424

@@ -50,12 +50,12 @@ class OnePage(BaseModel, Generic[T]):
5050
"""
5151

5252
items: Sequence[T]
53-
total: NonNegativeInt = FieldNotRequired()
53+
total: NonNegativeInt = FieldNotRequired(validate_default=True)
5454

5555
@field_validator("total", mode="before")
5656
@classmethod
57-
def check_total(cls, v, values):
58-
items = values["items"]
57+
def _check_total(cls, v, info: ValidationInfo):
58+
items = info.data.get("items", [])
5959
if v is None:
6060
return len(items)
6161

0 commit comments

Comments
 (0)