"""Logic for fetching inconsistent records.""" from typing import List from src.common.logic.art_relations import fetch_ar_records_to_sync from src.common.logic.report_fetch import encode_records from src.common.logic.report_fetch import filter_report_type from src.common.logic.report_fetch import get_ids_per_table from src.common.models.metadata import InconsistencyReport from src.common.models.metadata import InconsistencyType from src.common.models.metadata import TrackTable def fetch_track_events(inconsistency_reports: List[InconsistencyReport]): """Fetch track events.""" inconsistency_report = filter_report_type( inconsistency_reports, InconsistencyType.BAD_LABEL_SOUND_RECORDINGS) pk_ids = get_ids_per_table(inconsistency_report, TrackTable) records_to_sync = fetch_ar_records_to_sync(TrackTable, pk_ids) return encode_records(records_to_sync)