"""Lambda fetch-track-participations function module.""" from lambdacommon.common_config import logger from src.common.models.metadata import InconsistencyReport from src.common.utils import data_as_kinesis_records from src.logic.consistency_fetch import fetch_track_events def handler(event, context): """Lambda entry point.""" try: inconsistency_reports = [ InconsistencyReport(**report) for report in event['reports'] ] encoded_sync_records = fetch_track_events(inconsistency_reports) return { 'status': 'OK', 'Records': data_as_kinesis_records(encoded_sync_records) } except Exception as e: logger.exception(str(e)) raise e