Renamed cpl to cpl_core & added config and services as arguments to startup

This commit is contained in:
2021-08-07 11:21:30 +02:00
parent cac80657df
commit 1c6794dc40
24 changed files with 83 additions and 78 deletions

View File

@@ -2,6 +2,7 @@ from cpl_core.application.startup_abc import StartupABC
from cpl_core.configuration.configuration_abc import ConfigurationABC
from cpl_core.dependency_injection.service_collection_abc import ServiceCollectionABC
from cpl_core.dependency_injection.service_provider_abc import ServiceProviderABC
from cpl_core.environment import ApplicationEnvironmentABC
from cpl_core.logging.logger_service import Logger
from cpl_core.logging.logger_abc import LoggerABC
from cpl_core.mailing.email_client_service import EMailClient
@@ -11,24 +12,21 @@ from test_service import TestService
class Startup(StartupABC):
def __init__(self, config: ConfigurationABC, services: ServiceCollectionABC):
def __init__(self):
StartupABC.__init__(self)
self._configuration = config
self._services = services
def configure_configuration(self, config: ConfigurationABC, env: ApplicationEnvironmentABC) -> ConfigurationABC:
config.add_environment_variables('PYTHON_')
config.add_environment_variables('CPL_')
config.add_json_file(f'appsettings.json')
config.add_json_file(f'appsettings.{config.environment.environment_name}.json')
config.add_json_file(f'appsettings.{config.environment.host_name}.json', optional=True)
def configure_configuration(self) -> ConfigurationABC:
self._configuration.add_environment_variables('PYTHON_')
self._configuration.add_environment_variables('CPL_')
self._configuration.add_json_file(f'appsettings.json')
self._configuration.add_json_file(f'appsettings.{self._configuration.environment.environment_name}.json')
self._configuration.add_json_file(f'appsettings.{self._configuration.environment.host_name}.json', optional=True)
return config
return self._configuration
def configure_services(self, services: ServiceCollectionABC, env: ApplicationEnvironmentABC) -> ServiceProviderABC:
services.add_singleton(LoggerABC, Logger)
services.add_singleton(EMailClientABC, EMailClient)
services.add_singleton(TestService)
def configure_services(self) -> ServiceProviderABC:
self._services.add_singleton(LoggerABC, Logger)
self._services.add_singleton(EMailClientABC, EMailClient)
self._services.add_singleton(TestService)
return self._services.build_service_provider()
return services.build_service_provider()