Skip to content

Commit 898baf6

Browse files
committed
update
1 parent 5990443 commit 898baf6

File tree

1 file changed

+30
-17
lines changed
  • stac_fastapi/elasticsearch/stac_fastapi/elasticsearch

1 file changed

+30
-17
lines changed

stac_fastapi/elasticsearch/stac_fastapi/elasticsearch/app.py

Lines changed: 30 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
"""FastAPI application."""
22

3+
import logging
34
import os
45
from contextlib import asynccontextmanager
56

@@ -21,6 +22,7 @@
2122
from stac_fastapi.core.rate_limit import setup_rate_limit
2223
from stac_fastapi.core.route_dependencies import get_route_dependencies
2324
from stac_fastapi.core.session import Session
25+
from stac_fastapi.core.utilities import get_bool_env
2426
from stac_fastapi.elasticsearch.config import ElasticsearchSettings
2527
from stac_fastapi.elasticsearch.database_logic import (
2628
DatabaseLogic,
@@ -46,6 +48,12 @@
4648
from stac_fastapi.sfeos_helpers.aggregation import EsAsyncBaseAggregationClient
4749
from stac_fastapi.sfeos_helpers.filter import EsAsyncBaseFiltersClient
4850

51+
logging.basicConfig(level=logging.INFO)
52+
logger = logging.getLogger(__name__)
53+
54+
TRANSACTIONS_EXTENSIONS = get_bool_env("ENABLE_TRANSACTIONS_EXTENSIONS", default=True)
55+
logger.info("TRANSACTIONS_EXTENSIONS is set to %s", TRANSACTIONS_EXTENSIONS)
56+
4957
settings = ElasticsearchSettings()
5058
session = Session.create_from_settings(settings)
5159

@@ -55,9 +63,8 @@
5563
client=EsAsyncBaseFiltersClient(database=database_logic)
5664
)
5765
filter_extension.conformance_classes.append(
58-
"http://www.opengis.net/spec/cql2/1.0/conf/advanced-comparison-operators"
66+
FilterConformanceClasses.ADVANCED_COMPARISON_OPERATORS
5967
)
60-
6168
aggregation_extension = AggregationExtension(
6269
client=EsAsyncBaseAggregationClient(
6370
database=database_logic, session=session, settings=settings
@@ -67,19 +74,6 @@
6774
aggregation_extension.GET = EsAggregationExtensionGetRequest
6875

6976
search_extensions = [
70-
TransactionExtension(
71-
client=TransactionsClient(
72-
database=database_logic, session=session, settings=settings
73-
),
74-
settings=settings,
75-
),
76-
BulkTransactionExtension(
77-
client=BulkTransactionsClient(
78-
database=database_logic,
79-
session=session,
80-
settings=settings,
81-
)
82-
),
8377
CollectionSearchExtension(),
8478
FieldsExtension(),
8579
QueryExtension(),
@@ -89,9 +83,28 @@
8983
FreeTextExtension(),
9084
]
9185

92-
extensions = [aggregation_extension] + search_extensions
86+
if TRANSACTIONS_EXTENSIONS:
87+
search_extensions.insert(
88+
0,
89+
TransactionExtension(
90+
client=TransactionsClient(
91+
database=database_logic, session=session, settings=settings
92+
),
93+
settings=settings,
94+
),
95+
)
96+
search_extensions.insert(
97+
1,
98+
BulkTransactionExtension(
99+
client=BulkTransactionsClient(
100+
database=database_logic,
101+
session=session,
102+
settings=settings,
103+
)
104+
),
105+
)
93106

94-
post_request_model = create_post_request_model(search_extensions)
107+
extensions = [aggregation_extension] + search_extensions
95108

96109
# Define the collection search extensions map
97110
cs_extensions_map = {

0 commit comments

Comments
 (0)