|
1 | 1 | """FastAPI application."""
|
2 | 2 |
|
| 3 | +import logging |
3 | 4 | import os
|
4 | 5 | from contextlib import asynccontextmanager
|
5 | 6 |
|
|
23 | 24 | from stac_fastapi.core.rate_limit import setup_rate_limit
|
24 | 25 | from stac_fastapi.core.route_dependencies import get_route_dependencies
|
25 | 26 | from stac_fastapi.core.session import Session
|
| 27 | +from stac_fastapi.core.utilities import get_bool_env |
26 | 28 | from stac_fastapi.elasticsearch.config import ElasticsearchSettings
|
27 | 29 | from stac_fastapi.elasticsearch.database_logic import (
|
28 | 30 | DatabaseLogic,
|
|
39 | 41 | )
|
40 | 42 | from stac_fastapi.extensions.third_party import BulkTransactionExtension
|
41 | 43 |
|
| 44 | +logging.basicConfig(level=logging.INFO) |
| 45 | +logger = logging.getLogger(__name__) |
| 46 | + |
| 47 | +TRANSACTIONS_EXTENSIONS = get_bool_env("ENABLE_TRANSACTIONS_EXTENSIONS", default=True) |
| 48 | +logger.info("TRANSACTIONS_EXTENSIONS is set to %s", TRANSACTIONS_EXTENSIONS) |
| 49 | + |
42 | 50 | settings = ElasticsearchSettings()
|
43 | 51 | session = Session.create_from_settings(settings)
|
44 | 52 |
|
|
60 | 68 | aggregation_extension.GET = EsAggregationExtensionGetRequest
|
61 | 69 |
|
62 | 70 | search_extensions = [
|
63 |
| - TransactionExtension( |
64 |
| - client=TransactionsClient( |
65 |
| - database=database_logic, session=session, settings=settings |
66 |
| - ), |
67 |
| - settings=settings, |
68 |
| - ), |
69 |
| - BulkTransactionExtension( |
70 |
| - client=BulkTransactionsClient( |
71 |
| - database=database_logic, |
72 |
| - session=session, |
73 |
| - settings=settings, |
74 |
| - ) |
75 |
| - ), |
76 | 71 | FieldsExtension(),
|
77 | 72 | QueryExtension(),
|
78 | 73 | SortExtension(),
|
|
81 | 76 | FreeTextExtension(),
|
82 | 77 | ]
|
83 | 78 |
|
| 79 | +if TRANSACTIONS_EXTENSIONS: |
| 80 | + search_extensions.insert( |
| 81 | + 0, |
| 82 | + TransactionExtension( |
| 83 | + client=TransactionsClient( |
| 84 | + database=database_logic, session=session, settings=settings |
| 85 | + ), |
| 86 | + settings=settings, |
| 87 | + ), |
| 88 | + ) |
| 89 | + search_extensions.insert( |
| 90 | + 1, |
| 91 | + BulkTransactionExtension( |
| 92 | + client=BulkTransactionsClient( |
| 93 | + database=database_logic, |
| 94 | + session=session, |
| 95 | + settings=settings, |
| 96 | + ) |
| 97 | + ), |
| 98 | + ) |
| 99 | + |
84 | 100 | extensions = [aggregation_extension] + search_extensions
|
85 | 101 |
|
86 | 102 | database_logic.extensions = [type(ext).__name__ for ext in extensions]
|
|
0 commit comments