implement devmode

This commit is contained in:
David Rodenkirchen 2024-08-28 22:16:15 +02:00
parent e9f3e78cbd
commit e3359229ec
4 changed files with 18 additions and 4 deletions

View File

@ -24,3 +24,5 @@
[seating]
base_svg_path=""
dev_mode_active=false # Supresses E-Mail sending

View File

@ -22,7 +22,7 @@ def init_services() -> tuple[AccountingService, CateringService, ConfigurationSe
user_service = UserService(db_service)
accounting_service = AccountingService(db_service)
news_service = NewsService(db_service)
mailing_service = MailingService(configuration_service.get_mailing_service_configuration())
mailing_service = MailingService(configuration_service)
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)

View File

@ -93,3 +93,7 @@ class ConfigurationService:
@property
def APP_VERSION(self) -> str:
return self._version
@property
def DEV_MODE_ACTIVE(self) -> bool:
return self._config["dev_mode_active"]

View File

@ -1,16 +1,24 @@
import logging
from email.message import EmailMessage
from asyncio import sleep
import aiosmtplib
from src.ez_lan_manager.types.ConfigurationTypes import MailingServiceConfiguration
from src.ez_lan_manager.services.ConfigurationService import ConfigurationService
logger = logging.getLogger(__name__.split(".")[-1])
class MailingService:
def __init__(self, configuration: MailingServiceConfiguration):
self._config = configuration
def __init__(self, configuration_service: ConfigurationService):
self._configuration_service = configuration_service
self._config = self._configuration_service.get_mailing_service_configuration()
async def send_email(self, subject: str, body: str, receiver: str) -> None:
if self._configuration_service.DEV_MODE_ACTIVE:
logger.info(f"Skipped sending mail to {receiver} because demo mode is active.")
await sleep(1)
return
try:
message = EmailMessage()
message["From"] = self._config.sender