from typing import List, Dict, Any, Union from smelog.factory import BoundLogger from charts_messages.config import EVENT from charts_messages.constants import Changelog from charts_messages.handlers import get_event_handler from charts_messages.utils import handle_diff_source_events def handler(logger: BoundLogger, event: Union[List[Dict[str, Any]], Dict[str, Any]]): """Lambda job. Args: logger: Logger instance. event: List[Lambda event obj]. Returns: JSON serializable response """ event_handler = get_event_handler(Changelog(EVENT)) logger.info(f"The main handler for EVENT: {EVENT} IS: {event_handler.__name__}") events = handle_diff_source_events(logger, event) event_handler(events, logger)