"""Match audio logic.""" from typing import Any from assets.constants import asset_types from assets.logic import product as product_logic from assets.models import match_audio as match_audio_model def get_match_audio_results(product_id: int) -> list[dict[str, Any]]: """Get match audio results for product.""" asset_final_items_with_asset_upload = ( product_logic.get_asset_final_items_with_asset_upload_by_product_id_v2( product_id, asset_final_asset_types_filter={asset_types.TYPE_FILE_FLAC}, ) ) if not asset_final_items_with_asset_upload: return [] asset_final_id_to_track_id = { asset_final_item_with_asset_upload["id"]: asset_final_item_with_asset_upload[ "asset_upload" ]["track_unique_id"] for asset_final_item_with_asset_upload in asset_final_items_with_asset_upload } return match_audio_model.get_match_audio_results(asset_final_id_to_track_id)