diff --git a/getstream/chat/async_channel.py b/getstream/chat/async_channel.py index 64a8916c..03f33e78 100644 --- a/getstream/chat/async_channel.py +++ b/getstream/chat/async_channel.py @@ -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]: @@ -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, @@ -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, diff --git a/getstream/chat/async_rest_client.py b/getstream/chat/async_rest_client.py index 17576b6a..3b5f9cdc 100644 --- a/getstream/chat/async_rest_client.py +++ b/getstream/chat/async_rest_client.py @@ -143,6 +143,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, @@ -246,7 +261,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]: @@ -619,6 +634,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, @@ -628,7 +644,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", diff --git a/getstream/chat/channel.py b/getstream/chat/channel.py index b59cc6b9..d2e86ce9 100644 --- a/getstream/chat/channel.py +++ b/getstream/chat/channel.py @@ -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]: @@ -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, @@ -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, diff --git a/getstream/chat/rest_client.py b/getstream/chat/rest_client.py index 9b29551e..7130c897 100644 --- a/getstream/chat/rest_client.py +++ b/getstream/chat/rest_client.py @@ -141,6 +141,21 @@ def delete_channels( "/api/v2/chat/channels/delete", DeleteChannelsResponse, json=json ) + @telemetry.operation_name("getstream.api.chat.mark_delivered") + 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 self.post( + "/api/v2/chat/channels/delivered", + MarkDeliveredResponse, + query_params=query_params, + json=json, + ) + @telemetry.operation_name("getstream.api.chat.mark_channels_read") def mark_channels_read( self, @@ -242,7 +257,7 @@ 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]: @@ -615,6 +630,7 @@ 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, @@ -624,7 +640,11 @@ 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 self.post( "/api/v2/chat/channels/{type}/{id}/unread", diff --git a/getstream/feeds/feeds.py b/getstream/feeds/feeds.py index 268b55a7..e42a598e 100644 --- a/getstream/feeds/feeds.py +++ b/getstream/feeds/feeds.py @@ -25,14 +25,15 @@ def delete( def get_or_create( self, + id_around: Optional[str] = None, limit: Optional[int] = None, next: Optional[str] = None, prev: Optional[str] = None, user_id: Optional[str] = None, view: Optional[str] = None, watch: Optional[bool] = None, - activity_selector_options: Optional[Dict[str, object]] = None, data: Optional[FeedInput] = None, + enrichment_options: Optional[EnrichmentOptions] = None, external_ranking: Optional[Dict[str, object]] = None, filter: Optional[Dict[str, object]] = None, followers_pagination: Optional[PagerRequest] = None, @@ -44,14 +45,15 @@ def get_or_create( response = self.client.get_or_create_feed( feed_group_id=self.feed_group, feed_id=self.id, + id_around=id_around, limit=limit, next=next, prev=prev, user_id=user_id, view=view, watch=watch, - activity_selector_options=activity_selector_options, data=data, + enrichment_options=enrichment_options, external_ranking=external_ranking, filter=filter, followers_pagination=followers_pagination, diff --git a/getstream/feeds/rest_client.py b/getstream/feeds/rest_client.py index 27bcb2af..2e1daabb 100644 --- a/getstream/feeds/rest_client.py +++ b/getstream/feeds/rest_client.py @@ -1,5 +1,6 @@ # Code generated by GetStream internal OpenAPI code generator. DO NOT EDIT. from getstream.base import BaseClient +from getstream.common import telemetry from getstream.models import * from getstream.stream_response import StreamResponse from getstream.utils import build_query_param, build_body_dict @@ -30,6 +31,7 @@ def __init__( user_agent=user_agent, ) + @telemetry.operation_name("getstream.api.feeds.add_activity") def add_activity( self, type: str, @@ -38,11 +40,14 @@ def add_activity( id: Optional[str] = None, parent_id: Optional[str] = None, poll_id: Optional[str] = None, + restrict_replies: Optional[str] = None, + skip_enrich_url: Optional[bool] = None, text: Optional[str] = None, user_id: Optional[str] = None, visibility: Optional[str] = None, visibility_tag: Optional[str] = None, attachments: Optional[List[Attachment]] = None, + collection_refs: Optional[List[str]] = None, filter_tags: Optional[List[str]] = None, interest_tags: Optional[List[str]] = None, mentioned_user_ids: Optional[List[str]] = None, @@ -57,11 +62,14 @@ def add_activity( id=id, parent_id=parent_id, poll_id=poll_id, + restrict_replies=restrict_replies, + skip_enrich_url=skip_enrich_url, text=text, user_id=user_id, visibility=visibility, visibility_tag=visibility_tag, attachments=attachments, + collection_refs=collection_refs, filter_tags=filter_tags, interest_tags=interest_tags, mentioned_user_ids=mentioned_user_ids, @@ -69,18 +77,18 @@ def add_activity( location=location, search_data=search_data, ) - return self.post("/api/v2/feeds/activities", AddActivityResponse, json=json) + @telemetry.operation_name("getstream.api.feeds.upsert_activities") def upsert_activities( self, activities: List[ActivityRequest] ) -> StreamResponse[UpsertActivitiesResponse]: json = build_body_dict(activities=activities) - return self.post( "/api/v2/feeds/activities/batch", UpsertActivitiesResponse, json=json ) + @telemetry.operation_name("getstream.api.feeds.delete_activities") def delete_activities( self, ids: List[str], @@ -91,27 +99,37 @@ def delete_activities( json = build_body_dict( ids=ids, hard_delete=hard_delete, user_id=user_id, user=user ) - return self.post( "/api/v2/feeds/activities/delete", DeleteActivitiesResponse, json=json ) + @telemetry.operation_name("getstream.api.feeds.query_activities") def query_activities( self, + include_private_activities: Optional[bool] = None, limit: Optional[int] = None, next: Optional[str] = None, prev: Optional[str] = None, + user_id: Optional[str] = None, sort: Optional[List[SortParamRequest]] = None, filter: Optional[Dict[str, object]] = None, + user: Optional[UserRequest] = None, ) -> StreamResponse[QueryActivitiesResponse]: json = build_body_dict( - limit=limit, next=next, prev=prev, sort=sort, filter=filter + include_private_activities=include_private_activities, + limit=limit, + next=next, + prev=prev, + user_id=user_id, + sort=sort, + filter=filter, + user=user, ) - return self.post( "/api/v2/feeds/activities/query", QueryActivitiesResponse, json=json ) + @telemetry.operation_name("getstream.api.feeds.delete_bookmark") def delete_bookmark( self, activity_id: str, @@ -122,7 +140,6 @@ def delete_bookmark( path_params = { "activity_id": activity_id, } - return self.delete( "/api/v2/feeds/activities/{activity_id}/bookmarks", DeleteBookmarkResponse, @@ -130,6 +147,7 @@ def delete_bookmark( path_params=path_params, ) + @telemetry.operation_name("getstream.api.feeds.update_bookmark") def update_bookmark( self, activity_id: str, @@ -151,7 +169,6 @@ def update_bookmark( new_folder=new_folder, user=user, ) - return self.patch( "/api/v2/feeds/activities/{activity_id}/bookmarks", UpdateBookmarkResponse, @@ -159,6 +176,7 @@ def update_bookmark( json=json, ) + @telemetry.operation_name("getstream.api.feeds.add_bookmark") def add_bookmark( self, activity_id: str, @@ -178,7 +196,6 @@ def add_bookmark( new_folder=new_folder, user=user, ) - return self.post( "/api/v2/feeds/activities/{activity_id}/bookmarks", AddBookmarkResponse, @@ -186,14 +203,13 @@ def add_bookmark( json=json, ) + @telemetry.operation_name("getstream.api.feeds.activity_feedback") def activity_feedback( self, activity_id: str, hide: Optional[bool] = None, - mute_user: Optional[bool] = None, - reason: Optional[str] = None, - report: Optional[bool] = None, show_less: Optional[bool] = None, + show_more: Optional[bool] = None, user_id: Optional[str] = None, user: Optional[UserRequest] = None, ) -> StreamResponse[ActivityFeedbackResponse]: @@ -202,14 +218,11 @@ def activity_feedback( } json = build_body_dict( hide=hide, - mute_user=mute_user, - reason=reason, - report=report, show_less=show_less, + show_more=show_more, user_id=user_id, user=user, ) - return self.post( "/api/v2/feeds/activities/{activity_id}/feedback", ActivityFeedbackResponse, @@ -217,6 +230,7 @@ def activity_feedback( json=json, ) + @telemetry.operation_name("getstream.api.feeds.cast_poll_vote") def cast_poll_vote( self, activity_id: str, @@ -230,7 +244,6 @@ def cast_poll_vote( "poll_id": poll_id, } json = build_body_dict(user_id=user_id, user=user, vote=vote) - return self.post( "/api/v2/feeds/activities/{activity_id}/polls/{poll_id}/vote", PollVoteResponse, @@ -238,6 +251,7 @@ def cast_poll_vote( json=json, ) + @telemetry.operation_name("getstream.api.feeds.delete_poll_vote") def delete_poll_vote( self, activity_id: str, @@ -251,7 +265,6 @@ def delete_poll_vote( "poll_id": poll_id, "vote_id": vote_id, } - return self.delete( "/api/v2/feeds/activities/{activity_id}/polls/{poll_id}/vote/{vote_id}", PollVoteResponse, @@ -259,11 +272,13 @@ def delete_poll_vote( path_params=path_params, ) - def add_reaction( + @telemetry.operation_name("getstream.api.feeds.add_activity_reaction") + def add_activity_reaction( self, activity_id: str, type: str, create_notification_activity: Optional[bool] = None, + enforce_unique: Optional[bool] = None, skip_push: Optional[bool] = None, user_id: Optional[str] = None, custom: Optional[Dict[str, object]] = None, @@ -275,12 +290,12 @@ def add_reaction( json = build_body_dict( type=type, create_notification_activity=create_notification_activity, + enforce_unique=enforce_unique, skip_push=skip_push, user_id=user_id, custom=custom, user=user, ) - return self.post( "/api/v2/feeds/activities/{activity_id}/reactions", AddReactionResponse, @@ -288,6 +303,7 @@ def add_reaction( json=json, ) + @telemetry.operation_name("getstream.api.feeds.query_activity_reactions") def query_activity_reactions( self, activity_id: str, @@ -303,7 +319,6 @@ def query_activity_reactions( json = build_body_dict( limit=limit, next=next, prev=prev, sort=sort, filter=filter ) - return self.post( "/api/v2/feeds/activities/{activity_id}/reactions/query", QueryActivityReactionsResponse, @@ -311,6 +326,7 @@ def query_activity_reactions( json=json, ) + @telemetry.operation_name("getstream.api.feeds.delete_activity_reaction") def delete_activity_reaction( self, activity_id: str, type: str, user_id: Optional[str] = None ) -> StreamResponse[DeleteActivityReactionResponse]: @@ -319,7 +335,6 @@ def delete_activity_reaction( "activity_id": activity_id, "type": type, } - return self.delete( "/api/v2/feeds/activities/{activity_id}/reactions/{type}", DeleteActivityReactionResponse, @@ -327,6 +342,7 @@ def delete_activity_reaction( path_params=path_params, ) + @telemetry.operation_name("getstream.api.feeds.delete_activity") def delete_activity( self, id: str, hard_delete: Optional[bool] = None ) -> StreamResponse[DeleteActivityResponse]: @@ -334,7 +350,6 @@ def delete_activity( path_params = { "id": id, } - return self.delete( "/api/v2/feeds/activities/{id}", DeleteActivityResponse, @@ -342,17 +357,18 @@ def delete_activity( path_params=path_params, ) + @telemetry.operation_name("getstream.api.feeds.get_activity") def get_activity(self, id: str) -> StreamResponse[GetActivityResponse]: path_params = { "id": id, } - return self.get( "/api/v2/feeds/activities/{id}", GetActivityResponse, path_params=path_params, ) + @telemetry.operation_name("getstream.api.feeds.update_activity_partial") def update_activity_partial( self, id: str, @@ -365,7 +381,6 @@ def update_activity_partial( "id": id, } json = build_body_dict(user_id=user_id, unset=unset, set=set, user=user) - return self.patch( "/api/v2/feeds/activities/{id}", UpdateActivityPartialResponse, @@ -373,15 +388,20 @@ def update_activity_partial( json=json, ) + @telemetry.operation_name("getstream.api.feeds.update_activity") def update_activity( self, id: str, expires_at: Optional[datetime] = None, poll_id: Optional[str] = None, + restrict_replies: Optional[str] = None, + skip_enrich_url: Optional[bool] = None, text: Optional[str] = None, user_id: Optional[str] = None, visibility: Optional[str] = None, attachments: Optional[List[Attachment]] = None, + collection_refs: Optional[List[str]] = None, + feeds: Optional[List[str]] = None, filter_tags: Optional[List[str]] = None, interest_tags: Optional[List[str]] = None, custom: Optional[Dict[str, object]] = None, @@ -394,17 +414,20 @@ def update_activity( json = build_body_dict( expires_at=expires_at, poll_id=poll_id, + restrict_replies=restrict_replies, + skip_enrich_url=skip_enrich_url, text=text, user_id=user_id, visibility=visibility, attachments=attachments, + collection_refs=collection_refs, + feeds=feeds, filter_tags=filter_tags, interest_tags=interest_tags, custom=custom, location=location, user=user, ) - return self.put( "/api/v2/feeds/activities/{id}", UpdateActivityResponse, @@ -412,6 +435,7 @@ def update_activity( json=json, ) + @telemetry.operation_name("getstream.api.feeds.query_bookmark_folders") def query_bookmark_folders( self, limit: Optional[int] = None, @@ -423,26 +447,26 @@ def query_bookmark_folders( json = build_body_dict( limit=limit, next=next, prev=prev, sort=sort, filter=filter ) - return self.post( "/api/v2/feeds/bookmark_folders/query", QueryBookmarkFoldersResponse, json=json, ) + @telemetry.operation_name("getstream.api.feeds.delete_bookmark_folder") def delete_bookmark_folder( self, folder_id: str ) -> StreamResponse[DeleteBookmarkFolderResponse]: path_params = { "folder_id": folder_id, } - return self.delete( "/api/v2/feeds/bookmark_folders/{folder_id}", DeleteBookmarkFolderResponse, path_params=path_params, ) + @telemetry.operation_name("getstream.api.feeds.update_bookmark_folder") def update_bookmark_folder( self, folder_id: str, @@ -455,7 +479,6 @@ def update_bookmark_folder( "folder_id": folder_id, } json = build_body_dict(name=name, user_id=user_id, custom=custom, user=user) - return self.patch( "/api/v2/feeds/bookmark_folders/{folder_id}", UpdateBookmarkFolderResponse, @@ -463,6 +486,7 @@ def update_bookmark_folder( json=json, ) + @telemetry.operation_name("getstream.api.feeds.query_bookmarks") def query_bookmarks( self, limit: Optional[int] = None, @@ -474,11 +498,68 @@ def query_bookmarks( json = build_body_dict( limit=limit, next=next, prev=prev, sort=sort, filter=filter ) - return self.post( "/api/v2/feeds/bookmarks/query", QueryBookmarksResponse, json=json ) + @telemetry.operation_name("getstream.api.feeds.delete_collections") + def delete_collections( + self, collection_refs: List[str] + ) -> StreamResponse[DeleteCollectionsResponse]: + query_params = build_query_param(collection_refs=collection_refs) + return self.delete( + "/api/v2/feeds/collections", + DeleteCollectionsResponse, + query_params=query_params, + ) + + @telemetry.operation_name("getstream.api.feeds.read_collections") + def read_collections( + self, collection_refs: List[str], user_id: Optional[str] = None + ) -> StreamResponse[ReadCollectionsResponse]: + query_params = build_query_param( + collection_refs=collection_refs, user_id=user_id + ) + return self.get( + "/api/v2/feeds/collections", + ReadCollectionsResponse, + query_params=query_params, + ) + + @telemetry.operation_name("getstream.api.feeds.update_collections") + def update_collections( + self, + collections: List[UpdateCollectionRequest], + user_id: Optional[str] = None, + user: Optional[UserRequest] = None, + ) -> StreamResponse[UpdateCollectionsResponse]: + json = build_body_dict(collections=collections, user_id=user_id, user=user) + return self.patch( + "/api/v2/feeds/collections", UpdateCollectionsResponse, json=json + ) + + @telemetry.operation_name("getstream.api.feeds.create_collections") + def create_collections( + self, + collections: List[CollectionRequest], + user_id: Optional[str] = None, + user: Optional[UserRequest] = None, + ) -> StreamResponse[CreateCollectionsResponse]: + json = build_body_dict(collections=collections, user_id=user_id, user=user) + return self.post( + "/api/v2/feeds/collections", CreateCollectionsResponse, json=json + ) + + @telemetry.operation_name("getstream.api.feeds.upsert_collections") + def upsert_collections( + self, collections: List[CollectionRequest] + ) -> StreamResponse[UpsertCollectionsResponse]: + json = build_body_dict(collections=collections) + return self.put( + "/api/v2/feeds/collections", UpsertCollectionsResponse, json=json + ) + + @telemetry.operation_name("getstream.api.feeds.get_comments") def get_comments( self, object_id: str, @@ -500,18 +581,20 @@ def get_comments( prev=prev, next=next, ) - return self.get( "/api/v2/feeds/comments", GetCommentsResponse, query_params=query_params ) + @telemetry.operation_name("getstream.api.feeds.add_comment") def add_comment( self, - comment: str, - object_id: str, - object_type: str, + comment: Optional[str] = None, create_notification_activity: Optional[bool] = None, + id: Optional[str] = None, + object_id: Optional[str] = None, + object_type: Optional[str] = None, parent_id: Optional[str] = None, + skip_enrich_url: Optional[bool] = None, skip_push: Optional[bool] = None, user_id: Optional[str] = None, attachments: Optional[List[Attachment]] = None, @@ -521,10 +604,12 @@ def add_comment( ) -> StreamResponse[AddCommentResponse]: json = build_body_dict( comment=comment, + create_notification_activity=create_notification_activity, + id=id, object_id=object_id, object_type=object_type, - create_notification_activity=create_notification_activity, parent_id=parent_id, + skip_enrich_url=skip_enrich_url, skip_push=skip_push, user_id=user_id, attachments=attachments, @@ -532,18 +617,18 @@ def add_comment( custom=custom, user=user, ) - return self.post("/api/v2/feeds/comments", AddCommentResponse, json=json) + @telemetry.operation_name("getstream.api.feeds.add_comments_batch") def add_comments_batch( self, comments: List[AddCommentRequest] ) -> StreamResponse[AddCommentsBatchResponse]: json = build_body_dict(comments=comments) - return self.post( "/api/v2/feeds/comments/batch", AddCommentsBatchResponse, json=json ) + @telemetry.operation_name("getstream.api.feeds.query_comments") def query_comments( self, filter: Dict[str, object], @@ -555,11 +640,11 @@ def query_comments( json = build_body_dict( filter=filter, limit=limit, next=next, prev=prev, sort=sort ) - return self.post( "/api/v2/feeds/comments/query", QueryCommentsResponse, json=json ) + @telemetry.operation_name("getstream.api.feeds.delete_comment") def delete_comment( self, id: str, hard_delete: Optional[bool] = None ) -> StreamResponse[DeleteCommentResponse]: @@ -567,7 +652,6 @@ def delete_comment( path_params = { "id": id, } - return self.delete( "/api/v2/feeds/comments/{id}", DeleteCommentResponse, @@ -575,27 +659,37 @@ def delete_comment( path_params=path_params, ) + @telemetry.operation_name("getstream.api.feeds.get_comment") def get_comment(self, id: str) -> StreamResponse[GetCommentResponse]: path_params = { "id": id, } - return self.get( "/api/v2/feeds/comments/{id}", GetCommentResponse, path_params=path_params ) + @telemetry.operation_name("getstream.api.feeds.update_comment") def update_comment( self, id: str, comment: Optional[str] = None, + skip_enrich_url: Optional[bool] = None, skip_push: Optional[bool] = None, + user_id: Optional[str] = None, custom: Optional[Dict[str, object]] = None, + user: Optional[UserRequest] = None, ) -> StreamResponse[UpdateCommentResponse]: path_params = { "id": id, } - json = build_body_dict(comment=comment, skip_push=skip_push, custom=custom) - + json = build_body_dict( + comment=comment, + skip_enrich_url=skip_enrich_url, + skip_push=skip_push, + user_id=user_id, + custom=custom, + user=user, + ) return self.patch( "/api/v2/feeds/comments/{id}", UpdateCommentResponse, @@ -603,11 +697,13 @@ def update_comment( json=json, ) + @telemetry.operation_name("getstream.api.feeds.add_comment_reaction") def add_comment_reaction( self, id: str, type: str, create_notification_activity: Optional[bool] = None, + enforce_unique: Optional[bool] = None, skip_push: Optional[bool] = None, user_id: Optional[str] = None, custom: Optional[Dict[str, object]] = None, @@ -619,12 +715,12 @@ def add_comment_reaction( json = build_body_dict( type=type, create_notification_activity=create_notification_activity, + enforce_unique=enforce_unique, skip_push=skip_push, user_id=user_id, custom=custom, user=user, ) - return self.post( "/api/v2/feeds/comments/{id}/reactions", AddCommentReactionResponse, @@ -632,6 +728,7 @@ def add_comment_reaction( json=json, ) + @telemetry.operation_name("getstream.api.feeds.query_comment_reactions") def query_comment_reactions( self, id: str, @@ -647,7 +744,6 @@ def query_comment_reactions( json = build_body_dict( limit=limit, next=next, prev=prev, sort=sort, filter=filter ) - return self.post( "/api/v2/feeds/comments/{id}/reactions/query", QueryCommentReactionsResponse, @@ -655,6 +751,7 @@ def query_comment_reactions( json=json, ) + @telemetry.operation_name("getstream.api.feeds.delete_comment_reaction") def delete_comment_reaction( self, id: str, type: str, user_id: Optional[str] = None ) -> StreamResponse[DeleteCommentReactionResponse]: @@ -663,7 +760,6 @@ def delete_comment_reaction( "id": id, "type": type, } - return self.delete( "/api/v2/feeds/comments/{id}/reactions/{type}", DeleteCommentReactionResponse, @@ -671,6 +767,7 @@ def delete_comment_reaction( path_params=path_params, ) + @telemetry.operation_name("getstream.api.feeds.get_comment_replies") def get_comment_replies( self, id: str, @@ -692,7 +789,6 @@ def get_comment_replies( path_params = { "id": id, } - return self.get( "/api/v2/feeds/comments/{id}/replies", GetCommentRepliesResponse, @@ -700,9 +796,18 @@ def get_comment_replies( path_params=path_params, ) - def list_feed_groups(self) -> StreamResponse[ListFeedGroupsResponse]: - return self.get("/api/v2/feeds/feed_groups", ListFeedGroupsResponse) + @telemetry.operation_name("getstream.api.feeds.list_feed_groups") + def list_feed_groups( + self, include_soft_deleted: Optional[bool] = None + ) -> StreamResponse[ListFeedGroupsResponse]: + query_params = build_query_param(include_soft_deleted=include_soft_deleted) + return self.get( + "/api/v2/feeds/feed_groups", + ListFeedGroupsResponse, + query_params=query_params, + ) + @telemetry.operation_name("getstream.api.feeds.create_feed_group") def create_feed_group( self, id: str, @@ -714,6 +819,7 @@ def create_feed_group( notification: Optional[NotificationConfig] = None, push_notification: Optional[PushNotificationConfig] = None, ranking: Optional[RankingConfig] = None, + stories: Optional[StoriesConfig] = None, ) -> StreamResponse[CreateFeedGroupResponse]: json = build_body_dict( id=id, @@ -725,12 +831,13 @@ def create_feed_group( notification=notification, push_notification=push_notification, ranking=ranking, + stories=stories, ) - return self.post( "/api/v2/feeds/feed_groups", CreateFeedGroupResponse, json=json ) + @telemetry.operation_name("getstream.api.feeds.delete_feed") def delete_feed( self, feed_group_id: str, feed_id: str, hard_delete: Optional[bool] = None ) -> StreamResponse[DeleteFeedResponse]: @@ -739,7 +846,6 @@ def delete_feed( "feed_group_id": feed_group_id, "feed_id": feed_id, } - return self.delete( "/api/v2/feeds/feed_groups/{feed_group_id}/feeds/{feed_id}", DeleteFeedResponse, @@ -747,18 +853,20 @@ def delete_feed( path_params=path_params, ) + @telemetry.operation_name("getstream.api.feeds.get_or_create_feed") def get_or_create_feed( self, feed_group_id: str, feed_id: str, + id_around: Optional[str] = None, limit: Optional[int] = None, next: Optional[str] = None, prev: Optional[str] = None, user_id: Optional[str] = None, view: Optional[str] = None, watch: Optional[bool] = None, - activity_selector_options: Optional[Dict[str, object]] = None, data: Optional[FeedInput] = None, + enrichment_options: Optional[EnrichmentOptions] = None, external_ranking: Optional[Dict[str, object]] = None, filter: Optional[Dict[str, object]] = None, followers_pagination: Optional[PagerRequest] = None, @@ -772,14 +880,15 @@ def get_or_create_feed( "feed_id": feed_id, } json = build_body_dict( + id_around=id_around, limit=limit, next=next, prev=prev, user_id=user_id, view=view, watch=watch, - activity_selector_options=activity_selector_options, data=data, + enrichment_options=enrichment_options, external_ranking=external_ranking, filter=filter, followers_pagination=followers_pagination, @@ -788,7 +897,6 @@ def get_or_create_feed( member_pagination=member_pagination, user=user, ) - return self.post( "/api/v2/feeds/feed_groups/{feed_group_id}/feeds/{feed_id}", GetOrCreateFeedResponse, @@ -796,6 +904,7 @@ def get_or_create_feed( json=json, ) + @telemetry.operation_name("getstream.api.feeds.update_feed") def update_feed( self, feed_group_id: str, @@ -808,7 +917,6 @@ def update_feed( "feed_id": feed_id, } json = build_body_dict(created_by_id=created_by_id, custom=custom) - return self.put( "/api/v2/feeds/feed_groups/{feed_group_id}/feeds/{feed_id}", UpdateFeedResponse, @@ -816,6 +924,7 @@ def update_feed( json=json, ) + @telemetry.operation_name("getstream.api.feeds.mark_activity") def mark_activity( self, feed_group_id: str, @@ -841,7 +950,6 @@ def mark_activity( mark_watched=mark_watched, user=user, ) - return self.post( "/api/v2/feeds/feed_groups/{feed_group_id}/feeds/{feed_id}/activities/mark/batch", Response, @@ -849,6 +957,7 @@ def mark_activity( json=json, ) + @telemetry.operation_name("getstream.api.feeds.unpin_activity") def unpin_activity( self, feed_group_id: str, @@ -862,7 +971,6 @@ def unpin_activity( "feed_id": feed_id, "activity_id": activity_id, } - return self.delete( "/api/v2/feeds/feed_groups/{feed_group_id}/feeds/{feed_id}/activities/{activity_id}/pin", UnpinActivityResponse, @@ -870,6 +978,7 @@ def unpin_activity( path_params=path_params, ) + @telemetry.operation_name("getstream.api.feeds.pin_activity") def pin_activity( self, feed_group_id: str, @@ -884,7 +993,6 @@ def pin_activity( "activity_id": activity_id, } json = build_body_dict(user_id=user_id, user=user) - return self.post( "/api/v2/feeds/feed_groups/{feed_group_id}/feeds/{feed_id}/activities/{activity_id}/pin", PinActivityResponse, @@ -892,6 +1000,7 @@ def pin_activity( json=json, ) + @telemetry.operation_name("getstream.api.feeds.update_feed_members") def update_feed_members( self, feed_group_id: str, @@ -909,7 +1018,6 @@ def update_feed_members( json = build_body_dict( operation=operation, limit=limit, next=next, prev=prev, members=members ) - return self.patch( "/api/v2/feeds/feed_groups/{feed_group_id}/feeds/{feed_id}/members", UpdateFeedMembersResponse, @@ -917,6 +1025,7 @@ def update_feed_members( json=json, ) + @telemetry.operation_name("getstream.api.feeds.accept_feed_member_invite") def accept_feed_member_invite( self, feed_id: str, @@ -929,7 +1038,6 @@ def accept_feed_member_invite( "feed_group_id": feed_group_id, } json = build_body_dict(user_id=user_id, user=user) - return self.post( "/api/v2/feeds/feed_groups/{feed_group_id}/feeds/{feed_id}/members/accept", AcceptFeedMemberInviteResponse, @@ -937,6 +1045,7 @@ def accept_feed_member_invite( json=json, ) + @telemetry.operation_name("getstream.api.feeds.query_feed_members") def query_feed_members( self, feed_group_id: str, @@ -954,7 +1063,6 @@ def query_feed_members( json = build_body_dict( limit=limit, next=next, prev=prev, sort=sort, filter=filter ) - return self.post( "/api/v2/feeds/feed_groups/{feed_group_id}/feeds/{feed_id}/members/query", QueryFeedMembersResponse, @@ -962,6 +1070,7 @@ def query_feed_members( json=json, ) + @telemetry.operation_name("getstream.api.feeds.reject_feed_member_invite") def reject_feed_member_invite( self, feed_group_id: str, @@ -974,7 +1083,6 @@ def reject_feed_member_invite( "feed_id": feed_id, } json = build_body_dict(user_id=user_id, user=user) - return self.post( "/api/v2/feeds/feed_groups/{feed_group_id}/feeds/{feed_id}/members/reject", RejectFeedMemberInviteResponse, @@ -982,6 +1090,7 @@ def reject_feed_member_invite( json=json, ) + @telemetry.operation_name("getstream.api.feeds.get_follow_suggestions") def get_follow_suggestions( self, feed_group_id: str, @@ -992,7 +1101,6 @@ def get_follow_suggestions( path_params = { "feed_group_id": feed_group_id, } - return self.get( "/api/v2/feeds/feed_groups/{feed_group_id}/follow_suggestions", GetFollowSuggestionsResponse, @@ -1000,6 +1108,7 @@ def get_follow_suggestions( path_params=path_params, ) + @telemetry.operation_name("getstream.api.feeds.delete_feed_group") def delete_feed_group( self, id: str, hard_delete: Optional[bool] = None ) -> StreamResponse[DeleteFeedGroupResponse]: @@ -1007,7 +1116,6 @@ def delete_feed_group( path_params = { "id": id, } - return self.delete( "/api/v2/feeds/feed_groups/{id}", DeleteFeedGroupResponse, @@ -1015,17 +1123,22 @@ def delete_feed_group( path_params=path_params, ) - def get_feed_group(self, id: str) -> StreamResponse[GetFeedGroupResponse]: + @telemetry.operation_name("getstream.api.feeds.get_feed_group") + def get_feed_group( + self, id: str, include_soft_deleted: Optional[bool] = None + ) -> StreamResponse[GetFeedGroupResponse]: + query_params = build_query_param(include_soft_deleted=include_soft_deleted) path_params = { "id": id, } - return self.get( "/api/v2/feeds/feed_groups/{id}", GetFeedGroupResponse, + query_params=query_params, path_params=path_params, ) + @telemetry.operation_name("getstream.api.feeds.get_or_create_feed_group") def get_or_create_feed_group( self, id: str, @@ -1037,6 +1150,7 @@ def get_or_create_feed_group( notification: Optional[NotificationConfig] = None, push_notification: Optional[PushNotificationConfig] = None, ranking: Optional[RankingConfig] = None, + stories: Optional[StoriesConfig] = None, ) -> StreamResponse[GetOrCreateFeedGroupResponse]: path_params = { "id": id, @@ -1050,8 +1164,8 @@ def get_or_create_feed_group( notification=notification, push_notification=push_notification, ranking=ranking, + stories=stories, ) - return self.post( "/api/v2/feeds/feed_groups/{id}", GetOrCreateFeedGroupResponse, @@ -1059,9 +1173,11 @@ def get_or_create_feed_group( json=json, ) + @telemetry.operation_name("getstream.api.feeds.update_feed_group") def update_feed_group( self, id: str, + default_visibility: Optional[str] = None, activity_processors: Optional[List[ActivityProcessorConfig]] = None, activity_selectors: Optional[List[ActivitySelectorConfig]] = None, aggregation: Optional[AggregationConfig] = None, @@ -1069,11 +1185,13 @@ def update_feed_group( notification: Optional[NotificationConfig] = None, push_notification: Optional[PushNotificationConfig] = None, ranking: Optional[RankingConfig] = None, + stories: Optional[StoriesConfig] = None, ) -> StreamResponse[UpdateFeedGroupResponse]: path_params = { "id": id, } json = build_body_dict( + default_visibility=default_visibility, activity_processors=activity_processors, activity_selectors=activity_selectors, aggregation=aggregation, @@ -1081,8 +1199,8 @@ def update_feed_group( notification=notification, push_notification=push_notification, ranking=ranking, + stories=stories, ) - return self.put( "/api/v2/feeds/feed_groups/{id}", UpdateFeedGroupResponse, @@ -1090,53 +1208,52 @@ def update_feed_group( json=json, ) + @telemetry.operation_name("getstream.api.feeds.list_feed_views") def list_feed_views(self) -> StreamResponse[ListFeedViewsResponse]: return self.get("/api/v2/feeds/feed_views", ListFeedViewsResponse) + @telemetry.operation_name("getstream.api.feeds.create_feed_view") def create_feed_view( self, id: str, - activity_processors: Optional[List[ActivityProcessorConfig]] = None, activity_selectors: Optional[List[ActivitySelectorConfig]] = None, aggregation: Optional[AggregationConfig] = None, ranking: Optional[RankingConfig] = None, ) -> StreamResponse[CreateFeedViewResponse]: json = build_body_dict( id=id, - activity_processors=activity_processors, activity_selectors=activity_selectors, aggregation=aggregation, ranking=ranking, ) - return self.post("/api/v2/feeds/feed_views", CreateFeedViewResponse, json=json) + @telemetry.operation_name("getstream.api.feeds.delete_feed_view") def delete_feed_view(self, id: str) -> StreamResponse[DeleteFeedViewResponse]: path_params = { "id": id, } - return self.delete( "/api/v2/feeds/feed_views/{id}", DeleteFeedViewResponse, path_params=path_params, ) + @telemetry.operation_name("getstream.api.feeds.get_feed_view") def get_feed_view(self, id: str) -> StreamResponse[GetFeedViewResponse]: path_params = { "id": id, } - return self.get( "/api/v2/feeds/feed_views/{id}", GetFeedViewResponse, path_params=path_params, ) + @telemetry.operation_name("getstream.api.feeds.get_or_create_feed_view") def get_or_create_feed_view( self, id: str, - activity_processors: Optional[List[ActivityProcessorConfig]] = None, activity_selectors: Optional[List[ActivitySelectorConfig]] = None, aggregation: Optional[AggregationConfig] = None, ranking: Optional[RankingConfig] = None, @@ -1145,12 +1262,10 @@ def get_or_create_feed_view( "id": id, } json = build_body_dict( - activity_processors=activity_processors, activity_selectors=activity_selectors, aggregation=aggregation, ranking=ranking, ) - return self.post( "/api/v2/feeds/feed_views/{id}", GetOrCreateFeedViewResponse, @@ -1158,10 +1273,10 @@ def get_or_create_feed_view( json=json, ) + @telemetry.operation_name("getstream.api.feeds.update_feed_view") def update_feed_view( self, id: str, - activity_processors: Optional[List[ActivityProcessorConfig]] = None, activity_selectors: Optional[List[ActivitySelectorConfig]] = None, aggregation: Optional[AggregationConfig] = None, ranking: Optional[RankingConfig] = None, @@ -1170,12 +1285,10 @@ def update_feed_view( "id": id, } json = build_body_dict( - activity_processors=activity_processors, activity_selectors=activity_selectors, aggregation=aggregation, ranking=ranking, ) - return self.put( "/api/v2/feeds/feed_views/{id}", UpdateFeedViewResponse, @@ -1183,15 +1296,68 @@ def update_feed_view( json=json, ) + @telemetry.operation_name("getstream.api.feeds.list_feed_visibilities") + def list_feed_visibilities(self) -> StreamResponse[ListFeedVisibilitiesResponse]: + return self.get("/api/v2/feeds/feed_visibilities", ListFeedVisibilitiesResponse) + + @telemetry.operation_name("getstream.api.feeds.get_feed_visibility") + def get_feed_visibility( + self, name: str + ) -> StreamResponse[GetFeedVisibilityResponse]: + path_params = { + "name": name, + } + return self.get( + "/api/v2/feeds/feed_visibilities/{name}", + GetFeedVisibilityResponse, + path_params=path_params, + ) + + @telemetry.operation_name("getstream.api.feeds.update_feed_visibility") + def update_feed_visibility( + self, name: str, grants: Optional[Dict[str, List[str]]] = None + ) -> StreamResponse[UpdateFeedVisibilityResponse]: + path_params = { + "name": name, + } + json = build_body_dict(grants=grants) + return self.put( + "/api/v2/feeds/feed_visibilities/{name}", + UpdateFeedVisibilityResponse, + path_params=path_params, + json=json, + ) + + @telemetry.operation_name("getstream.api.feeds.create_feeds_batch") def create_feeds_batch( self, feeds: List[FeedRequest] ) -> StreamResponse[CreateFeedsBatchResponse]: json = build_body_dict(feeds=feeds) - return self.post( "/api/v2/feeds/feeds/batch", CreateFeedsBatchResponse, json=json ) + @telemetry.operation_name("getstream.api.feeds.delete_feeds_batch") + def delete_feeds_batch( + self, feeds: List[str], hard_delete: Optional[bool] = None + ) -> StreamResponse[DeleteFeedsBatchResponse]: + json = build_body_dict(feeds=feeds, hard_delete=hard_delete) + return self.post( + "/api/v2/feeds/feeds/delete", DeleteFeedsBatchResponse, json=json + ) + + @telemetry.operation_name("getstream.api.feeds.own_batch") + def own_batch( + self, + feeds: List[str], + user_id: Optional[str] = None, + fields: Optional[List[str]] = None, + user: Optional[UserRequest] = None, + ) -> StreamResponse[OwnBatchResponse]: + json = build_body_dict(feeds=feeds, user_id=user_id, fields=fields, user=user) + return self.post("/api/v2/feeds/feeds/own/batch", OwnBatchResponse, json=json) + + @telemetry.operation_name("getstream.api.feeds.query_feeds") def query_feeds( self, limit: Optional[int] = None, @@ -1204,9 +1370,31 @@ def query_feeds( json = build_body_dict( limit=limit, next=next, prev=prev, watch=watch, sort=sort, filter=filter ) - return self.post("/api/v2/feeds/feeds/query", QueryFeedsResponse, json=json) + @telemetry.operation_name("getstream.api.feeds.get_feeds_rate_limits") + def get_feeds_rate_limits( + self, + endpoints: Optional[str] = None, + android: Optional[bool] = None, + ios: Optional[bool] = None, + web: Optional[bool] = None, + server_side: Optional[bool] = None, + ) -> StreamResponse[GetFeedsRateLimitsResponse]: + query_params = build_query_param( + endpoints=endpoints, + android=android, + ios=ios, + web=web, + server_side=server_side, + ) + return self.get( + "/api/v2/feeds/feeds/rate_limits", + GetFeedsRateLimitsResponse, + query_params=query_params, + ) + + @telemetry.operation_name("getstream.api.feeds.update_follow") def update_follow( self, source: str, @@ -1226,9 +1414,9 @@ def update_follow( skip_push=skip_push, custom=custom, ) - return self.patch("/api/v2/feeds/follows", UpdateFollowResponse, json=json) + @telemetry.operation_name("getstream.api.feeds.follow") def follow( self, source: str, @@ -1246,27 +1434,36 @@ def follow( skip_push=skip_push, custom=custom, ) - return self.post("/api/v2/feeds/follows", SingleFollowResponse, json=json) + @telemetry.operation_name("getstream.api.feeds.accept_follow") def accept_follow( self, source: str, target: str, follower_role: Optional[str] = None ) -> StreamResponse[AcceptFollowResponse]: json = build_body_dict( source=source, target=target, follower_role=follower_role ) - return self.post( "/api/v2/feeds/follows/accept", AcceptFollowResponse, json=json ) + @telemetry.operation_name("getstream.api.feeds.follow_batch") def follow_batch( self, follows: List[FollowRequest] ) -> StreamResponse[FollowBatchResponse]: json = build_body_dict(follows=follows) - return self.post("/api/v2/feeds/follows/batch", FollowBatchResponse, json=json) + @telemetry.operation_name("getstream.api.feeds.get_or_create_follows") + def get_or_create_follows( + self, follows: List[FollowRequest] + ) -> StreamResponse[FollowBatchResponse]: + json = build_body_dict(follows=follows) + return self.post( + "/api/v2/feeds/follows/batch/upsert", FollowBatchResponse, json=json + ) + + @telemetry.operation_name("getstream.api.feeds.query_follows") def query_follows( self, limit: Optional[int] = None, @@ -1278,30 +1475,30 @@ def query_follows( json = build_body_dict( limit=limit, next=next, prev=prev, sort=sort, filter=filter ) - return self.post("/api/v2/feeds/follows/query", QueryFollowsResponse, json=json) + @telemetry.operation_name("getstream.api.feeds.reject_follow") def reject_follow( self, source: str, target: str ) -> StreamResponse[RejectFollowResponse]: json = build_body_dict(source=source, target=target) - return self.post( "/api/v2/feeds/follows/reject", RejectFollowResponse, json=json ) + @telemetry.operation_name("getstream.api.feeds.unfollow") def unfollow(self, source: str, target: str) -> StreamResponse[UnfollowResponse]: path_params = { "source": source, "target": target, } - return self.delete( "/api/v2/feeds/follows/{source}/{target}", UnfollowResponse, path_params=path_params, ) + @telemetry.operation_name("getstream.api.feeds.create_membership_level") def create_membership_level( self, id: str, @@ -1319,11 +1516,11 @@ def create_membership_level( tags=tags, custom=custom, ) - return self.post( "/api/v2/feeds/membership_levels", CreateMembershipLevelResponse, json=json ) + @telemetry.operation_name("getstream.api.feeds.query_membership_levels") def query_membership_levels( self, limit: Optional[int] = None, @@ -1335,22 +1532,22 @@ def query_membership_levels( json = build_body_dict( limit=limit, next=next, prev=prev, sort=sort, filter=filter ) - return self.post( "/api/v2/feeds/membership_levels/query", QueryMembershipLevelsResponse, json=json, ) + @telemetry.operation_name("getstream.api.feeds.delete_membership_level") def delete_membership_level(self, id: str) -> StreamResponse[Response]: path_params = { "id": id, } - return self.delete( "/api/v2/feeds/membership_levels/{id}", Response, path_params=path_params ) + @telemetry.operation_name("getstream.api.feeds.update_membership_level") def update_membership_level( self, id: str, @@ -1370,7 +1567,6 @@ def update_membership_level( tags=tags, custom=custom, ) - return self.patch( "/api/v2/feeds/membership_levels/{id}", UpdateMembershipLevelResponse, @@ -1378,35 +1574,55 @@ def update_membership_level( json=json, ) + @telemetry.operation_name("getstream.api.feeds.query_feeds_usage_stats") + def query_feeds_usage_stats( + self, _from: Optional[str] = None, to: Optional[str] = None + ) -> StreamResponse[QueryFeedsUsageStatsResponse]: + json = build_body_dict(_from=_from, to=to) + return self.post( + "/api/v2/feeds/stats/usage", QueryFeedsUsageStatsResponse, json=json + ) + + @telemetry.operation_name("getstream.api.feeds.unfollow_batch") def unfollow_batch( self, follows: List[FollowPair] ) -> StreamResponse[UnfollowBatchResponse]: json = build_body_dict(follows=follows) - return self.post( "/api/v2/feeds/unfollow/batch", UnfollowBatchResponse, json=json ) + @telemetry.operation_name("getstream.api.feeds.get_or_create_unfollows") + def get_or_create_unfollows( + self, follows: List[FollowPair] + ) -> StreamResponse[UnfollowBatchResponse]: + json = build_body_dict(follows=follows) + return self.post( + "/api/v2/feeds/unfollow/batch/upsert", UnfollowBatchResponse, json=json + ) + + @telemetry.operation_name("getstream.api.feeds.delete_feed_user_data") def delete_feed_user_data( - self, user_id: str + self, user_id: str, hard_delete: Optional[bool] = None ) -> StreamResponse[DeleteFeedUserDataResponse]: path_params = { "user_id": user_id, } - - return self.delete( + json = build_body_dict(hard_delete=hard_delete) + return self.post( "/api/v2/feeds/users/{user_id}/delete", DeleteFeedUserDataResponse, path_params=path_params, + json=json, ) + @telemetry.operation_name("getstream.api.feeds.export_feed_user_data") def export_feed_user_data( self, user_id: str ) -> StreamResponse[ExportFeedUserDataResponse]: path_params = { "user_id": user_id, } - return self.post( "/api/v2/feeds/users/{user_id}/export", ExportFeedUserDataResponse, diff --git a/getstream/models/__init__.py b/getstream/models/__init__.py index 4520554f..e5923fd8 100644 --- a/getstream/models/__init__.py +++ b/getstream/models/__init__.py @@ -151,6 +151,26 @@ class APNS(DataClassJsonMixin): ) +@dataclass +class APNSResponse(DataClassJsonMixin): + body: Optional[str] = dc_field(default=None, metadata=dc_config(field_name="body")) + content_available: Optional[int] = dc_field( + default=None, metadata=dc_config(field_name="content-available") + ) + mutable_content: Optional[int] = dc_field( + default=None, metadata=dc_config(field_name="mutable-content") + ) + sound: Optional[str] = dc_field( + default=None, metadata=dc_config(field_name="sound") + ) + title: Optional[str] = dc_field( + default=None, metadata=dc_config(field_name="title") + ) + data: Optional[Dict[str, object]] = dc_field( + default=None, metadata=dc_config(field_name="data") + ) + + @dataclass class AWSRekognitionRule(DataClassJsonMixin): action: str = dc_field(metadata=dc_config(field_name="action")) @@ -501,31 +521,6 @@ class ActivityMarkEvent(DataClassJsonMixin): ) -@dataclass -class ActivityMarkedEvent(DataClassJsonMixin): - all_read: bool = dc_field(metadata=dc_config(field_name="all_read")) - all_seen: bool = dc_field(metadata=dc_config(field_name="all_seen")) - created_at: datetime = dc_field( - metadata=dc_config( - field_name="created_at", - encoder=encode_datetime, - decoder=datetime_from_unix_ns, - mm_field=fields.DateTime(format="iso"), - ) - ) - feed_id: str = dc_field(metadata=dc_config(field_name="feed_id")) - user_id: str = dc_field(metadata=dc_config(field_name="user_id")) - type: str = dc_field( - default="activity.marked", metadata=dc_config(field_name="type") - ) - marked_read: Optional[List[str]] = dc_field( - default=None, metadata=dc_config(field_name="marked_read") - ) - marked_watched: Optional[List[str]] = dc_field( - default=None, metadata=dc_config(field_name="marked_watched") - ) - - @dataclass class ActivityPinResponse(DataClassJsonMixin): created_at: datetime = dc_field( @@ -748,6 +743,9 @@ class ActivityRequest(DataClassJsonMixin): restrict_replies: Optional[str] = dc_field( default=None, metadata=dc_config(field_name="restrict_replies") ) + skip_enrich_url: Optional[bool] = dc_field( + default=None, metadata=dc_config(field_name="skip_enrich_url") + ) text: Optional[str] = dc_field(default=None, metadata=dc_config(field_name="text")) user_id: Optional[str] = dc_field( default=None, metadata=dc_config(field_name="user_id") @@ -761,6 +759,9 @@ class ActivityRequest(DataClassJsonMixin): attachments: "Optional[List[Attachment]]" = dc_field( default=None, metadata=dc_config(field_name="attachments") ) + collection_refs: Optional[List[str]] = dc_field( + default=None, metadata=dc_config(field_name="collection_refs") + ) filter_tags: Optional[List[str]] = dc_field( default=None, metadata=dc_config(field_name="filter_tags") ) @@ -832,6 +833,9 @@ class ActivityResponse(DataClassJsonMixin): own_reactions: "List[FeedsReactionResponse]" = dc_field( metadata=dc_config(field_name="own_reactions") ) + collections: "Dict[str, EnrichedCollectionResponse]" = dc_field( + metadata=dc_config(field_name="collections") + ) custom: Dict[str, object] = dc_field(metadata=dc_config(field_name="custom")) reaction_groups: "Dict[str, Optional[ReactionGroupResponse]]" = dc_field( metadata=dc_config(field_name="reaction_groups") @@ -915,6 +919,9 @@ class ActivitySelectorConfig(DataClassJsonMixin): filter: Optional[Dict[str, object]] = dc_field( default=None, metadata=dc_config(field_name="filter") ) + params: Optional[Dict[str, object]] = dc_field( + default=None, metadata=dc_config(field_name="params") + ) @dataclass @@ -941,6 +948,9 @@ class ActivitySelectorConfigResponse(DataClassJsonMixin): filter: Optional[Dict[str, object]] = dc_field( default=None, metadata=dc_config(field_name="filter") ) + params: Optional[Dict[str, object]] = dc_field( + default=None, metadata=dc_config(field_name="params") + ) @dataclass @@ -1028,6 +1038,9 @@ class AddActivityRequest(DataClassJsonMixin): restrict_replies: Optional[str] = dc_field( default=None, metadata=dc_config(field_name="restrict_replies") ) + skip_enrich_url: Optional[bool] = dc_field( + default=None, metadata=dc_config(field_name="skip_enrich_url") + ) text: Optional[str] = dc_field(default=None, metadata=dc_config(field_name="text")) user_id: Optional[str] = dc_field( default=None, metadata=dc_config(field_name="user_id") @@ -1041,6 +1054,9 @@ class AddActivityRequest(DataClassJsonMixin): attachments: "Optional[List[Attachment]]" = dc_field( default=None, metadata=dc_config(field_name="attachments") ) + collection_refs: Optional[List[str]] = dc_field( + default=None, metadata=dc_config(field_name="collection_refs") + ) filter_tags: Optional[List[str]] = dc_field( default=None, metadata=dc_config(field_name="filter_tags") ) @@ -1126,8 +1142,6 @@ class AddCommentReactionResponse(DataClassJsonMixin): @dataclass class AddCommentRequest(DataClassJsonMixin): - object_id: str = dc_field(metadata=dc_config(field_name="object_id")) - object_type: str = dc_field(metadata=dc_config(field_name="object_type")) comment: Optional[str] = dc_field( default=None, metadata=dc_config(field_name="comment") ) @@ -1135,9 +1149,18 @@ class AddCommentRequest(DataClassJsonMixin): default=None, metadata=dc_config(field_name="create_notification_activity") ) id: Optional[str] = dc_field(default=None, metadata=dc_config(field_name="id")) + object_id: Optional[str] = dc_field( + default=None, metadata=dc_config(field_name="object_id") + ) + object_type: Optional[str] = dc_field( + default=None, metadata=dc_config(field_name="object_type") + ) parent_id: Optional[str] = dc_field( default=None, metadata=dc_config(field_name="parent_id") ) + skip_enrich_url: Optional[bool] = dc_field( + default=None, metadata=dc_config(field_name="skip_enrich_url") + ) skip_push: Optional[bool] = dc_field( default=None, metadata=dc_config(field_name="skip_push") ) @@ -1254,20 +1277,9 @@ class AggregatedActivityResponse(DataClassJsonMixin): @dataclass class AggregationConfig(DataClassJsonMixin): - format: str = dc_field(metadata=dc_config(field_name="format")) - - -@dataclass -class AnyEvent(DataClassJsonMixin): - created_at: datetime = dc_field( - metadata=dc_config( - field_name="created_at", - encoder=encode_datetime, - decoder=datetime_from_unix_ns, - mm_field=fields.DateTime(format="iso"), - ) + format: Optional[str] = dc_field( + default=None, metadata=dc_config(field_name="format") ) - type: str = dc_field(default="*", metadata=dc_config(field_name="type")) @dataclass @@ -1361,7 +1373,7 @@ class AppResponseFields(DataClassJsonMixin): call_types: "Dict[str, Optional[CallType]]" = dc_field( metadata=dc_config(field_name="call_types") ) - channel_configs: "Dict[str, ChannelConfig]" = dc_field( + channel_configs: "Dict[str, Optional[ChannelConfig]]" = dc_field( metadata=dc_config(field_name="channel_configs") ) file_upload_config: "FileUploadConfig" = dc_field( @@ -1526,7 +1538,7 @@ class AsyncExportErrorEvent(DataClassJsonMixin): task_id: str = dc_field(metadata=dc_config(field_name="task_id")) custom: Dict[str, object] = dc_field(metadata=dc_config(field_name="custom")) type: str = dc_field( - default="export.channels.error", metadata=dc_config(field_name="type") + default="export.users.error", metadata=dc_config(field_name="type") ) received_at: Optional[datetime] = dc_field( default=None, @@ -1778,7 +1790,7 @@ class AudioSettingsResponse(DataClassJsonMixin): @dataclass -class AutomodDetails(DataClassJsonMixin): +class AutomodDetailsResponse(DataClassJsonMixin): action: Optional[str] = dc_field( default=None, metadata=dc_config(field_name="action") ) @@ -1788,7 +1800,7 @@ class AutomodDetails(DataClassJsonMixin): image_labels: Optional[List[str]] = dc_field( default=None, metadata=dc_config(field_name="image_labels") ) - message_details: "Optional[FlagMessageDetails]" = dc_field( + message_details: "Optional[FlagMessageDetailsResponse]" = dc_field( default=None, metadata=dc_config(field_name="message_details") ) result: "Optional[MessageModerationResult]" = dc_field( @@ -1886,7 +1898,29 @@ class BackstageSettingsResponse(DataClassJsonMixin): @dataclass -class Ban(DataClassJsonMixin): +class BanActionRequestPayload(DataClassJsonMixin): + channel_ban_only: Optional[bool] = dc_field( + default=None, metadata=dc_config(field_name="channel_ban_only") + ) + delete_messages: Optional[str] = dc_field( + default=None, metadata=dc_config(field_name="delete_messages") + ) + ip_ban: Optional[bool] = dc_field( + default=None, metadata=dc_config(field_name="ip_ban") + ) + reason: Optional[str] = dc_field( + default=None, metadata=dc_config(field_name="reason") + ) + shadow: Optional[bool] = dc_field( + default=None, metadata=dc_config(field_name="shadow") + ) + timeout: Optional[int] = dc_field( + default=None, metadata=dc_config(field_name="timeout") + ) + + +@dataclass +class BanInfoResponse(DataClassJsonMixin): created_at: datetime = dc_field( metadata=dc_config( field_name="created_at", @@ -1895,7 +1929,6 @@ class Ban(DataClassJsonMixin): mm_field=fields.DateTime(format="iso"), ) ) - shadow: bool = dc_field(metadata=dc_config(field_name="shadow")) expires: Optional[datetime] = dc_field( default=None, metadata=dc_config( @@ -1908,36 +1941,14 @@ class Ban(DataClassJsonMixin): reason: Optional[str] = dc_field( default=None, metadata=dc_config(field_name="reason") ) - channel: "Optional[Channel]" = dc_field( - default=None, metadata=dc_config(field_name="channel") - ) - created_by: "Optional[User]" = dc_field( - default=None, metadata=dc_config(field_name="created_by") - ) - target: "Optional[User]" = dc_field( - default=None, metadata=dc_config(field_name="target") - ) - - -@dataclass -class BanActionRequest(DataClassJsonMixin): - channel_ban_only: Optional[bool] = dc_field( - default=None, metadata=dc_config(field_name="channel_ban_only") - ) - delete_messages: Optional[str] = dc_field( - default=None, metadata=dc_config(field_name="delete_messages") - ) - ip_ban: Optional[bool] = dc_field( - default=None, metadata=dc_config(field_name="ip_ban") - ) - reason: Optional[str] = dc_field( - default=None, metadata=dc_config(field_name="reason") - ) shadow: Optional[bool] = dc_field( default=None, metadata=dc_config(field_name="shadow") ) - timeout: Optional[int] = dc_field( - default=None, metadata=dc_config(field_name="timeout") + created_by: "Optional[UserResponse]" = dc_field( + default=None, metadata=dc_config(field_name="created_by") + ) + user: "Optional[UserResponse]" = dc_field( + default=None, metadata=dc_config(field_name="user") ) @@ -2026,7 +2037,7 @@ class BanResponse(DataClassJsonMixin): @dataclass -class BlockActionRequest(DataClassJsonMixin): +class BlockActionRequestPayload(DataClassJsonMixin): reason: Optional[str] = dc_field( default=None, metadata=dc_config(field_name="reason") ) @@ -2300,6 +2311,7 @@ class BookmarkFolderResponse(DataClassJsonMixin): mm_field=fields.DateTime(format="iso"), ) ) + user: "UserResponse" = dc_field(metadata=dc_config(field_name="user")) custom: Optional[Dict[str, object]] = dc_field( default=None, metadata=dc_config(field_name="custom") ) @@ -2988,6 +3000,7 @@ class CallRecording(DataClassJsonMixin): ) ) filename: str = dc_field(metadata=dc_config(field_name="filename")) + recording_type: str = dc_field(metadata=dc_config(field_name="recording_type")) session_id: str = dc_field(metadata=dc_config(field_name="session_id")) start_time: datetime = dc_field( metadata=dc_config( @@ -3642,6 +3655,67 @@ class CallStatsLocation(DataClassJsonMixin): ) +@dataclass +class CallStatsMapLocation(DataClassJsonMixin): + count: int = dc_field(metadata=dc_config(field_name="count")) + live_count: int = dc_field(metadata=dc_config(field_name="live_count")) + location: "Optional[CallStatsLocation]" = dc_field( + default=None, metadata=dc_config(field_name="location") + ) + + +@dataclass +class CallStatsMapPublisher(DataClassJsonMixin): + is_live: bool = dc_field(metadata=dc_config(field_name="is_live")) + user_id: str = dc_field(metadata=dc_config(field_name="user_id")) + user_session_id: str = dc_field(metadata=dc_config(field_name="user_session_id")) + published_tracks: "PublishedTrackFlags" = dc_field( + metadata=dc_config(field_name="published_tracks") + ) + name: Optional[str] = dc_field(default=None, metadata=dc_config(field_name="name")) + publisher_type: Optional[str] = dc_field( + default=None, metadata=dc_config(field_name="publisher_type") + ) + location: "Optional[CallStatsLocation]" = dc_field( + default=None, metadata=dc_config(field_name="location") + ) + + +@dataclass +class CallStatsMapPublishers(DataClassJsonMixin): + publishers: "List[CallStatsMapPublisher]" = dc_field( + metadata=dc_config(field_name="publishers") + ) + + +@dataclass +class CallStatsMapSFUs(DataClassJsonMixin): + locations: "List[SFULocationResponse]" = dc_field( + metadata=dc_config(field_name="locations") + ) + + +@dataclass +class CallStatsMapSubscriber(DataClassJsonMixin): + is_live: bool = dc_field(metadata=dc_config(field_name="is_live")) + user_id: str = dc_field(metadata=dc_config(field_name="user_id")) + user_session_id: str = dc_field(metadata=dc_config(field_name="user_session_id")) + name: Optional[str] = dc_field(default=None, metadata=dc_config(field_name="name")) + location: "Optional[CallStatsLocation]" = dc_field( + default=None, metadata=dc_config(field_name="location") + ) + + +@dataclass +class CallStatsMapSubscribers(DataClassJsonMixin): + locations: "List[CallStatsMapLocation]" = dc_field( + metadata=dc_config(field_name="locations") + ) + participants: "Optional[List[CallStatsMapSubscriber]]" = dc_field( + default=None, metadata=dc_config(field_name="participants") + ) + + @dataclass class CallStatsParticipant(DataClassJsonMixin): user_id: str = dc_field(metadata=dc_config(field_name="user_id")) @@ -3938,7 +4012,7 @@ class CallTypeResponse(DataClassJsonMixin): ) ) grants: "Dict[str, List[str]]" = dc_field(metadata=dc_config(field_name="grants")) - notification_settings: "NotificationSettings" = dc_field( + notification_settings: "NotificationSettingsResponse" = dc_field( metadata=dc_config(field_name="notification_settings") ) settings: "CallSettingsResponse" = dc_field( @@ -4085,6 +4159,7 @@ class CampaignCompletedEvent(DataClassJsonMixin): @dataclass class CampaignMessageTemplate(DataClassJsonMixin): poll_id: str = dc_field(metadata=dc_config(field_name="poll_id")) + searchable: bool = dc_field(metadata=dc_config(field_name="searchable")) text: str = dc_field(metadata=dc_config(field_name="text")) attachments: "List[Attachment]" = dc_field( metadata=dc_config(field_name="attachments") @@ -4228,11 +4303,15 @@ class CastPollVoteRequest(DataClassJsonMixin): @dataclass -class Channel(DataClassJsonMixin): - auto_translation_language: str = dc_field( - metadata=dc_config(field_name="auto_translation_language") +class ChannelBatchCompletedEvent(DataClassJsonMixin): + batch_created_at: datetime = dc_field( + metadata=dc_config( + field_name="batch_created_at", + encoder=encode_datetime, + decoder=datetime_from_unix_ns, + mm_field=fields.DateTime(format="iso"), + ) ) - cid: str = dc_field(metadata=dc_config(field_name="cid")) created_at: datetime = dc_field( metadata=dc_config( field_name="created_at", @@ -4241,88 +4320,85 @@ class Channel(DataClassJsonMixin): mm_field=fields.DateTime(format="iso"), ) ) - disabled: bool = dc_field(metadata=dc_config(field_name="disabled")) - frozen: bool = dc_field(metadata=dc_config(field_name="frozen")) - id: str = dc_field(metadata=dc_config(field_name="id")) - type: str = dc_field(metadata=dc_config(field_name="type")) - updated_at: datetime = dc_field( + finished_at: datetime = dc_field( metadata=dc_config( - field_name="updated_at", + field_name="finished_at", encoder=encode_datetime, decoder=datetime_from_unix_ns, mm_field=fields.DateTime(format="iso"), ) ) - custom: Dict[str, object] = dc_field(metadata=dc_config(field_name="custom")) - auto_translation_enabled: Optional[bool] = dc_field( - default=None, metadata=dc_config(field_name="auto_translation_enabled") + operation: str = dc_field(metadata=dc_config(field_name="operation")) + status: str = dc_field(metadata=dc_config(field_name="status")) + success_channels_count: int = dc_field( + metadata=dc_config(field_name="success_channels_count") ) - cooldown: Optional[int] = dc_field( - default=None, metadata=dc_config(field_name="cooldown") + task_id: str = dc_field(metadata=dc_config(field_name="task_id")) + failed_channels: "List[FailedChannelUpdates]" = dc_field( + metadata=dc_config(field_name="failed_channels") ) - deleted_at: Optional[datetime] = dc_field( + custom: Dict[str, object] = dc_field(metadata=dc_config(field_name="custom")) + type: str = dc_field( + default="channel_batch_update.completed", metadata=dc_config(field_name="type") + ) + received_at: Optional[datetime] = dc_field( default=None, metadata=dc_config( - field_name="deleted_at", + field_name="received_at", encoder=encode_datetime, decoder=datetime_from_unix_ns, mm_field=fields.DateTime(format="iso"), ), ) - last_campaigns: Optional[str] = dc_field( - default=None, metadata=dc_config(field_name="last_campaigns") - ) - last_message_at: Optional[datetime] = dc_field( - default=None, + + +@dataclass +class ChannelBatchStartedEvent(DataClassJsonMixin): + batch_created_at: datetime = dc_field( metadata=dc_config( - field_name="last_message_at", + field_name="batch_created_at", encoder=encode_datetime, decoder=datetime_from_unix_ns, mm_field=fields.DateTime(format="iso"), - ), - ) - member_count: Optional[int] = dc_field( - default=None, metadata=dc_config(field_name="member_count") - ) - message_count: Optional[int] = dc_field( - default=None, metadata=dc_config(field_name="message_count") + ) ) - message_count_updated_at: Optional[datetime] = dc_field( - default=None, + created_at: datetime = dc_field( metadata=dc_config( - field_name="message_count_updated_at", + field_name="created_at", encoder=encode_datetime, decoder=datetime_from_unix_ns, mm_field=fields.DateTime(format="iso"), - ), - ) - team: Optional[str] = dc_field(default=None, metadata=dc_config(field_name="team")) - active_live_locations: "Optional[List[SharedLocation]]" = dc_field( - default=None, metadata=dc_config(field_name="active_live_locations") - ) - filter_tags: Optional[List[str]] = dc_field( - default=None, metadata=dc_config(field_name="filter_tags") - ) - invites: "Optional[List[ChannelMember]]" = dc_field( - default=None, metadata=dc_config(field_name="invites") - ) - members: "Optional[List[ChannelMember]]" = dc_field( - default=None, metadata=dc_config(field_name="members") + ) ) - config: "Optional[ChannelConfig]" = dc_field( - default=None, metadata=dc_config(field_name="config") + finished_at: datetime = dc_field( + metadata=dc_config( + field_name="finished_at", + encoder=encode_datetime, + decoder=datetime_from_unix_ns, + mm_field=fields.DateTime(format="iso"), + ) ) - config_overrides: "Optional[ConfigOverrides]" = dc_field( - default=None, metadata=dc_config(field_name="config_overrides") + operation: str = dc_field(metadata=dc_config(field_name="operation")) + status: str = dc_field(metadata=dc_config(field_name="status")) + success_channels_count: int = dc_field( + metadata=dc_config(field_name="success_channels_count") ) - created_by: "Optional[User]" = dc_field( - default=None, metadata=dc_config(field_name="created_by") + task_id: str = dc_field(metadata=dc_config(field_name="task_id")) + failed_channels: "List[FailedChannelUpdates]" = dc_field( + metadata=dc_config(field_name="failed_channels") ) - members_lookup: "Optional[Dict[str, Optional[ChannelMemberLookup]]]" = dc_field( - default=None, metadata=dc_config(field_name="members_lookup") + custom: Dict[str, object] = dc_field(metadata=dc_config(field_name="custom")) + type: str = dc_field( + default="channel_batch_update.started", metadata=dc_config(field_name="type") ) - truncated_by: "Optional[User]" = dc_field( - default=None, metadata=dc_config(field_name="truncated_by") + received_at: Optional[datetime] = dc_field( + default=None, + metadata=dc_config( + field_name="received_at", + encoder=encode_datetime, + decoder=datetime_from_unix_ns, + mm_field=fields.DateTime(format="iso"), + ), ) @@ -4388,7 +4464,7 @@ class ChannelConfig(DataClassJsonMixin): partition_size: Optional[int] = dc_field( default=None, metadata=dc_config(field_name="partition_size") ) - partition_ttl: Optional[int] = dc_field( + partition_ttl: Optional[str] = dc_field( default=None, metadata=dc_config(field_name="partition_ttl") ) allowed_flag_reasons: Optional[List[str]] = dc_field( @@ -4491,19 +4567,44 @@ class ChannelCreatedEvent(DataClassJsonMixin): mm_field=fields.DateTime(format="iso"), ) ) + channel: "ChannelResponse" = dc_field(metadata=dc_config(field_name="channel")) + custom: Dict[str, object] = dc_field(metadata=dc_config(field_name="custom")) type: str = dc_field( default="channel.created", metadata=dc_config(field_name="type") ) - - -@dataclass -class ChannelDeletedEvent(DataClassJsonMixin): - channel_id: str = dc_field(metadata=dc_config(field_name="channel_id")) - channel_member_count: int = dc_field( - metadata=dc_config(field_name="channel_member_count") + channel_id: Optional[str] = dc_field( + default=None, metadata=dc_config(field_name="channel_id") ) - channel_type: str = dc_field(metadata=dc_config(field_name="channel_type")) - cid: str = dc_field(metadata=dc_config(field_name="cid")) + channel_member_count: Optional[int] = dc_field( + default=None, metadata=dc_config(field_name="channel_member_count") + ) + channel_message_count: Optional[int] = dc_field( + default=None, metadata=dc_config(field_name="channel_message_count") + ) + channel_type: Optional[str] = dc_field( + default=None, metadata=dc_config(field_name="channel_type") + ) + cid: Optional[str] = dc_field(default=None, metadata=dc_config(field_name="cid")) + received_at: Optional[datetime] = dc_field( + default=None, + metadata=dc_config( + field_name="received_at", + encoder=encode_datetime, + decoder=datetime_from_unix_ns, + mm_field=fields.DateTime(format="iso"), + ), + ) + team: Optional[str] = dc_field(default=None, metadata=dc_config(field_name="team")) + channel_custom: Optional[Dict[str, object]] = dc_field( + default=None, metadata=dc_config(field_name="channel_custom") + ) + user: "Optional[UserResponseCommonFields]" = dc_field( + default=None, metadata=dc_config(field_name="user") + ) + + +@dataclass +class ChannelDeletedEvent(DataClassJsonMixin): created_at: datetime = dc_field( metadata=dc_config( field_name="created_at", @@ -4512,12 +4613,39 @@ class ChannelDeletedEvent(DataClassJsonMixin): mm_field=fields.DateTime(format="iso"), ) ) + channel: "ChannelResponse" = dc_field(metadata=dc_config(field_name="channel")) + custom: Dict[str, object] = dc_field(metadata=dc_config(field_name="custom")) type: str = dc_field( default="channel.deleted", metadata=dc_config(field_name="type") ) + channel_id: Optional[str] = dc_field( + default=None, metadata=dc_config(field_name="channel_id") + ) + channel_member_count: Optional[int] = dc_field( + default=None, metadata=dc_config(field_name="channel_member_count") + ) + channel_message_count: Optional[int] = dc_field( + default=None, metadata=dc_config(field_name="channel_message_count") + ) + channel_type: Optional[str] = dc_field( + default=None, metadata=dc_config(field_name="channel_type") + ) + cid: Optional[str] = dc_field(default=None, metadata=dc_config(field_name="cid")) + received_at: Optional[datetime] = dc_field( + default=None, + metadata=dc_config( + field_name="received_at", + encoder=encode_datetime, + decoder=datetime_from_unix_ns, + mm_field=fields.DateTime(format="iso"), + ), + ) team: Optional[str] = dc_field(default=None, metadata=dc_config(field_name="team")) - channel: "Optional[ChannelResponse]" = dc_field( - default=None, metadata=dc_config(field_name="channel") + channel_custom: Optional[Dict[str, object]] = dc_field( + default=None, metadata=dc_config(field_name="channel_custom") + ) + user: "Optional[UserResponseCommonFields]" = dc_field( + default=None, metadata=dc_config(field_name="user") ) @@ -4548,9 +4676,6 @@ class ChannelExport(DataClassJsonMixin): @dataclass class ChannelFrozenEvent(DataClassJsonMixin): - channel_id: str = dc_field(metadata=dc_config(field_name="channel_id")) - channel_type: str = dc_field(metadata=dc_config(field_name="channel_type")) - cid: str = dc_field(metadata=dc_config(field_name="cid")) created_at: datetime = dc_field( metadata=dc_config( field_name="created_at", @@ -4559,9 +4684,26 @@ class ChannelFrozenEvent(DataClassJsonMixin): mm_field=fields.DateTime(format="iso"), ) ) + custom: Dict[str, object] = dc_field(metadata=dc_config(field_name="custom")) type: str = dc_field( default="channel.frozen", metadata=dc_config(field_name="type") ) + channel_id: Optional[str] = dc_field( + default=None, metadata=dc_config(field_name="channel_id") + ) + channel_type: Optional[str] = dc_field( + default=None, metadata=dc_config(field_name="channel_type") + ) + cid: Optional[str] = dc_field(default=None, metadata=dc_config(field_name="cid")) + received_at: Optional[datetime] = dc_field( + default=None, + metadata=dc_config( + field_name="received_at", + encoder=encode_datetime, + decoder=datetime_from_unix_ns, + mm_field=fields.DateTime(format="iso"), + ), + ) @dataclass @@ -4591,12 +4733,6 @@ class ChannelGetOrCreateRequest(DataClassJsonMixin): @dataclass class ChannelHiddenEvent(DataClassJsonMixin): - channel_id: str = dc_field(metadata=dc_config(field_name="channel_id")) - channel_member_count: int = dc_field( - metadata=dc_config(field_name="channel_member_count") - ) - channel_type: str = dc_field(metadata=dc_config(field_name="channel_type")) - cid: str = dc_field(metadata=dc_config(field_name="cid")) clear_history: bool = dc_field(metadata=dc_config(field_name="clear_history")) created_at: datetime = dc_field( metadata=dc_config( @@ -4606,13 +4742,38 @@ class ChannelHiddenEvent(DataClassJsonMixin): mm_field=fields.DateTime(format="iso"), ) ) + channel: "ChannelResponse" = dc_field(metadata=dc_config(field_name="channel")) + custom: Dict[str, object] = dc_field(metadata=dc_config(field_name="custom")) type: str = dc_field( default="channel.hidden", metadata=dc_config(field_name="type") ) - channel: "Optional[ChannelResponse]" = dc_field( - default=None, metadata=dc_config(field_name="channel") + channel_id: Optional[str] = dc_field( + default=None, metadata=dc_config(field_name="channel_id") ) - user: "Optional[User]" = dc_field( + channel_member_count: Optional[int] = dc_field( + default=None, metadata=dc_config(field_name="channel_member_count") + ) + channel_message_count: Optional[int] = dc_field( + default=None, metadata=dc_config(field_name="channel_message_count") + ) + channel_type: Optional[str] = dc_field( + default=None, metadata=dc_config(field_name="channel_type") + ) + cid: Optional[str] = dc_field(default=None, metadata=dc_config(field_name="cid")) + received_at: Optional[datetime] = dc_field( + default=None, + metadata=dc_config( + field_name="received_at", + encoder=encode_datetime, + decoder=datetime_from_unix_ns, + mm_field=fields.DateTime(format="iso"), + ), + ) + team: Optional[str] = dc_field(default=None, metadata=dc_config(field_name="team")) + channel_custom: Optional[Dict[str, object]] = dc_field( + default=None, metadata=dc_config(field_name="channel_custom") + ) + user: "Optional[UserResponseCommonFields]" = dc_field( default=None, metadata=dc_config(field_name="user") ) @@ -4659,7 +4820,53 @@ class ChannelInput(DataClassJsonMixin): @dataclass -class ChannelMember(DataClassJsonMixin): +class ChannelInputRequest(DataClassJsonMixin): + auto_translation_enabled: Optional[bool] = dc_field( + default=None, metadata=dc_config(field_name="auto_translation_enabled") + ) + auto_translation_language: Optional[str] = dc_field( + default=None, metadata=dc_config(field_name="auto_translation_language") + ) + disabled: Optional[bool] = dc_field( + default=None, metadata=dc_config(field_name="disabled") + ) + frozen: Optional[bool] = dc_field( + default=None, metadata=dc_config(field_name="frozen") + ) + team: Optional[str] = dc_field(default=None, metadata=dc_config(field_name="team")) + invites: "Optional[List[ChannelMemberRequest]]" = dc_field( + default=None, metadata=dc_config(field_name="invites") + ) + members: "Optional[List[ChannelMemberRequest]]" = dc_field( + default=None, metadata=dc_config(field_name="members") + ) + config_overrides: "Optional[ConfigOverridesRequest]" = dc_field( + default=None, metadata=dc_config(field_name="config_overrides") + ) + created_by: "Optional[UserRequest]" = dc_field( + default=None, metadata=dc_config(field_name="created_by") + ) + custom: Optional[Dict[str, object]] = dc_field( + default=None, metadata=dc_config(field_name="custom") + ) + + +@dataclass +class ChannelMemberRequest(DataClassJsonMixin): + user_id: str = dc_field(metadata=dc_config(field_name="user_id")) + channel_role: Optional[str] = dc_field( + default=None, metadata=dc_config(field_name="channel_role") + ) + custom: Optional[Dict[str, object]] = dc_field( + default=None, metadata=dc_config(field_name="custom") + ) + user: "Optional[UserResponse]" = dc_field( + default=None, metadata=dc_config(field_name="user") + ) + + +@dataclass +class ChannelMemberResponse(DataClassJsonMixin): banned: bool = dc_field(metadata=dc_config(field_name="banned")) channel_role: str = dc_field(metadata=dc_config(field_name="channel_role")) created_at: datetime = dc_field( @@ -4670,7 +4877,6 @@ class ChannelMember(DataClassJsonMixin): mm_field=fields.DateTime(format="iso"), ) ) - is_global_banned: bool = dc_field(metadata=dc_config(field_name="is_global_banned")) notifications_muted: bool = dc_field( metadata=dc_config(field_name="notifications_muted") ) @@ -4702,9 +4908,6 @@ class ChannelMember(DataClassJsonMixin): mm_field=fields.DateTime(format="iso"), ), ) - blocked: Optional[bool] = dc_field( - default=None, metadata=dc_config(field_name="blocked") - ) deleted_at: Optional[datetime] = dc_field( default=None, metadata=dc_config( @@ -4714,9 +4917,6 @@ class ChannelMember(DataClassJsonMixin): mm_field=fields.DateTime(format="iso"), ), ) - hidden: Optional[bool] = dc_field( - default=None, metadata=dc_config(field_name="hidden") - ) invite_accepted_at: Optional[datetime] = dc_field( default=None, metadata=dc_config( @@ -4750,6 +4950,7 @@ class ChannelMember(DataClassJsonMixin): mm_field=fields.DateTime(format="iso"), ), ) + role: Optional[str] = dc_field(default=None, metadata=dc_config(field_name="role")) status: Optional[str] = dc_field( default=None, metadata=dc_config(field_name="status") ) @@ -4759,58 +4960,48 @@ class ChannelMember(DataClassJsonMixin): deleted_messages: Optional[List[str]] = dc_field( default=None, metadata=dc_config(field_name="deleted_messages") ) - channel: "Optional[DenormalizedChannelFields]" = dc_field( - default=None, metadata=dc_config(field_name="channel") - ) - user: "Optional[User]" = dc_field( + user: "Optional[UserResponse]" = dc_field( default=None, metadata=dc_config(field_name="user") ) @dataclass -class ChannelMemberLookup(DataClassJsonMixin): - archived: bool = dc_field(metadata=dc_config(field_name="archived")) - banned: bool = dc_field(metadata=dc_config(field_name="banned")) - blocked: bool = dc_field(metadata=dc_config(field_name="blocked")) - hidden: bool = dc_field(metadata=dc_config(field_name="hidden")) - pinned: bool = dc_field(metadata=dc_config(field_name="pinned")) - archived_at: Optional[datetime] = dc_field( - default=None, +class ChannelMessagesResponse(DataClassJsonMixin): + messages: "List[MessageResponse]" = dc_field( + metadata=dc_config(field_name="messages") + ) + channel: "ChannelResponse" = dc_field(metadata=dc_config(field_name="channel")) + + +@dataclass +class ChannelMute(DataClassJsonMixin): + created_at: datetime = dc_field( metadata=dc_config( - field_name="archived_at", + field_name="created_at", encoder=encode_datetime, decoder=datetime_from_unix_ns, mm_field=fields.DateTime(format="iso"), - ), + ) ) - ban_expires: Optional[datetime] = dc_field( - default=None, + updated_at: datetime = dc_field( metadata=dc_config( - field_name="ban_expires", + field_name="updated_at", encoder=encode_datetime, decoder=datetime_from_unix_ns, mm_field=fields.DateTime(format="iso"), - ), + ) ) - pinned_at: Optional[datetime] = dc_field( + expires: Optional[datetime] = dc_field( default=None, metadata=dc_config( - field_name="pinned_at", + field_name="expires", encoder=encode_datetime, decoder=datetime_from_unix_ns, mm_field=fields.DateTime(format="iso"), ), ) - - -@dataclass -class ChannelMemberRequest(DataClassJsonMixin): - user_id: str = dc_field(metadata=dc_config(field_name="user_id")) - channel_role: Optional[str] = dc_field( - default=None, metadata=dc_config(field_name="channel_role") - ) - custom: Optional[Dict[str, object]] = dc_field( - default=None, metadata=dc_config(field_name="custom") + channel: "Optional[ChannelResponse]" = dc_field( + default=None, metadata=dc_config(field_name="channel") ) user: "Optional[UserResponse]" = dc_field( default=None, metadata=dc_config(field_name="user") @@ -4818,9 +5009,7 @@ class ChannelMemberRequest(DataClassJsonMixin): @dataclass -class ChannelMemberResponse(DataClassJsonMixin): - banned: bool = dc_field(metadata=dc_config(field_name="banned")) - channel_role: str = dc_field(metadata=dc_config(field_name="channel_role")) +class ChannelMutedEvent(DataClassJsonMixin): created_at: datetime = dc_field( metadata=dc_config( field_name="created_at", @@ -4829,150 +5018,28 @@ class ChannelMemberResponse(DataClassJsonMixin): mm_field=fields.DateTime(format="iso"), ) ) - notifications_muted: bool = dc_field( - metadata=dc_config(field_name="notifications_muted") - ) - shadow_banned: bool = dc_field(metadata=dc_config(field_name="shadow_banned")) - updated_at: datetime = dc_field( - metadata=dc_config( - field_name="updated_at", - encoder=encode_datetime, - decoder=datetime_from_unix_ns, - mm_field=fields.DateTime(format="iso"), - ) - ) custom: Dict[str, object] = dc_field(metadata=dc_config(field_name="custom")) - archived_at: Optional[datetime] = dc_field( + type: str = dc_field(default="channel.muted", metadata=dc_config(field_name="type")) + received_at: Optional[datetime] = dc_field( default=None, metadata=dc_config( - field_name="archived_at", + field_name="received_at", encoder=encode_datetime, decoder=datetime_from_unix_ns, mm_field=fields.DateTime(format="iso"), ), ) - ban_expires: Optional[datetime] = dc_field( - default=None, - metadata=dc_config( - field_name="ban_expires", - encoder=encode_datetime, - decoder=datetime_from_unix_ns, - mm_field=fields.DateTime(format="iso"), - ), + mutes: "Optional[List[ChannelMute]]" = dc_field( + default=None, metadata=dc_config(field_name="mutes") ) - deleted_at: Optional[datetime] = dc_field( - default=None, - metadata=dc_config( - field_name="deleted_at", - encoder=encode_datetime, - decoder=datetime_from_unix_ns, - mm_field=fields.DateTime(format="iso"), - ), + mute: "Optional[ChannelMute]" = dc_field( + default=None, metadata=dc_config(field_name="mute") ) - invite_accepted_at: Optional[datetime] = dc_field( - default=None, - metadata=dc_config( - field_name="invite_accepted_at", - encoder=encode_datetime, - decoder=datetime_from_unix_ns, - mm_field=fields.DateTime(format="iso"), - ), - ) - invite_rejected_at: Optional[datetime] = dc_field( - default=None, - metadata=dc_config( - field_name="invite_rejected_at", - encoder=encode_datetime, - decoder=datetime_from_unix_ns, - mm_field=fields.DateTime(format="iso"), - ), - ) - invited: Optional[bool] = dc_field( - default=None, metadata=dc_config(field_name="invited") - ) - is_moderator: Optional[bool] = dc_field( - default=None, metadata=dc_config(field_name="is_moderator") - ) - pinned_at: Optional[datetime] = dc_field( - default=None, - metadata=dc_config( - field_name="pinned_at", - encoder=encode_datetime, - decoder=datetime_from_unix_ns, - mm_field=fields.DateTime(format="iso"), - ), - ) - role: Optional[str] = dc_field(default=None, metadata=dc_config(field_name="role")) - status: Optional[str] = dc_field( - default=None, metadata=dc_config(field_name="status") - ) - user_id: Optional[str] = dc_field( - default=None, metadata=dc_config(field_name="user_id") - ) - deleted_messages: Optional[List[str]] = dc_field( - default=None, metadata=dc_config(field_name="deleted_messages") - ) - user: "Optional[UserResponse]" = dc_field( - default=None, metadata=dc_config(field_name="user") - ) - - -@dataclass -class ChannelMessages(DataClassJsonMixin): - messages: "List[Message]" = dc_field(metadata=dc_config(field_name="messages")) - channel: "Optional[ChannelResponse]" = dc_field( - default=None, metadata=dc_config(field_name="channel") - ) - - -@dataclass -class ChannelMute(DataClassJsonMixin): - created_at: datetime = dc_field( - metadata=dc_config( - field_name="created_at", - encoder=encode_datetime, - decoder=datetime_from_unix_ns, - mm_field=fields.DateTime(format="iso"), - ) - ) - updated_at: datetime = dc_field( - metadata=dc_config( - field_name="updated_at", - encoder=encode_datetime, - decoder=datetime_from_unix_ns, - mm_field=fields.DateTime(format="iso"), - ) - ) - expires: Optional[datetime] = dc_field( - default=None, - metadata=dc_config( - field_name="expires", - encoder=encode_datetime, - decoder=datetime_from_unix_ns, - mm_field=fields.DateTime(format="iso"), - ), - ) - channel: "Optional[ChannelResponse]" = dc_field( - default=None, metadata=dc_config(field_name="channel") - ) - user: "Optional[UserResponse]" = dc_field( + user: "Optional[UserResponseCommonFields]" = dc_field( default=None, metadata=dc_config(field_name="user") ) -@dataclass -class ChannelMutedEvent(DataClassJsonMixin): - created_at: datetime = dc_field( - metadata=dc_config( - field_name="created_at", - encoder=encode_datetime, - decoder=datetime_from_unix_ns, - mm_field=fields.DateTime(format="iso"), - ) - ) - type: str = dc_field(default="channel.muted", metadata=dc_config(field_name="type")) - - ChannelOwnCapabilityType = NewType("ChannelOwnCapabilityType", str) @@ -5019,7 +5086,7 @@ class ChannelOwnCapability: @dataclass -class ChannelPushPreferences(DataClassJsonMixin): +class ChannelPushPreferencesResponse(DataClassJsonMixin): chat_level: Optional[str] = dc_field( default=None, metadata=dc_config(field_name="chat_level") ) @@ -5199,7 +5266,7 @@ class ChannelStateResponse(DataClassJsonMixin): membership: "Optional[ChannelMemberResponse]" = dc_field( default=None, metadata=dc_config(field_name="membership") ) - push_preferences: "Optional[ChannelPushPreferences]" = dc_field( + push_preferences: "Optional[ChannelPushPreferencesResponse]" = dc_field( default=None, metadata=dc_config(field_name="push_preferences") ) @@ -5254,19 +5321,13 @@ class ChannelStateResponseFields(DataClassJsonMixin): membership: "Optional[ChannelMemberResponse]" = dc_field( default=None, metadata=dc_config(field_name="membership") ) - push_preferences: "Optional[ChannelPushPreferences]" = dc_field( + push_preferences: "Optional[ChannelPushPreferencesResponse]" = dc_field( default=None, metadata=dc_config(field_name="push_preferences") ) @dataclass class ChannelTruncatedEvent(DataClassJsonMixin): - channel_id: str = dc_field(metadata=dc_config(field_name="channel_id")) - channel_member_count: int = dc_field( - metadata=dc_config(field_name="channel_member_count") - ) - channel_type: str = dc_field(metadata=dc_config(field_name="channel_type")) - cid: str = dc_field(metadata=dc_config(field_name="cid")) created_at: datetime = dc_field( metadata=dc_config( field_name="created_at", @@ -5275,11 +5336,45 @@ class ChannelTruncatedEvent(DataClassJsonMixin): mm_field=fields.DateTime(format="iso"), ) ) + channel: "ChannelResponse" = dc_field(metadata=dc_config(field_name="channel")) + custom: Dict[str, object] = dc_field(metadata=dc_config(field_name="custom")) type: str = dc_field( default="channel.truncated", metadata=dc_config(field_name="type") ) - channel: "Optional[ChannelResponse]" = dc_field( - default=None, metadata=dc_config(field_name="channel") + channel_id: Optional[str] = dc_field( + default=None, metadata=dc_config(field_name="channel_id") + ) + channel_member_count: Optional[int] = dc_field( + default=None, metadata=dc_config(field_name="channel_member_count") + ) + channel_message_count: Optional[int] = dc_field( + default=None, metadata=dc_config(field_name="channel_message_count") + ) + channel_type: Optional[str] = dc_field( + default=None, metadata=dc_config(field_name="channel_type") + ) + cid: Optional[str] = dc_field(default=None, metadata=dc_config(field_name="cid")) + message_id: Optional[str] = dc_field( + default=None, metadata=dc_config(field_name="message_id") + ) + received_at: Optional[datetime] = dc_field( + default=None, + metadata=dc_config( + field_name="received_at", + encoder=encode_datetime, + decoder=datetime_from_unix_ns, + mm_field=fields.DateTime(format="iso"), + ), + ) + team: Optional[str] = dc_field(default=None, metadata=dc_config(field_name="team")) + channel_custom: Optional[Dict[str, object]] = dc_field( + default=None, metadata=dc_config(field_name="channel_custom") + ) + message: "Optional[MessageResponse]" = dc_field( + default=None, metadata=dc_config(field_name="message") + ) + user: "Optional[UserResponseCommonFields]" = dc_field( + default=None, metadata=dc_config(field_name="user") ) @@ -5365,9 +5460,6 @@ class ChannelTypeConfig(DataClassJsonMixin): @dataclass class ChannelUnFrozenEvent(DataClassJsonMixin): - channel_id: str = dc_field(metadata=dc_config(field_name="channel_id")) - channel_type: str = dc_field(metadata=dc_config(field_name="channel_type")) - cid: str = dc_field(metadata=dc_config(field_name="cid")) created_at: datetime = dc_field( metadata=dc_config( field_name="created_at", @@ -5376,9 +5468,26 @@ class ChannelUnFrozenEvent(DataClassJsonMixin): mm_field=fields.DateTime(format="iso"), ) ) + custom: Dict[str, object] = dc_field(metadata=dc_config(field_name="custom")) type: str = dc_field( default="channel.unfrozen", metadata=dc_config(field_name="type") ) + channel_id: Optional[str] = dc_field( + default=None, metadata=dc_config(field_name="channel_id") + ) + channel_type: Optional[str] = dc_field( + default=None, metadata=dc_config(field_name="channel_type") + ) + cid: Optional[str] = dc_field(default=None, metadata=dc_config(field_name="cid")) + received_at: Optional[datetime] = dc_field( + default=None, + metadata=dc_config( + field_name="received_at", + encoder=encode_datetime, + decoder=datetime_from_unix_ns, + mm_field=fields.DateTime(format="iso"), + ), + ) @dataclass @@ -5391,19 +5500,32 @@ class ChannelUnmutedEvent(DataClassJsonMixin): mm_field=fields.DateTime(format="iso"), ) ) + custom: Dict[str, object] = dc_field(metadata=dc_config(field_name="custom")) type: str = dc_field( default="channel.unmuted", metadata=dc_config(field_name="type") ) + received_at: Optional[datetime] = dc_field( + default=None, + metadata=dc_config( + field_name="received_at", + encoder=encode_datetime, + decoder=datetime_from_unix_ns, + mm_field=fields.DateTime(format="iso"), + ), + ) + mutes: "Optional[List[ChannelMute]]" = dc_field( + default=None, metadata=dc_config(field_name="mutes") + ) + mute: "Optional[ChannelMute]" = dc_field( + default=None, metadata=dc_config(field_name="mute") + ) + user: "Optional[UserResponseCommonFields]" = dc_field( + default=None, metadata=dc_config(field_name="user") + ) @dataclass class ChannelUpdatedEvent(DataClassJsonMixin): - channel_id: str = dc_field(metadata=dc_config(field_name="channel_id")) - channel_member_count: int = dc_field( - metadata=dc_config(field_name="channel_member_count") - ) - channel_type: str = dc_field(metadata=dc_config(field_name="channel_type")) - cid: str = dc_field(metadata=dc_config(field_name="cid")) created_at: datetime = dc_field( metadata=dc_config( field_name="created_at", @@ -5412,26 +5534,50 @@ class ChannelUpdatedEvent(DataClassJsonMixin): mm_field=fields.DateTime(format="iso"), ) ) + channel: "ChannelResponse" = dc_field(metadata=dc_config(field_name="channel")) + custom: Dict[str, object] = dc_field(metadata=dc_config(field_name="custom")) type: str = dc_field( default="channel.updated", metadata=dc_config(field_name="type") ) + channel_id: Optional[str] = dc_field( + default=None, metadata=dc_config(field_name="channel_id") + ) + channel_member_count: Optional[int] = dc_field( + default=None, metadata=dc_config(field_name="channel_member_count") + ) + channel_message_count: Optional[int] = dc_field( + default=None, metadata=dc_config(field_name="channel_message_count") + ) + channel_type: Optional[str] = dc_field( + default=None, metadata=dc_config(field_name="channel_type") + ) + cid: Optional[str] = dc_field(default=None, metadata=dc_config(field_name="cid")) + message_id: Optional[str] = dc_field( + default=None, metadata=dc_config(field_name="message_id") + ) + received_at: Optional[datetime] = dc_field( + default=None, + metadata=dc_config( + field_name="received_at", + encoder=encode_datetime, + decoder=datetime_from_unix_ns, + mm_field=fields.DateTime(format="iso"), + ), + ) team: Optional[str] = dc_field(default=None, metadata=dc_config(field_name="team")) - channel: "Optional[ChannelResponse]" = dc_field( - default=None, metadata=dc_config(field_name="channel") + channel_custom: Optional[Dict[str, object]] = dc_field( + default=None, metadata=dc_config(field_name="channel_custom") ) - message: "Optional[Message]" = dc_field( + message: "Optional[MessageResponse]" = dc_field( default=None, metadata=dc_config(field_name="message") ) - user: "Optional[User]" = dc_field( + user: "Optional[UserResponseCommonFields]" = dc_field( default=None, metadata=dc_config(field_name="user") ) @dataclass class ChannelVisibleEvent(DataClassJsonMixin): - channel_id: str = dc_field(metadata=dc_config(field_name="channel_id")) - channel_type: str = dc_field(metadata=dc_config(field_name="channel_type")) - cid: str = dc_field(metadata=dc_config(field_name="cid")) created_at: datetime = dc_field( metadata=dc_config( field_name="created_at", @@ -5440,10 +5586,38 @@ class ChannelVisibleEvent(DataClassJsonMixin): mm_field=fields.DateTime(format="iso"), ) ) + channel: "ChannelResponse" = dc_field(metadata=dc_config(field_name="channel")) + custom: Dict[str, object] = dc_field(metadata=dc_config(field_name="custom")) type: str = dc_field( default="channel.visible", metadata=dc_config(field_name="type") ) - user: "Optional[User]" = dc_field( + channel_id: Optional[str] = dc_field( + default=None, metadata=dc_config(field_name="channel_id") + ) + channel_member_count: Optional[int] = dc_field( + default=None, metadata=dc_config(field_name="channel_member_count") + ) + channel_message_count: Optional[int] = dc_field( + default=None, metadata=dc_config(field_name="channel_message_count") + ) + channel_type: Optional[str] = dc_field( + default=None, metadata=dc_config(field_name="channel_type") + ) + cid: Optional[str] = dc_field(default=None, metadata=dc_config(field_name="cid")) + received_at: Optional[datetime] = dc_field( + default=None, + metadata=dc_config( + field_name="received_at", + encoder=encode_datetime, + decoder=datetime_from_unix_ns, + mm_field=fields.DateTime(format="iso"), + ), + ) + team: Optional[str] = dc_field(default=None, metadata=dc_config(field_name="team")) + channel_custom: Optional[Dict[str, object]] = dc_field( + default=None, metadata=dc_config(field_name="channel_custom") + ) + user: "Optional[UserResponseCommonFields]" = dc_field( default=None, metadata=dc_config(field_name="user") ) @@ -5671,19 +5845,59 @@ class CollectUserFeedbackResponse(DataClassJsonMixin): @dataclass -class Command(DataClassJsonMixin): - args: str = dc_field(metadata=dc_config(field_name="args")) - description: str = dc_field(metadata=dc_config(field_name="description")) +class CollectionRequest(DataClassJsonMixin): name: str = dc_field(metadata=dc_config(field_name="name")) - set: str = dc_field(metadata=dc_config(field_name="set")) - created_at: Optional[datetime] = dc_field( - default=None, - metadata=dc_config( - field_name="created_at", - encoder=encode_datetime, - decoder=datetime_from_unix_ns, - mm_field=fields.DateTime(format="iso"), - ), + custom: Dict[str, object] = dc_field(metadata=dc_config(field_name="custom")) + id: Optional[str] = dc_field(default=None, metadata=dc_config(field_name="id")) + user_id: Optional[str] = dc_field( + default=None, metadata=dc_config(field_name="user_id") + ) + + +@dataclass +class CollectionResponse(DataClassJsonMixin): + id: str = dc_field(metadata=dc_config(field_name="id")) + name: str = dc_field(metadata=dc_config(field_name="name")) + created_at: Optional[datetime] = dc_field( + default=None, + metadata=dc_config( + field_name="created_at", + encoder=encode_datetime, + decoder=datetime_from_unix_ns, + mm_field=fields.DateTime(format="iso"), + ), + ) + updated_at: Optional[datetime] = dc_field( + default=None, + metadata=dc_config( + field_name="updated_at", + encoder=encode_datetime, + decoder=datetime_from_unix_ns, + mm_field=fields.DateTime(format="iso"), + ), + ) + user_id: Optional[str] = dc_field( + default=None, metadata=dc_config(field_name="user_id") + ) + custom: Optional[Dict[str, object]] = dc_field( + default=None, metadata=dc_config(field_name="custom") + ) + + +@dataclass +class Command(DataClassJsonMixin): + args: str = dc_field(metadata=dc_config(field_name="args")) + description: str = dc_field(metadata=dc_config(field_name="description")) + name: str = dc_field(metadata=dc_config(field_name="name")) + set: str = dc_field(metadata=dc_config(field_name="set")) + created_at: Optional[datetime] = dc_field( + default=None, + metadata=dc_config( + field_name="created_at", + encoder=encode_datetime, + decoder=datetime_from_unix_ns, + mm_field=fields.DateTime(format="iso"), + ), ) updated_at: Optional[datetime] = dc_field( default=None, @@ -5979,9 +6193,7 @@ class CommitMessageRequest(DataClassJsonMixin): @dataclass -class ConfigOverrides(DataClassJsonMixin): - commands: List[str] = dc_field(metadata=dc_config(field_name="commands")) - grants: "Dict[str, List[str]]" = dc_field(metadata=dc_config(field_name="grants")) +class ConfigOverridesRequest(DataClassJsonMixin): blocklist: Optional[str] = dc_field( default=None, metadata=dc_config(field_name="blocklist") ) @@ -6018,6 +6230,12 @@ class ConfigOverrides(DataClassJsonMixin): user_message_reminders: Optional[bool] = dc_field( default=None, metadata=dc_config(field_name="user_message_reminders") ) + commands: Optional[List[str]] = dc_field( + default=None, metadata=dc_config(field_name="commands") + ) + grants: "Optional[Dict[str, List[str]]]" = dc_field( + default=None, metadata=dc_config(field_name="grants") + ) @dataclass @@ -6090,6 +6308,12 @@ class ContentCountRuleParameters(DataClassJsonMixin): ) +@dataclass +class CoordinatesResponse(DataClassJsonMixin): + latitude: float = dc_field(metadata=dc_config(field_name="latitude")) + longitude: float = dc_field(metadata=dc_config(field_name="longitude")) + + @dataclass class CountByMinuteResponse(DataClassJsonMixin): count: int = dc_field(metadata=dc_config(field_name="count")) @@ -6134,7 +6358,7 @@ class CreateCallTypeRequest(DataClassJsonMixin): grants: "Optional[Dict[str, List[str]]]" = dc_field( default=None, metadata=dc_config(field_name="grants") ) - notification_settings: "Optional[NotificationSettings]" = dc_field( + notification_settings: "Optional[NotificationSettingsRequest]" = dc_field( default=None, metadata=dc_config(field_name="notification_settings") ) settings: "Optional[CallSettingsRequest]" = dc_field( @@ -6163,7 +6387,7 @@ class CreateCallTypeResponse(DataClassJsonMixin): ) ) grants: "Dict[str, List[str]]" = dc_field(metadata=dc_config(field_name="grants")) - notification_settings: "NotificationSettings" = dc_field( + notification_settings: "NotificationSettingsResponse" = dc_field( metadata=dc_config(field_name="notification_settings") ) settings: "CallSettingsResponse" = dc_field( @@ -6347,6 +6571,27 @@ class CreateChannelTypeResponse(DataClassJsonMixin): ) +@dataclass +class CreateCollectionsRequest(DataClassJsonMixin): + collections: "List[CollectionRequest]" = dc_field( + metadata=dc_config(field_name="collections") + ) + user_id: Optional[str] = dc_field( + default=None, metadata=dc_config(field_name="user_id") + ) + user: "Optional[UserRequest]" = dc_field( + default=None, metadata=dc_config(field_name="user") + ) + + +@dataclass +class CreateCollectionsResponse(DataClassJsonMixin): + duration: str = dc_field(metadata=dc_config(field_name="duration")) + collections: "List[CollectionResponse]" = dc_field( + metadata=dc_config(field_name="collections") + ) + + @dataclass class CreateCommandRequest(DataClassJsonMixin): description: str = dc_field(metadata=dc_config(field_name="description")) @@ -6638,7 +6883,7 @@ class CreateSIPTrunkResponse(DataClassJsonMixin): @dataclass -class CustomActionRequest(DataClassJsonMixin): +class CustomActionRequestPayload(DataClassJsonMixin): id: Optional[str] = dc_field(default=None, metadata=dc_config(field_name="id")) options: Optional[Dict[str, object]] = dc_field( default=None, metadata=dc_config(field_name="options") @@ -6670,7 +6915,7 @@ class CustomCheckRequest(DataClassJsonMixin): user_id: Optional[str] = dc_field( default=None, metadata=dc_config(field_name="user_id") ) - moderation_payload: "Optional[ModerationPayload]" = dc_field( + moderation_payload: "Optional[ModerationPayloadRequest]" = dc_field( default=None, metadata=dc_config(field_name="moderation_payload") ) user: "Optional[UserRequest]" = dc_field( @@ -6688,6 +6933,29 @@ class CustomCheckResponse(DataClassJsonMixin): ) +@dataclass +class CustomEvent(DataClassJsonMixin): + created_at: datetime = dc_field( + metadata=dc_config( + field_name="created_at", + encoder=encode_datetime, + decoder=datetime_from_unix_ns, + mm_field=fields.DateTime(format="iso"), + ) + ) + custom: Dict[str, object] = dc_field(metadata=dc_config(field_name="custom")) + type: str = dc_field(default="*", metadata=dc_config(field_name="type")) + received_at: Optional[datetime] = dc_field( + default=None, + metadata=dc_config( + field_name="received_at", + encoder=encode_datetime, + decoder=datetime_from_unix_ns, + mm_field=fields.DateTime(format="iso"), + ), + ) + + @dataclass class CustomVideoEvent(DataClassJsonMixin): call_cid: str = dc_field(metadata=dc_config(field_name="call_cid")) @@ -6860,7 +7128,7 @@ class DeleteActivityReactionResponse(DataClassJsonMixin): @dataclass -class DeleteActivityRequest(DataClassJsonMixin): +class DeleteActivityRequestPayload(DataClassJsonMixin): hard_delete: Optional[bool] = dc_field( default=None, metadata=dc_config(field_name="hard_delete") ) @@ -6934,6 +7202,11 @@ class DeleteChannelsResultResponse(DataClassJsonMixin): ) +@dataclass +class DeleteCollectionsResponse(DataClassJsonMixin): + duration: str = dc_field(metadata=dc_config(field_name="duration")) + + @dataclass class DeleteCommandResponse(DataClassJsonMixin): duration: str = dc_field(metadata=dc_config(field_name="duration")) @@ -6950,7 +7223,7 @@ class DeleteCommentReactionResponse(DataClassJsonMixin): @dataclass -class DeleteCommentRequest(DataClassJsonMixin): +class DeleteCommentRequestPayload(DataClassJsonMixin): hard_delete: Optional[bool] = dc_field( default=None, metadata=dc_config(field_name="hard_delete") ) @@ -6983,18 +7256,16 @@ class DeleteFeedResponse(DataClassJsonMixin): @dataclass -class DeleteFeedUserDataResponse(DataClassJsonMixin): - deleted_activities: int = dc_field( - metadata=dc_config(field_name="deleted_activities") - ) - deleted_bookmarks: int = dc_field( - metadata=dc_config(field_name="deleted_bookmarks") - ) - deleted_comments: int = dc_field(metadata=dc_config(field_name="deleted_comments")) - deleted_reactions: int = dc_field( - metadata=dc_config(field_name="deleted_reactions") +class DeleteFeedUserDataRequest(DataClassJsonMixin): + hard_delete: Optional[bool] = dc_field( + default=None, metadata=dc_config(field_name="hard_delete") ) + + +@dataclass +class DeleteFeedUserDataResponse(DataClassJsonMixin): duration: str = dc_field(metadata=dc_config(field_name="duration")) + task_id: str = dc_field(metadata=dc_config(field_name="task_id")) @dataclass @@ -7003,7 +7274,21 @@ class DeleteFeedViewResponse(DataClassJsonMixin): @dataclass -class DeleteMessageRequest(DataClassJsonMixin): +class DeleteFeedsBatchRequest(DataClassJsonMixin): + feeds: List[str] = dc_field(metadata=dc_config(field_name="feeds")) + hard_delete: Optional[bool] = dc_field( + default=None, metadata=dc_config(field_name="hard_delete") + ) + + +@dataclass +class DeleteFeedsBatchResponse(DataClassJsonMixin): + duration: str = dc_field(metadata=dc_config(field_name="duration")) + task_id: str = dc_field(metadata=dc_config(field_name="task_id")) + + +@dataclass +class DeleteMessageRequestPayload(DataClassJsonMixin): hard_delete: Optional[bool] = dc_field( default=None, metadata=dc_config(field_name="hard_delete") ) @@ -7034,7 +7319,7 @@ class DeleteModerationTemplateResponse(DataClassJsonMixin): @dataclass -class DeleteReactionRequest(DataClassJsonMixin): +class DeleteReactionRequestPayload(DataClassJsonMixin): hard_delete: Optional[bool] = dc_field( default=None, metadata=dc_config(field_name="hard_delete") ) @@ -7081,7 +7366,7 @@ class DeleteTranscriptionResponse(DataClassJsonMixin): @dataclass -class DeleteUserRequest(DataClassJsonMixin): +class DeleteUserRequestPayload(DataClassJsonMixin): delete_conversation_channels: Optional[bool] = dc_field( default=None, metadata=dc_config(field_name="delete_conversation_channels") ) @@ -7130,8 +7415,9 @@ class DeleteUsersResponse(DataClassJsonMixin): @dataclass -class DeliveryReceipts(DataClassJsonMixin): - enabled: bool = dc_field(metadata=dc_config(field_name="enabled")) +class DeliveredMessagePayload(DataClassJsonMixin): + cid: Optional[str] = dc_field(default=None, metadata=dc_config(field_name="cid")) + id: Optional[str] = dc_field(default=None, metadata=dc_config(field_name="id")) @dataclass @@ -7141,62 +7427,6 @@ class DeliveryReceiptsResponse(DataClassJsonMixin): ) -@dataclass -class DenormalizedChannelFields(DataClassJsonMixin): - created_at: Optional[str] = dc_field( - default=None, metadata=dc_config(field_name="created_at") - ) - created_by_id: Optional[str] = dc_field( - default=None, metadata=dc_config(field_name="created_by_id") - ) - disabled: Optional[bool] = dc_field( - default=None, metadata=dc_config(field_name="disabled") - ) - frozen: Optional[bool] = dc_field( - default=None, metadata=dc_config(field_name="frozen") - ) - id: Optional[str] = dc_field(default=None, metadata=dc_config(field_name="id")) - last_message_at: Optional[str] = dc_field( - default=None, metadata=dc_config(field_name="last_message_at") - ) - member_count: Optional[int] = dc_field( - default=None, metadata=dc_config(field_name="member_count") - ) - team: Optional[str] = dc_field(default=None, metadata=dc_config(field_name="team")) - type: Optional[str] = dc_field(default=None, metadata=dc_config(field_name="type")) - updated_at: Optional[str] = dc_field( - default=None, metadata=dc_config(field_name="updated_at") - ) - custom: Optional[Dict[str, object]] = dc_field( - default=None, metadata=dc_config(field_name="custom") - ) - - -@dataclass -class Device(DataClassJsonMixin): - created_at: datetime = dc_field( - metadata=dc_config( - field_name="created_at", - encoder=encode_datetime, - decoder=datetime_from_unix_ns, - mm_field=fields.DateTime(format="iso"), - ) - ) - id: str = dc_field(metadata=dc_config(field_name="id")) - push_provider: str = dc_field(metadata=dc_config(field_name="push_provider")) - user_id: str = dc_field(metadata=dc_config(field_name="user_id")) - disabled: Optional[bool] = dc_field( - default=None, metadata=dc_config(field_name="disabled") - ) - disabled_reason: Optional[str] = dc_field( - default=None, metadata=dc_config(field_name="disabled_reason") - ) - push_provider_name: Optional[str] = dc_field( - default=None, metadata=dc_config(field_name="push_provider_name") - ) - voip: Optional[bool] = dc_field(default=None, metadata=dc_config(field_name="voip")) - - @dataclass class DeviceDataResponse(DataClassJsonMixin): name: Optional[str] = dc_field(default=None, metadata=dc_config(field_name="name")) @@ -7393,6 +7623,37 @@ class EnrichedActivity(DataClassJsonMixin): ) +@dataclass +class EnrichedCollectionResponse(DataClassJsonMixin): + id: str = dc_field(metadata=dc_config(field_name="id")) + name: str = dc_field(metadata=dc_config(field_name="name")) + status: str = dc_field(metadata=dc_config(field_name="status")) + created_at: Optional[datetime] = dc_field( + default=None, + metadata=dc_config( + field_name="created_at", + encoder=encode_datetime, + decoder=datetime_from_unix_ns, + mm_field=fields.DateTime(format="iso"), + ), + ) + updated_at: Optional[datetime] = dc_field( + default=None, + metadata=dc_config( + field_name="updated_at", + encoder=encode_datetime, + decoder=datetime_from_unix_ns, + mm_field=fields.DateTime(format="iso"), + ), + ) + user_id: Optional[str] = dc_field( + default=None, metadata=dc_config(field_name="user_id") + ) + custom: Optional[Dict[str, object]] = dc_field( + default=None, metadata=dc_config(field_name="custom") + ) + + @dataclass class EnrichedReaction(DataClassJsonMixin): activity_id: str = dc_field(metadata=dc_config(field_name="activity_id")) @@ -7428,6 +7689,61 @@ class EnrichedReaction(DataClassJsonMixin): ) +@dataclass +class EnrichmentOptions(DataClassJsonMixin): + skip_activity: Optional[bool] = dc_field( + default=None, metadata=dc_config(field_name="skip_activity") + ) + skip_activity_collections: Optional[bool] = dc_field( + default=None, metadata=dc_config(field_name="skip_activity_collections") + ) + skip_activity_comments: Optional[bool] = dc_field( + default=None, metadata=dc_config(field_name="skip_activity_comments") + ) + skip_activity_current_feed: Optional[bool] = dc_field( + default=None, metadata=dc_config(field_name="skip_activity_current_feed") + ) + skip_activity_mentioned_users: Optional[bool] = dc_field( + default=None, metadata=dc_config(field_name="skip_activity_mentioned_users") + ) + skip_activity_own_bookmarks: Optional[bool] = dc_field( + default=None, metadata=dc_config(field_name="skip_activity_own_bookmarks") + ) + skip_activity_parents: Optional[bool] = dc_field( + default=None, metadata=dc_config(field_name="skip_activity_parents") + ) + skip_activity_poll: Optional[bool] = dc_field( + default=None, metadata=dc_config(field_name="skip_activity_poll") + ) + skip_activity_reactions: Optional[bool] = dc_field( + default=None, metadata=dc_config(field_name="skip_activity_reactions") + ) + skip_activity_refresh_image_urls: Optional[bool] = dc_field( + default=None, metadata=dc_config(field_name="skip_activity_refresh_image_urls") + ) + skip_all: Optional[bool] = dc_field( + default=None, metadata=dc_config(field_name="skip_all") + ) + skip_feed_member_user: Optional[bool] = dc_field( + default=None, metadata=dc_config(field_name="skip_feed_member_user") + ) + skip_followers: Optional[bool] = dc_field( + default=None, metadata=dc_config(field_name="skip_followers") + ) + skip_following: Optional[bool] = dc_field( + default=None, metadata=dc_config(field_name="skip_following") + ) + skip_own_capabilities: Optional[bool] = dc_field( + default=None, metadata=dc_config(field_name="skip_own_capabilities") + ) + skip_own_follows: Optional[bool] = dc_field( + default=None, metadata=dc_config(field_name="skip_own_follows") + ) + skip_pins: Optional[bool] = dc_field( + default=None, metadata=dc_config(field_name="skip_pins") + ) + + @dataclass class EntityCreatorResponse(DataClassJsonMixin): ban_count: int = dc_field(metadata=dc_config(field_name="ban_count")) @@ -7561,6 +7877,9 @@ class EventHook(DataClassJsonMixin): product: Optional[str] = dc_field( default=None, metadata=dc_config(field_name="product") ) + should_send_custom_events: Optional[bool] = dc_field( + default=None, metadata=dc_config(field_name="should_send_custom_events") + ) sns_auth_type: Optional[str] = dc_field( default=None, metadata=dc_config(field_name="sns_auth_type") ) @@ -7627,6 +7946,26 @@ class EventNotificationSettings(DataClassJsonMixin): fcm: "FCM" = dc_field(metadata=dc_config(field_name="fcm")) +@dataclass +class EventNotificationSettingsRequest(DataClassJsonMixin): + enabled: Optional[bool] = dc_field( + default=None, metadata=dc_config(field_name="enabled") + ) + apns: "Optional[APNSResponse]" = dc_field( + default=None, metadata=dc_config(field_name="apns") + ) + fcm: "Optional[FCMResponse]" = dc_field( + default=None, metadata=dc_config(field_name="fcm") + ) + + +@dataclass +class EventNotificationSettingsResponse(DataClassJsonMixin): + enabled: bool = dc_field(metadata=dc_config(field_name="enabled")) + apns: "APNSResponse" = dc_field(metadata=dc_config(field_name="apns")) + fcm: "FCMResponse" = dc_field(metadata=dc_config(field_name="fcm")) + + @dataclass class EventRequest(DataClassJsonMixin): type: str = dc_field(metadata=dc_config(field_name="type")) @@ -7729,6 +8068,19 @@ class FCM(DataClassJsonMixin): ) +@dataclass +class FCMResponse(DataClassJsonMixin): + data: Optional[Dict[str, object]] = dc_field( + default=None, metadata=dc_config(field_name="data") + ) + + +@dataclass +class FailedChannelUpdates(DataClassJsonMixin): + reason: str = dc_field(metadata=dc_config(field_name="reason")) + cids: List[str] = dc_field(metadata=dc_config(field_name="cids")) + + @dataclass class FeedCreatedEvent(DataClassJsonMixin): created_at: datetime = dc_field( @@ -8210,7 +8562,20 @@ class FeedOwnCapability: @dataclass -class FeedRequest(DataClassJsonMixin): +class FeedOwnData(DataClassJsonMixin): + own_capabilities: "Optional[List[FeedOwnCapability]]" = dc_field( + default=None, metadata=dc_config(field_name="own_capabilities") + ) + own_follows: "Optional[List[FollowResponse]]" = dc_field( + default=None, metadata=dc_config(field_name="own_follows") + ) + own_membership: "Optional[FeedMemberResponse]" = dc_field( + default=None, metadata=dc_config(field_name="own_membership") + ) + + +@dataclass +class FeedRequest(DataClassJsonMixin): feed_group_id: str = dc_field(metadata=dc_config(field_name="feed_group_id")) feed_id: str = dc_field(metadata=dc_config(field_name="feed_id")) created_by_id: Optional[str] = dc_field( @@ -8236,6 +8601,7 @@ class FeedRequest(DataClassJsonMixin): @dataclass class FeedResponse(DataClassJsonMixin): + activity_count: int = dc_field(metadata=dc_config(field_name="activity_count")) created_at: datetime = dc_field( metadata=dc_config( field_name="created_at", @@ -8293,6 +8659,7 @@ class FeedResponse(DataClassJsonMixin): @dataclass class FeedSuggestionResponse(DataClassJsonMixin): + activity_count: int = dc_field(metadata=dc_config(field_name="activity_count")) created_at: datetime = dc_field( metadata=dc_config( field_name="created_at", @@ -8423,7 +8790,7 @@ class FeedVisibilityResponse(DataClassJsonMixin): @dataclass -class FeedsModerationTemplateConfig(DataClassJsonMixin): +class FeedsModerationTemplateConfigPayload(DataClassJsonMixin): config_key: str = dc_field(metadata=dc_config(field_name="config_key")) data_types: "Dict[str, str]" = dc_field(metadata=dc_config(field_name="data_types")) @@ -8436,6 +8803,34 @@ class FeedsPreferences(DataClassJsonMixin): comment_reaction: Optional[str] = dc_field( default=None, metadata=dc_config(field_name="comment_reaction") ) + comment_reply: Optional[str] = dc_field( + default=None, metadata=dc_config(field_name="comment_reply") + ) + follow: Optional[str] = dc_field( + default=None, metadata=dc_config(field_name="follow") + ) + mention: Optional[str] = dc_field( + default=None, metadata=dc_config(field_name="mention") + ) + reaction: Optional[str] = dc_field( + default=None, metadata=dc_config(field_name="reaction") + ) + custom_activity_types: "Optional[Dict[str, str]]" = dc_field( + default=None, metadata=dc_config(field_name="custom_activity_types") + ) + + +@dataclass +class FeedsPreferencesResponse(DataClassJsonMixin): + comment: Optional[str] = dc_field( + default=None, metadata=dc_config(field_name="comment") + ) + comment_reaction: Optional[str] = dc_field( + default=None, metadata=dc_config(field_name="comment_reaction") + ) + comment_reply: Optional[str] = dc_field( + default=None, metadata=dc_config(field_name="comment_reply") + ) follow: Optional[str] = dc_field( default=None, metadata=dc_config(field_name="follow") ) @@ -8520,6 +8915,14 @@ class FileUploadResponse(DataClassJsonMixin): ) +@dataclass +class FilterConfigResponse(DataClassJsonMixin): + llm_labels: List[str] = dc_field(metadata=dc_config(field_name="llm_labels")) + ai_text_labels: Optional[List[str]] = dc_field( + default=None, metadata=dc_config(field_name="ai_text_labels") + ) + + @dataclass class FirebaseConfig(DataClassJsonMixin): apn_template: Optional[str] = dc_field( @@ -8563,90 +8966,25 @@ class FirebaseConfigFields(DataClassJsonMixin): @dataclass -class Flag(DataClassJsonMixin): - created_at: datetime = dc_field( - metadata=dc_config( - field_name="created_at", - encoder=encode_datetime, - decoder=datetime_from_unix_ns, - mm_field=fields.DateTime(format="iso"), - ) - ) - created_by_automod: bool = dc_field( - metadata=dc_config(field_name="created_by_automod") - ) - updated_at: datetime = dc_field( - metadata=dc_config( - field_name="updated_at", - encoder=encode_datetime, - decoder=datetime_from_unix_ns, - mm_field=fields.DateTime(format="iso"), - ) - ) - approved_at: Optional[datetime] = dc_field( - default=None, - metadata=dc_config( - field_name="approved_at", - encoder=encode_datetime, - decoder=datetime_from_unix_ns, - mm_field=fields.DateTime(format="iso"), - ), - ) - reason: Optional[str] = dc_field( - default=None, metadata=dc_config(field_name="reason") - ) - rejected_at: Optional[datetime] = dc_field( - default=None, - metadata=dc_config( - field_name="rejected_at", - encoder=encode_datetime, - decoder=datetime_from_unix_ns, - mm_field=fields.DateTime(format="iso"), - ), - ) - reviewed_at: Optional[datetime] = dc_field( - default=None, - metadata=dc_config( - field_name="reviewed_at", - encoder=encode_datetime, - decoder=datetime_from_unix_ns, - mm_field=fields.DateTime(format="iso"), - ), - ) - reviewed_by: Optional[str] = dc_field( - default=None, metadata=dc_config(field_name="reviewed_by") - ) - target_message_id: Optional[str] = dc_field( - default=None, metadata=dc_config(field_name="target_message_id") - ) - custom: Optional[Dict[str, object]] = dc_field( - default=None, metadata=dc_config(field_name="custom") - ) - details: "Optional[FlagDetails]" = dc_field( - default=None, metadata=dc_config(field_name="details") - ) - target_message: "Optional[Message]" = dc_field( - default=None, metadata=dc_config(field_name="target_message") - ) - target_user: "Optional[User]" = dc_field( - default=None, metadata=dc_config(field_name="target_user") - ) - user: "Optional[User]" = dc_field( - default=None, metadata=dc_config(field_name="user") +class FlagCountRuleParameters(DataClassJsonMixin): + threshold: Optional[int] = dc_field( + default=None, metadata=dc_config(field_name="threshold") ) @dataclass -class FlagDetails(DataClassJsonMixin): +class FlagDetailsResponse(DataClassJsonMixin): original_text: str = dc_field(metadata=dc_config(field_name="original_text")) - extra: Dict[str, object] = dc_field(metadata=dc_config(field_name="Extra")) - automod: "Optional[AutomodDetails]" = dc_field( + automod: "Optional[AutomodDetailsResponse]" = dc_field( default=None, metadata=dc_config(field_name="automod") ) + extra: Optional[Dict[str, object]] = dc_field( + default=None, metadata=dc_config(field_name="extra") + ) @dataclass -class FlagFeedback(DataClassJsonMixin): +class FlagFeedbackResponse(DataClassJsonMixin): created_at: datetime = dc_field( metadata=dc_config( field_name="created_at", @@ -8656,11 +8994,11 @@ class FlagFeedback(DataClassJsonMixin): ) ) message_id: str = dc_field(metadata=dc_config(field_name="message_id")) - labels: "List[Label]" = dc_field(metadata=dc_config(field_name="labels")) + labels: "List[LabelResponse]" = dc_field(metadata=dc_config(field_name="labels")) @dataclass -class FlagMessageDetails(DataClassJsonMixin): +class FlagMessageDetailsResponse(DataClassJsonMixin): pin_changed: Optional[bool] = dc_field( default=None, metadata=dc_config(field_name="pin_changed") ) @@ -8752,6 +9090,7 @@ class FollowBatchRequest(DataClassJsonMixin): @dataclass class FollowBatchResponse(DataClassJsonMixin): duration: str = dc_field(metadata=dc_config(field_name="duration")) + created: "List[FollowResponse]" = dc_field(metadata=dc_config(field_name="created")) follows: "List[FollowResponse]" = dc_field(metadata=dc_config(field_name="follows")) @@ -9210,7 +9549,7 @@ class GetCallTypeResponse(DataClassJsonMixin): ) ) grants: "Dict[str, List[str]]" = dc_field(metadata=dc_config(field_name="grants")) - notification_settings: "NotificationSettings" = dc_field( + notification_settings: "NotificationSettingsResponse" = dc_field( metadata=dc_config(field_name="notification_settings") ) settings: "CallSettingsResponse" = dc_field( @@ -9612,6 +9951,9 @@ class GetOrCreateFeedGroupResponse(DataClassJsonMixin): @dataclass class GetOrCreateFeedRequest(DataClassJsonMixin): + id_around: Optional[str] = dc_field( + default=None, metadata=dc_config(field_name="id_around") + ) limit: Optional[int] = dc_field( default=None, metadata=dc_config(field_name="limit") ) @@ -9627,6 +9969,9 @@ class GetOrCreateFeedRequest(DataClassJsonMixin): data: "Optional[FeedInput]" = dc_field( default=None, metadata=dc_config(field_name="data") ) + enrichment_options: "Optional[EnrichmentOptions]" = dc_field( + default=None, metadata=dc_config(field_name="enrichment_options") + ) external_ranking: Optional[Dict[str, object]] = dc_field( default=None, metadata=dc_config(field_name="external_ranking") ) @@ -9712,7 +10057,7 @@ class GetOrCreateFeedViewResponse(DataClassJsonMixin): @dataclass class GetPushTemplatesResponse(DataClassJsonMixin): duration: str = dc_field(metadata=dc_config(field_name="duration")) - templates: "List[PushTemplate]" = dc_field( + templates: "List[PushTemplateResponse]" = dc_field( metadata=dc_config(field_name="templates") ) @@ -9737,7 +10082,9 @@ class GetRateLimitsResponse(DataClassJsonMixin): @dataclass class GetReactionsResponse(DataClassJsonMixin): duration: str = dc_field(metadata=dc_config(field_name="duration")) - reactions: "List[Reaction]" = dc_field(metadata=dc_config(field_name="reactions")) + reactions: "List[ReactionResponse]" = dc_field( + metadata=dc_config(field_name="reactions") + ) @dataclass @@ -10274,7 +10621,7 @@ class LLMRule(DataClassJsonMixin): @dataclass -class Label(DataClassJsonMixin): +class LabelResponse(DataClassJsonMixin): name: str = dc_field(metadata=dc_config(field_name="name")) harm_labels: Optional[List[str]] = dc_field( default=None, metadata=dc_config(field_name="harm_labels") @@ -10522,6 +10869,15 @@ class ListTranscriptionsResponse(DataClassJsonMixin): ) +@dataclass +class LocationResponse(DataClassJsonMixin): + continent_code: str = dc_field(metadata=dc_config(field_name="continent_code")) + country_iso_code: str = dc_field(metadata=dc_config(field_name="country_iso_code")) + subdivision_iso_code: str = dc_field( + metadata=dc_config(field_name="subdivision_iso_code") + ) + + @dataclass class MarkActivityRequest(DataClassJsonMixin): mark_all_read: Optional[bool] = dc_field( @@ -10560,6 +10916,18 @@ class MarkChannelsReadRequest(DataClassJsonMixin): ) +@dataclass +class MarkDeliveredRequest(DataClassJsonMixin): + latest_delivered_messages: "Optional[List[DeliveredMessagePayload]]" = dc_field( + default=None, metadata=dc_config(field_name="latest_delivered_messages") + ) + + +@dataclass +class MarkDeliveredResponse(DataClassJsonMixin): + duration: str = dc_field(metadata=dc_config(field_name="duration")) + + @dataclass class MarkReadRequest(DataClassJsonMixin): message_id: Optional[str] = dc_field( @@ -10585,7 +10953,7 @@ class MarkReadResponse(DataClassJsonMixin): @dataclass -class MarkReviewedRequest(DataClassJsonMixin): +class MarkReviewedRequestPayload(DataClassJsonMixin): content_to_mark_as_reviewed_limit: Optional[int] = dc_field( default=None, metadata=dc_config(field_name="content_to_mark_as_reviewed_limit") ) @@ -10600,6 +10968,15 @@ class MarkUnreadRequest(DataClassJsonMixin): message_id: Optional[str] = dc_field( default=None, metadata=dc_config(field_name="message_id") ) + message_timestamp: Optional[datetime] = dc_field( + default=None, + metadata=dc_config( + field_name="message_timestamp", + encoder=encode_datetime, + decoder=datetime_from_unix_ns, + mm_field=fields.DateTime(format="iso"), + ), + ) thread_id: Optional[str] = dc_field( default=None, metadata=dc_config(field_name="thread_id") ) @@ -10611,11 +10988,33 @@ class MarkUnreadRequest(DataClassJsonMixin): ) +@dataclass +class MaxStreakChangedEvent(DataClassJsonMixin): + created_at: datetime = dc_field( + metadata=dc_config( + field_name="created_at", + encoder=encode_datetime, + decoder=datetime_from_unix_ns, + mm_field=fields.DateTime(format="iso"), + ) + ) + custom: Dict[str, object] = dc_field(metadata=dc_config(field_name="custom")) + type: str = dc_field( + default="channel.max_streak_changed", metadata=dc_config(field_name="type") + ) + received_at: Optional[datetime] = dc_field( + default=None, + metadata=dc_config( + field_name="received_at", + encoder=encode_datetime, + decoder=datetime_from_unix_ns, + mm_field=fields.DateTime(format="iso"), + ), + ) + + @dataclass class MemberAddedEvent(DataClassJsonMixin): - channel_id: str = dc_field(metadata=dc_config(field_name="channel_id")) - channel_type: str = dc_field(metadata=dc_config(field_name="channel_type")) - cid: str = dc_field(metadata=dc_config(field_name="cid")) created_at: datetime = dc_field( metadata=dc_config( field_name="created_at", @@ -10624,21 +11023,43 @@ class MemberAddedEvent(DataClassJsonMixin): mm_field=fields.DateTime(format="iso"), ) ) + channel: "ChannelResponse" = dc_field(metadata=dc_config(field_name="channel")) + custom: Dict[str, object] = dc_field(metadata=dc_config(field_name="custom")) + member: "ChannelMemberResponse" = dc_field(metadata=dc_config(field_name="member")) type: str = dc_field(default="member.added", metadata=dc_config(field_name="type")) + channel_id: Optional[str] = dc_field( + default=None, metadata=dc_config(field_name="channel_id") + ) + channel_member_count: Optional[int] = dc_field( + default=None, metadata=dc_config(field_name="channel_member_count") + ) + channel_message_count: Optional[int] = dc_field( + default=None, metadata=dc_config(field_name="channel_message_count") + ) + channel_type: Optional[str] = dc_field( + default=None, metadata=dc_config(field_name="channel_type") + ) + cid: Optional[str] = dc_field(default=None, metadata=dc_config(field_name="cid")) + received_at: Optional[datetime] = dc_field( + default=None, + metadata=dc_config( + field_name="received_at", + encoder=encode_datetime, + decoder=datetime_from_unix_ns, + mm_field=fields.DateTime(format="iso"), + ), + ) team: Optional[str] = dc_field(default=None, metadata=dc_config(field_name="team")) - member: "Optional[ChannelMember]" = dc_field( - default=None, metadata=dc_config(field_name="member") + channel_custom: Optional[Dict[str, object]] = dc_field( + default=None, metadata=dc_config(field_name="channel_custom") ) - user: "Optional[User]" = dc_field( + user: "Optional[UserResponseCommonFields]" = dc_field( default=None, metadata=dc_config(field_name="user") ) @dataclass class MemberRemovedEvent(DataClassJsonMixin): - channel_id: str = dc_field(metadata=dc_config(field_name="channel_id")) - channel_type: str = dc_field(metadata=dc_config(field_name="channel_type")) - cid: str = dc_field(metadata=dc_config(field_name="cid")) created_at: datetime = dc_field( metadata=dc_config( field_name="created_at", @@ -10647,13 +11068,39 @@ class MemberRemovedEvent(DataClassJsonMixin): mm_field=fields.DateTime(format="iso"), ) ) + channel: "ChannelResponse" = dc_field(metadata=dc_config(field_name="channel")) + custom: Dict[str, object] = dc_field(metadata=dc_config(field_name="custom")) + member: "ChannelMemberResponse" = dc_field(metadata=dc_config(field_name="member")) type: str = dc_field( default="member.removed", metadata=dc_config(field_name="type") ) - member: "Optional[ChannelMember]" = dc_field( - default=None, metadata=dc_config(field_name="member") + channel_id: Optional[str] = dc_field( + default=None, metadata=dc_config(field_name="channel_id") ) - user: "Optional[User]" = dc_field( + channel_member_count: Optional[int] = dc_field( + default=None, metadata=dc_config(field_name="channel_member_count") + ) + channel_message_count: Optional[int] = dc_field( + default=None, metadata=dc_config(field_name="channel_message_count") + ) + channel_type: Optional[str] = dc_field( + default=None, metadata=dc_config(field_name="channel_type") + ) + cid: Optional[str] = dc_field(default=None, metadata=dc_config(field_name="cid")) + received_at: Optional[datetime] = dc_field( + default=None, + metadata=dc_config( + field_name="received_at", + encoder=encode_datetime, + decoder=datetime_from_unix_ns, + mm_field=fields.DateTime(format="iso"), + ), + ) + team: Optional[str] = dc_field(default=None, metadata=dc_config(field_name="team")) + channel_custom: Optional[Dict[str, object]] = dc_field( + default=None, metadata=dc_config(field_name="channel_custom") + ) + user: "Optional[UserResponseCommonFields]" = dc_field( default=None, metadata=dc_config(field_name="user") ) @@ -10702,9 +11149,6 @@ class MemberResponse(DataClassJsonMixin): @dataclass class MemberUpdatedEvent(DataClassJsonMixin): - channel_id: str = dc_field(metadata=dc_config(field_name="channel_id")) - channel_type: str = dc_field(metadata=dc_config(field_name="channel_type")) - cid: str = dc_field(metadata=dc_config(field_name="cid")) created_at: datetime = dc_field( metadata=dc_config( field_name="created_at", @@ -10713,14 +11157,39 @@ class MemberUpdatedEvent(DataClassJsonMixin): mm_field=fields.DateTime(format="iso"), ) ) + channel: "ChannelResponse" = dc_field(metadata=dc_config(field_name="channel")) + custom: Dict[str, object] = dc_field(metadata=dc_config(field_name="custom")) + member: "ChannelMemberResponse" = dc_field(metadata=dc_config(field_name="member")) type: str = dc_field( default="member.updated", metadata=dc_config(field_name="type") ) + channel_id: Optional[str] = dc_field( + default=None, metadata=dc_config(field_name="channel_id") + ) + channel_member_count: Optional[int] = dc_field( + default=None, metadata=dc_config(field_name="channel_member_count") + ) + channel_message_count: Optional[int] = dc_field( + default=None, metadata=dc_config(field_name="channel_message_count") + ) + channel_type: Optional[str] = dc_field( + default=None, metadata=dc_config(field_name="channel_type") + ) + cid: Optional[str] = dc_field(default=None, metadata=dc_config(field_name="cid")) + received_at: Optional[datetime] = dc_field( + default=None, + metadata=dc_config( + field_name="received_at", + encoder=encode_datetime, + decoder=datetime_from_unix_ns, + mm_field=fields.DateTime(format="iso"), + ), + ) team: Optional[str] = dc_field(default=None, metadata=dc_config(field_name="team")) - member: "Optional[ChannelMember]" = dc_field( - default=None, metadata=dc_config(field_name="member") + channel_custom: Optional[Dict[str, object]] = dc_field( + default=None, metadata=dc_config(field_name="channel_custom") ) - user: "Optional[User]" = dc_field( + user: "Optional[UserResponseCommonFields]" = dc_field( default=None, metadata=dc_config(field_name="user") ) @@ -10763,154 +11232,6 @@ class MembershipLevelResponse(DataClassJsonMixin): ) -@dataclass -class Message(DataClassJsonMixin): - cid: str = dc_field(metadata=dc_config(field_name="cid")) - created_at: datetime = dc_field( - metadata=dc_config( - field_name="created_at", - encoder=encode_datetime, - decoder=datetime_from_unix_ns, - mm_field=fields.DateTime(format="iso"), - ) - ) - deleted_reply_count: int = dc_field( - metadata=dc_config(field_name="deleted_reply_count") - ) - html: str = dc_field(metadata=dc_config(field_name="html")) - id: str = dc_field(metadata=dc_config(field_name="id")) - pinned: bool = dc_field(metadata=dc_config(field_name="pinned")) - reply_count: int = dc_field(metadata=dc_config(field_name="reply_count")) - shadowed: bool = dc_field(metadata=dc_config(field_name="shadowed")) - silent: bool = dc_field(metadata=dc_config(field_name="silent")) - text: str = dc_field(metadata=dc_config(field_name="text")) - type: str = dc_field(metadata=dc_config(field_name="type")) - updated_at: datetime = dc_field( - metadata=dc_config( - field_name="updated_at", - encoder=encode_datetime, - decoder=datetime_from_unix_ns, - mm_field=fields.DateTime(format="iso"), - ) - ) - attachments: "List[Attachment]" = dc_field( - metadata=dc_config(field_name="attachments") - ) - latest_reactions: "List[Reaction]" = dc_field( - metadata=dc_config(field_name="latest_reactions") - ) - mentioned_users: "List[User]" = dc_field( - metadata=dc_config(field_name="mentioned_users") - ) - own_reactions: "List[Reaction]" = dc_field( - metadata=dc_config(field_name="own_reactions") - ) - restricted_visibility: List[str] = dc_field( - metadata=dc_config(field_name="restricted_visibility") - ) - custom: Dict[str, object] = dc_field(metadata=dc_config(field_name="custom")) - reaction_counts: "Dict[str, int]" = dc_field( - metadata=dc_config(field_name="reaction_counts") - ) - reaction_groups: "Dict[str, Optional[ReactionGroupResponse]]" = dc_field( - metadata=dc_config(field_name="reaction_groups") - ) - reaction_scores: "Dict[str, int]" = dc_field( - metadata=dc_config(field_name="reaction_scores") - ) - before_message_send_failed: Optional[bool] = dc_field( - default=None, metadata=dc_config(field_name="before_message_send_failed") - ) - command: Optional[str] = dc_field( - default=None, metadata=dc_config(field_name="command") - ) - deleted_at: Optional[datetime] = dc_field( - default=None, - metadata=dc_config( - field_name="deleted_at", - encoder=encode_datetime, - decoder=datetime_from_unix_ns, - mm_field=fields.DateTime(format="iso"), - ), - ) - deleted_for_me: Optional[bool] = dc_field( - default=None, metadata=dc_config(field_name="deleted_for_me") - ) - message_text_updated_at: Optional[datetime] = dc_field( - default=None, - metadata=dc_config( - field_name="message_text_updated_at", - encoder=encode_datetime, - decoder=datetime_from_unix_ns, - mm_field=fields.DateTime(format="iso"), - ), - ) - mml: Optional[str] = dc_field(default=None, metadata=dc_config(field_name="mml")) - parent_id: Optional[str] = dc_field( - default=None, metadata=dc_config(field_name="parent_id") - ) - pin_expires: Optional[datetime] = dc_field( - default=None, - metadata=dc_config( - field_name="pin_expires", - encoder=encode_datetime, - decoder=datetime_from_unix_ns, - mm_field=fields.DateTime(format="iso"), - ), - ) - pinned_at: Optional[datetime] = dc_field( - default=None, - metadata=dc_config( - field_name="pinned_at", - encoder=encode_datetime, - decoder=datetime_from_unix_ns, - mm_field=fields.DateTime(format="iso"), - ), - ) - poll_id: Optional[str] = dc_field( - default=None, metadata=dc_config(field_name="poll_id") - ) - quoted_message_id: Optional[str] = dc_field( - default=None, metadata=dc_config(field_name="quoted_message_id") - ) - show_in_channel: Optional[bool] = dc_field( - default=None, metadata=dc_config(field_name="show_in_channel") - ) - thread_participants: "Optional[List[User]]" = dc_field( - default=None, metadata=dc_config(field_name="thread_participants") - ) - i18n: "Optional[Dict[str, str]]" = dc_field( - default=None, metadata=dc_config(field_name="i18n") - ) - image_labels: "Optional[Dict[str, List[str]]]" = dc_field( - default=None, metadata=dc_config(field_name="image_labels") - ) - member: "Optional[ChannelMember]" = dc_field( - default=None, metadata=dc_config(field_name="member") - ) - moderation: "Optional[ModerationV2Response]" = dc_field( - default=None, metadata=dc_config(field_name="moderation") - ) - pinned_by: "Optional[User]" = dc_field( - default=None, metadata=dc_config(field_name="pinned_by") - ) - poll: "Optional[Poll]" = dc_field( - default=None, metadata=dc_config(field_name="poll") - ) - quoted_message: "Optional[Message]" = dc_field( - default=None, metadata=dc_config(field_name="quoted_message") - ) - reminder: "Optional[MessageReminder]" = dc_field( - default=None, metadata=dc_config(field_name="reminder") - ) - shared_location: "Optional[SharedLocation]" = dc_field( - default=None, metadata=dc_config(field_name="shared_location") - ) - user: "Optional[User]" = dc_field( - default=None, metadata=dc_config(field_name="user") - ) - - @dataclass class MessageActionRequest(DataClassJsonMixin): form_data: "Dict[str, str]" = dc_field(metadata=dc_config(field_name="form_data")) @@ -10941,9 +11262,6 @@ class MessageChangeSet(DataClassJsonMixin): @dataclass class MessageDeletedEvent(DataClassJsonMixin): - channel_id: str = dc_field(metadata=dc_config(field_name="channel_id")) - channel_type: str = dc_field(metadata=dc_config(field_name="channel_type")) - cid: str = dc_field(metadata=dc_config(field_name="cid")) created_at: datetime = dc_field( metadata=dc_config( field_name="created_at", @@ -10953,20 +11271,42 @@ class MessageDeletedEvent(DataClassJsonMixin): ) ) hard_delete: bool = dc_field(metadata=dc_config(field_name="hard_delete")) + message_id: str = dc_field(metadata=dc_config(field_name="message_id")) + custom: Dict[str, object] = dc_field(metadata=dc_config(field_name="custom")) + message: "MessageResponse" = dc_field(metadata=dc_config(field_name="message")) type: str = dc_field( default="message.deleted", metadata=dc_config(field_name="type") ) + channel_id: Optional[str] = dc_field( + default=None, metadata=dc_config(field_name="channel_id") + ) + channel_member_count: Optional[int] = dc_field( + default=None, metadata=dc_config(field_name="channel_member_count") + ) + channel_message_count: Optional[int] = dc_field( + default=None, metadata=dc_config(field_name="channel_message_count") + ) + channel_type: Optional[str] = dc_field( + default=None, metadata=dc_config(field_name="channel_type") + ) + cid: Optional[str] = dc_field(default=None, metadata=dc_config(field_name="cid")) deleted_for_me: Optional[bool] = dc_field( default=None, metadata=dc_config(field_name="deleted_for_me") ) - team: Optional[str] = dc_field(default=None, metadata=dc_config(field_name="team")) - thread_participants: "Optional[List[User]]" = dc_field( - default=None, metadata=dc_config(field_name="thread_participants") + received_at: Optional[datetime] = dc_field( + default=None, + metadata=dc_config( + field_name="received_at", + encoder=encode_datetime, + decoder=datetime_from_unix_ns, + mm_field=fields.DateTime(format="iso"), + ), ) - message: "Optional[Message]" = dc_field( - default=None, metadata=dc_config(field_name="message") + team: Optional[str] = dc_field(default=None, metadata=dc_config(field_name="team")) + channel_custom: Optional[Dict[str, object]] = dc_field( + default=None, metadata=dc_config(field_name="channel_custom") ) - user: "Optional[User]" = dc_field( + user: "Optional[UserResponseCommonFields]" = dc_field( default=None, metadata=dc_config(field_name="user") ) @@ -11025,13 +11365,13 @@ class MessageFlagResponse(DataClassJsonMixin): custom: Optional[Dict[str, object]] = dc_field( default=None, metadata=dc_config(field_name="custom") ) - details: "Optional[FlagDetails]" = dc_field( + details: "Optional[FlagDetailsResponse]" = dc_field( default=None, metadata=dc_config(field_name="details") ) - message: "Optional[Message]" = dc_field( + message: "Optional[MessageResponse]" = dc_field( default=None, metadata=dc_config(field_name="message") ) - moderation_feedback: "Optional[FlagFeedback]" = dc_field( + moderation_feedback: "Optional[FlagFeedbackResponse]" = dc_field( default=None, metadata=dc_config(field_name="moderation_feedback") ) moderation_result: "Optional[MessageModerationResult]" = dc_field( @@ -11047,7 +11387,6 @@ class MessageFlagResponse(DataClassJsonMixin): @dataclass class MessageFlaggedEvent(DataClassJsonMixin): - cid: str = dc_field(metadata=dc_config(field_name="cid")) created_at: datetime = dc_field( metadata=dc_config( field_name="created_at", @@ -11056,19 +11395,53 @@ class MessageFlaggedEvent(DataClassJsonMixin): mm_field=fields.DateTime(format="iso"), ) ) + message_id: str = dc_field(metadata=dc_config(field_name="message_id")) + message: "MessageResponse" = dc_field(metadata=dc_config(field_name="message")) type: str = dc_field( default="message.flagged", metadata=dc_config(field_name="type") ) - thread_participants: "Optional[List[User]]" = dc_field( - default=None, metadata=dc_config(field_name="thread_participants") + channel_id: Optional[str] = dc_field( + default=None, metadata=dc_config(field_name="channel_id") ) - flag: "Optional[Flag]" = dc_field( - default=None, metadata=dc_config(field_name="flag") + channel_member_count: Optional[int] = dc_field( + default=None, metadata=dc_config(field_name="channel_member_count") ) - message: "Optional[Message]" = dc_field( - default=None, metadata=dc_config(field_name="message") + channel_message_count: Optional[int] = dc_field( + default=None, metadata=dc_config(field_name="channel_message_count") ) - user: "Optional[User]" = dc_field( + channel_type: Optional[str] = dc_field( + default=None, metadata=dc_config(field_name="channel_type") + ) + cid: Optional[str] = dc_field(default=None, metadata=dc_config(field_name="cid")) + reason: Optional[str] = dc_field( + default=None, metadata=dc_config(field_name="reason") + ) + received_at: Optional[datetime] = dc_field( + default=None, + metadata=dc_config( + field_name="received_at", + encoder=encode_datetime, + decoder=datetime_from_unix_ns, + mm_field=fields.DateTime(format="iso"), + ), + ) + team: Optional[str] = dc_field(default=None, metadata=dc_config(field_name="team")) + total_flags: Optional[int] = dc_field( + default=None, metadata=dc_config(field_name="total_flags") + ) + channel_custom: Optional[Dict[str, object]] = dc_field( + default=None, metadata=dc_config(field_name="channel_custom") + ) + custom: Optional[Dict[str, object]] = dc_field( + default=None, metadata=dc_config(field_name="custom") + ) + details: "Optional[MessageModerationResult]" = dc_field( + default=None, metadata=dc_config(field_name="details") + ) + flag: "Optional[FlagResponse]" = dc_field( + default=None, metadata=dc_config(field_name="flag") + ) + user: "Optional[UserResponseCommonFields]" = dc_field( default=None, metadata=dc_config(field_name="user") ) @@ -11129,34 +11502,71 @@ class MessageModerationResult(DataClassJsonMixin): ai_moderation_response: "Optional[ModerationResponse]" = dc_field( default=None, metadata=dc_config(field_name="ai_moderation_response") ) - moderation_thresholds: "Optional[Thresholds]" = dc_field( - default=None, metadata=dc_config(field_name="moderation_thresholds") + moderation_thresholds: "Optional[Thresholds]" = dc_field( + default=None, metadata=dc_config(field_name="moderation_thresholds") + ) + + +@dataclass +class MessageNewEvent(DataClassJsonMixin): + created_at: datetime = dc_field( + metadata=dc_config( + field_name="created_at", + encoder=encode_datetime, + decoder=datetime_from_unix_ns, + mm_field=fields.DateTime(format="iso"), + ) + ) + message_id: str = dc_field(metadata=dc_config(field_name="message_id")) + watcher_count: int = dc_field(metadata=dc_config(field_name="watcher_count")) + custom: Dict[str, object] = dc_field(metadata=dc_config(field_name="custom")) + message: "MessageResponse" = dc_field(metadata=dc_config(field_name="message")) + type: str = dc_field(default="message.new", metadata=dc_config(field_name="type")) + channel_id: Optional[str] = dc_field( + default=None, metadata=dc_config(field_name="channel_id") + ) + channel_member_count: Optional[int] = dc_field( + default=None, metadata=dc_config(field_name="channel_member_count") + ) + channel_message_count: Optional[int] = dc_field( + default=None, metadata=dc_config(field_name="channel_message_count") + ) + channel_type: Optional[str] = dc_field( + default=None, metadata=dc_config(field_name="channel_type") + ) + cid: Optional[str] = dc_field(default=None, metadata=dc_config(field_name="cid")) + parent_author: Optional[str] = dc_field( + default=None, metadata=dc_config(field_name="parent_author") ) - - -@dataclass -class MessageNewEvent(DataClassJsonMixin): - channel_id: str = dc_field(metadata=dc_config(field_name="channel_id")) - channel_type: str = dc_field(metadata=dc_config(field_name="channel_type")) - cid: str = dc_field(metadata=dc_config(field_name="cid")) - created_at: datetime = dc_field( + received_at: Optional[datetime] = dc_field( + default=None, metadata=dc_config( - field_name="created_at", + field_name="received_at", encoder=encode_datetime, decoder=datetime_from_unix_ns, mm_field=fields.DateTime(format="iso"), - ) + ), ) - watcher_count: int = dc_field(metadata=dc_config(field_name="watcher_count")) - type: str = dc_field(default="message.new", metadata=dc_config(field_name="type")) team: Optional[str] = dc_field(default=None, metadata=dc_config(field_name="team")) - thread_participants: "Optional[List[User]]" = dc_field( + total_unread_count: Optional[int] = dc_field( + default=None, metadata=dc_config(field_name="total_unread_count") + ) + unread_channels: Optional[int] = dc_field( + default=None, metadata=dc_config(field_name="unread_channels") + ) + unread_count: Optional[int] = dc_field( + default=None, metadata=dc_config(field_name="unread_count") + ) + thread_participants: "Optional[List[UserResponseCommonFields]]" = dc_field( default=None, metadata=dc_config(field_name="thread_participants") ) - message: "Optional[Message]" = dc_field( - default=None, metadata=dc_config(field_name="message") + channel: "Optional[ChannelResponse]" = dc_field( + default=None, metadata=dc_config(field_name="channel") ) - user: "Optional[User]" = dc_field( + channel_custom: Optional[Dict[str, object]] = dc_field( + default=None, metadata=dc_config(field_name="channel_custom") + ) + user: "Optional[UserResponseCommonFields]" = dc_field( default=None, metadata=dc_config(field_name="user") ) @@ -11273,48 +11683,6 @@ class MessageReadEvent(DataClassJsonMixin): ) -@dataclass -class MessageReminder(DataClassJsonMixin): - channel_cid: str = dc_field(metadata=dc_config(field_name="channel_cid")) - created_at: datetime = dc_field( - metadata=dc_config( - field_name="created_at", - encoder=encode_datetime, - decoder=datetime_from_unix_ns, - mm_field=fields.DateTime(format="iso"), - ) - ) - message_id: str = dc_field(metadata=dc_config(field_name="message_id")) - task_id: str = dc_field(metadata=dc_config(field_name="task_id")) - updated_at: datetime = dc_field( - metadata=dc_config( - field_name="updated_at", - encoder=encode_datetime, - decoder=datetime_from_unix_ns, - mm_field=fields.DateTime(format="iso"), - ) - ) - user_id: str = dc_field(metadata=dc_config(field_name="user_id")) - remind_at: Optional[datetime] = dc_field( - default=None, - metadata=dc_config( - field_name="remind_at", - encoder=encode_datetime, - decoder=datetime_from_unix_ns, - mm_field=fields.DateTime(format="iso"), - ), - ) - channel: "Optional[Channel]" = dc_field( - default=None, metadata=dc_config(field_name="channel") - ) - message: "Optional[Message]" = dc_field( - default=None, metadata=dc_config(field_name="message") - ) - user: "Optional[User]" = dc_field( - default=None, metadata=dc_config(field_name="user") - ) - - @dataclass class MessageRequest(DataClassJsonMixin): html: Optional[str] = dc_field(default=None, metadata=dc_config(field_name="html")) @@ -11536,7 +11904,6 @@ class MessageStatsResponse(DataClassJsonMixin): @dataclass class MessageUnblockedEvent(DataClassJsonMixin): - cid: str = dc_field(metadata=dc_config(field_name="cid")) created_at: datetime = dc_field( metadata=dc_config( field_name="created_at", @@ -11545,25 +11912,29 @@ class MessageUnblockedEvent(DataClassJsonMixin): mm_field=fields.DateTime(format="iso"), ) ) + message_id: str = dc_field(metadata=dc_config(field_name="message_id")) + custom: Dict[str, object] = dc_field(metadata=dc_config(field_name="custom")) + message: "MessageResponse" = dc_field(metadata=dc_config(field_name="message")) type: str = dc_field( default="message.unblocked", metadata=dc_config(field_name="type") ) - thread_participants: "Optional[List[User]]" = dc_field( - default=None, metadata=dc_config(field_name="thread_participants") - ) - message: "Optional[Message]" = dc_field( - default=None, metadata=dc_config(field_name="message") + cid: Optional[str] = dc_field(default=None, metadata=dc_config(field_name="cid")) + received_at: Optional[datetime] = dc_field( + default=None, + metadata=dc_config( + field_name="received_at", + encoder=encode_datetime, + decoder=datetime_from_unix_ns, + mm_field=fields.DateTime(format="iso"), + ), ) - user: "Optional[User]" = dc_field( + user: "Optional[UserResponseCommonFields]" = dc_field( default=None, metadata=dc_config(field_name="user") ) @dataclass class MessageUndeletedEvent(DataClassJsonMixin): - channel_id: str = dc_field(metadata=dc_config(field_name="channel_id")) - channel_type: str = dc_field(metadata=dc_config(field_name="channel_type")) - cid: str = dc_field(metadata=dc_config(field_name="cid")) created_at: datetime = dc_field( metadata=dc_config( field_name="created_at", @@ -11572,18 +11943,37 @@ class MessageUndeletedEvent(DataClassJsonMixin): mm_field=fields.DateTime(format="iso"), ) ) + message_id: str = dc_field(metadata=dc_config(field_name="message_id")) + custom: Dict[str, object] = dc_field(metadata=dc_config(field_name="custom")) + message: "MessageResponse" = dc_field(metadata=dc_config(field_name="message")) type: str = dc_field( default="message.undeleted", metadata=dc_config(field_name="type") ) - team: Optional[str] = dc_field(default=None, metadata=dc_config(field_name="team")) - thread_participants: "Optional[List[User]]" = dc_field( - default=None, metadata=dc_config(field_name="thread_participants") + channel_id: Optional[str] = dc_field( + default=None, metadata=dc_config(field_name="channel_id") ) - message: "Optional[Message]" = dc_field( - default=None, metadata=dc_config(field_name="message") + channel_member_count: Optional[int] = dc_field( + default=None, metadata=dc_config(field_name="channel_member_count") ) - user: "Optional[User]" = dc_field( - default=None, metadata=dc_config(field_name="user") + channel_message_count: Optional[int] = dc_field( + default=None, metadata=dc_config(field_name="channel_message_count") + ) + channel_type: Optional[str] = dc_field( + default=None, metadata=dc_config(field_name="channel_type") + ) + cid: Optional[str] = dc_field(default=None, metadata=dc_config(field_name="cid")) + received_at: Optional[datetime] = dc_field( + default=None, + metadata=dc_config( + field_name="received_at", + encoder=encode_datetime, + decoder=datetime_from_unix_ns, + mm_field=fields.DateTime(format="iso"), + ), + ) + team: Optional[str] = dc_field(default=None, metadata=dc_config(field_name="team")) + channel_custom: Optional[Dict[str, object]] = dc_field( + default=None, metadata=dc_config(field_name="channel_custom") ) @@ -11599,9 +11989,6 @@ class MessageUpdate(DataClassJsonMixin): @dataclass class MessageUpdatedEvent(DataClassJsonMixin): - channel_id: str = dc_field(metadata=dc_config(field_name="channel_id")) - channel_type: str = dc_field(metadata=dc_config(field_name="channel_type")) - cid: str = dc_field(metadata=dc_config(field_name="cid")) created_at: datetime = dc_field( metadata=dc_config( field_name="created_at", @@ -11610,17 +11997,42 @@ class MessageUpdatedEvent(DataClassJsonMixin): mm_field=fields.DateTime(format="iso"), ) ) + message_id: str = dc_field(metadata=dc_config(field_name="message_id")) + custom: Dict[str, object] = dc_field(metadata=dc_config(field_name="custom")) + message: "MessageResponse" = dc_field(metadata=dc_config(field_name="message")) type: str = dc_field( default="message.updated", metadata=dc_config(field_name="type") ) + channel_id: Optional[str] = dc_field( + default=None, metadata=dc_config(field_name="channel_id") + ) + channel_member_count: Optional[int] = dc_field( + default=None, metadata=dc_config(field_name="channel_member_count") + ) + channel_message_count: Optional[int] = dc_field( + default=None, metadata=dc_config(field_name="channel_message_count") + ) + channel_type: Optional[str] = dc_field( + default=None, metadata=dc_config(field_name="channel_type") + ) + cid: Optional[str] = dc_field(default=None, metadata=dc_config(field_name="cid")) + received_at: Optional[datetime] = dc_field( + default=None, + metadata=dc_config( + field_name="received_at", + encoder=encode_datetime, + decoder=datetime_from_unix_ns, + mm_field=fields.DateTime(format="iso"), + ), + ) team: Optional[str] = dc_field(default=None, metadata=dc_config(field_name="team")) - thread_participants: "Optional[List[User]]" = dc_field( - default=None, metadata=dc_config(field_name="thread_participants") + channel_custom: Optional[Dict[str, object]] = dc_field( + default=None, metadata=dc_config(field_name="channel_custom") ) - message: "Optional[Message]" = dc_field( - default=None, metadata=dc_config(field_name="message") + message_update: "Optional[MessageUpdate]" = dc_field( + default=None, metadata=dc_config(field_name="message_update") ) - user: "Optional[User]" = dc_field( + user: "Optional[UserResponseCommonFields]" = dc_field( default=None, metadata=dc_config(field_name="user") ) @@ -11795,13 +12207,15 @@ class MetricThreshold(DataClassJsonMixin): @dataclass -class ModerationActionConfig(DataClassJsonMixin): +class ModerationActionConfigResponse(DataClassJsonMixin): action: str = dc_field(metadata=dc_config(field_name="action")) description: str = dc_field(metadata=dc_config(field_name="description")) entity_type: str = dc_field(metadata=dc_config(field_name="entity_type")) icon: str = dc_field(metadata=dc_config(field_name="icon")) order: int = dc_field(metadata=dc_config(field_name="order")) - custom: Dict[str, object] = dc_field(metadata=dc_config(field_name="custom")) + custom: Optional[Dict[str, object]] = dc_field( + default=None, metadata=dc_config(field_name="custom") + ) @dataclass @@ -12001,7 +12415,7 @@ class ModerationFlagResponse(DataClassJsonMixin): custom: Optional[Dict[str, object]] = dc_field( default=None, metadata=dc_config(field_name="custom") ) - moderation_payload: "Optional[ModerationPayload]" = dc_field( + moderation_payload: "Optional[ModerationPayloadResponse]" = dc_field( default=None, metadata=dc_config(field_name="moderation_payload") ) review_queue_item: "Optional[ReviewQueueItemResponse]" = dc_field( @@ -12014,6 +12428,7 @@ class ModerationFlagResponse(DataClassJsonMixin): @dataclass class ModerationFlaggedEvent(DataClassJsonMixin): + content_type: str = dc_field(metadata=dc_config(field_name="content_type")) created_at: datetime = dc_field( metadata=dc_config( field_name="created_at", @@ -12022,15 +12437,19 @@ class ModerationFlaggedEvent(DataClassJsonMixin): mm_field=fields.DateTime(format="iso"), ) ) + object_id: str = dc_field(metadata=dc_config(field_name="object_id")) + custom: Dict[str, object] = dc_field(metadata=dc_config(field_name="custom")) type: str = dc_field( default="moderation.flagged", metadata=dc_config(field_name="type") ) - item: Optional[str] = dc_field(default=None, metadata=dc_config(field_name="item")) - object_id: Optional[str] = dc_field( - default=None, metadata=dc_config(field_name="object_id") - ) - user: "Optional[User]" = dc_field( - default=None, metadata=dc_config(field_name="user") + received_at: Optional[datetime] = dc_field( + default=None, + metadata=dc_config( + field_name="received_at", + encoder=encode_datetime, + decoder=datetime_from_unix_ns, + mm_field=fields.DateTime(format="iso"), + ), ) @@ -12079,6 +12498,38 @@ class ModerationPayload(DataClassJsonMixin): ) +@dataclass +class ModerationPayloadRequest(DataClassJsonMixin): + images: Optional[List[str]] = dc_field( + default=None, metadata=dc_config(field_name="images") + ) + texts: Optional[List[str]] = dc_field( + default=None, metadata=dc_config(field_name="texts") + ) + videos: Optional[List[str]] = dc_field( + default=None, metadata=dc_config(field_name="videos") + ) + custom: Optional[Dict[str, object]] = dc_field( + default=None, metadata=dc_config(field_name="custom") + ) + + +@dataclass +class ModerationPayloadResponse(DataClassJsonMixin): + images: Optional[List[str]] = dc_field( + default=None, metadata=dc_config(field_name="images") + ) + texts: Optional[List[str]] = dc_field( + default=None, metadata=dc_config(field_name="texts") + ) + videos: Optional[List[str]] = dc_field( + default=None, metadata=dc_config(field_name="videos") + ) + custom: Optional[Dict[str, object]] = dc_field( + default=None, metadata=dc_config(field_name="custom") + ) + + @dataclass class ModerationResponse(DataClassJsonMixin): action: str = dc_field(metadata=dc_config(field_name="action")) @@ -12173,7 +12624,7 @@ class MuteChannelResponse(DataClassJsonMixin): channel_mute: "Optional[ChannelMute]" = dc_field( default=None, metadata=dc_config(field_name="channel_mute") ) - own_user: "Optional[OwnUser]" = dc_field( + own_user: "Optional[OwnUserResponse]" = dc_field( default=None, metadata=dc_config(field_name="own_user") ) @@ -12195,13 +12646,13 @@ class MuteRequest(DataClassJsonMixin): @dataclass class MuteResponse(DataClassJsonMixin): duration: str = dc_field(metadata=dc_config(field_name="duration")) - mutes: "Optional[List[UserMute]]" = dc_field( + mutes: "Optional[List[UserMuteResponse]]" = dc_field( default=None, metadata=dc_config(field_name="mutes") ) non_existing_users: Optional[List[str]] = dc_field( default=None, metadata=dc_config(field_name="non_existing_users") ) - own_user: "Optional[OwnUser]" = dc_field( + own_user: "Optional[OwnUserResponse]" = dc_field( default=None, metadata=dc_config(field_name="own_user") ) @@ -12260,8 +12711,21 @@ class NoiseCancellationSettings(DataClassJsonMixin): mode: str = dc_field(metadata=dc_config(field_name="mode")) +@dataclass +class NotificationComment(DataClassJsonMixin): + comment: str = dc_field(metadata=dc_config(field_name="comment")) + id: str = dc_field(metadata=dc_config(field_name="id")) + user_id: str = dc_field(metadata=dc_config(field_name="user_id")) + attachments: "Optional[List[Attachment]]" = dc_field( + default=None, metadata=dc_config(field_name="attachments") + ) + + @dataclass class NotificationConfig(DataClassJsonMixin): + deduplication_window: Optional[str] = dc_field( + default=None, metadata=dc_config(field_name="deduplication_window") + ) track_read: Optional[bool] = dc_field( default=None, metadata=dc_config(field_name="track_read") ) @@ -12320,12 +12784,6 @@ class NotificationFeedUpdatedEvent(DataClassJsonMixin): @dataclass class NotificationMarkUnreadEvent(DataClassJsonMixin): - channel_id: str = dc_field(metadata=dc_config(field_name="channel_id")) - channel_member_count: int = dc_field( - metadata=dc_config(field_name="channel_member_count") - ) - channel_type: str = dc_field(metadata=dc_config(field_name="channel_type")) - cid: str = dc_field(metadata=dc_config(field_name="cid")) created_at: datetime = dc_field( metadata=dc_config( field_name="created_at", @@ -12334,38 +12792,76 @@ class NotificationMarkUnreadEvent(DataClassJsonMixin): mm_field=fields.DateTime(format="iso"), ) ) - first_unread_message_id: str = dc_field( - metadata=dc_config(field_name="first_unread_message_id") + custom: Dict[str, object] = dc_field(metadata=dc_config(field_name="custom")) + type: str = dc_field( + default="notification.mark_unread", metadata=dc_config(field_name="type") + ) + channel_id: Optional[str] = dc_field( + default=None, metadata=dc_config(field_name="channel_id") + ) + channel_member_count: Optional[int] = dc_field( + default=None, metadata=dc_config(field_name="channel_member_count") ) - last_read_at: datetime = dc_field( + channel_message_count: Optional[int] = dc_field( + default=None, metadata=dc_config(field_name="channel_message_count") + ) + channel_type: Optional[str] = dc_field( + default=None, metadata=dc_config(field_name="channel_type") + ) + cid: Optional[str] = dc_field(default=None, metadata=dc_config(field_name="cid")) + first_unread_message_id: Optional[str] = dc_field( + default=None, metadata=dc_config(field_name="first_unread_message_id") + ) + last_read_at: Optional[datetime] = dc_field( + default=None, metadata=dc_config( field_name="last_read_at", encoder=encode_datetime, decoder=datetime_from_unix_ns, mm_field=fields.DateTime(format="iso"), - ) - ) - total_unread_count: int = dc_field( - metadata=dc_config(field_name="total_unread_count") - ) - unread_channels: int = dc_field(metadata=dc_config(field_name="unread_channels")) - unread_count: int = dc_field(metadata=dc_config(field_name="unread_count")) - unread_messages: int = dc_field(metadata=dc_config(field_name="unread_messages")) - unread_threads: int = dc_field(metadata=dc_config(field_name="unread_threads")) - type: str = dc_field( - default="notification.mark_unread", metadata=dc_config(field_name="type") + ), ) last_read_message_id: Optional[str] = dc_field( default=None, metadata=dc_config(field_name="last_read_message_id") ) + received_at: Optional[datetime] = dc_field( + default=None, + metadata=dc_config( + field_name="received_at", + encoder=encode_datetime, + decoder=datetime_from_unix_ns, + mm_field=fields.DateTime(format="iso"), + ), + ) team: Optional[str] = dc_field(default=None, metadata=dc_config(field_name="team")) thread_id: Optional[str] = dc_field( default=None, metadata=dc_config(field_name="thread_id") ) + total_unread_count: Optional[int] = dc_field( + default=None, metadata=dc_config(field_name="total_unread_count") + ) + unread_channels: Optional[int] = dc_field( + default=None, metadata=dc_config(field_name="unread_channels") + ) + unread_count: Optional[int] = dc_field( + default=None, metadata=dc_config(field_name="unread_count") + ) + unread_messages: Optional[int] = dc_field( + default=None, metadata=dc_config(field_name="unread_messages") + ) + unread_thread_messages: Optional[int] = dc_field( + default=None, metadata=dc_config(field_name="unread_thread_messages") + ) + unread_threads: Optional[int] = dc_field( + default=None, metadata=dc_config(field_name="unread_threads") + ) channel: "Optional[ChannelResponse]" = dc_field( default=None, metadata=dc_config(field_name="channel") ) - user: "Optional[User]" = dc_field( + channel_custom: Optional[Dict[str, object]] = dc_field( + default=None, metadata=dc_config(field_name="channel_custom") + ) + user: "Optional[UserResponseCommonFields]" = dc_field( default=None, metadata=dc_config(field_name="user") ) @@ -12390,6 +12886,48 @@ class NotificationSettings(DataClassJsonMixin): ) +@dataclass +class NotificationSettingsRequest(DataClassJsonMixin): + enabled: Optional[bool] = dc_field( + default=None, metadata=dc_config(field_name="enabled") + ) + call_live_started: "Optional[EventNotificationSettingsRequest]" = dc_field( + default=None, metadata=dc_config(field_name="call_live_started") + ) + call_missed: "Optional[EventNotificationSettingsRequest]" = dc_field( + default=None, metadata=dc_config(field_name="call_missed") + ) + call_notification: "Optional[EventNotificationSettingsRequest]" = dc_field( + default=None, metadata=dc_config(field_name="call_notification") + ) + call_ring: "Optional[EventNotificationSettingsRequest]" = dc_field( + default=None, metadata=dc_config(field_name="call_ring") + ) + session_started: "Optional[EventNotificationSettingsRequest]" = dc_field( + default=None, metadata=dc_config(field_name="session_started") + ) + + +@dataclass +class NotificationSettingsResponse(DataClassJsonMixin): + enabled: bool = dc_field(metadata=dc_config(field_name="enabled")) + call_live_started: "EventNotificationSettingsResponse" = dc_field( + metadata=dc_config(field_name="call_live_started") + ) + call_missed: "EventNotificationSettingsResponse" = dc_field( + metadata=dc_config(field_name="call_missed") + ) + call_notification: "EventNotificationSettingsResponse" = dc_field( + metadata=dc_config(field_name="call_notification") + ) + call_ring: "EventNotificationSettingsResponse" = dc_field( + metadata=dc_config(field_name="call_ring") + ) + session_started: "EventNotificationSettingsResponse" = dc_field( + metadata=dc_config(field_name="session_started") + ) + + @dataclass class NotificationStatusResponse(DataClassJsonMixin): unread: int = dc_field(metadata=dc_config(field_name="unread")) @@ -12432,12 +12970,77 @@ class NotificationTarget(DataClassJsonMixin): attachments: "Optional[List[Attachment]]" = dc_field( default=None, metadata=dc_config(field_name="attachments") ) + comment: "Optional[NotificationComment]" = dc_field( + default=None, metadata=dc_config(field_name="comment") + ) + + +@dataclass +class NotificationThreadMessageNewEvent(DataClassJsonMixin): + created_at: datetime = dc_field( + metadata=dc_config( + field_name="created_at", + encoder=encode_datetime, + decoder=datetime_from_unix_ns, + mm_field=fields.DateTime(format="iso"), + ) + ) + message_id: str = dc_field(metadata=dc_config(field_name="message_id")) + thread_id: str = dc_field(metadata=dc_config(field_name="thread_id")) + watcher_count: int = dc_field(metadata=dc_config(field_name="watcher_count")) + channel: "ChannelResponse" = dc_field(metadata=dc_config(field_name="channel")) + custom: Dict[str, object] = dc_field(metadata=dc_config(field_name="custom")) + message: "MessageResponse" = dc_field(metadata=dc_config(field_name="message")) + type: str = dc_field( + default="notification.thread_message_new", metadata=dc_config(field_name="type") + ) + channel_id: Optional[str] = dc_field( + default=None, metadata=dc_config(field_name="channel_id") + ) + channel_member_count: Optional[int] = dc_field( + default=None, metadata=dc_config(field_name="channel_member_count") + ) + channel_message_count: Optional[int] = dc_field( + default=None, metadata=dc_config(field_name="channel_message_count") + ) + channel_type: Optional[str] = dc_field( + default=None, metadata=dc_config(field_name="channel_type") + ) + cid: Optional[str] = dc_field(default=None, metadata=dc_config(field_name="cid")) + parent_author: Optional[str] = dc_field( + default=None, metadata=dc_config(field_name="parent_author") + ) + received_at: Optional[datetime] = dc_field( + default=None, + metadata=dc_config( + field_name="received_at", + encoder=encode_datetime, + decoder=datetime_from_unix_ns, + mm_field=fields.DateTime(format="iso"), + ), + ) + team: Optional[str] = dc_field(default=None, metadata=dc_config(field_name="team")) + unread_thread_messages: Optional[int] = dc_field( + default=None, metadata=dc_config(field_name="unread_thread_messages") + ) + unread_threads: Optional[int] = dc_field( + default=None, metadata=dc_config(field_name="unread_threads") + ) + thread_participants: "Optional[List[UserResponseCommonFields]]" = dc_field( + default=None, metadata=dc_config(field_name="thread_participants") + ) + channel_custom: Optional[Dict[str, object]] = dc_field( + default=None, metadata=dc_config(field_name="channel_custom") + ) @dataclass class NotificationTrigger(DataClassJsonMixin): text: str = dc_field(metadata=dc_config(field_name="text")) type: str = dc_field(metadata=dc_config(field_name="type")) + comment: "Optional[NotificationComment]" = dc_field( + default=None, metadata=dc_config(field_name="comment") + ) @dataclass @@ -12462,22 +13065,23 @@ class OverviewDashboardConfig(DataClassJsonMixin): @dataclass -class OwnCapabilitiesBatchRequest(DataClassJsonMixin): +class OwnBatchRequest(DataClassJsonMixin): feeds: List[str] = dc_field(metadata=dc_config(field_name="feeds")) user_id: Optional[str] = dc_field( default=None, metadata=dc_config(field_name="user_id") ) + fields: Optional[List[str]] = dc_field( + default=None, metadata=dc_config(field_name="fields") + ) user: "Optional[UserRequest]" = dc_field( default=None, metadata=dc_config(field_name="user") ) @dataclass -class OwnCapabilitiesBatchResponse(DataClassJsonMixin): +class OwnBatchResponse(DataClassJsonMixin): duration: str = dc_field(metadata=dc_config(field_name="duration")) - capabilities: "Dict[str, List[FeedOwnCapability]]" = dc_field( - metadata=dc_config(field_name="capabilities") - ) + data: "Dict[str, FeedOwnData]" = dc_field(metadata=dc_config(field_name="data")) OwnCapabilityType = NewType("OwnCapabilityType", str) @@ -12518,106 +13122,6 @@ class OwnCapability: UPDATE_CALL_SETTINGS: Final[OwnCapabilityType] = "update-call-settings" -@dataclass -class OwnUser(DataClassJsonMixin): - banned: bool = dc_field(metadata=dc_config(field_name="banned")) - created_at: datetime = dc_field( - metadata=dc_config( - field_name="created_at", - encoder=encode_datetime, - decoder=datetime_from_unix_ns, - mm_field=fields.DateTime(format="iso"), - ) - ) - id: str = dc_field(metadata=dc_config(field_name="id")) - language: str = dc_field(metadata=dc_config(field_name="language")) - online: bool = dc_field(metadata=dc_config(field_name="online")) - role: str = dc_field(metadata=dc_config(field_name="role")) - total_unread_count: int = dc_field( - metadata=dc_config(field_name="total_unread_count") - ) - unread_channels: int = dc_field(metadata=dc_config(field_name="unread_channels")) - unread_count: int = dc_field(metadata=dc_config(field_name="unread_count")) - unread_threads: int = dc_field(metadata=dc_config(field_name="unread_threads")) - updated_at: datetime = dc_field( - metadata=dc_config( - field_name="updated_at", - encoder=encode_datetime, - decoder=datetime_from_unix_ns, - mm_field=fields.DateTime(format="iso"), - ) - ) - channel_mutes: "List[ChannelMute]" = dc_field( - metadata=dc_config(field_name="channel_mutes") - ) - devices: "List[Device]" = dc_field(metadata=dc_config(field_name="devices")) - mutes: "List[UserMute]" = dc_field(metadata=dc_config(field_name="mutes")) - custom: Dict[str, object] = dc_field(metadata=dc_config(field_name="custom")) - total_unread_count_by_team: "Dict[str, int]" = dc_field( - metadata=dc_config(field_name="total_unread_count_by_team") - ) - avg_response_time: Optional[int] = dc_field( - default=None, metadata=dc_config(field_name="avg_response_time") - ) - deactivated_at: Optional[datetime] = dc_field( - default=None, - metadata=dc_config( - field_name="deactivated_at", - encoder=encode_datetime, - decoder=datetime_from_unix_ns, - mm_field=fields.DateTime(format="iso"), - ), - ) - deleted_at: Optional[datetime] = dc_field( - default=None, - metadata=dc_config( - field_name="deleted_at", - encoder=encode_datetime, - decoder=datetime_from_unix_ns, - mm_field=fields.DateTime(format="iso"), - ), - ) - invisible: Optional[bool] = dc_field( - default=None, metadata=dc_config(field_name="invisible") - ) - last_active: Optional[datetime] = dc_field( - default=None, - metadata=dc_config( - field_name="last_active", - encoder=encode_datetime, - decoder=datetime_from_unix_ns, - mm_field=fields.DateTime(format="iso"), - ), - ) - last_engaged_at: Optional[datetime] = dc_field( - default=None, - metadata=dc_config( - field_name="last_engaged_at", - encoder=encode_datetime, - decoder=datetime_from_unix_ns, - mm_field=fields.DateTime(format="iso"), - ), - ) - blocked_user_ids: Optional[List[str]] = dc_field( - default=None, metadata=dc_config(field_name="blocked_user_ids") - ) - latest_hidden_channels: Optional[List[str]] = dc_field( - default=None, metadata=dc_config(field_name="latest_hidden_channels") - ) - teams: Optional[List[str]] = dc_field( - default=None, metadata=dc_config(field_name="teams") - ) - privacy_settings: "Optional[PrivacySettings]" = dc_field( - default=None, metadata=dc_config(field_name="privacy_settings") - ) - push_preferences: "Optional[PushPreferences]" = dc_field( - default=None, metadata=dc_config(field_name="push_preferences") - ) - teams_role: "Optional[Dict[str, str]]" = dc_field( - default=None, metadata=dc_config(field_name="teams_role") - ) - - @dataclass class OwnUserResponse(DataClassJsonMixin): banned: bool = dc_field(metadata=dc_config(field_name="banned")) @@ -12707,7 +13211,7 @@ class OwnUserResponse(DataClassJsonMixin): privacy_settings: "Optional[PrivacySettingsResponse]" = dc_field( default=None, metadata=dc_config(field_name="privacy_settings") ) - push_preferences: "Optional[PushPreferences]" = dc_field( + push_preferences: "Optional[PushPreferencesResponse]" = dc_field( default=None, metadata=dc_config(field_name="push_preferences") ) teams_role: "Optional[Dict[str, str]]" = dc_field( @@ -12939,16 +13443,16 @@ class PendingMessageEvent(DataClassJsonMixin): mm_field=fields.DateTime(format="iso"), ), ) - channel: "Optional[Channel]" = dc_field( + channel: "Optional[ChannelResponse]" = dc_field( default=None, metadata=dc_config(field_name="channel") ) - message: "Optional[Message]" = dc_field( + message: "Optional[MessageResponse]" = dc_field( default=None, metadata=dc_config(field_name="message") ) metadata: "Optional[Dict[str, str]]" = dc_field( default=None, metadata=dc_config(field_name="metadata") ) - user: "Optional[User]" = dc_field( + user: "Optional[UserResponse]" = dc_field( default=None, metadata=dc_config(field_name="user") ) @@ -13082,75 +13586,11 @@ class Policy(DataClassJsonMixin): @dataclass class PolicyRequest(DataClassJsonMixin): action: str = dc_field(metadata=dc_config(field_name="action")) - name: str = dc_field(metadata=dc_config(field_name="name")) - owner: bool = dc_field(metadata=dc_config(field_name="owner")) - priority: int = dc_field(metadata=dc_config(field_name="priority")) - resources: List[str] = dc_field(metadata=dc_config(field_name="resources")) - roles: List[str] = dc_field(metadata=dc_config(field_name="roles")) - - -@dataclass -class Poll(DataClassJsonMixin): - allow_answers: bool = dc_field(metadata=dc_config(field_name="allow_answers")) - allow_user_suggested_options: bool = dc_field( - metadata=dc_config(field_name="allow_user_suggested_options") - ) - answers_count: int = dc_field(metadata=dc_config(field_name="answers_count")) - created_at: datetime = dc_field( - metadata=dc_config( - field_name="created_at", - encoder=encode_datetime, - decoder=datetime_from_unix_ns, - mm_field=fields.DateTime(format="iso"), - ) - ) - created_by_id: str = dc_field(metadata=dc_config(field_name="created_by_id")) - description: str = dc_field(metadata=dc_config(field_name="description")) - enforce_unique_vote: bool = dc_field( - metadata=dc_config(field_name="enforce_unique_vote") - ) - id: str = dc_field(metadata=dc_config(field_name="id")) - name: str = dc_field(metadata=dc_config(field_name="name")) - updated_at: datetime = dc_field( - metadata=dc_config( - field_name="updated_at", - encoder=encode_datetime, - decoder=datetime_from_unix_ns, - mm_field=fields.DateTime(format="iso"), - ) - ) - vote_count: int = dc_field(metadata=dc_config(field_name="vote_count")) - latest_answers: "List[PollVote]" = dc_field( - metadata=dc_config(field_name="latest_answers") - ) - options: "List[PollOption]" = dc_field(metadata=dc_config(field_name="options")) - own_votes: "List[PollVote]" = dc_field(metadata=dc_config(field_name="own_votes")) - custom: Dict[str, object] = dc_field(metadata=dc_config(field_name="Custom")) - latest_votes_by_option: "Dict[str, List[PollVote]]" = dc_field( - metadata=dc_config(field_name="latest_votes_by_option") - ) - vote_counts_by_option: "Dict[str, int]" = dc_field( - metadata=dc_config(field_name="vote_counts_by_option") - ) - is_closed: Optional[bool] = dc_field( - default=None, metadata=dc_config(field_name="is_closed") - ) - max_votes_allowed: Optional[int] = dc_field( - default=None, metadata=dc_config(field_name="max_votes_allowed") - ) - voting_visibility: Optional[str] = dc_field( - default=None, metadata=dc_config(field_name="voting_visibility") - ) - created_by: "Optional[User]" = dc_field( - default=None, metadata=dc_config(field_name="created_by") - ) - - -@dataclass -class PollOption(DataClassJsonMixin): - id: str = dc_field(metadata=dc_config(field_name="id")) - text: str = dc_field(metadata=dc_config(field_name="text")) - custom: Dict[str, object] = dc_field(metadata=dc_config(field_name="custom")) + name: str = dc_field(metadata=dc_config(field_name="name")) + owner: bool = dc_field(metadata=dc_config(field_name="owner")) + priority: int = dc_field(metadata=dc_config(field_name="priority")) + resources: List[str] = dc_field(metadata=dc_config(field_name="resources")) + roles: List[str] = dc_field(metadata=dc_config(field_name="roles")) @dataclass @@ -13252,41 +13692,6 @@ class PollResponseData(DataClassJsonMixin): ) -@dataclass -class PollVote(DataClassJsonMixin): - created_at: datetime = dc_field( - metadata=dc_config( - field_name="created_at", - encoder=encode_datetime, - decoder=datetime_from_unix_ns, - mm_field=fields.DateTime(format="iso"), - ) - ) - id: str = dc_field(metadata=dc_config(field_name="id")) - option_id: str = dc_field(metadata=dc_config(field_name="option_id")) - poll_id: str = dc_field(metadata=dc_config(field_name="poll_id")) - updated_at: datetime = dc_field( - metadata=dc_config( - field_name="updated_at", - encoder=encode_datetime, - decoder=datetime_from_unix_ns, - mm_field=fields.DateTime(format="iso"), - ) - ) - answer_text: Optional[str] = dc_field( - default=None, metadata=dc_config(field_name="answer_text") - ) - is_answer: Optional[bool] = dc_field( - default=None, metadata=dc_config(field_name="is_answer") - ) - user_id: Optional[str] = dc_field( - default=None, metadata=dc_config(field_name="user_id") - ) - user: "Optional[User]" = dc_field( - default=None, metadata=dc_config(field_name="user") - ) - - @dataclass class PollVoteResponse(DataClassJsonMixin): duration: str = dc_field(metadata=dc_config(field_name="duration")) @@ -13340,19 +13745,6 @@ class PollVotesResponse(DataClassJsonMixin): prev: Optional[str] = dc_field(default=None, metadata=dc_config(field_name="prev")) -@dataclass -class PrivacySettings(DataClassJsonMixin): - delivery_receipts: "Optional[DeliveryReceipts]" = dc_field( - default=None, metadata=dc_config(field_name="delivery_receipts") - ) - read_receipts: "Optional[ReadReceipts]" = dc_field( - default=None, metadata=dc_config(field_name="read_receipts") - ) - typing_indicators: "Optional[TypingIndicators]" = dc_field( - default=None, metadata=dc_config(field_name="typing_indicators") - ) - - @dataclass class PrivacySettingsResponse(DataClassJsonMixin): delivery_receipts: "Optional[DeliveryReceiptsResponse]" = dc_field( @@ -13515,7 +13907,7 @@ class PushPreferenceInput(DataClassJsonMixin): @dataclass -class PushPreferences(DataClassJsonMixin): +class PushPreferencesResponse(DataClassJsonMixin): call_level: Optional[str] = dc_field( default=None, metadata=dc_config(field_name="call_level") ) @@ -13534,7 +13926,7 @@ class PushPreferences(DataClassJsonMixin): feeds_level: Optional[str] = dc_field( default=None, metadata=dc_config(field_name="feeds_level") ) - feeds_preferences: "Optional[FeedsPreferences]" = dc_field( + feeds_preferences: "Optional[FeedsPreferencesResponse]" = dc_field( default=None, metadata=dc_config(field_name="feeds_preferences") ) @@ -13764,6 +14156,31 @@ class PushTemplate(DataClassJsonMixin): ) +@dataclass +class PushTemplateResponse(DataClassJsonMixin): + created_at: datetime = dc_field( + metadata=dc_config( + field_name="created_at", + encoder=encode_datetime, + decoder=datetime_from_unix_ns, + mm_field=fields.DateTime(format="iso"), + ) + ) + enable_push: bool = dc_field(metadata=dc_config(field_name="enable_push")) + event_type: str = dc_field(metadata=dc_config(field_name="event_type")) + updated_at: datetime = dc_field( + metadata=dc_config( + field_name="updated_at", + encoder=encode_datetime, + decoder=datetime_from_unix_ns, + mm_field=fields.DateTime(format="iso"), + ) + ) + template: Optional[str] = dc_field( + default=None, metadata=dc_config(field_name="template") + ) + + @dataclass class QualityScoreReport(DataClassJsonMixin): histogram: "List[ReportByHistogramBucket]" = dc_field( @@ -13780,17 +14197,26 @@ class QualityScoreReportResponse(DataClassJsonMixin): @dataclass class QueryActivitiesRequest(DataClassJsonMixin): + include_private_activities: Optional[bool] = dc_field( + default=None, metadata=dc_config(field_name="include_private_activities") + ) limit: Optional[int] = dc_field( default=None, metadata=dc_config(field_name="limit") ) next: Optional[str] = dc_field(default=None, metadata=dc_config(field_name="next")) prev: Optional[str] = dc_field(default=None, metadata=dc_config(field_name="prev")) + user_id: Optional[str] = dc_field( + default=None, metadata=dc_config(field_name="user_id") + ) sort: "Optional[List[SortParamRequest]]" = dc_field( default=None, metadata=dc_config(field_name="sort") ) filter: Optional[Dict[str, object]] = dc_field( default=None, metadata=dc_config(field_name="filter") ) + user: "Optional[UserRequest]" = dc_field( + default=None, metadata=dc_config(field_name="user") + ) @dataclass @@ -14044,6 +14470,74 @@ class QueryCallSessionParticipantStatsTimelineResponse(DataClassJsonMixin): ) +@dataclass +class QueryCallStatsMapResponse(DataClassJsonMixin): + call_id: str = dc_field(metadata=dc_config(field_name="call_id")) + call_session_id: str = dc_field(metadata=dc_config(field_name="call_session_id")) + call_type: str = dc_field(metadata=dc_config(field_name="call_type")) + duration: str = dc_field(metadata=dc_config(field_name="duration")) + counts: "CallStatsParticipantCounts" = dc_field( + metadata=dc_config(field_name="counts") + ) + call_ended_at: Optional[datetime] = dc_field( + default=None, + metadata=dc_config( + field_name="call_ended_at", + encoder=encode_datetime, + decoder=datetime_from_unix_ns, + mm_field=fields.DateTime(format="iso"), + ), + ) + call_started_at: Optional[datetime] = dc_field( + default=None, + metadata=dc_config( + field_name="call_started_at", + encoder=encode_datetime, + decoder=datetime_from_unix_ns, + mm_field=fields.DateTime(format="iso"), + ), + ) + data_source: Optional[str] = dc_field( + default=None, metadata=dc_config(field_name="data_source") + ) + end_time: Optional[datetime] = dc_field( + default=None, + metadata=dc_config( + field_name="end_time", + encoder=encode_datetime, + decoder=datetime_from_unix_ns, + mm_field=fields.DateTime(format="iso"), + ), + ) + generated_at: Optional[datetime] = dc_field( + default=None, + metadata=dc_config( + field_name="generated_at", + encoder=encode_datetime, + decoder=datetime_from_unix_ns, + mm_field=fields.DateTime(format="iso"), + ), + ) + start_time: Optional[datetime] = dc_field( + default=None, + metadata=dc_config( + field_name="start_time", + encoder=encode_datetime, + decoder=datetime_from_unix_ns, + mm_field=fields.DateTime(format="iso"), + ), + ) + publishers: "Optional[CallStatsMapPublishers]" = dc_field( + default=None, metadata=dc_config(field_name="publishers") + ) + sfus: "Optional[CallStatsMapSFUs]" = dc_field( + default=None, metadata=dc_config(field_name="sfus") + ) + subscribers: "Optional[CallStatsMapSubscribers]" = dc_field( + default=None, metadata=dc_config(field_name="subscribers") + ) + + @dataclass class QueryCallStatsRequest(DataClassJsonMixin): limit: Optional[int] = dc_field( @@ -14280,7 +14774,7 @@ class QueryFeedModerationTemplate(DataClassJsonMixin): mm_field=fields.DateTime(format="iso"), ) ) - config: "Optional[FeedsModerationTemplateConfig]" = dc_field( + config: "Optional[FeedsModerationTemplateConfigPayload]" = dc_field( default=None, metadata=dc_config(field_name="config") ) @@ -14509,7 +15003,7 @@ class QueryModerationFlagsRequest(DataClassJsonMixin): ) next: Optional[str] = dc_field(default=None, metadata=dc_config(field_name="next")) prev: Optional[str] = dc_field(default=None, metadata=dc_config(field_name="prev")) - sort: "Optional[List[SortParam]]" = dc_field( + sort: "Optional[List[SortParamRequest]]" = dc_field( default=None, metadata=dc_config(field_name="sort") ) filter: Optional[Dict[str, object]] = dc_field( @@ -14729,12 +15223,15 @@ class QueryReviewQueueResponse(DataClassJsonMixin): items: "List[ReviewQueueItemResponse]" = dc_field( metadata=dc_config(field_name="items") ) - action_config: "Dict[str, List[ModerationActionConfig]]" = dc_field( + action_config: "Dict[str, List[ModerationActionConfigResponse]]" = dc_field( metadata=dc_config(field_name="action_config") ) stats: Dict[str, object] = dc_field(metadata=dc_config(field_name="stats")) next: Optional[str] = dc_field(default=None, metadata=dc_config(field_name="next")) prev: Optional[str] = dc_field(default=None, metadata=dc_config(field_name="prev")) + filter_config: "Optional[FilterConfigResponse]" = dc_field( + default=None, metadata=dc_config(field_name="filter_config") + ) @dataclass @@ -14961,6 +15458,7 @@ class RankingConfig(DataClassJsonMixin): @dataclass class Reaction(DataClassJsonMixin): + activity_id: str = dc_field(metadata=dc_config(field_name="activity_id")) created_at: datetime = dc_field( metadata=dc_config( field_name="created_at", @@ -14969,9 +15467,7 @@ class Reaction(DataClassJsonMixin): mm_field=fields.DateTime(format="iso"), ) ) - message_id: str = dc_field(metadata=dc_config(field_name="message_id")) - score: int = dc_field(metadata=dc_config(field_name="score")) - type: str = dc_field(metadata=dc_config(field_name="type")) + kind: str = dc_field(metadata=dc_config(field_name="kind")) updated_at: datetime = dc_field( metadata=dc_config( field_name="updated_at", @@ -14980,9 +15476,43 @@ class Reaction(DataClassJsonMixin): mm_field=fields.DateTime(format="iso"), ) ) - custom: Dict[str, object] = dc_field(metadata=dc_config(field_name="custom")) - user_id: Optional[str] = dc_field( - default=None, metadata=dc_config(field_name="user_id") + user_id: str = dc_field(metadata=dc_config(field_name="user_id")) + deleted_at: Optional[datetime] = dc_field( + default=None, + metadata=dc_config( + field_name="deleted_at", + encoder=encode_datetime, + decoder=datetime_from_unix_ns, + mm_field=fields.DateTime(format="iso"), + ), + ) + id: Optional[str] = dc_field(default=None, metadata=dc_config(field_name="id")) + parent: Optional[str] = dc_field( + default=None, metadata=dc_config(field_name="parent") + ) + score: Optional[float] = dc_field( + default=None, metadata=dc_config(field_name="score") + ) + target_feeds: Optional[List[str]] = dc_field( + default=None, metadata=dc_config(field_name="target_feeds") + ) + children_counts: Optional[Dict[str, object]] = dc_field( + default=None, metadata=dc_config(field_name="children_counts") + ) + data: Optional[Dict[str, object]] = dc_field( + default=None, metadata=dc_config(field_name="data") + ) + latest_children: "Optional[Dict[str, List[Reaction]]]" = dc_field( + default=None, metadata=dc_config(field_name="latest_children") + ) + moderation: Optional[Dict[str, object]] = dc_field( + default=None, metadata=dc_config(field_name="moderation") + ) + own_children: "Optional[Dict[str, List[Reaction]]]" = dc_field( + default=None, metadata=dc_config(field_name="own_children") + ) + target_feeds_extra_data: Optional[Dict[str, object]] = dc_field( + default=None, metadata=dc_config(field_name="target_feeds_extra_data") ) user: "Optional[User]" = dc_field( default=None, metadata=dc_config(field_name="user") @@ -14991,9 +15521,6 @@ class Reaction(DataClassJsonMixin): @dataclass class ReactionDeletedEvent(DataClassJsonMixin): - channel_id: str = dc_field(metadata=dc_config(field_name="channel_id")) - channel_type: str = dc_field(metadata=dc_config(field_name="channel_type")) - cid: str = dc_field(metadata=dc_config(field_name="cid")) created_at: datetime = dc_field( metadata=dc_config( field_name="created_at", @@ -15002,20 +15529,50 @@ class ReactionDeletedEvent(DataClassJsonMixin): mm_field=fields.DateTime(format="iso"), ) ) + channel: "ChannelResponse" = dc_field(metadata=dc_config(field_name="channel")) + custom: Dict[str, object] = dc_field(metadata=dc_config(field_name="custom")) type: str = dc_field( default="reaction.deleted", metadata=dc_config(field_name="type") ) + channel_id: Optional[str] = dc_field( + default=None, metadata=dc_config(field_name="channel_id") + ) + channel_member_count: Optional[int] = dc_field( + default=None, metadata=dc_config(field_name="channel_member_count") + ) + channel_message_count: Optional[int] = dc_field( + default=None, metadata=dc_config(field_name="channel_message_count") + ) + channel_type: Optional[str] = dc_field( + default=None, metadata=dc_config(field_name="channel_type") + ) + cid: Optional[str] = dc_field(default=None, metadata=dc_config(field_name="cid")) + message_id: Optional[str] = dc_field( + default=None, metadata=dc_config(field_name="message_id") + ) + received_at: Optional[datetime] = dc_field( + default=None, + metadata=dc_config( + field_name="received_at", + encoder=encode_datetime, + decoder=datetime_from_unix_ns, + mm_field=fields.DateTime(format="iso"), + ), + ) team: Optional[str] = dc_field(default=None, metadata=dc_config(field_name="team")) - thread_participants: "Optional[List[User]]" = dc_field( + thread_participants: "Optional[List[UserResponseCommonFields]]" = dc_field( default=None, metadata=dc_config(field_name="thread_participants") ) - message: "Optional[Message]" = dc_field( + channel_custom: Optional[Dict[str, object]] = dc_field( + default=None, metadata=dc_config(field_name="channel_custom") + ) + message: "Optional[MessageResponse]" = dc_field( default=None, metadata=dc_config(field_name="message") ) - reaction: "Optional[Reaction]" = dc_field( + reaction: "Optional[ReactionResponse]" = dc_field( default=None, metadata=dc_config(field_name="reaction") ) - user: "Optional[User]" = dc_field( + user: "Optional[UserResponseCommonFields]" = dc_field( default=None, metadata=dc_config(field_name="user") ) @@ -15044,9 +15601,6 @@ class ReactionGroupResponse(DataClassJsonMixin): @dataclass class ReactionNewEvent(DataClassJsonMixin): - channel_id: str = dc_field(metadata=dc_config(field_name="channel_id")) - channel_type: str = dc_field(metadata=dc_config(field_name="channel_type")) - cid: str = dc_field(metadata=dc_config(field_name="cid")) created_at: datetime = dc_field( metadata=dc_config( field_name="created_at", @@ -15055,18 +15609,48 @@ class ReactionNewEvent(DataClassJsonMixin): mm_field=fields.DateTime(format="iso"), ) ) + channel: "ChannelResponse" = dc_field(metadata=dc_config(field_name="channel")) + custom: Dict[str, object] = dc_field(metadata=dc_config(field_name="custom")) type: str = dc_field(default="reaction.new", metadata=dc_config(field_name="type")) + channel_id: Optional[str] = dc_field( + default=None, metadata=dc_config(field_name="channel_id") + ) + channel_member_count: Optional[int] = dc_field( + default=None, metadata=dc_config(field_name="channel_member_count") + ) + channel_message_count: Optional[int] = dc_field( + default=None, metadata=dc_config(field_name="channel_message_count") + ) + channel_type: Optional[str] = dc_field( + default=None, metadata=dc_config(field_name="channel_type") + ) + cid: Optional[str] = dc_field(default=None, metadata=dc_config(field_name="cid")) + message_id: Optional[str] = dc_field( + default=None, metadata=dc_config(field_name="message_id") + ) + received_at: Optional[datetime] = dc_field( + default=None, + metadata=dc_config( + field_name="received_at", + encoder=encode_datetime, + decoder=datetime_from_unix_ns, + mm_field=fields.DateTime(format="iso"), + ), + ) team: Optional[str] = dc_field(default=None, metadata=dc_config(field_name="team")) - thread_participants: "Optional[List[User]]" = dc_field( + thread_participants: "Optional[List[UserResponseCommonFields]]" = dc_field( default=None, metadata=dc_config(field_name="thread_participants") ) - message: "Optional[Message]" = dc_field( + channel_custom: Optional[Dict[str, object]] = dc_field( + default=None, metadata=dc_config(field_name="channel_custom") + ) + message: "Optional[MessageResponse]" = dc_field( default=None, metadata=dc_config(field_name="message") ) - reaction: "Optional[Reaction]" = dc_field( + reaction: "Optional[ReactionResponse]" = dc_field( default=None, metadata=dc_config(field_name="reaction") ) - user: "Optional[User]" = dc_field( + user: "Optional[UserResponseCommonFields]" = dc_field( default=None, metadata=dc_config(field_name="user") ) @@ -15134,9 +15718,6 @@ class ReactionResponse(DataClassJsonMixin): @dataclass class ReactionUpdatedEvent(DataClassJsonMixin): - channel_id: str = dc_field(metadata=dc_config(field_name="channel_id")) - channel_type: str = dc_field(metadata=dc_config(field_name="channel_type")) - cid: str = dc_field(metadata=dc_config(field_name="cid")) created_at: datetime = dc_field( metadata=dc_config( field_name="created_at", @@ -15145,13 +15726,43 @@ class ReactionUpdatedEvent(DataClassJsonMixin): mm_field=fields.DateTime(format="iso"), ) ) - message: "Message" = dc_field(metadata=dc_config(field_name="message")) - reaction: "Reaction" = dc_field(metadata=dc_config(field_name="reaction")) + message_id: str = dc_field(metadata=dc_config(field_name="message_id")) + channel: "ChannelResponse" = dc_field(metadata=dc_config(field_name="channel")) + custom: Dict[str, object] = dc_field(metadata=dc_config(field_name="custom")) + message: "MessageResponse" = dc_field(metadata=dc_config(field_name="message")) type: str = dc_field( default="reaction.updated", metadata=dc_config(field_name="type") ) + channel_id: Optional[str] = dc_field( + default=None, metadata=dc_config(field_name="channel_id") + ) + channel_member_count: Optional[int] = dc_field( + default=None, metadata=dc_config(field_name="channel_member_count") + ) + channel_message_count: Optional[int] = dc_field( + default=None, metadata=dc_config(field_name="channel_message_count") + ) + channel_type: Optional[str] = dc_field( + default=None, metadata=dc_config(field_name="channel_type") + ) + cid: Optional[str] = dc_field(default=None, metadata=dc_config(field_name="cid")) + received_at: Optional[datetime] = dc_field( + default=None, + metadata=dc_config( + field_name="received_at", + encoder=encode_datetime, + decoder=datetime_from_unix_ns, + mm_field=fields.DateTime(format="iso"), + ), + ) team: Optional[str] = dc_field(default=None, metadata=dc_config(field_name="team")) - user: "Optional[User]" = dc_field( + channel_custom: Optional[Dict[str, object]] = dc_field( + default=None, metadata=dc_config(field_name="channel_custom") + ) + reaction: "Optional[ReactionResponse]" = dc_field( + default=None, metadata=dc_config(field_name="reaction") + ) + user: "Optional[UserResponseCommonFields]" = dc_field( default=None, metadata=dc_config(field_name="user") ) @@ -15196,8 +15807,11 @@ class ReactivateUsersResponse(DataClassJsonMixin): @dataclass -class ReadReceipts(DataClassJsonMixin): - enabled: bool = dc_field(metadata=dc_config(field_name="enabled")) +class ReadCollectionsResponse(DataClassJsonMixin): + duration: str = dc_field(metadata=dc_config(field_name="duration")) + collections: "List[CollectionResponse]" = dc_field( + metadata=dc_config(field_name="collections") + ) @dataclass @@ -15435,10 +16049,10 @@ class ReminderResponseData(DataClassJsonMixin): channel: "Optional[ChannelResponse]" = dc_field( default=None, metadata=dc_config(field_name="channel") ) - message: "Optional[Message]" = dc_field( + message: "Optional[MessageResponse]" = dc_field( default=None, metadata=dc_config(field_name="message") ) - user: "Optional[User]" = dc_field( + user: "Optional[UserResponse]" = dc_field( default=None, metadata=dc_config(field_name="user") ) @@ -15517,7 +16131,9 @@ class ResolveSipInboundRequest(DataClassJsonMixin): metadata=dc_config(field_name="sip_caller_number") ) sip_trunk_number: str = dc_field(metadata=dc_config(field_name="sip_trunk_number")) - challenge: "SIPChallenge" = dc_field(metadata=dc_config(field_name="challenge")) + challenge: "SIPChallengeRequest" = dc_field( + metadata=dc_config(field_name="challenge") + ) sip_headers: "Optional[Dict[str, str]]" = dc_field( default=None, metadata=dc_config(field_name="sip_headers") ) @@ -15543,7 +16159,7 @@ class Response(DataClassJsonMixin): @dataclass -class RestoreActionRequest(DataClassJsonMixin): +class RestoreActionRequestPayload(DataClassJsonMixin): pass @@ -15621,7 +16237,7 @@ class ReviewQueueItemResponse(DataClassJsonMixin): actions: "List[ActionLogResponse]" = dc_field( metadata=dc_config(field_name="actions") ) - bans: "List[Ban]" = dc_field(metadata=dc_config(field_name="bans")) + bans: "List[BanInfoResponse]" = dc_field(metadata=dc_config(field_name="bans")) flags: "List[ModerationFlagResponse]" = dc_field( metadata=dc_config(field_name="flags") ) @@ -15680,7 +16296,7 @@ class ReviewQueueItemResponse(DataClassJsonMixin): message: "Optional[MessageResponse]" = dc_field( default=None, metadata=dc_config(field_name="message") ) - moderation_payload: "Optional[ModerationPayload]" = dc_field( + moderation_payload: "Optional[ModerationPayloadResponse]" = dc_field( default=None, metadata=dc_config(field_name="moderation_payload") ) reaction: "Optional[Reaction]" = dc_field( @@ -15820,6 +16436,9 @@ class RuleBuilderCondition(DataClassJsonMixin): content_count_rule_params: "Optional[ContentCountRuleParameters]" = dc_field( default=None, metadata=dc_config(field_name="content_count_rule_params") ) + content_flag_count_rule_params: "Optional[FlagCountRuleParameters]" = dc_field( + default=None, metadata=dc_config(field_name="content_flag_count_rule_params") + ) image_content_params: "Optional[ImageContentParameters]" = dc_field( default=None, metadata=dc_config(field_name="image_content_params") ) @@ -15838,6 +16457,9 @@ class RuleBuilderCondition(DataClassJsonMixin): user_custom_property_params: "Optional[UserCustomPropertyParameters]" = dc_field( default=None, metadata=dc_config(field_name="user_custom_property_params") ) + user_flag_count_rule_params: "Optional[FlagCountRuleParameters]" = dc_field( + default=None, metadata=dc_config(field_name="user_flag_count_rule_params") + ) user_rule_params: "Optional[UserRuleParameters]" = dc_field( default=None, metadata=dc_config(field_name="user_rule_params") ) @@ -15916,6 +16538,19 @@ class SDKUsageReportResponse(DataClassJsonMixin): ) +@dataclass +class SFULocationResponse(DataClassJsonMixin): + datacenter: str = dc_field(metadata=dc_config(field_name="datacenter")) + id: str = dc_field(metadata=dc_config(field_name="id")) + coordinates: "CoordinatesResponse" = dc_field( + metadata=dc_config(field_name="coordinates") + ) + location: "LocationResponse" = dc_field(metadata=dc_config(field_name="location")) + count: Optional[int] = dc_field( + default=None, metadata=dc_config(field_name="count") + ) + + @dataclass class SIPCallConfigsRequest(DataClassJsonMixin): custom_data: Optional[Dict[str, object]] = dc_field( @@ -15947,7 +16582,7 @@ class SIPCallerConfigsResponse(DataClassJsonMixin): @dataclass -class SIPChallenge(DataClassJsonMixin): +class SIPChallengeRequest(DataClassJsonMixin): a1: Optional[str] = dc_field(default=None, metadata=dc_config(field_name="a1")) algorithm: Optional[str] = dc_field( default=None, metadata=dc_config(field_name="algorithm") @@ -16215,6 +16850,9 @@ class SearchPayload(DataClassJsonMixin): filter_conditions: Dict[str, object] = dc_field( metadata=dc_config(field_name="filter_conditions") ) + force_default_search: Optional[bool] = dc_field( + default=None, metadata=dc_config(field_name="force_default_search") + ) limit: Optional[int] = dc_field( default=None, metadata=dc_config(field_name="limit") ) @@ -16662,7 +17300,7 @@ class SessionSettingsResponse(DataClassJsonMixin): @dataclass -class ShadowBlockActionRequest(DataClassJsonMixin): +class ShadowBlockActionRequestPayload(DataClassJsonMixin): reason: Optional[str] = dc_field( default=None, metadata=dc_config(field_name="reason") ) @@ -16670,28 +17308,11 @@ class ShadowBlockActionRequest(DataClassJsonMixin): @dataclass class SharedLocation(DataClassJsonMixin): - channel_cid: str = dc_field(metadata=dc_config(field_name="channel_cid")) - created_at: datetime = dc_field( - metadata=dc_config( - field_name="created_at", - encoder=encode_datetime, - decoder=datetime_from_unix_ns, - mm_field=fields.DateTime(format="iso"), - ) - ) - created_by_device_id: str = dc_field( - metadata=dc_config(field_name="created_by_device_id") - ) - message_id: str = dc_field(metadata=dc_config(field_name="message_id")) - updated_at: datetime = dc_field( - metadata=dc_config( - field_name="updated_at", - encoder=encode_datetime, - decoder=datetime_from_unix_ns, - mm_field=fields.DateTime(format="iso"), - ) + latitude: float = dc_field(metadata=dc_config(field_name="latitude")) + longitude: float = dc_field(metadata=dc_config(field_name="longitude")) + created_by_device_id: Optional[str] = dc_field( + default=None, metadata=dc_config(field_name="created_by_device_id") ) - user_id: str = dc_field(metadata=dc_config(field_name="user_id")) end_at: Optional[datetime] = dc_field( default=None, metadata=dc_config( @@ -16701,18 +17322,6 @@ class SharedLocation(DataClassJsonMixin): mm_field=fields.DateTime(format="iso"), ), ) - latitude: Optional[float] = dc_field( - default=None, metadata=dc_config(field_name="latitude") - ) - longitude: Optional[float] = dc_field( - default=None, metadata=dc_config(field_name="longitude") - ) - channel: "Optional[Channel]" = dc_field( - default=None, metadata=dc_config(field_name="channel") - ) - message: "Optional[Message]" = dc_field( - default=None, metadata=dc_config(field_name="message") - ) @dataclass @@ -16845,16 +17454,6 @@ class SipInboundCredentials(DataClassJsonMixin): ) -@dataclass -class SortParam(DataClassJsonMixin): - direction: Optional[int] = dc_field( - default=None, metadata=dc_config(field_name="direction") - ) - field: Optional[str] = dc_field( - default=None, metadata=dc_config(field_name="field") - ) - - @dataclass class SortParamRequest(DataClassJsonMixin): direction: Optional[int] = dc_field( @@ -16863,6 +17462,7 @@ class SortParamRequest(DataClassJsonMixin): field: Optional[str] = dc_field( default=None, metadata=dc_config(field_name="field") ) + type: Optional[str] = dc_field(default=None, metadata=dc_config(field_name="type")) @dataclass @@ -17153,37 +17753,37 @@ class SubmitActionRequest(DataClassJsonMixin): user_id: Optional[str] = dc_field( default=None, metadata=dc_config(field_name="user_id") ) - ban: "Optional[BanActionRequest]" = dc_field( + ban: "Optional[BanActionRequestPayload]" = dc_field( default=None, metadata=dc_config(field_name="ban") ) - block: "Optional[BlockActionRequest]" = dc_field( + block: "Optional[BlockActionRequestPayload]" = dc_field( default=None, metadata=dc_config(field_name="block") ) - custom: "Optional[CustomActionRequest]" = dc_field( + custom: "Optional[CustomActionRequestPayload]" = dc_field( default=None, metadata=dc_config(field_name="custom") ) - delete_activity: "Optional[DeleteActivityRequest]" = dc_field( + delete_activity: "Optional[DeleteActivityRequestPayload]" = dc_field( default=None, metadata=dc_config(field_name="delete_activity") ) - delete_comment: "Optional[DeleteCommentRequest]" = dc_field( + delete_comment: "Optional[DeleteCommentRequestPayload]" = dc_field( default=None, metadata=dc_config(field_name="delete_comment") ) - delete_message: "Optional[DeleteMessageRequest]" = dc_field( + delete_message: "Optional[DeleteMessageRequestPayload]" = dc_field( default=None, metadata=dc_config(field_name="delete_message") ) - delete_reaction: "Optional[DeleteReactionRequest]" = dc_field( + delete_reaction: "Optional[DeleteReactionRequestPayload]" = dc_field( default=None, metadata=dc_config(field_name="delete_reaction") ) - delete_user: "Optional[DeleteUserRequest]" = dc_field( + delete_user: "Optional[DeleteUserRequestPayload]" = dc_field( default=None, metadata=dc_config(field_name="delete_user") ) - mark_reviewed: "Optional[MarkReviewedRequest]" = dc_field( + mark_reviewed: "Optional[MarkReviewedRequestPayload]" = dc_field( default=None, metadata=dc_config(field_name="mark_reviewed") ) - shadow_block: "Optional[ShadowBlockActionRequest]" = dc_field( + shadow_block: "Optional[ShadowBlockActionRequestPayload]" = dc_field( default=None, metadata=dc_config(field_name="shadow_block") ) - unban: "Optional[UnbanActionRequest]" = dc_field( + unban: "Optional[UnbanActionRequestPayload]" = dc_field( default=None, metadata=dc_config(field_name="unban") ) user: "Optional[UserRequest]" = dc_field( @@ -17502,9 +18102,6 @@ class ThreadStateResponse(DataClassJsonMixin): @dataclass class ThreadUpdatedEvent(DataClassJsonMixin): - channel_id: str = dc_field(metadata=dc_config(field_name="channel_id")) - channel_type: str = dc_field(metadata=dc_config(field_name="channel_type")) - cid: str = dc_field(metadata=dc_config(field_name="cid")) created_at: datetime = dc_field( metadata=dc_config( field_name="created_at", @@ -17513,15 +18110,29 @@ class ThreadUpdatedEvent(DataClassJsonMixin): mm_field=fields.DateTime(format="iso"), ) ) + custom: Dict[str, object] = dc_field(metadata=dc_config(field_name="custom")) type: str = dc_field( default="thread.updated", metadata=dc_config(field_name="type") ) + channel_id: Optional[str] = dc_field( + default=None, metadata=dc_config(field_name="channel_id") + ) + channel_type: Optional[str] = dc_field( + default=None, metadata=dc_config(field_name="channel_type") + ) + cid: Optional[str] = dc_field(default=None, metadata=dc_config(field_name="cid")) + received_at: Optional[datetime] = dc_field( + default=None, + metadata=dc_config( + field_name="received_at", + encoder=encode_datetime, + decoder=datetime_from_unix_ns, + mm_field=fields.DateTime(format="iso"), + ), + ) thread: "Optional[ThreadResponse]" = dc_field( default=None, metadata=dc_config(field_name="thread") ) - user: "Optional[User]" = dc_field( - default=None, metadata=dc_config(field_name="user") - ) @dataclass @@ -17746,11 +18357,6 @@ class TruncateChannelResponse(DataClassJsonMixin): ) -@dataclass -class TypingIndicators(DataClassJsonMixin): - enabled: bool = dc_field(metadata=dc_config(field_name="enabled")) - - @dataclass class TypingIndicatorsResponse(DataClassJsonMixin): enabled: Optional[bool] = dc_field( @@ -17759,8 +18365,10 @@ class TypingIndicatorsResponse(DataClassJsonMixin): @dataclass -class UnbanActionRequest(DataClassJsonMixin): - pass +class UnbanActionRequestPayload(DataClassJsonMixin): + channel_cid: Optional[str] = dc_field( + default=None, metadata=dc_config(field_name="channel_cid") + ) @dataclass @@ -17779,7 +18387,7 @@ class UnbanResponse(DataClassJsonMixin): @dataclass -class UnblockActionRequest(DataClassJsonMixin): +class UnblockActionRequestPayload(DataClassJsonMixin): pass @@ -18011,6 +18619,9 @@ class UpdateActivityRequest(DataClassJsonMixin): restrict_replies: Optional[str] = dc_field( default=None, metadata=dc_config(field_name="restrict_replies") ) + skip_enrich_url: Optional[bool] = dc_field( + default=None, metadata=dc_config(field_name="skip_enrich_url") + ) text: Optional[str] = dc_field(default=None, metadata=dc_config(field_name="text")) user_id: Optional[str] = dc_field( default=None, metadata=dc_config(field_name="user_id") @@ -18021,6 +18632,9 @@ class UpdateActivityRequest(DataClassJsonMixin): attachments: "Optional[List[Attachment]]" = dc_field( default=None, metadata=dc_config(field_name="attachments") ) + collection_refs: Optional[List[str]] = dc_field( + default=None, metadata=dc_config(field_name="collection_refs") + ) feeds: Optional[List[str]] = dc_field( default=None, metadata=dc_config(field_name="feeds") ) @@ -18326,7 +18940,7 @@ class UpdateCallTypeRequest(DataClassJsonMixin): grants: "Optional[Dict[str, List[str]]]" = dc_field( default=None, metadata=dc_config(field_name="grants") ) - notification_settings: "Optional[NotificationSettings]" = dc_field( + notification_settings: "Optional[NotificationSettingsRequest]" = dc_field( default=None, metadata=dc_config(field_name="notification_settings") ) settings: "Optional[CallSettingsRequest]" = dc_field( @@ -18355,7 +18969,7 @@ class UpdateCallTypeResponse(DataClassJsonMixin): ) ) grants: "Dict[str, List[str]]" = dc_field(metadata=dc_config(field_name="grants")) - notification_settings: "NotificationSettings" = dc_field( + notification_settings: "NotificationSettingsResponse" = dc_field( metadata=dc_config(field_name="notification_settings") ) settings: "CallSettingsResponse" = dc_field( @@ -18446,7 +19060,7 @@ class UpdateChannelRequest(DataClassJsonMixin): remove_members: Optional[List[str]] = dc_field( default=None, metadata=dc_config(field_name="remove_members") ) - data: "Optional[ChannelInput]" = dc_field( + data: "Optional[ChannelInputRequest]" = dc_field( default=None, metadata=dc_config(field_name="data") ) message: "Optional[MessageRequest]" = dc_field( @@ -18652,6 +19266,34 @@ class UpdateChannelTypeResponse(DataClassJsonMixin): ) +@dataclass +class UpdateCollectionRequest(DataClassJsonMixin): + id: str = dc_field(metadata=dc_config(field_name="id")) + name: str = dc_field(metadata=dc_config(field_name="name")) + custom: Dict[str, object] = dc_field(metadata=dc_config(field_name="custom")) + + +@dataclass +class UpdateCollectionsRequest(DataClassJsonMixin): + collections: "List[UpdateCollectionRequest]" = dc_field( + metadata=dc_config(field_name="collections") + ) + user_id: Optional[str] = dc_field( + default=None, metadata=dc_config(field_name="user_id") + ) + user: "Optional[UserRequest]" = dc_field( + default=None, metadata=dc_config(field_name="user") + ) + + +@dataclass +class UpdateCollectionsResponse(DataClassJsonMixin): + duration: str = dc_field(metadata=dc_config(field_name="duration")) + collections: "List[CollectionResponse]" = dc_field( + metadata=dc_config(field_name="collections") + ) + + @dataclass class UpdateCommandRequest(DataClassJsonMixin): description: str = dc_field(metadata=dc_config(field_name="description")) @@ -18672,6 +19314,9 @@ class UpdateCommentRequest(DataClassJsonMixin): comment: Optional[str] = dc_field( default=None, metadata=dc_config(field_name="comment") ) + skip_enrich_url: Optional[bool] = dc_field( + default=None, metadata=dc_config(field_name="skip_enrich_url") + ) skip_push: Optional[bool] = dc_field( default=None, metadata=dc_config(field_name="skip_push") ) @@ -19268,6 +19913,21 @@ class UpsertActivitiesResponse(DataClassJsonMixin): ) +@dataclass +class UpsertCollectionsRequest(DataClassJsonMixin): + collections: "List[CollectionRequest]" = dc_field( + metadata=dc_config(field_name="collections") + ) + + +@dataclass +class UpsertCollectionsResponse(DataClassJsonMixin): + duration: str = dc_field(metadata=dc_config(field_name="duration")) + collections: "List[CollectionResponse]" = dc_field( + metadata=dc_config(field_name="collections") + ) + + @dataclass class UpsertConfigRequest(DataClassJsonMixin): key: str = dc_field(metadata=dc_config(field_name="key")) @@ -19377,7 +20037,7 @@ class UpsertModerationRuleResponse(DataClassJsonMixin): @dataclass class UpsertModerationTemplateRequest(DataClassJsonMixin): name: str = dc_field(metadata=dc_config(field_name="name")) - config: "FeedsModerationTemplateConfig" = dc_field( + config: "FeedsModerationTemplateConfigPayload" = dc_field( metadata=dc_config(field_name="config") ) @@ -19402,7 +20062,7 @@ class UpsertModerationTemplateResponse(DataClassJsonMixin): mm_field=fields.DateTime(format="iso"), ) ) - config: "Optional[FeedsModerationTemplateConfig]" = dc_field( + config: "Optional[FeedsModerationTemplateConfigPayload]" = dc_field( default=None, metadata=dc_config(field_name="config") ) @@ -19417,10 +20077,10 @@ class UpsertPushPreferencesRequest(DataClassJsonMixin): @dataclass class UpsertPushPreferencesResponse(DataClassJsonMixin): duration: str = dc_field(metadata=dc_config(field_name="duration")) - user_channel_preferences: "Dict[str, Dict[str, Optional[ChannelPushPreferences]]]" = dc_field( + user_channel_preferences: "Dict[str, Dict[str, Optional[ChannelPushPreferencesResponse]]]" = dc_field( metadata=dc_config(field_name="user_channel_preferences") ) - user_preferences: "Dict[str, Optional[PushPreferences]]" = dc_field( + user_preferences: "Dict[str, Optional[PushPreferencesResponse]]" = dc_field( metadata=dc_config(field_name="user_preferences") ) @@ -19435,138 +20095,46 @@ class UpsertPushProviderRequest(DataClassJsonMixin): @dataclass class UpsertPushProviderResponse(DataClassJsonMixin): duration: str = dc_field(metadata=dc_config(field_name="duration")) - push_provider: "PushProviderResponse" = dc_field( - metadata=dc_config(field_name="push_provider") - ) - - -@dataclass -class UpsertPushTemplateRequest(DataClassJsonMixin): - event_type: str = dc_field(metadata=dc_config(field_name="event_type")) - push_provider_type: str = dc_field( - metadata=dc_config(field_name="push_provider_type") - ) - enable_push: Optional[bool] = dc_field( - default=None, metadata=dc_config(field_name="enable_push") - ) - push_provider_name: Optional[str] = dc_field( - default=None, metadata=dc_config(field_name="push_provider_name") - ) - template: Optional[str] = dc_field( - default=None, metadata=dc_config(field_name="template") - ) - - -@dataclass -class UpsertPushTemplateResponse(DataClassJsonMixin): - duration: str = dc_field(metadata=dc_config(field_name="duration")) - template: "Optional[PushTemplate]" = dc_field( - default=None, metadata=dc_config(field_name="template") - ) - - -@dataclass -class User(DataClassJsonMixin): - banned: bool = dc_field(metadata=dc_config(field_name="banned")) - id: str = dc_field(metadata=dc_config(field_name="id")) - online: bool = dc_field(metadata=dc_config(field_name="online")) - role: str = dc_field(metadata=dc_config(field_name="role")) - custom: Dict[str, object] = dc_field(metadata=dc_config(field_name="custom")) - teams_role: "Dict[str, str]" = dc_field(metadata=dc_config(field_name="teams_role")) - avg_response_time: Optional[int] = dc_field( - default=None, metadata=dc_config(field_name="avg_response_time") - ) - ban_expires: Optional[datetime] = dc_field( - default=None, - metadata=dc_config( - field_name="ban_expires", - encoder=encode_datetime, - decoder=datetime_from_unix_ns, - mm_field=fields.DateTime(format="iso"), - ), - ) - created_at: Optional[datetime] = dc_field( - default=None, - metadata=dc_config( - field_name="created_at", - encoder=encode_datetime, - decoder=datetime_from_unix_ns, - mm_field=fields.DateTime(format="iso"), - ), - ) - deactivated_at: Optional[datetime] = dc_field( - default=None, - metadata=dc_config( - field_name="deactivated_at", - encoder=encode_datetime, - decoder=datetime_from_unix_ns, - mm_field=fields.DateTime(format="iso"), - ), - ) - deleted_at: Optional[datetime] = dc_field( - default=None, - metadata=dc_config( - field_name="deleted_at", - encoder=encode_datetime, - decoder=datetime_from_unix_ns, - mm_field=fields.DateTime(format="iso"), - ), - ) - invisible: Optional[bool] = dc_field( - default=None, metadata=dc_config(field_name="invisible") - ) - language: Optional[str] = dc_field( - default=None, metadata=dc_config(field_name="language") - ) - last_active: Optional[datetime] = dc_field( - default=None, - metadata=dc_config( - field_name="last_active", - encoder=encode_datetime, - decoder=datetime_from_unix_ns, - mm_field=fields.DateTime(format="iso"), - ), + push_provider: "PushProviderResponse" = dc_field( + metadata=dc_config(field_name="push_provider") ) - last_engaged_at: Optional[datetime] = dc_field( - default=None, - metadata=dc_config( - field_name="last_engaged_at", - encoder=encode_datetime, - decoder=datetime_from_unix_ns, - mm_field=fields.DateTime(format="iso"), - ), + + +@dataclass +class UpsertPushTemplateRequest(DataClassJsonMixin): + event_type: str = dc_field(metadata=dc_config(field_name="event_type")) + push_provider_type: str = dc_field( + metadata=dc_config(field_name="push_provider_type") ) - revoke_tokens_issued_before: Optional[datetime] = dc_field( - default=None, - metadata=dc_config( - field_name="revoke_tokens_issued_before", - encoder=encode_datetime, - decoder=datetime_from_unix_ns, - mm_field=fields.DateTime(format="iso"), - ), + enable_push: Optional[bool] = dc_field( + default=None, metadata=dc_config(field_name="enable_push") ) - updated_at: Optional[datetime] = dc_field( - default=None, - metadata=dc_config( - field_name="updated_at", - encoder=encode_datetime, - decoder=datetime_from_unix_ns, - mm_field=fields.DateTime(format="iso"), - ), + push_provider_name: Optional[str] = dc_field( + default=None, metadata=dc_config(field_name="push_provider_name") ) - teams: Optional[List[str]] = dc_field( - default=None, metadata=dc_config(field_name="teams") + template: Optional[str] = dc_field( + default=None, metadata=dc_config(field_name="template") ) - privacy_settings: "Optional[PrivacySettings]" = dc_field( - default=None, metadata=dc_config(field_name="privacy_settings") + + +@dataclass +class UpsertPushTemplateResponse(DataClassJsonMixin): + duration: str = dc_field(metadata=dc_config(field_name="duration")) + template: "Optional[PushTemplateResponse]" = dc_field( + default=None, metadata=dc_config(field_name="template") + ) + + +@dataclass +class User(DataClassJsonMixin): + id: str = dc_field(metadata=dc_config(field_name="id")) + data: Optional[Dict[str, object]] = dc_field( + default=None, metadata=dc_config(field_name="data") ) @dataclass class UserBannedEvent(DataClassJsonMixin): - channel_id: str = dc_field(metadata=dc_config(field_name="channel_id")) - channel_type: str = dc_field(metadata=dc_config(field_name="channel_type")) - cid: str = dc_field(metadata=dc_config(field_name="cid")) created_at: datetime = dc_field( metadata=dc_config( field_name="created_at", @@ -19575,9 +20143,22 @@ class UserBannedEvent(DataClassJsonMixin): mm_field=fields.DateTime(format="iso"), ) ) - shadow: bool = dc_field(metadata=dc_config(field_name="shadow")) - created_by: "User" = dc_field(metadata=dc_config(field_name="created_by")) + custom: Dict[str, object] = dc_field(metadata=dc_config(field_name="custom")) + user: "UserResponseCommonFields" = dc_field(metadata=dc_config(field_name="user")) type: str = dc_field(default="user.banned", metadata=dc_config(field_name="type")) + channel_id: Optional[str] = dc_field( + default=None, metadata=dc_config(field_name="channel_id") + ) + channel_member_count: Optional[int] = dc_field( + default=None, metadata=dc_config(field_name="channel_member_count") + ) + channel_message_count: Optional[int] = dc_field( + default=None, metadata=dc_config(field_name="channel_message_count") + ) + channel_type: Optional[str] = dc_field( + default=None, metadata=dc_config(field_name="channel_type") + ) + cid: Optional[str] = dc_field(default=None, metadata=dc_config(field_name="cid")) expiration: Optional[datetime] = dc_field( default=None, metadata=dc_config( @@ -19590,9 +20171,27 @@ class UserBannedEvent(DataClassJsonMixin): reason: Optional[str] = dc_field( default=None, metadata=dc_config(field_name="reason") ) + received_at: Optional[datetime] = dc_field( + default=None, + metadata=dc_config( + field_name="received_at", + encoder=encode_datetime, + decoder=datetime_from_unix_ns, + mm_field=fields.DateTime(format="iso"), + ), + ) + shadow: Optional[bool] = dc_field( + default=None, metadata=dc_config(field_name="shadow") + ) team: Optional[str] = dc_field(default=None, metadata=dc_config(field_name="team")) - user: "Optional[User]" = dc_field( - default=None, metadata=dc_config(field_name="user") + total_bans: Optional[int] = dc_field( + default=None, metadata=dc_config(field_name="total_bans") + ) + channel_custom: Optional[Dict[str, object]] = dc_field( + default=None, metadata=dc_config(field_name="channel_custom") + ) + created_by: "Optional[UserResponseCommonFields]" = dc_field( + default=None, metadata=dc_config(field_name="created_by") ) @@ -19631,12 +20230,22 @@ class UserDeactivatedEvent(DataClassJsonMixin): mm_field=fields.DateTime(format="iso"), ) ) - created_by: "User" = dc_field(metadata=dc_config(field_name="created_by")) + custom: Dict[str, object] = dc_field(metadata=dc_config(field_name="custom")) + user: "UserResponseCommonFields" = dc_field(metadata=dc_config(field_name="user")) type: str = dc_field( default="user.deactivated", metadata=dc_config(field_name="type") ) - user: "Optional[User]" = dc_field( - default=None, metadata=dc_config(field_name="user") + received_at: Optional[datetime] = dc_field( + default=None, + metadata=dc_config( + field_name="received_at", + encoder=encode_datetime, + decoder=datetime_from_unix_ns, + mm_field=fields.DateTime(format="iso"), + ), + ) + created_by: "Optional[UserResponseCommonFields]" = dc_field( + default=None, metadata=dc_config(field_name="created_by") ) @@ -19650,16 +20259,29 @@ class UserDeletedEvent(DataClassJsonMixin): mm_field=fields.DateTime(format="iso"), ) ) + delete_conversation: str = dc_field( + metadata=dc_config(field_name="delete_conversation") + ) delete_conversation_channels: bool = dc_field( metadata=dc_config(field_name="delete_conversation_channels") ) + delete_messages: str = dc_field(metadata=dc_config(field_name="delete_messages")) + delete_user: str = dc_field(metadata=dc_config(field_name="delete_user")) hard_delete: bool = dc_field(metadata=dc_config(field_name="hard_delete")) mark_messages_deleted: bool = dc_field( metadata=dc_config(field_name="mark_messages_deleted") ) + custom: Dict[str, object] = dc_field(metadata=dc_config(field_name="custom")) + user: "UserResponseCommonFields" = dc_field(metadata=dc_config(field_name="user")) type: str = dc_field(default="user.deleted", metadata=dc_config(field_name="type")) - user: "Optional[User]" = dc_field( - default=None, metadata=dc_config(field_name="user") + received_at: Optional[datetime] = dc_field( + default=None, + metadata=dc_config( + field_name="received_at", + encoder=encode_datetime, + decoder=datetime_from_unix_ns, + mm_field=fields.DateTime(format="iso"), + ), ) @@ -19705,15 +20327,24 @@ class UserFlaggedEvent(DataClassJsonMixin): mm_field=fields.DateTime(format="iso"), ) ) + reason: str = dc_field(metadata=dc_config(field_name="reason")) + total_flags: int = dc_field(metadata=dc_config(field_name="total_flags")) + user: "UserResponseCommonFields" = dc_field(metadata=dc_config(field_name="user")) type: str = dc_field(default="user.flagged", metadata=dc_config(field_name="type")) - target_user: Optional[str] = dc_field( - default=None, metadata=dc_config(field_name="target_user") + received_at: Optional[datetime] = dc_field( + default=None, + metadata=dc_config( + field_name="received_at", + encoder=encode_datetime, + decoder=datetime_from_unix_ns, + mm_field=fields.DateTime(format="iso"), + ), ) - target_users: Optional[List[str]] = dc_field( - default=None, metadata=dc_config(field_name="target_users") + custom: Optional[Dict[str, object]] = dc_field( + default=None, metadata=dc_config(field_name="custom") ) - user: "Optional[User]" = dc_field( - default=None, metadata=dc_config(field_name="user") + target_user: "Optional[UserResponseCommonFields]" = dc_field( + default=None, metadata=dc_config(field_name="target_user") ) @@ -19764,7 +20395,7 @@ class UserMessagesDeletedEvent(DataClassJsonMixin): @dataclass -class UserMute(DataClassJsonMixin): +class UserMuteResponse(DataClassJsonMixin): created_at: datetime = dc_field( metadata=dc_config( field_name="created_at", @@ -19790,16 +20421,16 @@ class UserMute(DataClassJsonMixin): mm_field=fields.DateTime(format="iso"), ), ) - target: "Optional[User]" = dc_field( + target: "Optional[UserResponse]" = dc_field( default=None, metadata=dc_config(field_name="target") ) - user: "Optional[User]" = dc_field( + user: "Optional[UserResponse]" = dc_field( default=None, metadata=dc_config(field_name="user") ) @dataclass -class UserMuteResponse(DataClassJsonMixin): +class UserMutedEvent(DataClassJsonMixin): created_at: datetime = dc_field( metadata=dc_config( field_name="created_at", @@ -19808,50 +20439,23 @@ class UserMuteResponse(DataClassJsonMixin): mm_field=fields.DateTime(format="iso"), ) ) - updated_at: datetime = dc_field( - metadata=dc_config( - field_name="updated_at", - encoder=encode_datetime, - decoder=datetime_from_unix_ns, - mm_field=fields.DateTime(format="iso"), - ) - ) - expires: Optional[datetime] = dc_field( + custom: Dict[str, object] = dc_field(metadata=dc_config(field_name="custom")) + user: "UserResponseCommonFields" = dc_field(metadata=dc_config(field_name="user")) + type: str = dc_field(default="user.muted", metadata=dc_config(field_name="type")) + received_at: Optional[datetime] = dc_field( default=None, metadata=dc_config( - field_name="expires", + field_name="received_at", encoder=encode_datetime, decoder=datetime_from_unix_ns, mm_field=fields.DateTime(format="iso"), ), ) - target: "Optional[UserResponse]" = dc_field( - default=None, metadata=dc_config(field_name="target") - ) - user: "Optional[UserResponse]" = dc_field( - default=None, metadata=dc_config(field_name="user") - ) - - -@dataclass -class UserMutedEvent(DataClassJsonMixin): - created_at: datetime = dc_field( - metadata=dc_config( - field_name="created_at", - encoder=encode_datetime, - decoder=datetime_from_unix_ns, - mm_field=fields.DateTime(format="iso"), - ) - ) - type: str = dc_field(default="user.muted", metadata=dc_config(field_name="type")) - target_user: Optional[str] = dc_field( - default=None, metadata=dc_config(field_name="target_user") - ) - target_users: Optional[List[str]] = dc_field( + target_users: "Optional[List[UserResponseCommonFields]]" = dc_field( default=None, metadata=dc_config(field_name="target_users") ) - user: "Optional[User]" = dc_field( - default=None, metadata=dc_config(field_name="user") + target_user: "Optional[UserResponseCommonFields]" = dc_field( + default=None, metadata=dc_config(field_name="target_user") ) @@ -19871,11 +20475,22 @@ class UserReactivatedEvent(DataClassJsonMixin): mm_field=fields.DateTime(format="iso"), ) ) + custom: Dict[str, object] = dc_field(metadata=dc_config(field_name="custom")) + user: "UserResponseCommonFields" = dc_field(metadata=dc_config(field_name="user")) type: str = dc_field( default="user.reactivated", metadata=dc_config(field_name="type") ) - user: "Optional[User]" = dc_field( - default=None, metadata=dc_config(field_name="user") + received_at: Optional[datetime] = dc_field( + default=None, + metadata=dc_config( + field_name="received_at", + encoder=encode_datetime, + decoder=datetime_from_unix_ns, + mm_field=fields.DateTime(format="iso"), + ), + ) + created_by: "Optional[UserResponseCommonFields]" = dc_field( + default=None, metadata=dc_config(field_name="created_by") ) @@ -20170,9 +20785,6 @@ class UserRuleParameters(DataClassJsonMixin): @dataclass class UserUnbannedEvent(DataClassJsonMixin): - channel_id: str = dc_field(metadata=dc_config(field_name="channel_id")) - channel_type: str = dc_field(metadata=dc_config(field_name="channel_type")) - cid: str = dc_field(metadata=dc_config(field_name="cid")) created_at: datetime = dc_field( metadata=dc_config( field_name="created_at", @@ -20181,11 +20793,40 @@ class UserUnbannedEvent(DataClassJsonMixin): mm_field=fields.DateTime(format="iso"), ) ) - shadow: bool = dc_field(metadata=dc_config(field_name="shadow")) + custom: Dict[str, object] = dc_field(metadata=dc_config(field_name="custom")) + user: "UserResponseCommonFields" = dc_field(metadata=dc_config(field_name="user")) type: str = dc_field(default="user.unbanned", metadata=dc_config(field_name="type")) + channel_id: Optional[str] = dc_field( + default=None, metadata=dc_config(field_name="channel_id") + ) + channel_member_count: Optional[int] = dc_field( + default=None, metadata=dc_config(field_name="channel_member_count") + ) + channel_message_count: Optional[int] = dc_field( + default=None, metadata=dc_config(field_name="channel_message_count") + ) + channel_type: Optional[str] = dc_field( + default=None, metadata=dc_config(field_name="channel_type") + ) + cid: Optional[str] = dc_field(default=None, metadata=dc_config(field_name="cid")) + received_at: Optional[datetime] = dc_field( + default=None, + metadata=dc_config( + field_name="received_at", + encoder=encode_datetime, + decoder=datetime_from_unix_ns, + mm_field=fields.DateTime(format="iso"), + ), + ) + shadow: Optional[bool] = dc_field( + default=None, metadata=dc_config(field_name="shadow") + ) team: Optional[str] = dc_field(default=None, metadata=dc_config(field_name="team")) - user: "Optional[User]" = dc_field( - default=None, metadata=dc_config(field_name="user") + channel_custom: Optional[Dict[str, object]] = dc_field( + default=None, metadata=dc_config(field_name="channel_custom") + ) + created_by: "Optional[UserResponseCommonFields]" = dc_field( + default=None, metadata=dc_config(field_name="created_by") ) @@ -20199,15 +20840,23 @@ class UserUnmutedEvent(DataClassJsonMixin): mm_field=fields.DateTime(format="iso"), ) ) + custom: Dict[str, object] = dc_field(metadata=dc_config(field_name="custom")) + user: "UserResponseCommonFields" = dc_field(metadata=dc_config(field_name="user")) type: str = dc_field(default="user.unmuted", metadata=dc_config(field_name="type")) - target_user: Optional[str] = dc_field( - default=None, metadata=dc_config(field_name="target_user") + received_at: Optional[datetime] = dc_field( + default=None, + metadata=dc_config( + field_name="received_at", + encoder=encode_datetime, + decoder=datetime_from_unix_ns, + mm_field=fields.DateTime(format="iso"), + ), ) - target_users: Optional[List[str]] = dc_field( + target_users: "Optional[List[UserResponseCommonFields]]" = dc_field( default=None, metadata=dc_config(field_name="target_users") ) - user: "Optional[User]" = dc_field( - default=None, metadata=dc_config(field_name="user") + target_user: "Optional[UserResponseCommonFields]" = dc_field( + default=None, metadata=dc_config(field_name="target_user") ) @@ -20221,14 +20870,22 @@ class UserUnreadReminderEvent(DataClassJsonMixin): mm_field=fields.DateTime(format="iso"), ) ) - channels: "Dict[str, Optional[ChannelMessages]]" = dc_field( + channels: "Dict[str, Optional[ChannelMessagesResponse]]" = dc_field( metadata=dc_config(field_name="channels") ) + custom: Dict[str, object] = dc_field(metadata=dc_config(field_name="custom")) + user: "UserResponseCommonFields" = dc_field(metadata=dc_config(field_name="user")) type: str = dc_field( default="user.unread_message_reminder", metadata=dc_config(field_name="type") ) - user: "Optional[User]" = dc_field( - default=None, metadata=dc_config(field_name="user") + received_at: Optional[datetime] = dc_field( + default=None, + metadata=dc_config( + field_name="received_at", + encoder=encode_datetime, + decoder=datetime_from_unix_ns, + mm_field=fields.DateTime(format="iso"), + ), ) @@ -20346,12 +21003,12 @@ class VideoContentParameters(DataClassJsonMixin): @dataclass -class VideoEndCallRequest(DataClassJsonMixin): +class VideoEndCallRequestPayload(DataClassJsonMixin): pass @dataclass -class VideoKickUserRequest(DataClassJsonMixin): +class VideoKickUserRequestPayload(DataClassJsonMixin): pass diff --git a/getstream/moderation/async_rest_client.py b/getstream/moderation/async_rest_client.py index 92a30d64..9d827319 100644 --- a/getstream/moderation/async_rest_client.py +++ b/getstream/moderation/async_rest_client.py @@ -210,7 +210,7 @@ async def custom_check( flags: List[CustomCheckFlag], entity_creator_id: Optional[str] = None, user_id: Optional[str] = None, - moderation_payload: Optional[ModerationPayload] = None, + moderation_payload: Optional[ModerationPayloadRequest] = None, user: Optional[UserRequest] = None, ) -> StreamResponse[CustomCheckResponse]: json = build_body_dict( @@ -246,7 +246,7 @@ async def v2_query_templates( @telemetry.operation_name("getstream.api.moderation.v2_upsert_template") async def v2_upsert_template( - self, name: str, config: FeedsModerationTemplateConfig + self, name: str, config: FeedsModerationTemplateConfigPayload ) -> StreamResponse[UpsertModerationTemplateResponse]: json = build_body_dict(name=name, config=config) return await self.post( @@ -285,7 +285,7 @@ async def query_moderation_flags( limit: Optional[int] = None, next: Optional[str] = None, prev: Optional[str] = None, - sort: Optional[List[SortParam]] = None, + sort: Optional[List[SortParamRequest]] = None, filter: Optional[Dict[str, object]] = None, ) -> StreamResponse[QueryModerationFlagsResponse]: json = build_body_dict( @@ -457,17 +457,17 @@ async def submit_action( action_type: str, item_id: str, user_id: Optional[str] = None, - ban: Optional[BanActionRequest] = None, - block: Optional[BlockActionRequest] = None, - custom: Optional[CustomActionRequest] = None, - delete_activity: Optional[DeleteActivityRequest] = None, - delete_comment: Optional[DeleteCommentRequest] = None, - delete_message: Optional[DeleteMessageRequest] = None, - delete_reaction: Optional[DeleteReactionRequest] = None, - delete_user: Optional[DeleteUserRequest] = None, - mark_reviewed: Optional[MarkReviewedRequest] = None, - shadow_block: Optional[ShadowBlockActionRequest] = None, - unban: Optional[UnbanActionRequest] = None, + ban: Optional[BanActionRequestPayload] = None, + block: Optional[BlockActionRequestPayload] = None, + custom: Optional[CustomActionRequestPayload] = None, + delete_activity: Optional[DeleteActivityRequestPayload] = None, + delete_comment: Optional[DeleteCommentRequestPayload] = None, + delete_message: Optional[DeleteMessageRequestPayload] = None, + delete_reaction: Optional[DeleteReactionRequestPayload] = None, + delete_user: Optional[DeleteUserRequestPayload] = None, + mark_reviewed: Optional[MarkReviewedRequestPayload] = None, + shadow_block: Optional[ShadowBlockActionRequestPayload] = None, + unban: Optional[UnbanActionRequestPayload] = None, user: Optional[UserRequest] = None, ) -> StreamResponse[SubmitActionResponse]: json = build_body_dict( diff --git a/getstream/moderation/rest_client.py b/getstream/moderation/rest_client.py index e8cebd38..44aff7d7 100644 --- a/getstream/moderation/rest_client.py +++ b/getstream/moderation/rest_client.py @@ -208,7 +208,7 @@ def custom_check( flags: List[CustomCheckFlag], entity_creator_id: Optional[str] = None, user_id: Optional[str] = None, - moderation_payload: Optional[ModerationPayload] = None, + moderation_payload: Optional[ModerationPayloadRequest] = None, user: Optional[UserRequest] = None, ) -> StreamResponse[CustomCheckResponse]: json = build_body_dict( @@ -242,7 +242,7 @@ def v2_query_templates( @telemetry.operation_name("getstream.api.moderation.v2_upsert_template") def v2_upsert_template( - self, name: str, config: FeedsModerationTemplateConfig + self, name: str, config: FeedsModerationTemplateConfigPayload ) -> StreamResponse[UpsertModerationTemplateResponse]: json = build_body_dict(name=name, config=config) return self.post( @@ -281,7 +281,7 @@ def query_moderation_flags( limit: Optional[int] = None, next: Optional[str] = None, prev: Optional[str] = None, - sort: Optional[List[SortParam]] = None, + sort: Optional[List[SortParamRequest]] = None, filter: Optional[Dict[str, object]] = None, ) -> StreamResponse[QueryModerationFlagsResponse]: json = build_body_dict( @@ -451,17 +451,17 @@ def submit_action( action_type: str, item_id: str, user_id: Optional[str] = None, - ban: Optional[BanActionRequest] = None, - block: Optional[BlockActionRequest] = None, - custom: Optional[CustomActionRequest] = None, - delete_activity: Optional[DeleteActivityRequest] = None, - delete_comment: Optional[DeleteCommentRequest] = None, - delete_message: Optional[DeleteMessageRequest] = None, - delete_reaction: Optional[DeleteReactionRequest] = None, - delete_user: Optional[DeleteUserRequest] = None, - mark_reviewed: Optional[MarkReviewedRequest] = None, - shadow_block: Optional[ShadowBlockActionRequest] = None, - unban: Optional[UnbanActionRequest] = None, + ban: Optional[BanActionRequestPayload] = None, + block: Optional[BlockActionRequestPayload] = None, + custom: Optional[CustomActionRequestPayload] = None, + delete_activity: Optional[DeleteActivityRequestPayload] = None, + delete_comment: Optional[DeleteCommentRequestPayload] = None, + delete_message: Optional[DeleteMessageRequestPayload] = None, + delete_reaction: Optional[DeleteReactionRequestPayload] = None, + delete_user: Optional[DeleteUserRequestPayload] = None, + mark_reviewed: Optional[MarkReviewedRequestPayload] = None, + shadow_block: Optional[ShadowBlockActionRequestPayload] = None, + unban: Optional[UnbanActionRequestPayload] = None, user: Optional[UserRequest] = None, ) -> StreamResponse[SubmitActionResponse]: json = build_body_dict( diff --git a/getstream/video/async_rest_client.py b/getstream/video/async_rest_client.py index 5485bec6..3a337058 100644 --- a/getstream/video/async_rest_client.py +++ b/getstream/video/async_rest_client.py @@ -871,6 +871,37 @@ async def delete_transcription( path_params=path_params, ) + @telemetry.operation_name("getstream.api.video.get_call_stats_map") + async def get_call_stats_map( + self, + call_type: str, + call_id: str, + session: str, + start_time: Optional[datetime] = None, + end_time: Optional[datetime] = None, + exclude_publishers: Optional[bool] = None, + exclude_subscribers: Optional[bool] = None, + exclude_sfus: Optional[bool] = None, + ) -> StreamResponse[QueryCallStatsMapResponse]: + query_params = build_query_param( + start_time=start_time, + end_time=end_time, + exclude_publishers=exclude_publishers, + exclude_subscribers=exclude_subscribers, + exclude_sfus=exclude_sfus, + ) + path_params = { + "call_type": call_type, + "call_id": call_id, + "session": session, + } + return await self.get( + "/api/v2/video/call_stats/{call_type}/{call_id}/{session}/map", + QueryCallStatsMapResponse, + query_params=query_params, + path_params=path_params, + ) + @telemetry.operation_name( "getstream.api.video.get_call_session_participant_stats_details" ) @@ -910,10 +941,19 @@ async def query_call_session_participant_stats( call_type: str, call_id: str, session: str, + limit: Optional[int] = None, + prev: Optional[str] = None, + next: Optional[str] = None, sort: Optional[List[SortParamRequest]] = None, filter_conditions: Optional[Dict[str, object]] = None, ) -> StreamResponse[QueryCallSessionParticipantStatsResponse]: - query_params = build_query_param(sort=sort, filter_conditions=filter_conditions) + query_params = build_query_param( + limit=limit, + prev=prev, + next=next, + sort=sort, + filter_conditions=filter_conditions, + ) path_params = { "call_type": call_type, "call_id": call_id, @@ -985,7 +1025,7 @@ async def create_call_type( name: str, external_storage: Optional[str] = None, grants: Optional[Dict[str, List[str]]] = None, - notification_settings: Optional[NotificationSettings] = None, + notification_settings: Optional[NotificationSettingsRequest] = None, settings: Optional[CallSettingsRequest] = None, ) -> StreamResponse[CreateCallTypeResponse]: json = build_body_dict( @@ -1025,7 +1065,7 @@ async def update_call_type( name: str, external_storage: Optional[str] = None, grants: Optional[Dict[str, List[str]]] = None, - notification_settings: Optional[NotificationSettings] = None, + notification_settings: Optional[NotificationSettingsRequest] = None, settings: Optional[CallSettingsRequest] = None, ) -> StreamResponse[UpdateCallTypeResponse]: path_params = { @@ -1053,7 +1093,7 @@ async def resolve_sip_inbound( self, sip_caller_number: str, sip_trunk_number: str, - challenge: SIPChallenge, + challenge: SIPChallengeRequest, sip_headers: Optional[Dict[str, str]] = None, ) -> StreamResponse[ResolveSipInboundResponse]: json = build_body_dict( diff --git a/getstream/video/rest_client.py b/getstream/video/rest_client.py index ced4d3fa..74bd82bb 100644 --- a/getstream/video/rest_client.py +++ b/getstream/video/rest_client.py @@ -867,6 +867,37 @@ def delete_transcription( path_params=path_params, ) + @telemetry.operation_name("getstream.api.video.get_call_stats_map") + def get_call_stats_map( + self, + call_type: str, + call_id: str, + session: str, + start_time: Optional[datetime] = None, + end_time: Optional[datetime] = None, + exclude_publishers: Optional[bool] = None, + exclude_subscribers: Optional[bool] = None, + exclude_sfus: Optional[bool] = None, + ) -> StreamResponse[QueryCallStatsMapResponse]: + query_params = build_query_param( + start_time=start_time, + end_time=end_time, + exclude_publishers=exclude_publishers, + exclude_subscribers=exclude_subscribers, + exclude_sfus=exclude_sfus, + ) + path_params = { + "call_type": call_type, + "call_id": call_id, + "session": session, + } + return self.get( + "/api/v2/video/call_stats/{call_type}/{call_id}/{session}/map", + QueryCallStatsMapResponse, + query_params=query_params, + path_params=path_params, + ) + @telemetry.operation_name( "getstream.api.video.get_call_session_participant_stats_details" ) @@ -906,10 +937,19 @@ def query_call_session_participant_stats( call_type: str, call_id: str, session: str, + limit: Optional[int] = None, + prev: Optional[str] = None, + next: Optional[str] = None, sort: Optional[List[SortParamRequest]] = None, filter_conditions: Optional[Dict[str, object]] = None, ) -> StreamResponse[QueryCallSessionParticipantStatsResponse]: - query_params = build_query_param(sort=sort, filter_conditions=filter_conditions) + query_params = build_query_param( + limit=limit, + prev=prev, + next=next, + sort=sort, + filter_conditions=filter_conditions, + ) path_params = { "call_type": call_type, "call_id": call_id, @@ -981,7 +1021,7 @@ def create_call_type( name: str, external_storage: Optional[str] = None, grants: Optional[Dict[str, List[str]]] = None, - notification_settings: Optional[NotificationSettings] = None, + notification_settings: Optional[NotificationSettingsRequest] = None, settings: Optional[CallSettingsRequest] = None, ) -> StreamResponse[CreateCallTypeResponse]: json = build_body_dict( @@ -1019,7 +1059,7 @@ def update_call_type( name: str, external_storage: Optional[str] = None, grants: Optional[Dict[str, List[str]]] = None, - notification_settings: Optional[NotificationSettings] = None, + notification_settings: Optional[NotificationSettingsRequest] = None, settings: Optional[CallSettingsRequest] = None, ) -> StreamResponse[UpdateCallTypeResponse]: path_params = { @@ -1047,7 +1087,7 @@ def resolve_sip_inbound( self, sip_caller_number: str, sip_trunk_number: str, - challenge: SIPChallenge, + challenge: SIPChallengeRequest, sip_headers: Optional[Dict[str, str]] = None, ) -> StreamResponse[ResolveSipInboundResponse]: json = build_body_dict(