from typing import Dict, Any, List from charts_messages.client.gate_api import GateApiClient from charts_messages.client.user_data_api import UserDataClient from charts_messages.constants import GetEventInclude def get_event_by_id(event_id: int) -> Dict[str, Any]: """Get event from User Data Api by event id with include to response "context", "meta" & "data" fields Args: event_id: int Returns: event Dict """ client = UserDataClient() include = [ GetEventInclude.DATA.value, GetEventInclude.CONTEXT.value, GetEventInclude.META.value ] return client.get_event(event_id, include) def get_active_users_by_isrc(isrc_list: List[str]) -> List[Dict[str, Any]]: """Get active users that have favorite tracks in passed isrc_list Args: isrc_list: Returns: """ client = GateApiClient() response = client.get_users(isrc_list=isrc_list) return response.get("data", []) def post_messages_to_user_data_api(messages: List[Dict[str, Any]]) -> Dict[str, Any]: """ Post created messages to user data api Args: messages: List of created messages Returns: """ client = UserDataClient() return client.post_messages(body=messages)