from __future__ import annotations
from typing import TYPE_CHECKING, Optional, Sequence
if TYPE_CHECKING:
from ...client_SYNC import Client
from ...models.message_SYNC import MailboxMessage, ComposedMessage, CommentMessage
from ...pagination.paginator_chaining_iterator import ImpartedPaginatorChainingIterator
from ...pagination.paginators.message_sync1 import (
MessageListingPaginator,
ComposedMessageListingPaginator,
CommentMessageListingPaginator,
ComposedMessageThreadListingPaginator,
)
[docs]class Pulls:
def __init__(self, client: Client) -> None:
self._client = client
[docs] def inbox(self, amount: Optional[int] = None) -> ImpartedPaginatorChainingIterator[MessageListingPaginator, MailboxMessage]:
p = MessageListingPaginator(self._client, '/message/inbox')
return ImpartedPaginatorChainingIterator(p, amount)
[docs] def unread(self, amount: Optional[int] = None) -> ImpartedPaginatorChainingIterator[MessageListingPaginator, MailboxMessage]:
p = MessageListingPaginator(self._client, '/message/unread')
return ImpartedPaginatorChainingIterator(p, amount)
[docs] def messages(self, amount: Optional[int] = None) -> ImpartedPaginatorChainingIterator[ComposedMessageThreadListingPaginator, Sequence[ComposedMessage]]:
p = ComposedMessageThreadListingPaginator(self._client, '/message/messages')
return ImpartedPaginatorChainingIterator(p, amount)
[docs] def sent(self, amount: Optional[int] = None) -> ImpartedPaginatorChainingIterator[ComposedMessageListingPaginator, ComposedMessage]:
p = ComposedMessageListingPaginator(self._client, '/message/sent')
return ImpartedPaginatorChainingIterator(p, amount)
[docs] def post_replies(self, amount: Optional[int] = None) -> ImpartedPaginatorChainingIterator[CommentMessageListingPaginator, CommentMessage]:
p = CommentMessageListingPaginator(self._client, '/message/selfreply')
return ImpartedPaginatorChainingIterator(p, amount)
[docs] def mentions(self, amount: Optional[int] = None) -> ImpartedPaginatorChainingIterator[CommentMessageListingPaginator, CommentMessage]:
p = CommentMessageListingPaginator(self._client, '/message/mentions')
return ImpartedPaginatorChainingIterator(p, amount)