"""Sound Recording metadata logic.""" from oto import response as oto_response from sound_recordings.logic import permissions from sound_recordings.models import track_metadata as track_metadata_model from sound_recordings.schemas.sound_recording_metadata import ( SoundRecordingMetadataSchema, ) def get_sound_recording_metadata(request_context, isrc, include_deleted=False): """Return metadata for a sound recording. Args: request_context (RequestContext): RequestContext class isrc (str): ISRC of track to get metadata for Returns: oto.response.Response: track metadata """ permissions_filter = permissions.get_permissions_filter( request_context, filter_by_feed_ids=False ) metadata = track_metadata_model.get_track_metadata( permissions_filter, isrc, include_deleted ) if not metadata: return oto_response.Response(status=404) return oto_response.Response( SoundRecordingMetadataSchema.normalize(metadata, permissions_filter) )