|
17 | 17 | create_request_model, |
18 | 18 | ) |
19 | 19 | from stac_fastapi.extensions.core import ( |
20 | | - CollectionSearchExtension, |
21 | 20 | FieldsExtension, |
22 | 21 | FilterExtension, |
23 | 22 | SortExtension, |
24 | 23 | TokenPaginationExtension, |
25 | 24 | TransactionExtension, |
26 | 25 | ) |
27 | | -from stac_fastapi.extensions.core.collection_search.request import ( |
28 | | - BaseCollectionSearchGetRequest, |
29 | | -) |
| 26 | +from stac_fastapi.extensions.core.collection_search import CollectionSearchExtension |
30 | 27 | from stac_fastapi.extensions.third_party import BulkTransactionExtension |
31 | 28 |
|
32 | 29 | from stac_fastapi.pgstac.config import Settings |
|
52 | 49 | "bulk_transactions": BulkTransactionExtension(client=BulkTransactionsClient()), |
53 | 50 | } |
54 | 51 |
|
55 | | -collections_extensions_map = { |
56 | | - "collection_search": CollectionSearchExtension(), |
57 | | -} |
58 | | - |
59 | 52 | if enabled_extensions := os.getenv("ENABLED_EXTENSIONS"): |
60 | 53 | _enabled_extensions = enabled_extensions.split(",") |
61 | 54 | extensions = [ |
62 | 55 | extension |
63 | 56 | for key, extension in extensions_map.items() |
64 | 57 | if key in _enabled_extensions |
65 | 58 | ] |
66 | | - collection_extensions = [ |
67 | | - extension |
68 | | - for key, extension in collections_extensions_map.items() |
69 | | - if key in _enabled_extensions |
70 | | - ] |
71 | 59 | else: |
| 60 | + _enabled_extensions = list(extensions_map.keys()) + ["collection_search"] |
72 | 61 | extensions = list(extensions_map.values()) |
73 | | - collection_extensions = list(collections_extensions_map.values()) |
74 | 62 |
|
75 | 63 |
|
76 | 64 | if any(isinstance(ext, TokenPaginationExtension) for ext in extensions): |
|
83 | 71 | else: |
84 | 72 | items_get_request_model = ItemCollectionUri |
85 | 73 |
|
86 | | -if any(isinstance(ext, CollectionSearchExtension) for ext in collection_extensions): |
87 | | - collections_get_request_model = create_request_model( |
88 | | - model_name="CollectionsGetRequest", |
89 | | - base_model=BaseCollectionSearchGetRequest, |
90 | | - extensions=extensions, |
91 | | - request_type="GET", |
92 | | - ) |
| 74 | +if "collection_search" in _enabled_extensions: |
| 75 | + collection_extension = CollectionSearchExtension() |
| 76 | + collections_get_request_model = collection_extension.GET |
| 77 | + extensions.append(collection_extension) |
93 | 78 | else: |
94 | 79 | collections_get_request_model = EmptyRequest |
95 | 80 |
|
|
98 | 83 |
|
99 | 84 | api = StacApi( |
100 | 85 | settings=settings, |
101 | | - extensions=extensions + collection_extensions, |
| 86 | + extensions=extensions, |
102 | 87 | client=CoreCrudClient(post_request_model=post_request_model), # type: ignore |
103 | 88 | response_class=ORJSONResponse, |
104 | 89 | items_get_request_model=items_get_request_model, |
|
0 commit comments