def api_client(db_session): return StacApi( settings=SqlalchemySettings(), client=CoreCrudClient(session=db_session), extensions=[ TransactionExtension(client=TransactionsClient(session=db_session)), ContextExtension(), SortExtension(), FieldsExtension(), QueryExtension(), ], )
def api_client(db_session): settings = SqlalchemySettings() return StacApi( settings=settings, client=CoreCrudClient(session=db_session), extensions=[ TransactionExtension(client=TransactionsClient(session=db_session), settings=settings), ContextExtension(), SortExtension(), FieldsExtension(), QueryExtension(), ], search_request_model=SQLAlchemySTACSearch, )
def tiles_extension_app(postgres_core, postgres_transactions, load_test_data): # Ingest test data for testing coll = Collection.parse_obj(load_test_data("test_collection.json")) postgres_transactions.create_collection(coll, request=MockStarletteRequest) item = Item.parse_obj(load_test_data("test_item.json")) postgres_transactions.create_item(item, request=MockStarletteRequest) settings = SqlalchemySettings() api = StacApi( settings=settings, client=postgres_core, extensions=[TilesExtension(TilesClient(postgres_core))], ) with TestClient(api.app) as test_app: yield test_app # Cleanup test data postgres_transactions.delete_item(item.id, request=MockStarletteRequest) postgres_transactions.delete_collection(coll.id, request=MockStarletteRequest)
def api_client(db_session): settings = SqlalchemySettings() extensions = [ TransactionExtension( client=TransactionsClient(session=db_session), settings=settings ), ContextExtension(), SortExtension(), FieldsExtension(), QueryExtension(), TokenPaginationExtension(), ] get_request_model = create_request_model( "SearchGetRequest", base_model=BaseSearchGetRequest, extensions=extensions, request_type="GET", ) post_request_model = create_request_model( "SearchPostRequest", base_model=BaseSearchPostRequest, extensions=extensions, request_type="POST", ) return StacApi( settings=settings, client=CoreCrudClient( session=db_session, extensions=extensions, post_request_model=post_request_model, ), extensions=extensions, search_get_request_model=get_request_model, search_post_request_model=post_request_model, )
from stac_fastapi.extensions.core import ( FieldsExtension, QueryExtension, SortExtension, TransactionExtension, ) from stac_fastapi.extensions.third_party import BulkTransactionExtension from stac_fastapi.sqlalchemy.config import SqlalchemySettings from stac_fastapi.sqlalchemy.core import CoreCrudClient from stac_fastapi.sqlalchemy.session import Session from stac_fastapi.sqlalchemy.transactions import ( BulkTransactionsClient, TransactionsClient, ) settings = SqlalchemySettings() session = Session.create_from_settings(settings) api = StacApi( settings=settings, extensions=[ TransactionExtension(client=TransactionsClient(session=session)), BulkTransactionExtension(client=BulkTransactionsClient( session=session)), FieldsExtension(), QueryExtension(), SortExtension(), ], client=CoreCrudClient(session=session), ) app = api.app