Skip to content

Commit 270e03d

Browse files
move pagination models to extensions submodule (#717)
* move pagination models to extensions submodule * remove models from api * update changelog * update changelog --------- Co-authored-by: Jonathan Healy <[email protected]>
1 parent 1916d44 commit 270e03d

File tree

5 files changed

+42
-28
lines changed

5 files changed

+42
-28
lines changed

CHANGES.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22

33
## [Unreleased] - TBD
44

5+
### Changed
6+
7+
* moved `GETPagination`, `POSTPagination`, `GETTokenPagination` and `POSTTokenPagination` to `stac_fastapi.extensions.core.pagination.request` submodule [#717](https://github.com/stac-utils/stac-fastapi/pull/717)
8+
59
## [3.0.0a4] - 2024-06-27
610

711
### Fixed

stac_fastapi/api/stac_fastapi/api/models.py

Lines changed: 0 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -110,32 +110,6 @@ class ItemCollectionUri(CollectionUri):
110110
datetime: Optional[DateTimeType] = attr.ib(default=None, converter=str_to_interval)
111111

112112

113-
class POSTTokenPagination(BaseModel):
114-
"""Token pagination model for POST requests."""
115-
116-
token: Optional[str] = None
117-
118-
119-
@attr.s
120-
class GETTokenPagination(APIRequest):
121-
"""Token pagination for GET requests."""
122-
123-
token: Optional[str] = attr.ib(default=None)
124-
125-
126-
class POSTPagination(BaseModel):
127-
"""Page based pagination for POST requests."""
128-
129-
page: Optional[str] = None
130-
131-
132-
@attr.s
133-
class GETPagination(APIRequest):
134-
"""Page based pagination for GET requests."""
135-
136-
page: Optional[str] = attr.ib(default=None)
137-
138-
139113
# Test for ORJSON and use it rather than stdlib JSON where supported
140114
if importlib.util.find_spec("orjson") is not None:
141115
from fastapi.responses import ORJSONResponse

stac_fastapi/extensions/stac_fastapi/extensions/core/pagination/pagination.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,10 @@
55
import attr
66
from fastapi import FastAPI
77

8-
from stac_fastapi.api.models import GETPagination, POSTPagination
98
from stac_fastapi.types.extension import ApiExtension
109

10+
from .request import GETPagination, POSTPagination
11+
1112

1213
@attr.s
1314
class PaginationExtension(ApiExtension):
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
"""Pagination extension request models."""
2+
3+
from typing import Optional
4+
5+
import attr
6+
from pydantic import BaseModel
7+
8+
from stac_fastapi.types.search import APIRequest
9+
10+
11+
@attr.s
12+
class GETTokenPagination(APIRequest):
13+
"""Token pagination for GET requests."""
14+
15+
token: Optional[str] = attr.ib(default=None)
16+
17+
18+
class POSTTokenPagination(BaseModel):
19+
"""Token pagination model for POST requests."""
20+
21+
token: Optional[str] = None
22+
23+
24+
@attr.s
25+
class GETPagination(APIRequest):
26+
"""Page based pagination for GET requests."""
27+
28+
page: Optional[str] = attr.ib(default=None)
29+
30+
31+
class POSTPagination(BaseModel):
32+
"""Page based pagination for POST requests."""
33+
34+
page: Optional[str] = None

stac_fastapi/extensions/stac_fastapi/extensions/core/pagination/token_pagination.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,10 @@
55
import attr
66
from fastapi import FastAPI
77

8-
from stac_fastapi.api.models import GETTokenPagination, POSTTokenPagination
98
from stac_fastapi.types.extension import ApiExtension
109

10+
from .request import GETTokenPagination, POSTTokenPagination
11+
1112

1213
@attr.s
1314
class TokenPaginationExtension(ApiExtension):

0 commit comments

Comments
 (0)