from cpl import mail from cpl.application.abc import StartupABC from cpl.core.configuration import Configuration from cpl.core.environment import Environment from cpl.core.pipes import IPAddressPipe from cpl.dependency import ServiceCollection from cpl.mail.mail_module import MailModule from hosted_service import Hosted from scoped_service import ScopedService from test_service import TestService class Startup(StartupABC): @staticmethod def configure_configuration(): 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) @staticmethod def configure_services(services: ServiceCollection): services.add_logging() services.add_module(MailModule) services.add_transient(IPAddressPipe) services.add_singleton(TestService) services.add_scoped(ScopedService) services.add_hosted_service(Hosted)