Skip to content

Commit 2c584f8

Browse files
[backport] fix output types (#868)
* [backport] fix output types * fix changelog
1 parent 045be75 commit 2c584f8

File tree

4 files changed

+939
-488
lines changed

4 files changed

+939
-488
lines changed

CHANGES.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,12 @@
22

33
## [Unreleased]
44

5+
## [6.1.2] - 2025-12-09
6+
7+
### Fixed
8+
9+
- fixed output type for `api.models.create_request_model` and `api.models.create_get_request_model` methods
10+
511
## [6.1.1] - 2025-11-23
612

713
### Fixed
@@ -672,7 +678,8 @@ Full changelog: https://stac-utils.github.io/stac-fastapi/migrations/v3.0.0/#cha
672678

673679
* First PyPi release!
674680

675-
[Unreleased]: <https://github.com/stac-utils/stac-fastapi/compare/6.1.1..main>
681+
[Unreleased]: <https://github.com/stac-utils/stac-fastapi/compare/6.1.2..main>
682+
[6.1.2]: <https://github.com/stac-utils/stac-fastapi/compare/6.1.1..6.1.2>
676683
[6.1.1]: <https://github.com/stac-utils/stac-fastapi/compare/6.1.0..6.1.1>
677684
[6.1.0]: <https://github.com/stac-utils/stac-fastapi/compare/6.0.0..6.1.0>
678685
[6.0.0]: <https://github.com/stac-utils/stac-fastapi/compare/5.2.1..6.0.0>

stac_fastapi/api/stac_fastapi/api/models.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ def create_request_model(
3333
extensions: Optional[List[ApiExtension]] = None,
3434
mixins: Optional[Union[List[Type[BaseModel]], List[Type[APIRequest]]]] = None,
3535
request_type: Optional[str] = "GET",
36-
) -> Union[Type[BaseModel], APIRequest]:
36+
) -> Union[Type[BaseModel], Type[APIRequest]]:
3737
"""Create a pydantic model for validating request bodies."""
3838
fields = {}
3939
extension_models = []
@@ -65,7 +65,7 @@ def create_request_model(
6565
def create_get_request_model(
6666
extensions: Optional[List[ApiExtension]],
6767
base_model: BaseSearchGetRequest = BaseSearchGetRequest,
68-
) -> APIRequest:
68+
) -> Type[APIRequest]:
6969
"""Wrap create_request_model to create the GET request model."""
7070

7171
return create_request_model(

stac_fastapi/api/tests/test_models.py

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,18 +3,24 @@
33
import pytest
44
from fastapi import Depends, FastAPI, HTTPException
55
from fastapi.testclient import TestClient
6-
from pydantic import ValidationError
6+
from pydantic import BaseModel, ValidationError
77

88
from stac_fastapi.api.models import create_get_request_model, create_post_request_model
99
from stac_fastapi.extensions.core import FieldsExtension, FilterExtension, SortExtension
10-
from stac_fastapi.types.search import BaseSearchGetRequest, BaseSearchPostRequest
10+
from stac_fastapi.types.search import (
11+
APIRequest,
12+
BaseSearchGetRequest,
13+
BaseSearchPostRequest,
14+
)
1115

1216

1317
def test_create_get_request_model():
1418
request_model = create_get_request_model(
1519
extensions=[FilterExtension(), FieldsExtension()],
1620
base_model=BaseSearchGetRequest,
1721
)
22+
assert type(request_model) is type
23+
assert issubclass(request_model, APIRequest)
1824

1925
model = request_model(
2026
collections="test1,test2",
@@ -96,6 +102,7 @@ def test_create_post_request_model(filter_val, passes):
96102
extensions=[FilterExtension(), FieldsExtension()],
97103
base_model=BaseSearchPostRequest,
98104
)
105+
assert issubclass(request_model, BaseModel)
99106

100107
if not passes:
101108
with pytest.raises(ValidationError):

0 commit comments

Comments
 (0)