Improved application structure
All checks were successful
Build on push / prepare (push) Successful in 11s
Build on push / core (push) Successful in 22s
Build on push / query (push) Successful in 22s
Build on push / dependency (push) Successful in 20s
Build on push / database (push) Successful in 20s
Build on push / translation (push) Successful in 20s
Build on push / application (push) Successful in 22s
Build on push / mail (push) Successful in 23s
Build on push / auth (push) Successful in 16s

This commit is contained in:
2025-09-17 19:23:14 +02:00
parent 504dc5e188
commit 8aaba22940
33 changed files with 200 additions and 381 deletions

View File

@@ -1,6 +1,4 @@
from typing import Optional
from cpl.application import ApplicationABC
from cpl.application.abc.application_abc import ApplicationABC
from cpl.auth import KeycloakAdmin
from cpl.core.console import Console
from cpl.core.environment import Environment
@@ -16,7 +14,7 @@ class Application(ApplicationABC):
def __init__(self, services: ServiceProviderABC):
ApplicationABC.__init__(self, services)
self._logger: Optional[LoggerABC] = None
self._logger: LoggerABC = services.get_service(LoggerABC)
async def test_daos(self):
userDao: UserDao = self._services.get_service(UserDao)
@@ -30,9 +28,6 @@ class Application(ApplicationABC):
Console.write_line(await userDao.get_all())
async def configure(self):
self._logger = self._services.get_service(LoggerABC)
async def main(self):
self._logger.debug(f"Host: {Environment.get_host_name()}")
self._logger.debug(f"Environment: {Environment.get_environment()}")

View File

@@ -3,15 +3,11 @@ from cpl.application import ApplicationBuilder
from startup import Startup
async def main():
app_builder = ApplicationBuilder(Application)
app_builder.use_startup(Startup)
app = await app_builder.build_async()
await app.run_async()
def main():
builder = ApplicationBuilder(Application).use_startup(Startup)
app = builder.build()
app.run()
if __name__ == "__main__":
import asyncio
loop = asyncio.get_event_loop()
loop.run_until_complete(main())
main()

View File

@@ -0,0 +1,15 @@
from application import Application
from cpl.application import ApplicationBuilder
from cpl.core.console import Console
from startup import Startup
def main():
builder = ApplicationBuilder(Application).use_startup(Startup)
app = builder.build()
app.run()
Console.write_line("Hello from main_simplified.py!")
if __name__ == "__main__":
main()

View File

@@ -1,5 +1,5 @@
from cpl import auth
from cpl.application.async_startup_abc import AsyncStartupABC
from cpl.application.abc.startup_abc import StartupABC
from cpl.auth import permission
from cpl.auth.permission.permissions_registry import PermissionsRegistry
from cpl.core.configuration import Configuration
@@ -15,16 +15,16 @@ from model.city_dao import CityDao
from model.user_dao import UserDao
class Startup(AsyncStartupABC):
class Startup(StartupABC):
def __init__(self):
AsyncStartupABC.__init__(self)
StartupABC.__init__(self)
async def configure_configuration(self, configuration: Configuration, environment: Environment):
configuration.add_json_file(f"appsettings.json")
configuration.add_json_file(f"appsettings.{environment.get_environment()}.json")
configuration.add_json_file(f"appsettings.{environment.get_host_name()}.json", optional=True)
async def configure_configuration(self):
Configuration.add_json_file(f"appsettings.json")
Configuration.add_json_file(f"appsettings.{Environment.get_environment()}.json")
Configuration.add_json_file(f"appsettings.{Environment.get_host_name()}.json", optional=True)
async def configure_services(self, services: ServiceCollection, environment: Environment):
async def configure_services(self, services: ServiceCollection):
services.add_module(mysql)
services.add_module(auth)
services.add_module(permission)
@@ -36,7 +36,7 @@ class Startup(AsyncStartupABC):
PermissionsRegistry.with_enum(CustomPermissions)
provider = services.build_service_provider()
provider = services.build()
migration_service: MigrationService = provider.get_service(MigrationService)
migration_service.with_directory("./scripts")