symphony_bdk_python 2.10.dev0__py3-none-any.whl → 2.11.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- symphony/bdk/core/__init__.py +1 -0
- symphony/bdk/core/activity/__init__.py +1 -2
- symphony/bdk/core/activity/api.py +4 -4
- symphony/bdk/core/activity/command.py +17 -9
- symphony/bdk/core/activity/exception.py +2 -4
- symphony/bdk/core/activity/help_command.py +3 -2
- symphony/bdk/core/activity/parsing/arguments.py +1 -1
- symphony/bdk/core/activity/parsing/command_token.py +5 -4
- symphony/bdk/core/activity/parsing/input_tokenizer.py +13 -5
- symphony/bdk/core/activity/parsing/match_result.py +5 -3
- symphony/bdk/core/activity/parsing/message_entities.py +7 -6
- symphony/bdk/core/activity/parsing/slash_command_pattern.py +22 -7
- symphony/bdk/core/activity/registry.py +17 -7
- symphony/bdk/core/auth/__init__.py +1 -2
- symphony/bdk/core/auth/auth_session.py +33 -14
- symphony/bdk/core/auth/authenticator_factory.py +41 -21
- symphony/bdk/core/auth/bot_authenticator.py +33 -21
- symphony/bdk/core/auth/exception.py +3 -6
- symphony/bdk/core/auth/ext_app_authenticator.py +40 -30
- symphony/bdk/core/auth/jwt_helper.py +36 -15
- symphony/bdk/core/auth/obo_authenticator.py +27 -18
- symphony/bdk/core/auth/tokens_repository.py +5 -6
- symphony/bdk/core/client/__init__.py +2 -2
- symphony/bdk/core/client/api_client_factory.py +40 -22
- symphony/bdk/core/client/trace_id.py +3 -4
- symphony/bdk/core/config/__init__.py +1 -2
- symphony/bdk/core/config/exception.py +2 -4
- symphony/bdk/core/config/loader.py +2 -2
- symphony/bdk/core/config/model/bdk_app_config.py +5 -3
- symphony/bdk/core/config/model/bdk_authentication_config.py +13 -7
- symphony/bdk/core/config/model/bdk_bot_config.py +6 -3
- symphony/bdk/core/config/model/bdk_client_config.py +1 -1
- symphony/bdk/core/config/model/bdk_config.py +12 -7
- symphony/bdk/core/config/model/bdk_datafeed_config.py +7 -6
- symphony/bdk/core/config/model/bdk_datahose_config.py +1 -2
- symphony/bdk/core/config/model/bdk_retry_config.py +7 -3
- symphony/bdk/core/config/model/bdk_rsa_key_config.py +4 -5
- symphony/bdk/core/config/model/bdk_server_config.py +7 -2
- symphony/bdk/core/extension.py +15 -13
- symphony/bdk/core/retry/__init__.py +13 -9
- symphony/bdk/core/retry/_asyncio.py +10 -7
- symphony/bdk/core/retry/strategy.py +5 -2
- symphony/bdk/core/service/__init__.py +1 -2
- symphony/bdk/core/service/application/application_service.py +51 -41
- symphony/bdk/core/service/connection/connection_service.py +14 -23
- symphony/bdk/core/service/connection/model/connection_status.py +1 -0
- symphony/bdk/core/service/datafeed/abstract_ackId_event_loop.py +24 -14
- symphony/bdk/core/service/datafeed/abstract_datafeed_loop.py +16 -7
- symphony/bdk/core/service/datafeed/abstract_datahose_loop.py +2 -2
- symphony/bdk/core/service/datafeed/datafeed_loop_v1.py +18 -10
- symphony/bdk/core/service/datafeed/datafeed_loop_v2.py +31 -21
- symphony/bdk/core/service/datafeed/datahose_loop.py +22 -11
- symphony/bdk/core/service/datafeed/on_disk_datafeed_id_repository.py +10 -4
- symphony/bdk/core/service/datafeed/real_time_event_listener.py +32 -18
- symphony/bdk/core/service/exception.py +3 -6
- symphony/bdk/core/service/health/health_service.py +5 -4
- symphony/bdk/core/service/message/message_parser.py +10 -8
- symphony/bdk/core/service/message/message_service.py +196 -161
- symphony/bdk/core/service/message/messageml_util.py +6 -6
- symphony/bdk/core/service/message/model.py +15 -5
- symphony/bdk/core/service/message/multi_attachments_messages_api.py +134 -219
- symphony/bdk/core/service/obo_services.py +5 -4
- symphony/bdk/core/service/pagination.py +9 -6
- symphony/bdk/core/service/presence/presence_service.py +40 -28
- symphony/bdk/core/service/session/session_service.py +7 -13
- symphony/bdk/core/service/signal/signal_service.py +66 -33
- symphony/bdk/core/service/stream/stream_service.py +186 -69
- symphony/bdk/core/service/stream/stream_util.py +1 -0
- symphony/bdk/core/service/user/model/delegate_action_enum.py +1 -0
- symphony/bdk/core/service/user/model/role_id.py +1 -0
- symphony/bdk/core/service/user/user_service.py +225 -313
- symphony/bdk/core/service/user/user_util.py +4 -6
- symphony/bdk/core/service/version/__init__.py +0 -0
- symphony/bdk/core/service/version/agent_version_service.py +62 -0
- symphony/bdk/core/service_factory.py +50 -53
- symphony/bdk/core/symphony_bdk.py +34 -18
- symphony/bdk/ext/group.py +52 -37
- symphony/bdk/gen/agent_api/attachments_api.py +10 -18
- symphony/bdk/gen/agent_api/audit_trail_api.py +8 -12
- symphony/bdk/gen/agent_api/datafeed_api.py +34 -219
- symphony/bdk/gen/agent_api/datahose_api.py +184 -0
- symphony/bdk/gen/agent_api/dlp_policies_and_dictionary_management_api.py +130 -214
- symphony/bdk/gen/agent_api/messages_api.py +99 -119
- symphony/bdk/gen/agent_api/share_api.py +7 -11
- symphony/bdk/gen/agent_api/signals_api.py +1 -1
- symphony/bdk/gen/agent_api/system_api.py +1 -1
- symphony/bdk/gen/agent_api/util_api.py +13 -21
- symphony/bdk/gen/agent_api/violations_api.py +45 -73
- symphony/bdk/gen/agent_model/ack_id.py +1 -1
- symphony/bdk/gen/agent_model/agent_info.py +1 -1
- symphony/bdk/gen/agent_model/attachment_info.py +1 -1
- symphony/bdk/gen/agent_model/base_message.py +1 -1
- symphony/bdk/gen/agent_model/base_signal.py +1 -1
- symphony/bdk/gen/agent_model/channel_subscriber.py +1 -1
- symphony/bdk/gen/agent_model/channel_subscriber_response.py +1 -1
- symphony/bdk/gen/agent_model/channel_subscription_error.py +1 -1
- symphony/bdk/gen/agent_model/channel_subscription_response.py +1 -1
- symphony/bdk/gen/agent_model/connection_request_message.py +1 -1
- symphony/bdk/gen/agent_model/connection_request_message_all_of.py +1 -1
- symphony/bdk/gen/agent_model/datafeed.py +1 -1
- symphony/bdk/gen/agent_model/error.py +1 -1
- symphony/bdk/gen/agent_model/import_response.py +1 -1
- symphony/bdk/gen/agent_model/import_response_list.py +1 -1
- symphony/bdk/gen/agent_model/imported_message.py +1 -1
- symphony/bdk/gen/agent_model/ingestion_error.py +266 -0
- symphony/bdk/gen/agent_model/message.py +1 -1
- symphony/bdk/gen/agent_model/message_all_of.py +1 -1
- symphony/bdk/gen/agent_model/message_import_list.py +1 -1
- symphony/bdk/gen/agent_model/message_list.py +1 -1
- symphony/bdk/gen/agent_model/message_search_query.py +1 -1
- symphony/bdk/gen/agent_model/message_submission.py +1 -1
- symphony/bdk/gen/agent_model/pagination.py +1 -1
- symphony/bdk/gen/agent_model/pagination_cursors.py +1 -1
- symphony/bdk/gen/agent_model/room_created_message.py +1 -1
- symphony/bdk/gen/agent_model/room_created_message_all_of.py +1 -1
- symphony/bdk/gen/agent_model/room_deactivated_message.py +1 -1
- symphony/bdk/gen/agent_model/room_deactivated_message_all_of.py +1 -1
- symphony/bdk/gen/agent_model/room_member_demoted_from_owner_message.py +1 -1
- symphony/bdk/gen/agent_model/room_member_demoted_from_owner_message_all_of.py +1 -1
- symphony/bdk/gen/agent_model/room_member_promoted_to_owner_message.py +1 -1
- symphony/bdk/gen/agent_model/room_member_promoted_to_owner_message_all_of.py +1 -1
- symphony/bdk/gen/agent_model/room_reactivated_message.py +1 -1
- symphony/bdk/gen/agent_model/room_reactivated_message_all_of.py +1 -1
- symphony/bdk/gen/agent_model/room_tag.py +1 -1
- symphony/bdk/gen/agent_model/room_updated_message.py +1 -1
- symphony/bdk/gen/agent_model/room_updated_message_all_of.py +1 -1
- symphony/bdk/gen/agent_model/share_article.py +1 -1
- symphony/bdk/gen/agent_model/share_content.py +1 -1
- symphony/bdk/gen/agent_model/signal.py +1 -1
- symphony/bdk/gen/agent_model/signal_all_of.py +1 -6
- symphony/bdk/gen/agent_model/signal_list.py +1 -1
- symphony/bdk/gen/agent_model/simple_message.py +1 -1
- symphony/bdk/gen/agent_model/success_response.py +1 -1
- symphony/bdk/gen/agent_model/user_joined_room_message.py +1 -1
- symphony/bdk/gen/agent_model/user_joined_room_message_all_of.py +1 -1
- symphony/bdk/gen/agent_model/user_left_room_message.py +1 -1
- symphony/bdk/gen/agent_model/user_left_room_message_all_of.py +1 -1
- symphony/bdk/gen/agent_model/v1_audit_trail_initiator_list.py +1 -1
- symphony/bdk/gen/agent_model/v1_audit_trail_initiator_response.py +1 -1
- symphony/bdk/gen/agent_model/v1_dlp_content_type.py +1 -1
- symphony/bdk/gen/agent_model/v1_dlp_dictionary.py +1 -1
- symphony/bdk/gen/agent_model/v1_dlp_dictionary_content.py +1 -1
- symphony/bdk/gen/agent_model/v1_dlp_dictionary_metadata.py +1 -1
- symphony/bdk/gen/agent_model/v1_dlp_dictionary_metadata_collection_response.py +1 -1
- symphony/bdk/gen/agent_model/v1_dlp_dictionary_metadata_create_request.py +1 -1
- symphony/bdk/gen/agent_model/v1_dlp_dictionary_metadata_response.py +1 -1
- symphony/bdk/gen/agent_model/v1_dlp_dictionary_metadata_update_request.py +1 -1
- symphony/bdk/gen/agent_model/v1_dlp_dictionary_ref.py +1 -1
- symphony/bdk/gen/agent_model/v1_dlp_matched_policy.py +1 -1
- symphony/bdk/gen/agent_model/v1_dlp_matched_policy_list.py +1 -1
- symphony/bdk/gen/agent_model/v1_dlp_outcome.py +1 -1
- symphony/bdk/gen/agent_model/v1_dlp_policies_collection_response.py +1 -1
- symphony/bdk/gen/agent_model/v1_dlp_policy.py +1 -1
- symphony/bdk/gen/agent_model/v1_dlp_policy_request.py +9 -8
- symphony/bdk/gen/agent_model/v1_dlp_policy_response.py +1 -1
- symphony/bdk/gen/agent_model/v1_dlp_signal.py +6 -1
- symphony/bdk/gen/agent_model/v1_dlp_stream.py +1 -1
- symphony/bdk/gen/agent_model/v1_dlp_violation.py +1 -1
- symphony/bdk/gen/agent_model/v1_dlp_violation_message.py +1 -1
- symphony/bdk/gen/agent_model/v1_dlp_violation_message_response.py +1 -1
- symphony/bdk/gen/agent_model/v1_dlp_violation_signal.py +1 -1
- symphony/bdk/gen/agent_model/v1_dlp_violation_signal_response.py +1 -1
- symphony/bdk/gen/agent_model/v1_dlp_violation_stream.py +1 -1
- symphony/bdk/gen/agent_model/v1_dlp_violation_stream_response.py +1 -1
- symphony/bdk/gen/agent_model/v1_health_check_response.py +1 -1
- symphony/bdk/gen/agent_model/v2_base_message.py +1 -1
- symphony/bdk/gen/agent_model/v2_error.py +1 -1
- symphony/bdk/gen/agent_model/v2_health_check_response.py +1 -1
- symphony/bdk/gen/agent_model/v2_import_response.py +1 -1
- symphony/bdk/gen/agent_model/v2_import_response_list.py +1 -1
- symphony/bdk/gen/agent_model/v2_imported_message.py +1 -1
- symphony/bdk/gen/agent_model/v2_message.py +1 -1
- symphony/bdk/gen/agent_model/v2_message_all_of.py +1 -1
- symphony/bdk/gen/agent_model/v2_message_import_list.py +1 -1
- symphony/bdk/gen/agent_model/v2_message_list.py +1 -1
- symphony/bdk/gen/agent_model/v2_message_submission.py +1 -1
- symphony/bdk/gen/agent_model/v3_dlp_dictionary_meta.py +1 -1
- symphony/bdk/gen/agent_model/v3_dlp_file_classifier_config.py +1 -1
- symphony/bdk/gen/agent_model/v3_dlp_file_extension_config.py +1 -1
- symphony/bdk/gen/agent_model/v3_dlp_file_password_config.py +1 -1
- symphony/bdk/gen/agent_model/v3_dlp_file_size_config.py +1 -1
- symphony/bdk/gen/agent_model/v3_dlp_policies_collection_response.py +1 -1
- symphony/bdk/gen/agent_model/v3_dlp_policy.py +1 -1
- symphony/bdk/gen/agent_model/v3_dlp_policy_applies_to.py +1 -1
- symphony/bdk/gen/agent_model/v3_dlp_policy_request.py +1 -1
- symphony/bdk/gen/agent_model/v3_dlp_policy_response.py +1 -1
- symphony/bdk/gen/agent_model/v3_dlp_rule.py +1 -1
- symphony/bdk/gen/agent_model/v3_dlp_text_match_config.py +1 -1
- symphony/bdk/gen/agent_model/v3_dlp_violation.py +1 -1
- symphony/bdk/gen/agent_model/v3_dlp_violation_message.py +1 -1
- symphony/bdk/gen/agent_model/v3_dlp_violation_message_response.py +1 -1
- symphony/bdk/gen/agent_model/v3_dlp_violation_signal.py +1 -1
- symphony/bdk/gen/agent_model/v3_dlp_violation_signal_response.py +1 -1
- symphony/bdk/gen/agent_model/v3_dlp_violation_stream.py +1 -1
- symphony/bdk/gen/agent_model/v3_dlp_violation_stream_response.py +1 -1
- symphony/bdk/gen/agent_model/v3_health.py +1 -1
- symphony/bdk/gen/agent_model/v3_health_auth_type.py +1 -1
- symphony/bdk/gen/agent_model/v3_health_component.py +1 -1
- symphony/bdk/gen/agent_model/v3_health_status.py +1 -1
- symphony/bdk/gen/agent_model/v4_attachment_info.py +1 -1
- symphony/bdk/gen/agent_model/v4_connection_accepted.py +1 -1
- symphony/bdk/gen/agent_model/v4_connection_requested.py +1 -1
- symphony/bdk/gen/agent_model/v4_event.py +3 -3
- symphony/bdk/gen/agent_model/v4_event_list.py +1 -1
- symphony/bdk/gen/agent_model/v4_generic_system_event.py +279 -0
- symphony/bdk/gen/agent_model/v4_import_response.py +1 -1
- symphony/bdk/gen/agent_model/v4_import_response_list.py +1 -1
- symphony/bdk/gen/agent_model/v4_imported_message.py +1 -1
- symphony/bdk/gen/agent_model/v4_imported_message_attachment.py +1 -1
- symphony/bdk/gen/agent_model/v4_initiator.py +1 -1
- symphony/bdk/gen/agent_model/v4_instant_message_created.py +1 -1
- symphony/bdk/gen/agent_model/v4_key_value_pair.py +1 -1
- symphony/bdk/gen/agent_model/v4_message.py +1 -1
- symphony/bdk/gen/agent_model/v4_message_blast_response.py +1 -1
- symphony/bdk/gen/agent_model/v4_message_import_list.py +1 -1
- symphony/bdk/gen/agent_model/v4_message_list.py +1 -1
- symphony/bdk/gen/agent_model/v4_message_sent.py +1 -1
- symphony/bdk/gen/agent_model/v4_message_suppressed.py +1 -1
- symphony/bdk/gen/agent_model/v4_payload.py +8 -1
- symphony/bdk/gen/agent_model/v4_room_created.py +1 -1
- symphony/bdk/gen/agent_model/v4_room_deactivated.py +1 -1
- symphony/bdk/gen/agent_model/v4_room_member_demoted_from_owner.py +1 -1
- symphony/bdk/gen/agent_model/v4_room_member_promoted_to_owner.py +1 -1
- symphony/bdk/gen/agent_model/v4_room_properties.py +1 -1
- symphony/bdk/gen/agent_model/v4_room_reactivated.py +1 -1
- symphony/bdk/gen/agent_model/v4_room_updated.py +1 -1
- symphony/bdk/gen/agent_model/v4_shared_post.py +1 -1
- symphony/bdk/gen/agent_model/v4_stream.py +6 -1
- symphony/bdk/gen/agent_model/v4_symphony_elements_action.py +1 -1
- symphony/bdk/gen/agent_model/v4_thumbnail_info.py +1 -1
- symphony/bdk/gen/agent_model/v4_user.py +1 -1
- symphony/bdk/gen/agent_model/v4_user_joined_room.py +1 -1
- symphony/bdk/gen/agent_model/v4_user_left_room.py +1 -1
- symphony/bdk/gen/agent_model/v4_user_requested_to_join_room.py +1 -1
- symphony/bdk/gen/agent_model/v5_datafeed.py +3 -3
- symphony/bdk/gen/agent_model/v5_datafeed_create_body.py +1 -1
- symphony/bdk/gen/agent_model/v5_event_list.py +1 -1
- symphony/bdk/gen/agent_model/v5_events_read_body.py +5 -5
- symphony/bdk/gen/pod_api/app_entitlement_api.py +1 -1
- symphony/bdk/gen/pod_api/application_api.py +1 -1
- symphony/bdk/gen/pod_api/connection_api.py +1 -1
- symphony/bdk/gen/pod_api/default_api.py +1 -1
- symphony/bdk/gen/pod_api/disclaimer_api.py +1 -1
- symphony/bdk/gen/pod_api/info_barriers_api.py +1 -1
- symphony/bdk/gen/pod_api/message_api.py +1 -1
- symphony/bdk/gen/pod_api/message_suppression_api.py +1 -1
- symphony/bdk/gen/pod_api/pod_api.py +1 -1
- symphony/bdk/gen/pod_api/presence_api.py +1 -1
- symphony/bdk/gen/pod_api/room_membership_api.py +1 -1
- symphony/bdk/gen/pod_api/security_api.py +1 -1
- symphony/bdk/gen/pod_api/session_api.py +1 -1
- symphony/bdk/gen/pod_api/streams_api.py +162 -1
- symphony/bdk/gen/pod_api/system_api.py +1 -1
- symphony/bdk/gen/pod_api/user_api.py +264 -2
- symphony/bdk/gen/pod_api/users_api.py +421 -1
- symphony/bdk/gen/pod_model/admin_justified_action.py +1 -1
- symphony/bdk/gen/pod_model/admin_justified_user_action.py +1 -1
- symphony/bdk/gen/pod_model/app_authentication_key.py +1 -1
- symphony/bdk/gen/pod_model/app_authentication_keys.py +1 -1
- symphony/bdk/gen/pod_model/app_notification.py +1 -1
- symphony/bdk/gen/pod_model/app_properties.py +1 -1
- symphony/bdk/gen/pod_model/app_property.py +1 -1
- symphony/bdk/gen/pod_model/application_detail.py +1 -1
- symphony/bdk/gen/pod_model/application_info.py +1 -1
- symphony/bdk/gen/pod_model/assignee_candidate.py +1 -1
- symphony/bdk/gen/pod_model/assignee_candidates.py +1 -1
- symphony/bdk/gen/pod_model/attachment_preview.py +1 -1
- symphony/bdk/gen/pod_model/avatar.py +1 -1
- symphony/bdk/gen/pod_model/avatar_list.py +1 -1
- symphony/bdk/gen/pod_model/avatar_update.py +1 -1
- symphony/bdk/gen/pod_model/bulk_action_result.py +1 -1
- symphony/bdk/gen/pod_model/cert_info.py +1 -1
- symphony/bdk/gen/pod_model/cert_info_item.py +1 -1
- symphony/bdk/gen/pod_model/company_cert.py +1 -1
- symphony/bdk/gen/pod_model/company_cert_attributes.py +1 -1
- symphony/bdk/gen/pod_model/company_cert_detail.py +1 -1
- symphony/bdk/gen/pod_model/company_cert_info.py +1 -1
- symphony/bdk/gen/pod_model/company_cert_info_list.py +1 -1
- symphony/bdk/gen/pod_model/company_cert_status.py +1 -1
- symphony/bdk/gen/pod_model/company_cert_type.py +1 -1
- symphony/bdk/gen/pod_model/company_cert_type_list.py +1 -1
- symphony/bdk/gen/pod_model/conversation_specific_stream_attributes.py +1 -1
- symphony/bdk/gen/pod_model/delegate_action.py +1 -1
- symphony/bdk/gen/pod_model/disclaimer.py +1 -1
- symphony/bdk/gen/pod_model/disclaimer_list.py +1 -1
- symphony/bdk/gen/pod_model/download_receipt_count.py +1 -1
- symphony/bdk/gen/pod_model/error.py +1 -1
- symphony/bdk/gen/pod_model/faceted_match_count.py +1 -1
- symphony/bdk/gen/pod_model/feature.py +1 -1
- symphony/bdk/gen/pod_model/feature_list.py +1 -1
- symphony/bdk/gen/pod_model/file_extension.py +6 -1
- symphony/bdk/gen/pod_model/file_extensions_response.py +1 -1
- symphony/bdk/gen/pod_model/followers_list.py +1 -1
- symphony/bdk/gen/pod_model/followers_list_response.py +1 -1
- symphony/bdk/gen/pod_model/following_list_response.py +1 -1
- symphony/bdk/gen/pod_model/group.py +1 -1
- symphony/bdk/gen/pod_model/group_item.py +1 -1
- symphony/bdk/gen/pod_model/group_list.py +1 -1
- symphony/bdk/gen/pod_model/group_role_scope.py +1 -1
- symphony/bdk/gen/pod_model/im_system_info.py +1 -1
- symphony/bdk/gen/pod_model/immutable_room_attributes.py +1 -1
- symphony/bdk/gen/pod_model/integer_list.py +1 -1
- symphony/bdk/gen/pod_model/languages.py +1 -1
- symphony/bdk/gen/pod_model/member_info.py +1 -1
- symphony/bdk/gen/pod_model/membership_data.py +1 -1
- symphony/bdk/gen/pod_model/membership_list.py +1 -1
- symphony/bdk/gen/pod_model/message_detail.py +1 -1
- symphony/bdk/gen/pod_model/message_details.py +1 -1
- symphony/bdk/gen/pod_model/message_download_receipt_count.py +1 -1
- symphony/bdk/gen/pod_model/message_ids.py +1 -1
- symphony/bdk/gen/pod_model/message_metadata_response.py +1 -1
- symphony/bdk/gen/pod_model/message_metadata_response_parent.py +1 -1
- symphony/bdk/gen/pod_model/message_receipt_detail.py +1 -1
- symphony/bdk/gen/pod_model/message_receipt_detail_response.py +1 -1
- symphony/bdk/gen/pod_model/message_status.py +1 -1
- symphony/bdk/gen/pod_model/message_status_user.py +1 -1
- symphony/bdk/gen/pod_model/message_stream.py +1 -1
- symphony/bdk/gen/pod_model/message_suppression_response.py +1 -1
- symphony/bdk/gen/pod_model/message_user.py +1 -1
- symphony/bdk/gen/pod_model/name_value_pair.py +1 -1
- symphony/bdk/gen/pod_model/pagination.py +1 -1
- symphony/bdk/gen/pod_model/pagination_cursors.py +1 -1
- symphony/bdk/gen/pod_model/password.py +1 -1
- symphony/bdk/gen/pod_model/password_reset.py +1 -1
- symphony/bdk/gen/pod_model/pod_app_entitlement.py +1 -1
- symphony/bdk/gen/pod_model/pod_app_entitlement_list.py +1 -1
- symphony/bdk/gen/pod_model/pod_certificate.py +1 -1
- symphony/bdk/gen/pod_model/policy.py +1 -1
- symphony/bdk/gen/pod_model/policy_list.py +1 -1
- symphony/bdk/gen/pod_model/product.py +1 -1
- symphony/bdk/gen/pod_model/product_list.py +1 -1
- symphony/bdk/gen/pod_model/protocol.py +1 -1
- symphony/bdk/gen/pod_model/role.py +1 -1
- symphony/bdk/gen/pod_model/role_detail.py +1 -1
- symphony/bdk/gen/pod_model/role_detail_list.py +1 -1
- symphony/bdk/gen/pod_model/role_list.py +1 -1
- symphony/bdk/gen/pod_model/room_attributes.py +1 -1
- symphony/bdk/gen/pod_model/room_detail.py +1 -1
- symphony/bdk/gen/pod_model/room_search_criteria.py +1 -1
- symphony/bdk/gen/pod_model/room_specific_stream_attributes.py +1 -1
- symphony/bdk/gen/pod_model/room_system_info.py +1 -1
- symphony/bdk/gen/pod_model/room_tag.py +1 -1
- symphony/bdk/gen/pod_model/service_account_manifest.py +264 -0
- symphony/bdk/gen/pod_model/stream.py +1 -1
- symphony/bdk/gen/pod_model/stream_attachment_item.py +1 -1
- symphony/bdk/gen/pod_model/stream_attachment_response.py +1 -1
- symphony/bdk/gen/pod_model/stream_attributes.py +1 -1
- symphony/bdk/gen/pod_model/stream_filter.py +1 -1
- symphony/bdk/gen/pod_model/stream_list.py +1 -1
- symphony/bdk/gen/pod_model/stream_type.py +1 -1
- symphony/bdk/gen/pod_model/string_id.py +1 -1
- symphony/bdk/gen/pod_model/string_list.py +1 -1
- symphony/bdk/gen/pod_model/success_response.py +1 -1
- symphony/bdk/gen/pod_model/user_app_entitlement.py +1 -1
- symphony/bdk/gen/pod_model/user_app_entitlement_list.py +1 -1
- symphony/bdk/gen/pod_model/user_app_entitlement_patch.py +1 -1
- symphony/bdk/gen/pod_model/user_app_entitlement_patch_enum.py +1 -1
- symphony/bdk/gen/pod_model/user_app_entitlements_patch_list.py +1 -1
- symphony/bdk/gen/pod_model/user_attributes.py +1 -1
- symphony/bdk/gen/pod_model/user_compp.py +1 -1
- symphony/bdk/gen/pod_model/user_connection.py +1 -1
- symphony/bdk/gen/pod_model/user_connection_list.py +1 -1
- symphony/bdk/gen/pod_model/user_connection_request.py +1 -1
- symphony/bdk/gen/pod_model/user_data.py +1 -1
- symphony/bdk/gen/pod_model/user_detail.py +1 -1
- symphony/bdk/gen/pod_model/user_detail_list.py +1 -1
- symphony/bdk/gen/pod_model/user_error.py +1 -1
- symphony/bdk/gen/pod_model/user_filter.py +1 -1
- symphony/bdk/gen/pod_model/user_group_assignee.py +1 -1
- symphony/bdk/gen/pod_model/user_group_assignee_response.py +1 -1
- symphony/bdk/gen/pod_model/user_group_assignee_update.py +1 -1
- symphony/bdk/gen/pod_model/user_group_assignment_response.py +1 -1
- symphony/bdk/gen/pod_model/user_group_create.py +1 -1
- symphony/bdk/gen/pod_model/user_group_data.py +1 -1
- symphony/bdk/gen/pod_model/user_group_membership_data.py +1 -1
- symphony/bdk/gen/pod_model/user_group_membership_request.py +1 -1
- symphony/bdk/gen/pod_model/user_group_membership_response.py +1 -1
- symphony/bdk/gen/pod_model/user_group_membership_response_data.py +1 -1
- symphony/bdk/gen/pod_model/user_group_membership_update.py +1 -1
- symphony/bdk/gen/pod_model/user_group_response.py +1 -1
- symphony/bdk/gen/pod_model/user_group_response_list.py +1 -1
- symphony/bdk/gen/pod_model/user_group_update.py +1 -1
- symphony/bdk/gen/pod_model/user_id.py +1 -1
- symphony/bdk/gen/pod_model/user_id_list.py +1 -1
- symphony/bdk/gen/pod_model/user_info.py +1 -1
- symphony/bdk/gen/pod_model/user_name.py +1 -1
- symphony/bdk/gen/pod_model/user_name_list.py +1 -1
- symphony/bdk/gen/pod_model/user_search_filter.py +1 -1
- symphony/bdk/gen/pod_model/user_search_query.py +1 -1
- symphony/bdk/gen/pod_model/user_search_results.py +1 -1
- symphony/bdk/gen/pod_model/user_status.py +1 -1
- symphony/bdk/gen/pod_model/user_suspension.py +1 -1
- symphony/bdk/gen/pod_model/user_system_info.py +1 -1
- symphony/bdk/gen/pod_model/user_v2.py +1 -1
- symphony/bdk/gen/pod_model/v1_im_attributes.py +1 -1
- symphony/bdk/gen/pod_model/v1_im_detail.py +1 -1
- symphony/bdk/gen/pod_model/v1_session.py +301 -0
- symphony/bdk/gen/pod_model/v1_user_sessions.py +259 -0
- symphony/bdk/gen/pod_model/v2_admin_stream_attributes.py +6 -1
- symphony/bdk/gen/pod_model/v2_admin_stream_filter.py +1 -1
- symphony/bdk/gen/pod_model/v2_admin_stream_info.py +1 -1
- symphony/bdk/gen/pod_model/v2_admin_stream_info_list.py +1 -1
- symphony/bdk/gen/pod_model/v2_admin_stream_list.py +1 -1
- symphony/bdk/gen/pod_model/v2_admin_stream_type.py +1 -1
- symphony/bdk/gen/pod_model/v2_conversation_specific_stream_attributes.py +1 -1
- symphony/bdk/gen/pod_model/v2_member_info.py +1 -1
- symphony/bdk/gen/pod_model/v2_member_info_list.py +1 -1
- symphony/bdk/gen/pod_model/v2_member_user_detail.py +1 -1
- symphony/bdk/gen/pod_model/v2_membership_list.py +1 -1
- symphony/bdk/gen/pod_model/v2_presence.py +1 -1
- symphony/bdk/gen/pod_model/v2_presence_all_of.py +1 -1
- symphony/bdk/gen/pod_model/v2_presence_list.py +1 -1
- symphony/bdk/gen/pod_model/v2_presence_status.py +1 -1
- symphony/bdk/gen/pod_model/v2_room_search_criteria.py +1 -1
- symphony/bdk/gen/pod_model/v2_room_search_criteria_all_of.py +1 -1
- symphony/bdk/gen/pod_model/v2_room_specific_stream_attributes.py +1 -1
- symphony/bdk/gen/pod_model/v2_stream_attributes.py +1 -1
- symphony/bdk/gen/pod_model/v2_stream_type.py +1 -1
- symphony/bdk/gen/pod_model/v2_user_attributes.py +1 -1
- symphony/bdk/gen/pod_model/v2_user_create.py +1 -1
- symphony/bdk/gen/pod_model/v2_user_detail.py +1 -1
- symphony/bdk/gen/pod_model/v2_user_detail_list.py +1 -1
- symphony/bdk/gen/pod_model/v2_user_key_request.py +1 -1
- symphony/bdk/gen/pod_model/v2_user_list.py +1 -1
- symphony/bdk/gen/pod_model/v2_user_presence.py +1 -1
- symphony/bdk/gen/pod_model/v2_user_presence_all_of.py +1 -1
- symphony/bdk/gen/pod_model/v3_room_attributes.py +6 -1
- symphony/bdk/gen/pod_model/v3_room_detail.py +1 -1
- symphony/bdk/gen/pod_model/v3_room_search_results.py +1 -1
- {symphony_bdk_python-2.10.dev0.dist-info → symphony_bdk_python-2.11.0.dist-info}/METADATA +19 -5
- symphony_bdk_python-2.11.0.dist-info/RECORD +546 -0
- symphony_bdk_python-2.10.dev0.dist-info/RECORD +0 -538
- {symphony_bdk_python-2.10.dev0.dist-info → symphony_bdk_python-2.11.0.dist-info}/LICENSE +0 -0
- {symphony_bdk_python-2.10.dev0.dist-info → symphony_bdk_python-2.11.0.dist-info}/NOTICE +0 -0
- {symphony_bdk_python-2.10.dev0.dist-info → symphony_bdk_python-2.11.0.dist-info}/WHEEL +0 -0
|
@@ -6,31 +6,25 @@ from symphony.bdk.gen.pod_model.user_v2 import UserV2
|
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
class OboSessionService:
|
|
9
|
-
"""Service interface exposing OBO-enabled endpoints to get user session information.
|
|
10
|
-
"""
|
|
9
|
+
"""Service interface exposing OBO-enabled endpoints to get user session information."""
|
|
11
10
|
|
|
12
|
-
def __init__(
|
|
13
|
-
|
|
14
|
-
|
|
11
|
+
def __init__(
|
|
12
|
+
self, session_api: SessionApi, auth_session: AuthSession, retry_config: BdkRetryConfig
|
|
13
|
+
):
|
|
15
14
|
self._session_api = session_api
|
|
16
15
|
self._auth_session = auth_session
|
|
17
16
|
self._retry_config = retry_config
|
|
18
17
|
|
|
19
18
|
@retry
|
|
20
|
-
async def get_session(
|
|
21
|
-
self
|
|
22
|
-
) -> UserV2:
|
|
19
|
+
async def get_session(self) -> UserV2:
|
|
23
20
|
"""
|
|
24
21
|
Retrieves the {@link UserV2} session from the pod using an {@link AuthSession} holder.
|
|
25
22
|
|
|
26
23
|
Returns: User session info
|
|
27
24
|
"""
|
|
28
|
-
params = {
|
|
29
|
-
'session_token': await self._auth_session.session_token
|
|
30
|
-
}
|
|
25
|
+
params = {"session_token": await self._auth_session.session_token}
|
|
31
26
|
return await self._session_api.v2_sessioninfo_get(**params)
|
|
32
27
|
|
|
33
28
|
|
|
34
29
|
class SessionService(OboSessionService):
|
|
35
|
-
"""Service class for exposing endpoints to get user session information.
|
|
36
|
-
"""
|
|
30
|
+
"""Service class for exposing endpoints to get user session information."""
|
|
@@ -27,7 +27,9 @@ class OboSignalService:
|
|
|
27
27
|
* Subscribe or unsubscribe a signal
|
|
28
28
|
"""
|
|
29
29
|
|
|
30
|
-
def __init__(
|
|
30
|
+
def __init__(
|
|
31
|
+
self, signals_api: SignalsApi, auth_session: AuthSession, retry_config: BdkRetryConfig
|
|
32
|
+
):
|
|
31
33
|
self._signals_api = signals_api
|
|
32
34
|
self._auth_session = auth_session
|
|
33
35
|
self._retry_config = retry_config
|
|
@@ -45,10 +47,15 @@ class OboSignalService:
|
|
|
45
47
|
"""
|
|
46
48
|
|
|
47
49
|
return await self._signals_api.v1_signals_list_get(
|
|
48
|
-
skip=skip,
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
50
|
+
skip=skip,
|
|
51
|
+
limit=limit,
|
|
52
|
+
session_token=await self._auth_session.session_token,
|
|
53
|
+
key_manager_token=await self._auth_session.key_manager_token,
|
|
54
|
+
)
|
|
55
|
+
|
|
56
|
+
async def list_all_signals(
|
|
57
|
+
self, chunk_size: int = 50, max_number: int = None
|
|
58
|
+
) -> AsyncGenerator[Signal, None]:
|
|
52
59
|
"""Lists all signals on behalf of the user. The response includes signals that the user has created and
|
|
53
60
|
public signals to which they have subscribed.
|
|
54
61
|
|
|
@@ -67,7 +74,7 @@ class OboSignalService:
|
|
|
67
74
|
|
|
68
75
|
@retry
|
|
69
76
|
async def get_signal(self, signal_id: str) -> Signal:
|
|
70
|
-
"""
|
|
77
|
+
"""Gets details about the specified signal.
|
|
71
78
|
|
|
72
79
|
See: 'Get signal <https://developers.symphony.com/restapi/reference/get-signal>'_
|
|
73
80
|
|
|
@@ -76,12 +83,14 @@ class OboSignalService:
|
|
|
76
83
|
"""
|
|
77
84
|
|
|
78
85
|
return await self._signals_api.v1_signals_id_get_get(
|
|
79
|
-
id=signal_id,
|
|
80
|
-
|
|
86
|
+
id=signal_id,
|
|
87
|
+
session_token=await self._auth_session.session_token,
|
|
88
|
+
key_manager_token=await self._auth_session.key_manager_token,
|
|
89
|
+
)
|
|
81
90
|
|
|
82
91
|
@retry
|
|
83
92
|
async def create_signal(self, signal: BaseSignal) -> Signal:
|
|
84
|
-
"""
|
|
93
|
+
"""Creates a new Signal.
|
|
85
94
|
|
|
86
95
|
See: 'Create signal <https://developers.symphony.com/restapi/reference/create-signal>'_
|
|
87
96
|
|
|
@@ -90,12 +99,14 @@ class OboSignalService:
|
|
|
90
99
|
"""
|
|
91
100
|
|
|
92
101
|
return await self._signals_api.v1_signals_create_post(
|
|
93
|
-
signal=signal,
|
|
94
|
-
|
|
102
|
+
signal=signal,
|
|
103
|
+
session_token=await self._auth_session.session_token,
|
|
104
|
+
key_manager_token=await self._auth_session.key_manager_token,
|
|
105
|
+
)
|
|
95
106
|
|
|
96
107
|
@retry
|
|
97
108
|
async def update_signal(self, signal_id: str, signal: BaseSignal) -> Signal:
|
|
98
|
-
"""
|
|
109
|
+
"""Updates an existing Signal.
|
|
99
110
|
|
|
100
111
|
See: 'Update signal <https://developers.symphony.com/restapi/reference/update-signal>'_
|
|
101
112
|
|
|
@@ -105,26 +116,32 @@ class OboSignalService:
|
|
|
105
116
|
"""
|
|
106
117
|
|
|
107
118
|
return await self._signals_api.v1_signals_id_update_post(
|
|
108
|
-
id=signal_id,
|
|
109
|
-
|
|
119
|
+
id=signal_id,
|
|
120
|
+
signal=signal,
|
|
121
|
+
session_token=await self._auth_session.session_token,
|
|
122
|
+
key_manager_token=await self._auth_session.key_manager_token,
|
|
123
|
+
)
|
|
110
124
|
|
|
111
125
|
@retry
|
|
112
126
|
async def delete_signal(self, signal_id: str) -> None:
|
|
113
|
-
"""
|
|
127
|
+
"""Deletes an existing Signal.
|
|
114
128
|
|
|
115
129
|
See: 'Delete signal <https://developers.symphony.com/restapi/reference/delete-signal>'_
|
|
116
130
|
|
|
117
131
|
:param signal_id: The Id of the existing signal to be deleted.
|
|
118
132
|
"""
|
|
119
133
|
|
|
120
|
-
await self._signals_api.v1_signals_id_delete_post(
|
|
121
|
-
|
|
122
|
-
|
|
134
|
+
await self._signals_api.v1_signals_id_delete_post(
|
|
135
|
+
id=signal_id,
|
|
136
|
+
session_token=await self._auth_session.session_token,
|
|
137
|
+
key_manager_token=await self._auth_session.key_manager_token,
|
|
138
|
+
)
|
|
123
139
|
|
|
124
140
|
@retry
|
|
125
|
-
async def subscribe_users_to_signal(
|
|
126
|
-
|
|
127
|
-
|
|
141
|
+
async def subscribe_users_to_signal(
|
|
142
|
+
self, signal_id: str, pushed: bool, user_ids: [int]
|
|
143
|
+
) -> ChannelSubscriptionResponse:
|
|
144
|
+
"""Subscribe an array of users to a Signal.
|
|
128
145
|
|
|
129
146
|
See: 'Subscribe signal <https://developers.symphony.com/restapi/reference/subscribe-signal>'_
|
|
130
147
|
|
|
@@ -135,12 +152,18 @@ class OboSignalService:
|
|
|
135
152
|
"""
|
|
136
153
|
|
|
137
154
|
return await self._signals_api.v1_signals_id_subscribe_post(
|
|
138
|
-
id=signal_id,
|
|
139
|
-
|
|
155
|
+
id=signal_id,
|
|
156
|
+
pushed=pushed,
|
|
157
|
+
users=user_ids,
|
|
158
|
+
session_token=await self._auth_session.session_token,
|
|
159
|
+
key_manager_token=await self._auth_session.key_manager_token,
|
|
160
|
+
)
|
|
140
161
|
|
|
141
162
|
@retry
|
|
142
|
-
async def unsubscribe_users_to_signal(
|
|
143
|
-
|
|
163
|
+
async def unsubscribe_users_to_signal(
|
|
164
|
+
self, signal_id: str, user_ids: [int]
|
|
165
|
+
) -> ChannelSubscriptionResponse:
|
|
166
|
+
"""Unsubscribes an array of users from the specified Signal.
|
|
144
167
|
|
|
145
168
|
See: 'Unsubscribe signal <https://developers.symphony.com/restapi/reference/unsubscribe-signal>'_
|
|
146
169
|
|
|
@@ -150,11 +173,16 @@ class OboSignalService:
|
|
|
150
173
|
"""
|
|
151
174
|
|
|
152
175
|
return await self._signals_api.v1_signals_id_unsubscribe_post(
|
|
153
|
-
id=signal_id,
|
|
154
|
-
|
|
176
|
+
id=signal_id,
|
|
177
|
+
users=user_ids,
|
|
178
|
+
session_token=await self._auth_session.session_token,
|
|
179
|
+
key_manager_token=await self._auth_session.key_manager_token,
|
|
180
|
+
)
|
|
155
181
|
|
|
156
182
|
@retry
|
|
157
|
-
async def list_subscribers(
|
|
183
|
+
async def list_subscribers(
|
|
184
|
+
self, signal_id: str, skip: int = 0, limit: int = 50
|
|
185
|
+
) -> ChannelSubscriberResponse:
|
|
158
186
|
"""Gets the subscribers for the specified signal.
|
|
159
187
|
|
|
160
188
|
See: 'Subscribers <https://developers.symphony.com/restapi/reference/subscribers>'_
|
|
@@ -167,11 +195,16 @@ class OboSignalService:
|
|
|
167
195
|
"""
|
|
168
196
|
|
|
169
197
|
return await self._signals_api.v1_signals_id_subscribers_get(
|
|
170
|
-
id=signal_id,
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
198
|
+
id=signal_id,
|
|
199
|
+
skip=skip,
|
|
200
|
+
limit=limit,
|
|
201
|
+
session_token=await self._auth_session.session_token,
|
|
202
|
+
key_manager_token=await self._auth_session.key_manager_token,
|
|
203
|
+
)
|
|
204
|
+
|
|
205
|
+
async def list_all_subscribers(
|
|
206
|
+
self, signal_id: str, chunk_size: int = 50, max_number: int = None
|
|
207
|
+
) -> AsyncGenerator[ChannelSubscriber, None]:
|
|
175
208
|
"""Gets all the subscribers for the specified signal.
|
|
176
209
|
|
|
177
210
|
See: 'Subscribers <https://developers.symphony.com/restapi/reference/subscribers>'_
|
|
@@ -34,8 +34,14 @@ from symphony.bdk.gen.pod_model.v3_room_search_results import V3RoomSearchResult
|
|
|
34
34
|
class OboStreamService:
|
|
35
35
|
"""Class exposing OBO-enabled endpoints for stream management."""
|
|
36
36
|
|
|
37
|
-
def __init__(
|
|
38
|
-
|
|
37
|
+
def __init__(
|
|
38
|
+
self,
|
|
39
|
+
streams_api: StreamsApi,
|
|
40
|
+
room_membership_api: RoomMembershipApi,
|
|
41
|
+
share_api: ShareApi,
|
|
42
|
+
auth_session: AuthSession,
|
|
43
|
+
retry_config: BdkRetryConfig,
|
|
44
|
+
):
|
|
39
45
|
"""
|
|
40
46
|
|
|
41
47
|
:param streams_api: a generated StreamsApi instance.
|
|
@@ -50,21 +56,19 @@ class OboStreamService:
|
|
|
50
56
|
self._retry_config = retry_config
|
|
51
57
|
|
|
52
58
|
@retry
|
|
53
|
-
async def
|
|
54
|
-
"""Create a new single
|
|
59
|
+
async def create_im(self, user_id: int) -> Stream:
|
|
60
|
+
"""Create a new single party instant message conversation between the caller and specified user.
|
|
55
61
|
The caller is implicitly included in the members of the created chat.
|
|
56
|
-
Duplicate users will be included in the membership of the chat but the duplication will be silently ignored.
|
|
57
|
-
If there is an existing IM conversation with the same set of participants then the id of that existing stream
|
|
58
|
-
will be returned.
|
|
59
|
-
If the given list of user ids contains only one id, an IM will be created, otherwise, a MIM will be created.
|
|
60
62
|
|
|
61
|
-
Wraps the `Create IM
|
|
63
|
+
Wraps the `Create IM <https://rest-api.symphony.com/main/streams-conversations/im-mim-endpoints/create-im-or-mim>`_ endpoint.
|
|
62
64
|
|
|
63
|
-
:param
|
|
65
|
+
:param user_id: the user id to be put as room participant.
|
|
64
66
|
:return: the created stream.
|
|
65
67
|
"""
|
|
66
|
-
return await self._streams_api.v1_im_create_post(
|
|
67
|
-
|
|
68
|
+
return await self._streams_api.v1_im_create_post(
|
|
69
|
+
uid_list=UserIdList(value=[user_id]),
|
|
70
|
+
session_token=await self._auth_session.session_token,
|
|
71
|
+
)
|
|
68
72
|
|
|
69
73
|
@retry
|
|
70
74
|
async def create_room(self, room_attributes: V3RoomAttributes) -> V3RoomDetail:
|
|
@@ -75,8 +79,10 @@ class OboStreamService:
|
|
|
75
79
|
:param room_attributes: attributes of the room to be created.
|
|
76
80
|
:return: details of created room.
|
|
77
81
|
"""
|
|
78
|
-
return await self._streams_api.v3_room_create_post(
|
|
79
|
-
|
|
82
|
+
return await self._streams_api.v3_room_create_post(
|
|
83
|
+
payload=room_attributes,
|
|
84
|
+
session_token=await self._auth_session.session_token,
|
|
85
|
+
)
|
|
80
86
|
|
|
81
87
|
@retry
|
|
82
88
|
async def get_stream(self, stream_id: str) -> V2StreamAttributes:
|
|
@@ -86,8 +92,9 @@ class OboStreamService:
|
|
|
86
92
|
:param stream_id: the ID of the stream to be retrieved.
|
|
87
93
|
:return: the information about the given stream.
|
|
88
94
|
"""
|
|
89
|
-
return await self._streams_api.v2_streams_sid_info_get(
|
|
90
|
-
|
|
95
|
+
return await self._streams_api.v2_streams_sid_info_get(
|
|
96
|
+
sid=stream_id, session_token=await self._auth_session.session_token
|
|
97
|
+
)
|
|
91
98
|
|
|
92
99
|
@retry
|
|
93
100
|
async def get_room_info(self, room_id: str) -> V3RoomDetail:
|
|
@@ -97,12 +104,14 @@ class OboStreamService:
|
|
|
97
104
|
:param room_id: the id of the room.
|
|
98
105
|
:return: the room details.
|
|
99
106
|
"""
|
|
100
|
-
return await self._streams_api.v3_room_id_info_get(
|
|
101
|
-
|
|
107
|
+
return await self._streams_api.v3_room_id_info_get(
|
|
108
|
+
id=room_id, session_token=await self._auth_session.session_token
|
|
109
|
+
)
|
|
102
110
|
|
|
103
111
|
@retry
|
|
104
|
-
async def list_streams(
|
|
105
|
-
|
|
112
|
+
async def list_streams(
|
|
113
|
+
self, stream_filter: StreamFilter, skip: int = 0, limit: int = 50
|
|
114
|
+
) -> StreamList:
|
|
106
115
|
"""Returns a list of all the streams of which the requesting user is a member,
|
|
107
116
|
sorted by creation date (ascending - oldest to newest).
|
|
108
117
|
Wraps the `List User Streams <https://developers.symphony.com/restapi/reference/list-user-streams>`_ endpoint.
|
|
@@ -112,12 +121,17 @@ class OboStreamService:
|
|
|
112
121
|
:param limit: maximum number of streams to return.
|
|
113
122
|
:return: the list of stream retrieved matching the search filter.
|
|
114
123
|
"""
|
|
115
|
-
return await self._streams_api.v1_streams_list_post(
|
|
116
|
-
|
|
124
|
+
return await self._streams_api.v1_streams_list_post(
|
|
125
|
+
filter=stream_filter,
|
|
126
|
+
skip=skip,
|
|
127
|
+
limit=limit,
|
|
128
|
+
session_token=await self._auth_session.session_token,
|
|
129
|
+
)
|
|
117
130
|
|
|
118
131
|
@retry
|
|
119
|
-
async def list_all_streams(
|
|
120
|
-
|
|
132
|
+
async def list_all_streams(
|
|
133
|
+
self, stream_filter: StreamFilter, chunk_size: int = 50, max_number: int = None
|
|
134
|
+
) -> AsyncGenerator[StreamAttributes, None]:
|
|
121
135
|
"""Returns an asynchronous of all the streams of which the requesting user is a member,
|
|
122
136
|
sorted by creation date (ascending - oldest to newest).
|
|
123
137
|
Wraps the `List User Streams <https://developers.symphony.com/restapi/reference/list-user-streams>`_ endpoint.
|
|
@@ -135,32 +149,49 @@ class OboStreamService:
|
|
|
135
149
|
return offset_based_pagination(list_streams_one_page, chunk_size, max_number)
|
|
136
150
|
|
|
137
151
|
@retry
|
|
138
|
-
async def search_rooms(
|
|
139
|
-
|
|
152
|
+
async def search_rooms(
|
|
153
|
+
self,
|
|
154
|
+
query: V2RoomSearchCriteria,
|
|
155
|
+
skip: int = 0,
|
|
156
|
+
limit: int = 50,
|
|
157
|
+
include_non_discoverable=False,
|
|
158
|
+
) -> V3RoomSearchResults:
|
|
140
159
|
"""Search for rooms according to the specified criteria.
|
|
141
160
|
Wraps the `Search Rooms V3 <https://developers.symphony.com/restapi/reference/search-rooms-v3>`_ endpoint.
|
|
142
161
|
|
|
143
162
|
:param query: the search criteria.
|
|
144
163
|
:param skip: number of rooms to skip, defaults to 0.
|
|
145
164
|
:param limit: number of maximum rooms to return. Must be a positive integer that does not exceed 100.
|
|
165
|
+
:param include_non_discoverable: set to `True` to include rooms not publicly searchable, false by default.
|
|
146
166
|
:return: the rooms matching search criteria.
|
|
147
167
|
"""
|
|
148
|
-
return await self._streams_api.v3_room_search_post(
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
168
|
+
return await self._streams_api.v3_room_search_post(
|
|
169
|
+
query=query,
|
|
170
|
+
skip=skip,
|
|
171
|
+
limit=limit,
|
|
172
|
+
include_non_discoverable=include_non_discoverable,
|
|
173
|
+
session_token=await self._auth_session.session_token,
|
|
174
|
+
)
|
|
175
|
+
|
|
176
|
+
async def search_all_rooms(
|
|
177
|
+
self,
|
|
178
|
+
query: V2RoomSearchCriteria,
|
|
179
|
+
chunk_size: int = 50,
|
|
180
|
+
max_number: int = None,
|
|
181
|
+
include_non_discoverable: bool = False,
|
|
182
|
+
) -> AsyncGenerator[V3RoomDetail, None]:
|
|
153
183
|
"""Search for rooms according to the specified criteria.
|
|
154
184
|
Wraps the `Search Rooms V3 <https://developers.symphony.com/restapi/reference/search-rooms-v3>`_ endpoint.
|
|
155
185
|
|
|
156
186
|
:param query: the search criteria.
|
|
157
187
|
:param chunk_size: the maximum number of elements to retrieve in one underlying HTTP call.
|
|
158
188
|
:param max_number: the total maximum number of elements to retrieve.
|
|
189
|
+
:param include_non_discoverable: set to `True` to include rooms not publicly searchable, false by default.
|
|
159
190
|
:return: an asynchronous generator of the rooms matching the search criteria.
|
|
160
191
|
"""
|
|
161
192
|
|
|
162
193
|
async def search_rooms_one_page(skip, limit):
|
|
163
|
-
result = await self.search_rooms(query, skip, limit)
|
|
194
|
+
result = await self.search_rooms(query, skip, limit, include_non_discoverable)
|
|
164
195
|
return result.rooms if result.rooms else None
|
|
165
196
|
|
|
166
197
|
return offset_based_pagination(search_rooms_one_page, chunk_size, max_number)
|
|
@@ -174,8 +205,11 @@ class OboStreamService:
|
|
|
174
205
|
:param room_attributes: the attributes of the room to be updated.
|
|
175
206
|
:return: the details of the updated room.
|
|
176
207
|
"""
|
|
177
|
-
return await self._streams_api.v3_room_id_update_post(
|
|
178
|
-
|
|
208
|
+
return await self._streams_api.v3_room_id_update_post(
|
|
209
|
+
id=room_id,
|
|
210
|
+
payload=room_attributes,
|
|
211
|
+
session_token=await self._auth_session.session_token,
|
|
212
|
+
)
|
|
179
213
|
|
|
180
214
|
@retry
|
|
181
215
|
async def add_member_to_room(self, user_id: int, room_id: str):
|
|
@@ -187,8 +221,10 @@ class OboStreamService:
|
|
|
187
221
|
:return: None
|
|
188
222
|
"""
|
|
189
223
|
await self._room_membership_api.v1_room_id_membership_add_post(
|
|
190
|
-
payload=UserId(id=user_id),
|
|
191
|
-
|
|
224
|
+
payload=UserId(id=user_id),
|
|
225
|
+
id=room_id,
|
|
226
|
+
session_token=await self._auth_session.session_token,
|
|
227
|
+
)
|
|
192
228
|
|
|
193
229
|
@retry
|
|
194
230
|
async def remove_member_from_room(self, user_id: int, room_id: str):
|
|
@@ -200,8 +236,10 @@ class OboStreamService:
|
|
|
200
236
|
:return: None
|
|
201
237
|
"""
|
|
202
238
|
await self._room_membership_api.v1_room_id_membership_remove_post(
|
|
203
|
-
payload=UserId(id=user_id),
|
|
204
|
-
|
|
239
|
+
payload=UserId(id=user_id),
|
|
240
|
+
id=room_id,
|
|
241
|
+
session_token=await self._auth_session.session_token,
|
|
242
|
+
)
|
|
205
243
|
|
|
206
244
|
@retry
|
|
207
245
|
async def share(self, stream_id: str, content: ShareContent) -> V2Message:
|
|
@@ -214,8 +252,11 @@ class OboStreamService:
|
|
|
214
252
|
:return: the created message.
|
|
215
253
|
"""
|
|
216
254
|
return await self._share_api.v3_stream_sid_share_post(
|
|
217
|
-
sid=stream_id,
|
|
218
|
-
|
|
255
|
+
sid=stream_id,
|
|
256
|
+
share_content=content,
|
|
257
|
+
session_token=await self._auth_session.session_token,
|
|
258
|
+
key_manager_token=await self._auth_session.key_manager_token,
|
|
259
|
+
)
|
|
219
260
|
|
|
220
261
|
@retry
|
|
221
262
|
async def promote_user_to_room_owner(self, user_id: int, room_id: str):
|
|
@@ -227,7 +268,10 @@ class OboStreamService:
|
|
|
227
268
|
:return: None
|
|
228
269
|
"""
|
|
229
270
|
await self._room_membership_api.v1_room_id_membership_promote_owner_post(
|
|
230
|
-
id=room_id,
|
|
271
|
+
id=room_id,
|
|
272
|
+
payload=UserId(id=user_id),
|
|
273
|
+
session_token=await self._auth_session.session_token,
|
|
274
|
+
)
|
|
231
275
|
|
|
232
276
|
@retry
|
|
233
277
|
async def demote_owner_to_room_participant(self, user_id: int, room_id: str):
|
|
@@ -239,12 +283,14 @@ class OboStreamService:
|
|
|
239
283
|
:return: None
|
|
240
284
|
"""
|
|
241
285
|
await self._room_membership_api.v1_room_id_membership_demote_owner_post(
|
|
242
|
-
id=room_id,
|
|
286
|
+
id=room_id,
|
|
287
|
+
payload=UserId(id=user_id),
|
|
288
|
+
session_token=await self._auth_session.session_token,
|
|
289
|
+
)
|
|
243
290
|
|
|
244
291
|
|
|
245
292
|
class StreamService(OboStreamService):
|
|
246
|
-
"""Service class to manage streams.
|
|
247
|
-
"""
|
|
293
|
+
"""Service class to manage streams."""
|
|
248
294
|
|
|
249
295
|
@retry
|
|
250
296
|
async def get_im_info(self, im_id: str) -> V1IMDetail:
|
|
@@ -254,8 +300,9 @@ class StreamService(OboStreamService):
|
|
|
254
300
|
:param im_id: the id of the IM.
|
|
255
301
|
:return: the im details.
|
|
256
302
|
"""
|
|
257
|
-
return await self._streams_api.v1_im_id_info_get(
|
|
258
|
-
|
|
303
|
+
return await self._streams_api.v1_im_id_info_get(
|
|
304
|
+
id=im_id, session_token=await self._auth_session.session_token
|
|
305
|
+
)
|
|
259
306
|
|
|
260
307
|
@retry
|
|
261
308
|
async def set_room_active(self, room_id: str, active: bool) -> RoomDetail:
|
|
@@ -267,8 +314,11 @@ class StreamService(OboStreamService):
|
|
|
267
314
|
:param active: the new active status (True to reactivate, false to deactivate).
|
|
268
315
|
:return: the details of the updated room.
|
|
269
316
|
"""
|
|
270
|
-
return await self._streams_api.v1_room_id_set_active_post(
|
|
271
|
-
|
|
317
|
+
return await self._streams_api.v1_room_id_set_active_post(
|
|
318
|
+
id=room_id,
|
|
319
|
+
active=active,
|
|
320
|
+
session_token=await self._auth_session.session_token,
|
|
321
|
+
)
|
|
272
322
|
|
|
273
323
|
@retry
|
|
274
324
|
async def update_im(self, im_id: str, im_attributes: V1IMAttributes) -> V1IMDetail:
|
|
@@ -279,8 +329,11 @@ class StreamService(OboStreamService):
|
|
|
279
329
|
:param im_attributes: the attributes of the im to be updated.
|
|
280
330
|
:return: the details of the updated im.
|
|
281
331
|
"""
|
|
282
|
-
return await self._streams_api.v1_im_id_update_post(
|
|
283
|
-
|
|
332
|
+
return await self._streams_api.v1_im_id_update_post(
|
|
333
|
+
id=im_id,
|
|
334
|
+
payload=im_attributes,
|
|
335
|
+
session_token=await self._auth_session.session_token,
|
|
336
|
+
)
|
|
284
337
|
|
|
285
338
|
@retry
|
|
286
339
|
async def create_im_admin(self, user_ids: [int]) -> Stream:
|
|
@@ -298,8 +351,10 @@ class StreamService(OboStreamService):
|
|
|
298
351
|
:param user_ids: the list of user IDs to be put as participants. At least two user IDs must be provided.
|
|
299
352
|
:return: the created IM or MIM.
|
|
300
353
|
"""
|
|
301
|
-
return await self._streams_api.v1_admin_im_create_post(
|
|
302
|
-
|
|
354
|
+
return await self._streams_api.v1_admin_im_create_post(
|
|
355
|
+
uid_list=UserIdList(value=user_ids),
|
|
356
|
+
session_token=await self._auth_session.session_token,
|
|
357
|
+
)
|
|
303
358
|
|
|
304
359
|
@retry
|
|
305
360
|
async def set_room_active_admin(self, room_id: str, active: bool) -> RoomDetail:
|
|
@@ -310,12 +365,15 @@ class StreamService(OboStreamService):
|
|
|
310
365
|
:return: the details of the updated room.
|
|
311
366
|
"""
|
|
312
367
|
return await self._streams_api.v1_admin_room_id_set_active_post(
|
|
313
|
-
id=room_id,
|
|
314
|
-
|
|
368
|
+
id=room_id,
|
|
369
|
+
active=active,
|
|
370
|
+
session_token=await self._auth_session.session_token,
|
|
371
|
+
)
|
|
315
372
|
|
|
316
373
|
@retry
|
|
317
|
-
async def list_streams_admin(
|
|
318
|
-
|
|
374
|
+
async def list_streams_admin(
|
|
375
|
+
self, stream_filter: V2AdminStreamFilter, skip: int = 0, limit: int = 50
|
|
376
|
+
) -> V2AdminStreamList:
|
|
319
377
|
"""Retrieves all the streams across the enterprise.
|
|
320
378
|
Wraps the `List Streams for Enterprise V2
|
|
321
379
|
<https://developers.symphony.com/restapi/reference/list-streams-for-enterprise-v2>`_ endpoint.
|
|
@@ -325,11 +383,16 @@ class StreamService(OboStreamService):
|
|
|
325
383
|
:param limit: the maximum number of streams to retrieve. Must be a positive integer less or equal than 100.
|
|
326
384
|
:return: the list of streams matching the search criteria.
|
|
327
385
|
"""
|
|
328
|
-
return await self._streams_api.v2_admin_streams_list_post(
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
386
|
+
return await self._streams_api.v2_admin_streams_list_post(
|
|
387
|
+
filter=stream_filter,
|
|
388
|
+
skip=skip,
|
|
389
|
+
limit=limit,
|
|
390
|
+
session_token=await self._auth_session.session_token,
|
|
391
|
+
)
|
|
392
|
+
|
|
393
|
+
async def list_all_streams_admin(
|
|
394
|
+
self, stream_filter: V2AdminStreamFilter, chunk_size=50, max_number=None
|
|
395
|
+
) -> AsyncGenerator[V2AdminStreamInfo, None]:
|
|
333
396
|
"""Retrieves all the streams across the enterprise.
|
|
334
397
|
Wraps the `List Streams for Enterprise V2
|
|
335
398
|
<https://developers.symphony.com/restapi/reference/list-streams-for-enterprise-v2>`_ endpoint.
|
|
@@ -347,7 +410,57 @@ class StreamService(OboStreamService):
|
|
|
347
410
|
return offset_based_pagination(list_streams_admin_one_page, chunk_size, max_number)
|
|
348
411
|
|
|
349
412
|
@retry
|
|
350
|
-
async def
|
|
413
|
+
async def list_user_streams_admin(
|
|
414
|
+
self,
|
|
415
|
+
uid: int,
|
|
416
|
+
stream_filter: StreamFilter = None,
|
|
417
|
+
skip: int = 0,
|
|
418
|
+
limit: int = 50,
|
|
419
|
+
) -> StreamList:
|
|
420
|
+
"""Retrieve a list of all streams of which a user is a member.
|
|
421
|
+
Wraps the `User Streams <https://developers.symphony.com/restapi/v20.16/reference#user-streams>`_ endpoint.
|
|
422
|
+
|
|
423
|
+
:param uid: the ID of the user.
|
|
424
|
+
:param stream_filter: the filtering criteria for the streams.
|
|
425
|
+
:param skip: the number of streams to skip.
|
|
426
|
+
:param limit: the maximum number of streams to retrieve. Must be less or equal than 1000.
|
|
427
|
+
:return: the list of streams for the specified user.
|
|
428
|
+
"""
|
|
429
|
+
return await self._streams_api.v1_admin_user_uid_streams_list_post(
|
|
430
|
+
uid=uid,
|
|
431
|
+
filter=stream_filter,
|
|
432
|
+
skip=skip,
|
|
433
|
+
limit=limit,
|
|
434
|
+
session_token=await self._auth_session.session_token,
|
|
435
|
+
)
|
|
436
|
+
|
|
437
|
+
async def list_all_user_streams_admin(
|
|
438
|
+
self,
|
|
439
|
+
uid: int,
|
|
440
|
+
stream_filter: StreamFilter = None,
|
|
441
|
+
chunk_size: int = 50,
|
|
442
|
+
max_number: int = None,
|
|
443
|
+
) -> AsyncGenerator[StreamAttributes, None]:
|
|
444
|
+
"""Retrieves all streams of which a user is a member, handling pagination automatically.
|
|
445
|
+
Wraps the `User Streams <https://developers.symphony.com/restapi/v20.16/reference#user-streams>`_ endpoint.
|
|
446
|
+
|
|
447
|
+
:param uid: the ID of the user.
|
|
448
|
+
:param stream_filter: the filtering criteria for the streams.
|
|
449
|
+
:param chunk_size: the maximum number of streams to retrieve in one underlying HTTP call.
|
|
450
|
+
:param max_number: the total maximum number of streams to retrieve.
|
|
451
|
+
:return: an asynchronous generator of the streams.
|
|
452
|
+
"""
|
|
453
|
+
|
|
454
|
+
async def list_streams_one_page(skip, limit):
|
|
455
|
+
result = await self.list_user_streams_admin(uid, stream_filter, skip, limit)
|
|
456
|
+
return result.value if result else None
|
|
457
|
+
|
|
458
|
+
return offset_based_pagination(list_streams_one_page, chunk_size, max_number)
|
|
459
|
+
|
|
460
|
+
@retry
|
|
461
|
+
async def list_stream_members(
|
|
462
|
+
self, stream_id: str, skip: int = 0, limit: int = 100
|
|
463
|
+
) -> V2MembershipList:
|
|
351
464
|
"""List the current members of an existing stream. The stream can be of type IM, MIM, or ROOM.
|
|
352
465
|
Wraps the `Stream Members <https://developers.symphony.com/restapi/reference#stream-members>`_ endpoint.
|
|
353
466
|
|
|
@@ -357,11 +470,15 @@ class StreamService(OboStreamService):
|
|
|
357
470
|
:return: the list of stream members.
|
|
358
471
|
"""
|
|
359
472
|
return await self._streams_api.v1_admin_stream_id_membership_list_get(
|
|
360
|
-
id=stream_id,
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
473
|
+
id=stream_id,
|
|
474
|
+
skip=skip,
|
|
475
|
+
limit=limit,
|
|
476
|
+
session_token=await self._auth_session.session_token,
|
|
477
|
+
)
|
|
478
|
+
|
|
479
|
+
async def list_all_stream_members(
|
|
480
|
+
self, stream_id: str, chunk_size: int = 50, max_number=None
|
|
481
|
+
) -> AsyncGenerator[V2MemberInfo, None]:
|
|
365
482
|
"""List the current members of an existing stream. The stream can be of type IM, MIM, or ROOM.
|
|
366
483
|
Wraps the `Stream Members <https://developers.symphony.com/restapi/reference#stream-members>`_ endpoint.
|
|
367
484
|
|
|
@@ -386,5 +503,5 @@ class StreamService(OboStreamService):
|
|
|
386
503
|
:return: the list of room members.
|
|
387
504
|
"""
|
|
388
505
|
return await self._room_membership_api.v2_room_id_membership_list_get(
|
|
389
|
-
id=room_id,
|
|
390
|
-
|
|
506
|
+
id=room_id, session_token=await self._auth_session.session_token
|
|
507
|
+
)
|