Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion getstream/chat/async_channel.py
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ async def update(
invites: Optional[List[ChannelMemberRequest]] = None,
remove_filter_tags: Optional[List[str]] = None,
remove_members: Optional[List[str]] = None,
data: Optional[ChannelInput] = None,
data: Optional[ChannelInputRequest] = None,
message: Optional[MessageRequest] = None,
user: Optional[UserRequest] = None,
) -> StreamResponse[UpdateChannelResponse]:
Expand Down Expand Up @@ -330,6 +330,7 @@ async def truncate(
async def mark_unread(
self,
message_id: Optional[str] = None,
message_timestamp: Optional[datetime] = None,
thread_id: Optional[str] = None,
user_id: Optional[str] = None,
user: Optional[UserRequest] = None,
Expand All @@ -338,6 +339,7 @@ async def mark_unread(
type=self.channel_type,
id=self.channel_id,
message_id=message_id,
message_timestamp=message_timestamp,
thread_id=thread_id,
user_id=user_id,
user=user,
Expand Down
61 changes: 53 additions & 8 deletions getstream/chat/async_rest_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -113,21 +113,27 @@ async def query_channels(
member_limit: Optional[int] = None,
message_limit: Optional[int] = None,
offset: Optional[int] = None,
predefined_filter: Optional[str] = None,
state: Optional[bool] = None,
user_id: Optional[str] = None,
sort: Optional[List[SortParamRequest]] = None,
filter_conditions: Optional[Dict[str, object]] = None,
filter_values: Optional[Dict[str, object]] = None,
sort_values: Optional[Dict[str, object]] = None,
user: Optional[UserRequest] = None,
) -> StreamResponse[QueryChannelsResponse]:
json = build_body_dict(
limit=limit,
member_limit=member_limit,
message_limit=message_limit,
offset=offset,
predefined_filter=predefined_filter,
state=state,
user_id=user_id,
sort=sort,
filter_conditions=filter_conditions,
filter_values=filter_values,
sort_values=sort_values,
user=user,
)
return await self.post(
Expand All @@ -143,6 +149,21 @@ async def delete_channels(
"/api/v2/chat/channels/delete", DeleteChannelsResponse, json=json
)

@telemetry.operation_name("getstream.api.chat.mark_delivered")
async def mark_delivered(
self,
user_id: Optional[str] = None,
latest_delivered_messages: Optional[List[DeliveredMessagePayload]] = None,
) -> StreamResponse[MarkDeliveredResponse]:
query_params = build_query_param(user_id=user_id)
json = build_body_dict(latest_delivered_messages=latest_delivered_messages)
return await self.post(
"/api/v2/chat/channels/delivered",
MarkDeliveredResponse,
query_params=query_params,
json=json,
)

@telemetry.operation_name("getstream.api.chat.mark_channels_read")
async def mark_channels_read(
self,
Expand Down Expand Up @@ -246,7 +267,7 @@ async def update_channel(
invites: Optional[List[ChannelMemberRequest]] = None,
remove_filter_tags: Optional[List[str]] = None,
remove_members: Optional[List[str]] = None,
data: Optional[ChannelInput] = None,
data: Optional[ChannelInputRequest] = None,
message: Optional[MessageRequest] = None,
user: Optional[UserRequest] = None,
) -> StreamResponse[UpdateChannelResponse]:
Expand Down Expand Up @@ -619,6 +640,7 @@ async def mark_unread(
type: str,
id: str,
message_id: Optional[str] = None,
message_timestamp: Optional[datetime] = None,
thread_id: Optional[str] = None,
user_id: Optional[str] = None,
user: Optional[UserRequest] = None,
Expand All @@ -628,7 +650,11 @@ async def mark_unread(
"id": id,
}
json = build_body_dict(
message_id=message_id, thread_id=thread_id, user_id=user_id, user=user
message_id=message_id,
message_timestamp=message_timestamp,
thread_id=thread_id,
user_id=user_id,
user=user,
)
return await self.post(
"/api/v2/chat/channels/{type}/{id}/unread",
Expand Down Expand Up @@ -660,6 +686,7 @@ async def create_channel_type(
partition_size: Optional[int] = None,
partition_ttl: Optional[str] = None,
polls: Optional[bool] = None,
push_level: Optional[str] = None,
push_notifications: Optional[bool] = None,
reactions: Optional[bool] = None,
read_events: Optional[bool] = None,
Expand Down Expand Up @@ -693,6 +720,7 @@ async def create_channel_type(
partition_size=partition_size,
partition_ttl=partition_ttl,
polls=polls,
push_level=push_level,
push_notifications=push_notifications,
reactions=reactions,
read_events=read_events,
Expand Down Expand Up @@ -753,6 +781,7 @@ async def update_channel_type(
partition_size: Optional[int] = None,
partition_ttl: Optional[str] = None,
polls: Optional[bool] = None,
push_level: Optional[str] = None,
push_notifications: Optional[bool] = None,
quotes: Optional[bool] = None,
reactions: Optional[bool] = None,
Expand Down Expand Up @@ -791,6 +820,7 @@ async def update_channel_type(
partition_size=partition_size,
partition_ttl=partition_ttl,
polls=polls,
push_level=push_level,
push_notifications=push_notifications,
quotes=quotes,
reactions=reactions,
Expand Down Expand Up @@ -1007,6 +1037,7 @@ async def update_message_partial(
self,
id: str,
skip_enrich_url: Optional[bool] = None,
skip_push: Optional[bool] = None,
user_id: Optional[str] = None,
unset: Optional[List[str]] = None,
set: Optional[Dict[str, object]] = None,
Expand All @@ -1017,6 +1048,7 @@ async def update_message_partial(
}
json = build_body_dict(
skip_enrich_url=skip_enrich_url,
skip_push=skip_push,
user_id=user_id,
unset=unset,
set=set,
Expand All @@ -1036,14 +1068,14 @@ async def run_message_action(
form_data: Dict[str, str],
user_id: Optional[str] = None,
user: Optional[UserRequest] = None,
) -> StreamResponse[MessageResponse]:
) -> StreamResponse[MessageActionResponse]:
path_params = {
"id": id,
}
json = build_body_dict(form_data=form_data, user_id=user_id, user=user)
return await self.post(
"/api/v2/chat/messages/{id}/action",
MessageResponse,
MessageActionResponse,
path_params=path_params,
json=json,
)
Expand All @@ -1052,14 +1084,14 @@ async def run_message_action(
async def commit_message(
self,
id: str,
) -> StreamResponse[MessageResponse]:
) -> StreamResponse[MessageActionResponse]:
path_params = {
"id": id,
}
json = build_body_dict()
return await self.post(
"/api/v2/chat/messages/{id}/commit",
MessageResponse,
MessageActionResponse,
path_params=path_params,
json=json,
)
Expand All @@ -1069,6 +1101,7 @@ async def ephemeral_message_update(
self,
id: str,
skip_enrich_url: Optional[bool] = None,
skip_push: Optional[bool] = None,
user_id: Optional[str] = None,
unset: Optional[List[str]] = None,
set: Optional[Dict[str, object]] = None,
Expand All @@ -1079,6 +1112,7 @@ async def ephemeral_message_update(
}
json = build_body_dict(
skip_enrich_url=skip_enrich_url,
skip_push=skip_push,
user_id=user_id,
unset=unset,
set=set,
Expand Down Expand Up @@ -1177,14 +1211,14 @@ async def query_reactions(
@telemetry.operation_name("getstream.api.chat.translate_message")
async def translate_message(
self, id: str, language: str
) -> StreamResponse[MessageResponse]:
) -> StreamResponse[MessageActionResponse]:
path_params = {
"id": id,
}
json = build_body_dict(language=language)
return await self.post(
"/api/v2/chat/messages/{id}/translate",
MessageResponse,
MessageActionResponse,
path_params=path_params,
json=json,
)
Expand Down Expand Up @@ -1384,6 +1418,17 @@ async def query_banned_users(
query_params=query_params,
)

@telemetry.operation_name("getstream.api.chat.query_future_channel_bans")
async def query_future_channel_bans(
self, payload: Optional[QueryFutureChannelBansPayload] = None
) -> StreamResponse[QueryFutureChannelBansResponse]:
query_params = build_query_param(payload=payload)
return await self.get(
"/api/v2/chat/query_future_channel_bans",
QueryFutureChannelBansResponse,
query_params=query_params,
)

@telemetry.operation_name("getstream.api.chat.query_reminders")
async def query_reminders(
self,
Expand Down
4 changes: 3 additions & 1 deletion getstream/chat/channel.py
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ def update(
invites: Optional[List[ChannelMemberRequest]] = None,
remove_filter_tags: Optional[List[str]] = None,
remove_members: Optional[List[str]] = None,
data: Optional[ChannelInput] = None,
data: Optional[ChannelInputRequest] = None,
message: Optional[MessageRequest] = None,
user: Optional[UserRequest] = None,
) -> StreamResponse[UpdateChannelResponse]:
Expand Down Expand Up @@ -330,6 +330,7 @@ def truncate(
def mark_unread(
self,
message_id: Optional[str] = None,
message_timestamp: Optional[datetime] = None,
thread_id: Optional[str] = None,
user_id: Optional[str] = None,
user: Optional[UserRequest] = None,
Expand All @@ -338,6 +339,7 @@ def mark_unread(
type=self.channel_type,
id=self.channel_id,
message_id=message_id,
message_timestamp=message_timestamp,
thread_id=thread_id,
user_id=user_id,
user=user,
Expand Down
Loading