Source code for q2_smart.ts_endpoints.audience

from .base import CallType, TSEndpoint
from .decorators import authenticate
from .models.audience_list import AudienceList
from .mocks import audience_data
from .constants import TS, AUD, LIST, COUNT


[docs] class Audience(TSEndpoint):
[docs] @authenticate async def get(self) -> AudienceList: response = await self._send_request( f"{TS}/{AUD}", CallType.GET, mock_response=self.mock_get_audiences ) return AudienceList.from_list(response.json())
@property def mock_get_audiences(self) -> dict: return audience_data.get_audience_list_mock()
[docs] @authenticate async def get_users(self, audience_id: str) -> list[int]: response = await self._send_request( f"{TS}/{AUD}/{audience_id}/{LIST}", CallType.GET, mock_response=self.mock_audience_users, ) return response.json()
@property def mock_audience_users(self) -> list[int]: return audience_data.get_audience_users_mock()
[docs] @authenticate async def get_count(self, audience_id: str) -> int: response = await self._send_request( f"{TS}/{AUD}/{audience_id}/{COUNT}", CallType.GET, mock_response=self.mock_audience_count, ) return int(response.text)
@property def mock_audience_count(self) -> int: return audience_data.get_audience_users_count_mock()