"""GraphQL logic.""" from typing import List from src.common.models.graphql import ProductMetadata from src.models.metadata import TrackParticipation def get_track_participations(product_metadata: ProductMetadata) -> List[TrackParticipation]: """Get track participations. Args: product_metadata: Product metadata. Returns: List of track participations. """ result = [] for track in product_metadata.product.tracks: for participation in track.participations: result.append( TrackParticipation( track_id=int(track.tuid), participant_id=participation.participant.uuid, participant_name=participation.participant.name, participant_participated_as=participation.participated_as, ) ) return result