from apollo_utils.core.constants.dsp import DSP from datetime import date from typing import Any, Dict, List, Optional from server.constants.playlists.delphi.by_api.track_positions_playlists import TrackPositionsPlaylists from server.scenarios.playlists.by_track.extended.common import get_track_playlists_extended async def get_track_in_playlist_position_change( dsp: DSP, isrc: str, playlist_id: str, start_date: date, end_date: date, country_code: Optional[List[str]] = None ) -> List[Dict[str, Any]]: """Get Track In Playlist position and track count for specified date range Args: dsp: isrc: ISRC. playlist_id: start_date: end_date: country_code: Returns: Track """ result = await get_track_playlists_extended( dsp=dsp, isrc=isrc, playlist_id=playlist_id, start_date=start_date, end_date=end_date, country_code=country_code, sort_order=[TrackPositionsPlaylists.SORT_ORDER.ASC], sort_by=[TrackPositionsPlaylists.SORT_BY.DATE], delphi_include=[TrackPositionsPlaylists.INCLUDE.NUM_TRACKS], ) return result["items"]