def create_dao() -> TechnologyDao: repository = CosmosDBRepository.from_definition( container_definition, mapper=TechnologyCosmosDBModel ) class TechnologyCosmosDBDao(APICosmosDBDao, TechnologyDao): def __init__(self): CosmosDBDao.__init__(self, repository) return TechnologyCosmosDBDao()
def __init__(self, collection_id, app_id): self.collection_id = collection_id self.app_id = app_id migrations_definition = { 'id': collection_id, 'partition_key': PartitionKey(path='/app_id'), 'unique_key_policy': { 'uniqueKeys': [ { 'paths': ['/name'] }, ] } } cosmos_helper.create_container_if_not_exists(migrations_definition) self.repository = CosmosDBRepository.from_definition( migrations_definition)
def cosmos_db_repository(app: Flask, cosmos_db_model) -> CosmosDBRepository: with app.app_context(): from commons.data_access_layer.cosmos_db import init_app, cosmos_helper if cosmos_helper is None: init_app(app) from commons.data_access_layer.cosmos_db import cosmos_helper app.logger.info("Creating Cosmos DB test models...") cosmos_helper.create_container_if_not_exists(cosmos_db_model) app.logger.info("Cosmos DB test models created!") yield CosmosDBRepository.from_definition(cosmos_db_model) app.logger.info("Removing Cosmos DB test models...") cosmos_helper.delete_container(cosmos_db_model["id"]) app.logger.info("Cosmos DB test models removed!")
def create_dao() -> ProjectTypeDao: repository = CosmosDBRepository.from_definition( container_definition, mapper=ProjectTypeCosmosDBModel ) return ProjectTypeCosmosDBDao(repository)