31 lines
1.9 KiB
Python
31 lines
1.9 KiB
Python
import logging
|
|
|
|
from from_root import from_root
|
|
|
|
from src.ez_lan_manager.services import *
|
|
from src.ez_lan_manager.services.AccountingService import AccountingService
|
|
from src.ez_lan_manager.services.CateringService import CateringService
|
|
from src.ez_lan_manager.services.ConfigurationService import ConfigurationService
|
|
from src.ez_lan_manager.services.DatabaseService import DatabaseService
|
|
from src.ez_lan_manager.services.MailingService import MailingService
|
|
from src.ez_lan_manager.services.NewsService import NewsService
|
|
from src.ez_lan_manager.services.SeatingService import SeatingService
|
|
from src.ez_lan_manager.services.TicketingService import TicketingService
|
|
from src.ez_lan_manager.services.UserService import UserService
|
|
from src.ez_lan_manager.types import *
|
|
|
|
# Inits services in the correct order
|
|
def init_services() -> tuple[AccountingService, CateringService, ConfigurationService, DatabaseService, MailingService, NewsService, SeatingService, TicketingService, UserService]:
|
|
logging.basicConfig(level=logging.DEBUG)
|
|
configuration_service = ConfigurationService(from_root("config.toml"))
|
|
db_service = DatabaseService(configuration_service.get_database_configuration())
|
|
user_service = UserService(db_service)
|
|
accounting_service = AccountingService(db_service)
|
|
news_service = NewsService(db_service)
|
|
mailing_service = MailingService(configuration_service.get_mailing_service_configuration())
|
|
ticketing_service = TicketingService(configuration_service.get_lan_info(), db_service, accounting_service)
|
|
seating_service = SeatingService(configuration_service.get_seating_configuration(), configuration_service.get_lan_info(), db_service, ticketing_service)
|
|
catering_service = CateringService(db_service, accounting_service, user_service)
|
|
|
|
return accounting_service, catering_service, configuration_service, db_service, mailing_service, news_service, seating_service, ticketing_service, user_service
|