Restructuring
All checks were successful
Build on push / prepare (push) Successful in 8s
Build on push / query (push) Successful in 17s
Build on push / core (push) Successful in 26s
Build on push / translation (push) Successful in 15s
Build on push / mail (push) Successful in 17s

This commit is contained in:
2025-09-16 08:48:07 +02:00
parent 5f25400bcd
commit b97bc0a3ed
72 changed files with 261 additions and 185 deletions

View File

@@ -1,17 +1,18 @@
from typing import Optional
from cpl.core.application import ApplicationABC
from cpl.core.configuration import ConfigurationABC
from cpl.application import ApplicationABC
from cpl.core.configuration import Configuration
from cpl.core.console import Console
from cpl.core.dependency_injection import ServiceProviderABC
from cpl.core.environment import Environment
from cpl.dependency import ServiceProviderABC
from cpl.core.log import LoggerABC
from model.user_repo_abc import UserRepoABC
from model.user_repo import UserRepo
class Application(ApplicationABC):
def __init__(self, config: ConfigurationABC, services: ServiceProviderABC):
ApplicationABC.__init__(self, config, services)
def __init__(self, services: ServiceProviderABC):
ApplicationABC.__init__(self, services)
self._logger: Optional[LoggerABC] = None
@@ -19,10 +20,8 @@ class Application(ApplicationABC):
self._logger = self._services.get_service(LoggerABC)
def main(self):
self._logger.header(f"{self._configuration.environment.application_name}:")
self._logger.debug(f"Host: {self._configuration.environment.host_name}")
self._logger.debug(f"Environment: {self._configuration.environment.environment_name}")
self._logger.debug(f"Customer: {self._configuration.environment.customer}")
self._logger.debug(f"Host: {Environment.get_host_name()}")
self._logger.debug(f"Environment: {Environment.get_environment()}")
user_repo: UserRepo = self._services.get_service(UserRepoABC)
if len(user_repo.get_users()) == 0:

View File

@@ -1,4 +1,4 @@
from cpl.core.application import ApplicationBuilder
from cpl.application import ApplicationBuilder
from application import Application
from startup import Startup

View File

@@ -1,4 +1,4 @@
from cpl.core.database import TableABC
from cpl.database import TableABC
class CityModel(TableABC):

View File

@@ -1,5 +1,5 @@
from cpl.core.database import DatabaseSettings
from cpl.core.database.context import DatabaseContext
from cpl.database import DatabaseSettings
from cpl.database.context import DatabaseContext
class DBContext(DatabaseContext):

View File

@@ -1,4 +1,4 @@
from cpl.core.database import TableABC
from cpl.database import TableABC
from .city_model import CityModel

View File

@@ -1,5 +1,5 @@
from cpl.core.console import Console
from cpl.core.database.context import DatabaseContextABC
from cpl.database.context import DatabaseContextABC
from .city_model import CityModel
from .user_model import UserModel

View File

@@ -1,8 +1,8 @@
from cpl.core.application import StartupABC
from cpl.core.configuration import ConfigurationABC
from cpl.core.database import DatabaseSettings
from cpl.core.dependency_injection import ServiceCollectionABC, ServiceProviderABC
from cpl.core.environment import EnvironmentABC
from cpl.application import StartupABC
from cpl.core.configuration import Configuration
from cpl.database import DatabaseSettings
from cpl.dependency import ServiceCollectionABC, ServiceProviderABC
from cpl.core.environment import Environment
from cpl.core.log import Logger, LoggerABC
from model.db_context import DBContext
@@ -16,28 +16,18 @@ class Startup(StartupABC):
self._configuration = None
def configure_configuration(
self, configuration: ConfigurationABC, environment: EnvironmentABC
) -> ConfigurationABC:
configuration.add_environment_variables("PYTHON_")
configuration.add_environment_variables("CPL_")
def configure_configuration(self, configuration: Configuration, environment: Environment):
configuration.add_json_file(f"appsettings.json")
configuration.add_json_file(f"appsettings.{configuration.environment.environment_name}.json")
configuration.add_json_file(f"appsettings.{configuration.environment.host_name}.json", optional=True)
configuration.add_json_file(f"appsettings.{environment.get_environment()}.json")
configuration.add_json_file(f"appsettings.{environment.get_host_name()}.json", optional=True)
self._configuration = configuration
return configuration
def configure_services(
self, services: ServiceCollectionABC, environment: EnvironmentABC
) -> ServiceProviderABC:
def configure_services(self, services: ServiceCollectionABC, environment: Environment):
# Create and connect to database
self._configuration.parse_console_arguments(services)
db_settings: DatabaseSettings = self._configuration.get_configuration(DatabaseSettings)
db_settings: DatabaseSettings = self._configuration.get(DatabaseSettings)
services.add_db_context(DBContext, db_settings)
services.add_singleton(UserRepoABC, UserRepo)
services.add_singleton(LoggerABC, Logger)
return services.build_service_provider()