Office365-REST-Python-Client 2.4.2__py3-none-any.whl → 2.4.4__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.
- {Office365_REST_Python_Client-2.4.2.dist-info → Office365_REST_Python_Client-2.4.4.dist-info}/METADATA +65 -31
- {Office365_REST_Python_Client-2.4.2.dist-info → Office365_REST_Python_Client-2.4.4.dist-info}/RECORD +401 -259
- office365/base_item.py +27 -5
- office365/booking/business.py +7 -0
- office365/booking/currency.py +5 -0
- office365/booking/solutions_root.py +32 -0
- office365/communications/calls/invitation_participant_info.py +17 -1
- office365/communications/calls/options.py +9 -0
- office365/communications/onlinemeetings/provider_type.py +3 -0
- office365/communications/presences/presence.py +14 -0
- office365/communications/presences/status_message.py +12 -0
- office365/directory/administrative_unit.py +22 -0
- office365/directory/applications/collection.py +2 -1
- office365/directory/applications/roles/assignment.py +45 -5
- office365/directory/applications/roles/assignment_collection.py +8 -0
- office365/directory/applications/roles/role.py +6 -1
- office365/directory/audit/signins/activity.py +31 -0
- office365/directory/audit/signins/location.py +17 -0
- office365/directory/audit/signins/signin.py +33 -0
- office365/directory/authentication/authentication.py +9 -0
- office365/directory/authentication/methods/details.py +25 -0
- office365/directory/authentication/methods/email.py +16 -0
- office365/directory/authentication/methods/root.py +27 -0
- office365/directory/certificates/authority.py +6 -1
- office365/directory/extensions/extended_property.py +8 -1
- office365/directory/extensions/extension.py +1 -1
- office365/directory/extensions/extension_property.py +0 -3
- office365/directory/extensions/open_type.py +8 -0
- office365/directory/groups/collection.py +2 -4
- office365/directory/groups/group.py +18 -4
- office365/directory/identities/governance.py +2 -0
- office365/directory/identities/object_identity.py +3 -3
- office365/directory/insights/resource_reference.py +15 -0
- office365/directory/insights/shared.py +36 -0
- office365/directory/insights/sharing_detail.py +11 -0
- office365/directory/insights/trending.py +8 -0
- office365/directory/insights/usage_details.py +16 -0
- office365/directory/insights/used.py +30 -0
- office365/directory/invitations/invitation.py +33 -1
- office365/directory/licenses/assigned_plan.py +19 -1
- office365/directory/licenses/assignment_state.py +5 -0
- office365/directory/licenses/service_plan_info.py +4 -0
- office365/directory/licenses/subscribed_sku.py +41 -0
- office365/directory/licenses/units_detail.py +11 -0
- office365/directory/object.py +3 -1
- office365/directory/object_collection.py +3 -4
- office365/directory/password_credential.py +5 -1
- office365/directory/permissions/email_identity.py +5 -0
- office365/directory/permissions/grants/condition_set.py +26 -0
- office365/directory/permissions/grants/resource_specific.py +21 -0
- office365/directory/policies/authentication_flows.py +9 -0
- office365/directory/policies/authentication_strength.py +10 -0
- office365/directory/policies/authorization.py +8 -0
- office365/directory/policies/cross_tenant_access.py +5 -0
- office365/directory/policies/root.py +35 -2
- office365/directory/protection/information.py +5 -0
- office365/directory/protection/risk_detection.py +11 -0
- office365/directory/protection/riskyusers/activity.py +5 -0
- office365/directory/protection/riskyusers/collection.py +32 -0
- office365/directory/protection/riskyusers/history_item.py +20 -0
- office365/directory/protection/riskyusers/risky_user.py +26 -0
- office365/directory/protection/root.py +31 -0
- office365/directory/rolemanagement/application.py +35 -0
- office365/directory/{roles → rolemanagement}/management.py +8 -1
- office365/directory/{roles → rolemanagement}/role.py +14 -0
- office365/directory/{roles → rolemanagement}/template.py +8 -0
- office365/directory/rolemanagement/unified_role_assignment.py +45 -0
- office365/directory/rolemanagement/unified_role_definition.py +6 -0
- office365/directory/security/alerts/alert.py +21 -0
- office365/directory/security/alerts/history_state.py +5 -0
- office365/directory/security/attacksimulations/automation.py +21 -0
- office365/directory/security/attacksimulations/automation_run.py +5 -0
- office365/directory/security/attacksimulations/repeat_offender.py +6 -0
- office365/directory/security/attacksimulations/root.py +26 -0
- office365/directory/security/attacksimulations/simulation.py +17 -0
- office365/directory/security/cases/__init__.py +0 -0
- office365/directory/security/cases/ediscovery.py +6 -0
- office365/directory/security/cases/root.py +22 -0
- office365/directory/security/incidents/incident.py +67 -0
- office365/directory/security/security.py +10 -1
- office365/directory/serviceprincipals/service_principal.py +89 -4
- office365/directory/synchronization/__init__.py +0 -0
- office365/directory/synchronization/job.py +16 -0
- office365/directory/synchronization/progress.py +5 -0
- office365/directory/synchronization/status.py +13 -0
- office365/directory/synchronization/synchronization.py +24 -0
- office365/directory/tenant_information.py +17 -0
- office365/directory/tenant_relationship.py +21 -0
- office365/directory/users/activities/activity.py +45 -1
- office365/directory/users/collection.py +8 -0
- office365/directory/users/password_profile.py +18 -2
- office365/directory/users/user.py +254 -29
- office365/entity.py +3 -3
- office365/graph_client.py +64 -12
- office365/intune/audit/actor.py +5 -0
- office365/intune/audit/event.py +21 -24
- office365/intune/audit/event_collection.py +26 -0
- office365/intune/audit/property.py +5 -0
- office365/intune/audit/resource.py +11 -0
- office365/intune/brand.py +6 -0
- office365/intune/devices/compliance/__init__.py +0 -0
- office365/intune/devices/compliance/policy.py +6 -0
- office365/intune/devices/compliance/policy_state.py +5 -0
- office365/intune/devices/data.py +5 -0
- office365/intune/devices/detail.py +10 -0
- office365/intune/devices/enrollment/__init__.py +0 -0
- office365/intune/devices/enrollment/configuration.py +25 -0
- office365/intune/devices/enrollment/configuration_assignment.py +5 -0
- office365/intune/devices/enrollment/limit_configuration.py +5 -0
- office365/intune/devices/managed.py +44 -3
- office365/intune/devices/management/__init__.py +0 -0
- office365/intune/devices/management/management.py +69 -0
- office365/intune/devices/management/reports/__init__.py +0 -0
- office365/intune/devices/management/reports/reports.py +5 -0
- office365/intune/devices/management/settings.py +18 -0
- office365/intune/organizations/branding.py +15 -0
- office365/intune/organizations/organization.py +14 -0
- office365/intune/printing/__init__.py +0 -0
- office365/intune/printing/base.py +11 -0
- office365/intune/printing/capabilities.py +5 -0
- office365/intune/printing/connectors/__init__.py +0 -0
- office365/intune/printing/connectors/connector.py +6 -0
- office365/intune/printing/operations/__init__.py +0 -0
- office365/intune/printing/print.py +24 -0
- office365/intune/printing/printer.py +6 -0
- office365/intune/printing/services/__init__.py +0 -0
- office365/intune/printing/services/endpoint.py +5 -0
- office365/intune/printing/services/service.py +17 -0
- office365/intune/printing/share.py +5 -0
- office365/intune/printing/shares/__init__.py +0 -0
- office365/intune/printing/taskdefinitions/__init__.py +0 -0
- office365/intune/provisioned_plan.py +5 -1
- office365/intune/servicecommunications/__init__.py +0 -0
- office365/intune/servicecommunications/announcement.py +39 -0
- office365/intune/servicecommunications/announcement_base.py +5 -0
- office365/intune/servicecommunications/health/__init__.py +0 -0
- office365/intune/servicecommunications/health/health.py +7 -0
- office365/intune/servicecommunications/issues/__init__.py +0 -0
- office365/intune/servicecommunications/issues/issue.py +29 -0
- office365/intune/servicecommunications/messages/__init__.py +0 -0
- office365/intune/servicecommunications/messages/update.py +10 -0
- office365/intune/termsandconditions/__init__.py +0 -0
- office365/intune/vpp_token.py +10 -0
- office365/onedrive/admin.py +16 -0
- office365/onedrive/columns/content_approval_status.py +5 -0
- office365/onedrive/columns/datetime.py +15 -0
- office365/onedrive/columns/default_value.py +4 -0
- office365/onedrive/columns/definition.py +49 -3
- office365/onedrive/columns/definition_collection.py +17 -6
- office365/onedrive/columns/lookup.py +5 -1
- office365/onedrive/columns/types.py +13 -0
- office365/onedrive/contenttypes/content_type.py +8 -0
- office365/onedrive/driveitems/audio.py +12 -1
- office365/onedrive/driveitems/driveItem.py +147 -69
- office365/onedrive/driveitems/image.py +8 -1
- office365/onedrive/driveitems/item_preview_info.py +20 -2
- office365/onedrive/driveitems/remote_item.py +19 -4
- office365/onedrive/drives/drive.py +7 -1
- office365/onedrive/drives/quota.py +18 -0
- office365/onedrive/drives/recipient.py +4 -0
- office365/onedrive/files/system_info.py +8 -6
- office365/onedrive/folders/folder.py +3 -3
- office365/onedrive/internal/paths/children.py +1 -4
- office365/onedrive/internal/paths/shared.py +7 -2
- office365/onedrive/lists/collection.py +12 -6
- office365/onedrive/lists/list.py +13 -5
- office365/onedrive/operations/long_running.py +7 -0
- office365/onedrive/operations/pending.py +13 -0
- office365/onedrive/operations/pending_content_update.py +5 -0
- office365/onedrive/permissions/collection.py +5 -6
- office365/onedrive/permissions/sharing_link.py +16 -1
- office365/onedrive/sensitivitylabels/__init__.py +0 -0
- office365/onedrive/sensitivitylabels/assignment.py +17 -0
- office365/onedrive/sensitivitylabels/assignment_method.py +4 -0
- office365/onedrive/sensitivitylabels/extract_result.py +13 -0
- office365/onedrive/sharepoint_settings.py +25 -0
- office365/onedrive/sites/sites_with_root.py +11 -1
- office365/onedrive/termstore/groups/collection.py +1 -1
- office365/onedrive/termstore/groups/group.py +1 -0
- office365/onedrive/termstore/sets/collection.py +1 -1
- office365/onenote/operations/operation.py +10 -1
- office365/onenote/resources/resource.py +1 -0
- office365/outlook/calendar/calendar.py +116 -6
- office365/outlook/calendar/dateTimeTimeZone.py +4 -0
- office365/outlook/calendar/email_address.py +7 -0
- office365/outlook/calendar/events/event.py +0 -4
- office365/outlook/calendar/events/reminder.py +22 -3
- office365/outlook/calendar/group.py +0 -2
- office365/outlook/calendar/location_constraint.py +16 -1
- office365/outlook/calendar/meetingtimes/activity_domain.py +10 -0
- office365/outlook/calendar/meetingtimes/suggestion.py +1 -1
- office365/outlook/calendar/meetingtimes/time_constraint.py +18 -0
- office365/outlook/calendar/permissions/__init__.py +0 -0
- office365/outlook/calendar/permissions/collection.py +24 -0
- office365/outlook/calendar/{permission.py → permissions/permission.py} +35 -2
- office365/outlook/calendar/place.py +7 -0
- office365/outlook/calendar/role_type.py +17 -0
- office365/outlook/calendar/schedule/information.py +5 -4
- office365/outlook/calendar/schedule/item.py +20 -1
- office365/outlook/calendar/sharing_message.py +2 -2
- office365/outlook/calendar/time_zone_base.py +3 -0
- office365/outlook/calendar/working_hours.py +17 -1
- office365/outlook/contacts/collection.py +39 -0
- office365/outlook/contacts/contact.py +21 -11
- office365/outlook/geo_coordinates.py +20 -0
- office365/outlook/item.py +5 -4
- office365/outlook/locale_info.py +3 -0
- office365/outlook/mail/automatic_replies_setting.py +14 -0
- office365/outlook/mail/folders/folder.py +52 -3
- office365/outlook/mail/folders/search.py +11 -0
- office365/outlook/mail/importance.py +1 -0
- office365/outlook/mail/item_body.py +3 -0
- office365/outlook/mail/location.py +27 -2
- office365/outlook/mail/location_constraint_item.py +5 -0
- office365/outlook/mail/mailbox_settings.py +13 -1
- office365/outlook/mail/messages/collection.py +7 -0
- office365/outlook/mail/messages/followup_flag.py +21 -0
- office365/outlook/mail/messages/internet_header.py +16 -0
- office365/outlook/mail/messages/message.py +184 -6
- office365/outlook/mail/messages/rules/__init__.py +0 -0
- office365/outlook/mail/messages/rules/actions.py +38 -0
- office365/outlook/mail/messages/rules/predicates.py +5 -0
- office365/outlook/mail/messages/rules/rule.py +32 -0
- office365/outlook/mail/patterned_recurrence.py +14 -1
- office365/outlook/mail/physical_address.py +5 -1
- office365/outlook/mail/recipient.py +3 -0
- office365/outlook/mail/recurrence_pattern.py +18 -1
- office365/outlook/mail/recurrence_range.py +16 -2
- office365/outlook/timezone_information.py +3 -0
- office365/reports/root.py +28 -1
- office365/reports/security/__init__.py +0 -0
- office365/reports/security/root.py +21 -0
- office365/reports/userregistration/__init__.py +0 -0
- office365/reports/userregistration/method_count.py +17 -0
- office365/reports/userregistration/method_summary.py +21 -0
- office365/runtime/auth/authentication_context.py +123 -25
- office365/runtime/auth/client_credential.py +2 -2
- office365/runtime/auth/providers/acs_token_provider.py +6 -3
- office365/runtime/auth/providers/saml_token_provider.py +10 -7
- office365/runtime/auth/token_response.py +3 -3
- office365/runtime/client_object_collection.py +12 -7
- office365/runtime/client_result.py +9 -0
- office365/runtime/client_runtime_context.py +10 -8
- office365/runtime/http/request_options.py +2 -1
- office365/runtime/odata/request.py +4 -4
- office365/runtime/paths/appid.py +2 -1
- office365/runtime/paths/entity.py +2 -2
- office365/{sharepoint/internal/paths/entity.py → runtime/paths/key.py} +5 -3
- office365/runtime/paths/resource_path.py +3 -0
- office365/runtime/types/event_handler.py +6 -0
- office365/search/external/__init__.py +0 -0
- office365/search/external/configuration.py +8 -0
- office365/search/external/connection.py +27 -0
- office365/{external → search/external}/external.py +1 -1
- office365/search/external/search_settings.py +5 -0
- office365/search/query.py +3 -1
- office365/search/request.py +3 -1
- office365/search/sharepoint_onedrive_options.py +3 -0
- office365/search/sort_property.py +9 -0
- office365/sharepoint/activities/client_request.py +4 -1
- office365/sharepoint/activities/logger.py +25 -0
- office365/sharepoint/activities/revision_info.py +9 -0
- office365/sharepoint/addtoonedrive/mount_point.py +25 -0
- office365/sharepoint/addtoonedrive/mounted_folder_info.py +5 -0
- office365/sharepoint/alerts/alert.py +31 -0
- office365/sharepoint/apps/license_collection.py +1 -2
- office365/sharepoint/changes/item.py +14 -0
- office365/sharepoint/client_context.py +91 -30
- office365/sharepoint/clientsidecomponent/component_context_info.py +7 -0
- office365/sharepoint/clientsidecomponent/identifier.py +3 -0
- office365/sharepoint/compliance/tag_info.py +17 -0
- office365/sharepoint/contenttypes/collection.py +6 -7
- office365/sharepoint/contenttypes/content_type.py +49 -1
- office365/sharepoint/contenttypes/fieldlinks/collection.py +5 -6
- office365/sharepoint/features/known_list.py +2 -0
- office365/sharepoint/fields/collection.py +70 -39
- office365/sharepoint/fields/computed.py +5 -2
- office365/sharepoint/fields/creation_information.py +5 -4
- office365/sharepoint/fields/field.py +73 -15
- office365/sharepoint/fields/user.py +3 -3
- office365/sharepoint/files/checked_out_file.py +3 -2
- office365/sharepoint/files/file.py +9 -4
- office365/sharepoint/files/versions/version.py +7 -9
- office365/sharepoint/folders/collection.py +2 -2
- office365/sharepoint/folders/coloring.py +39 -0
- office365/sharepoint/folders/coloring_information.py +15 -0
- office365/sharepoint/folders/folder.py +21 -10
- office365/sharepoint/forms/customization.py +8 -0
- office365/sharepoint/listitems/listitem.py +29 -10
- office365/sharepoint/lists/bloom_filter.py +0 -1
- office365/sharepoint/lists/creation_information.py +18 -4
- office365/sharepoint/lists/list.py +203 -27
- office365/sharepoint/lists/render_data_parameters.py +21 -1
- office365/sharepoint/lists/template_type.py +10 -0
- office365/sharepoint/navigation/configured_metadata_items.py +25 -1
- office365/sharepoint/navigation/metadata_settings.py +6 -4
- office365/sharepoint/permissions/irm/file_settings.py +43 -0
- office365/sharepoint/permissions/securable_object.py +5 -6
- office365/sharepoint/portal/sites/manager.py +5 -6
- office365/sharepoint/portal/userprofiles/documents_shared_with_group.py +3 -0
- office365/sharepoint/publishing/base_custom_property.py +8 -0
- office365/sharepoint/publishing/navigation/structural_navigation_cache_wrapper.py +8 -0
- office365/sharepoint/publishing/pagecopywithassets/__init__.py +0 -0
- office365/sharepoint/publishing/pagecopywithassets/response.py +8 -0
- office365/sharepoint/publishing/pages/campaign_publication.py +7 -0
- office365/sharepoint/publishing/pages/collection.py +1 -1
- office365/sharepoint/publishing/pages/page.py +4 -1
- office365/sharepoint/publishing/pages/reposts/metadata.py +8 -0
- office365/sharepoint/publishing/personmagazine/person_magazine.py +4 -1
- office365/sharepoint/search/administration/tenant_crawl_versions_info_provider.py +8 -1
- office365/sharepoint/search/query/auto_completion_match.py +3 -0
- office365/sharepoint/search/query/property_value.py +18 -0
- office365/sharepoint/search/request.py +16 -2
- office365/sharepoint/sharing/abilities.py +22 -0
- office365/sharepoint/sharing/direct_abilities.py +27 -0
- office365/sharepoint/sharing/link_abilities.py +9 -1
- office365/sharepoint/sharing/links/data.py +26 -1
- office365/sharepoint/sharing/links/info.py +1 -1
- office365/sharepoint/sharing/links/partial_success_response.py +5 -0
- office365/sharepoint/sharing/links/share_settings.py +24 -1
- office365/sharepoint/sharing/object_sharing_information.py +65 -2
- office365/sharepoint/sharing/object_sharing_information_user.py +9 -0
- office365/sharepoint/sharing/object_sharing_settings.py +17 -4
- office365/sharepoint/sharing/principal.py +10 -0
- office365/sharepoint/sharing/securable_object_extensions.py +1 -17
- office365/sharepoint/sharing/site_sharing_report_helper.py +2 -1
- office365/sharepoint/sharing/user_sharing_result.py +18 -8
- office365/sharepoint/sitehealth/result.py +10 -0
- office365/sharepoint/sites/language.py +11 -1
- office365/sharepoint/sites/language_collection.py +1 -0
- office365/sharepoint/sites/site.py +42 -7
- office365/sharepoint/taxonomy/create_xml_parameters.py +22 -15
- office365/sharepoint/taxonomy/field.py +10 -8
- office365/sharepoint/taxonomy/groups/collection.py +8 -1
- office365/sharepoint/taxonomy/groups/group.py +26 -0
- office365/sharepoint/taxonomy/sets/collection.py +15 -0
- office365/sharepoint/taxonomy/sets/name.py +23 -0
- office365/sharepoint/taxonomy/sets/set.py +16 -1
- office365/sharepoint/taxonomy/stores/store.py +0 -8
- office365/sharepoint/tenant/administration/audit/search_request_status.py +8 -0
- office365/sharepoint/tenant/administration/deny_add_and_customize_pages_status.py +3 -0
- office365/sharepoint/tenant/administration/hubsites/permission.py +10 -0
- office365/sharepoint/tenant/administration/sites/properties.py +12 -10
- office365/sharepoint/tenant/administration/tenant.py +2 -1
- office365/sharepoint/tenant/apps/information.py +3 -1
- office365/sharepoint/tenant/management/office365_tenant.py +14 -11
- office365/sharepoint/types/resource_path.py +3 -1
- office365/sharepoint/userprofiles/people_manager.py +0 -2
- office365/sharepoint/userprofiles/sharedwithme/document.py +16 -0
- office365/sharepoint/userprofiles/sharedwithme/document_user.py +12 -0
- office365/sharepoint/userprofiles/sharedwithme/item_collection.py +41 -0
- office365/sharepoint/userprofiles/sharedwithme/items.py +18 -1
- office365/sharepoint/viva/site_manager.py +14 -0
- office365/sharepoint/webhooks/subscription_collection.py +5 -6
- office365/sharepoint/webparts/definition.py +1 -1
- office365/sharepoint/webparts/webpart.py +18 -4
- office365/sharepoint/webs/context_web_information.py +2 -4
- office365/sharepoint/webs/web.py +31 -12
- office365/sharepoint/workflowservices/manager.py +0 -2
- office365/subscriptions/collection.py +42 -0
- office365/subscriptions/subscription.py +120 -2
- office365/teams/apps/catalog.py +23 -0
- office365/teams/associated_info.py +12 -0
- office365/teams/channels/channel.py +2 -3
- office365/teams/channels/collection.py +1 -1
- office365/teams/channels/iIdentity.py +5 -0
- office365/teams/chats/chat.py +12 -2
- office365/teams/chats/collection.py +1 -2
- office365/teams/chats/messages/__init__.py +0 -0
- office365/teams/chats/messages/info.py +14 -0
- office365/teams/chats/{message.py → messages/message.py} +18 -3
- office365/teams/info.py +20 -0
- office365/teams/members/aad_user_conversation.py +2 -2
- office365/teams/members/conversation_collection.py +3 -3
- office365/teams/schedule/change_request.py +4 -2
- office365/teams/schedule/change_tracked_entity.py +11 -2
- office365/teams/summary.py +15 -0
- office365/teams/tabs/configuration.py +12 -1
- office365/teams/tabs/tab.py +0 -1
- office365/teams/team.py +34 -1
- office365/teams/teamwork/__init__.py +0 -0
- office365/teams/teamwork/activity_topic.py +5 -0
- office365/teams/teamwork/tags/__init__.py +0 -0
- office365/teams/teamwork/tags/identity.py +6 -0
- office365/teams/teamwork/tags/member.py +5 -0
- office365/teams/teamwork/tags/tag.py +15 -0
- office365/{directory/security/cases_root.py → teams/viva/employee_experience_user.py} +1 -1
- office365/todo/attachments/session.py +34 -0
- office365/todo/linked_resource.py +10 -1
- office365/todo/tasks/task.py +4 -0
- office365/directory/identities/protection_root.py +0 -5
- office365/directory/rbac/application.py +0 -18
- office365/directory/rbac/unified_role_assignment.py +0 -8
- office365/external/connection.py +0 -5
- office365/intune/devices/management.py +0 -35
- office365/onedrive/internal/queries/download_content.py +0 -26
- office365/onedrive/internal/queries/upload_content.py +0 -23
- office365/outlook/mail/messages/message_rule.py +0 -15
- office365/runtime/auth/providers/oauth_token_provider.py +0 -25
- office365/teams/team_info.py +0 -6
- {Office365_REST_Python_Client-2.4.2.dist-info → Office365_REST_Python_Client-2.4.4.dist-info}/LICENSE +0 -0
- {Office365_REST_Python_Client-2.4.2.dist-info → Office365_REST_Python_Client-2.4.4.dist-info}/WHEEL +0 -0
- {Office365_REST_Python_Client-2.4.2.dist-info → Office365_REST_Python_Client-2.4.4.dist-info}/top_level.txt +0 -0
- /office365/{directory/rbac → booking}/__init__.py +0 -0
- /office365/directory/{roles → protection}/__init__.py +0 -0
- /office365/{external → directory/protection/riskyusers}/__init__.py +0 -0
- /office365/{teams/messages → directory/rolemanagement}/__init__.py +0 -0
- /office365/outlook/calendar/{time_slot.py → meetingtimes/time_slot.py} +0 -0
- /office365/teams/chats/{message_attachment.py → messages/attachment.py} +0 -0
- /office365/teams/{member_settings.py → members/settings.py} +0 -0
- /office365/teams/{user_teamwork.py → teamwork/user.py} +0 -0
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
from office365.teams.info import TeamInfo
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class AssociatedTeamInfo(TeamInfo):
|
|
5
|
+
"""
|
|
6
|
+
Represents a team that is associated with a user.
|
|
7
|
+
|
|
8
|
+
Currently, a user can be associated with a team in two different ways:
|
|
9
|
+
|
|
10
|
+
- A user can be a direct member of a team.
|
|
11
|
+
- A user can be a member of a shared channel that is hosted inside a team.
|
|
12
|
+
"""
|
|
@@ -8,8 +8,8 @@ from office365.runtime.paths.resource_path import ResourcePath
|
|
|
8
8
|
from office365.runtime.queries.function import FunctionQuery
|
|
9
9
|
from office365.runtime.queries.service_operation import ServiceOperationQuery
|
|
10
10
|
from office365.teams.channels.provision_email_result import ProvisionChannelEmailResult
|
|
11
|
+
from office365.teams.chats.messages.message import ChatMessage
|
|
11
12
|
from office365.teams.members.conversation import ConversationMember
|
|
12
|
-
from office365.teams.chats.message import ChatMessage
|
|
13
13
|
from office365.teams.tabs.tab import TeamsTab
|
|
14
14
|
|
|
15
15
|
|
|
@@ -125,6 +125,5 @@ class Channel(Entity):
|
|
|
125
125
|
super(Channel, self).set_property(name, value, persist_changes)
|
|
126
126
|
# fallback: fix resource path
|
|
127
127
|
if name == "id":
|
|
128
|
-
|
|
129
|
-
self._resource_path = ResourcePath(channel_id, self.resource_path.parent)
|
|
128
|
+
self._resource_path = ResourcePath(quote(value), self.resource_path.parent)
|
|
130
129
|
return self
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
from office365.entity_collection import EntityCollection
|
|
2
2
|
from office365.runtime.queries.function import FunctionQuery
|
|
3
3
|
from office365.teams.channels.channel import Channel
|
|
4
|
-
from office365.teams.chats.message import ChatMessage
|
|
4
|
+
from office365.teams.chats.messages.message import ChatMessage
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
class ChannelCollection(EntityCollection):
|
office365/teams/chats/chat.py
CHANGED
|
@@ -2,7 +2,9 @@ from office365.entity import Entity
|
|
|
2
2
|
from office365.entity_collection import EntityCollection
|
|
3
3
|
from office365.runtime.paths.resource_path import ResourcePath
|
|
4
4
|
from office365.teams.apps.installation import TeamsAppInstallation
|
|
5
|
-
from office365.teams.chats.message import ChatMessage
|
|
5
|
+
from office365.teams.chats.messages.message import ChatMessage
|
|
6
|
+
|
|
7
|
+
from office365.teams.chats.messages.info import ChatMessageInfo
|
|
6
8
|
from office365.teams.members.conversation_collection import ConversationMemberCollection
|
|
7
9
|
from office365.teams.operations.async_operation import TeamsAsyncOperation
|
|
8
10
|
from office365.teams.tabs.tab import TeamsTab
|
|
@@ -24,6 +26,13 @@ class Chat(Entity):
|
|
|
24
26
|
EntityCollection(self.context, TeamsAppInstallation,
|
|
25
27
|
ResourcePath("installedApps", self.resource_path)))
|
|
26
28
|
|
|
29
|
+
@property
|
|
30
|
+
def last_message_preview(self):
|
|
31
|
+
"""Preview of the last message sent in the chat. Null if no messages have been sent in the chat."""
|
|
32
|
+
return self.properties.get('lastMessagePreview',
|
|
33
|
+
ChatMessageInfo(self.context,
|
|
34
|
+
ResourcePath("lastMessagePreview", self.resource_path)))
|
|
35
|
+
|
|
27
36
|
@property
|
|
28
37
|
def members(self):
|
|
29
38
|
"""A collection of membership records associated with the chat.
|
|
@@ -56,7 +65,8 @@ class Chat(Entity):
|
|
|
56
65
|
def get_property(self, name, default_value=None):
|
|
57
66
|
if default_value is None:
|
|
58
67
|
property_mapping = {
|
|
59
|
-
"installedApps": self.installed_apps
|
|
68
|
+
"installedApps": self.installed_apps,
|
|
69
|
+
"lastMessagePreview": self.last_message_preview
|
|
60
70
|
}
|
|
61
71
|
default_value = property_mapping.get(name, None)
|
|
62
72
|
return super(Chat, self).get_property(name, default_value)
|
|
@@ -18,6 +18,5 @@ class ChatCollection(EntityCollection):
|
|
|
18
18
|
:param str chat_type: Specifies the type of chat. Possible values are: group and oneOnOne.
|
|
19
19
|
:rtype: Chat
|
|
20
20
|
"""
|
|
21
|
-
return super(ChatCollection, self).add(chatType=chat_type)
|
|
22
|
-
|
|
23
21
|
|
|
22
|
+
return super(ChatCollection, self).add(chatType=chat_type)
|
|
File without changes
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
from office365.entity import Entity
|
|
2
|
+
from office365.outlook.mail.item_body import ItemBody
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class ChatMessageInfo(Entity):
|
|
6
|
+
"""Represents a preview of a chatMessage resource. This object can only be fetched as part of a list of chats."""
|
|
7
|
+
|
|
8
|
+
@property
|
|
9
|
+
def body(self):
|
|
10
|
+
"""
|
|
11
|
+
Body of the chatMessage. This will still contain markers for @mentions and attachments even though the
|
|
12
|
+
object does not return @mentions and attachments..
|
|
13
|
+
"""
|
|
14
|
+
return self.properties.get("body", ItemBody())
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
from office365.entity import Entity
|
|
2
2
|
from office365.entity_collection import EntityCollection
|
|
3
|
+
from office365.outlook.mail.item_body import ItemBody
|
|
3
4
|
from office365.runtime.client_value_collection import ClientValueCollection
|
|
4
5
|
from office365.runtime.paths.resource_path import ResourcePath
|
|
5
|
-
from office365.teams.
|
|
6
|
+
from office365.teams.channels.iIdentity import ChannelIdentity
|
|
7
|
+
from office365.teams.chats.messages.attachment import ChatMessageAttachment
|
|
6
8
|
|
|
7
9
|
|
|
8
10
|
class ChatMessage(Entity):
|
|
@@ -16,6 +18,21 @@ class ChatMessage(Entity):
|
|
|
16
18
|
"""The collection of replies."""
|
|
17
19
|
return self.properties.get("attachments", ClientValueCollection(ChatMessageAttachment))
|
|
18
20
|
|
|
21
|
+
@property
|
|
22
|
+
def body(self):
|
|
23
|
+
"""
|
|
24
|
+
Plaintext/HTML representation of the content of the chat message. Representation is specified by the
|
|
25
|
+
contentType inside the body. The content is always in HTML if the chat message contains a chatMessageMention.
|
|
26
|
+
"""
|
|
27
|
+
return self.properties.get("body", ItemBody())
|
|
28
|
+
|
|
29
|
+
@property
|
|
30
|
+
def channel_identity(self):
|
|
31
|
+
"""
|
|
32
|
+
If the message was sent in a channel, represents identity of the channel.
|
|
33
|
+
"""
|
|
34
|
+
return self.properties.get("channelIdentity", ChannelIdentity())
|
|
35
|
+
|
|
19
36
|
@property
|
|
20
37
|
def replies(self):
|
|
21
38
|
"""
|
|
@@ -29,7 +46,6 @@ class ChatMessage(Entity):
|
|
|
29
46
|
def web_url(self):
|
|
30
47
|
"""
|
|
31
48
|
Link to the message in Microsoft Teams.
|
|
32
|
-
|
|
33
49
|
:rtype: str
|
|
34
50
|
"""
|
|
35
51
|
return self.properties.get("webUrl", None)
|
|
@@ -38,7 +54,6 @@ class ChatMessage(Entity):
|
|
|
38
54
|
def importance(self):
|
|
39
55
|
"""
|
|
40
56
|
The importance of the chat message. The possible values are: normal, high, urgent.
|
|
41
|
-
|
|
42
57
|
:rtype: str
|
|
43
58
|
"""
|
|
44
59
|
return self.properties.get("importance", None)
|
office365/teams/info.py
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
from office365.entity import Entity
|
|
2
|
+
from office365.runtime.paths.resource_path import ResourcePath
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class TeamInfo(Entity):
|
|
6
|
+
"""Represents a team with basic information."""
|
|
7
|
+
|
|
8
|
+
@property
|
|
9
|
+
def display_name(self):
|
|
10
|
+
"""
|
|
11
|
+
The name of the team.
|
|
12
|
+
:rtype: str or None
|
|
13
|
+
"""
|
|
14
|
+
return self.properties.get('displayName', None)
|
|
15
|
+
|
|
16
|
+
@property
|
|
17
|
+
def team(self):
|
|
18
|
+
from office365.teams.team import Team
|
|
19
|
+
return self.properties.get('team',
|
|
20
|
+
Team(self.context, ResourcePath("team", self.resource_path)))
|
|
@@ -7,16 +7,16 @@ class ConversationMemberCollection(EntityCollection):
|
|
|
7
7
|
def __init__(self, context, resource_path=None):
|
|
8
8
|
super(ConversationMemberCollection, self).__init__(context, ConversationMember, resource_path)
|
|
9
9
|
|
|
10
|
-
def add(self, user, roles,
|
|
10
|
+
def add(self, user, roles, visible_history_start_datetime=None):
|
|
11
11
|
"""
|
|
12
12
|
Add a conversationMember.
|
|
13
13
|
|
|
14
|
-
:param str
|
|
14
|
+
:param str or office365.directory.users.user.User user: The conversation members that should be added.
|
|
15
15
|
Every user who will participate in the chat, including the user who initiates the create request,
|
|
16
16
|
must be specified in this list.
|
|
17
17
|
Each member must be assigned a role of owner or guest. Guest tenant members must be assigned the guest role
|
|
18
18
|
:param list[str] roles: The roles for that user.
|
|
19
|
-
:param datetime.datetime
|
|
19
|
+
:param datetime.datetime visible_history_start_datetime:
|
|
20
20
|
|
|
21
21
|
:rtype: ConversationMember
|
|
22
22
|
"""
|
|
@@ -6,7 +6,9 @@ class ScheduleChangeRequest(ChangeTrackedEntity):
|
|
|
6
6
|
|
|
7
7
|
def approve(self, message):
|
|
8
8
|
"""
|
|
9
|
-
|
|
9
|
+
Approve an ScheduleChangeRequest object.
|
|
10
|
+
|
|
11
|
+
:param str message: A custom approval message.
|
|
10
12
|
"""
|
|
11
13
|
qry = ServiceOperationQuery(self, "approve", None, {"message": message})
|
|
12
14
|
self.context.add_query(qry)
|
|
@@ -14,7 +16,7 @@ class ScheduleChangeRequest(ChangeTrackedEntity):
|
|
|
14
16
|
|
|
15
17
|
def decline(self, message):
|
|
16
18
|
"""
|
|
17
|
-
:param str message:
|
|
19
|
+
:param str message: A custom approval message.
|
|
18
20
|
"""
|
|
19
21
|
qry = ServiceOperationQuery(self, "decline", None, {"message": message})
|
|
20
22
|
self.context.add_query(qry)
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
from datetime import datetime
|
|
2
|
+
|
|
1
3
|
from office365.directory.permissions.identity_set import IdentitySet
|
|
2
4
|
from office365.entity import Entity
|
|
3
5
|
|
|
@@ -11,7 +13,7 @@ class ChangeTrackedEntity(Entity):
|
|
|
11
13
|
The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time.
|
|
12
14
|
For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z
|
|
13
15
|
"""
|
|
14
|
-
return self.properties.get('createdDateTime',
|
|
16
|
+
return self.properties.get('createdDateTime', datetime.min)
|
|
15
17
|
|
|
16
18
|
@property
|
|
17
19
|
def last_modified_datetime(self):
|
|
@@ -19,9 +21,16 @@ class ChangeTrackedEntity(Entity):
|
|
|
19
21
|
The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time.
|
|
20
22
|
For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z
|
|
21
23
|
"""
|
|
22
|
-
return self.properties.get('lastModifiedDateTime',
|
|
24
|
+
return self.properties.get('lastModifiedDateTime', datetime.min)
|
|
23
25
|
|
|
24
26
|
@property
|
|
25
27
|
def last_modified_by(self):
|
|
26
28
|
"""Identity of the person who last modified the entity."""
|
|
27
29
|
return self.properties.get('lastModifiedBy', IdentitySet())
|
|
30
|
+
|
|
31
|
+
def get_property(self, name, default_value=None):
|
|
32
|
+
if default_value is None:
|
|
33
|
+
property_mapping = {
|
|
34
|
+
}
|
|
35
|
+
default_value = property_mapping.get(name, None)
|
|
36
|
+
return super(ChangeTrackedEntity, self).get_property(name, default_value)
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
from office365.runtime.client_value import ClientValue
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class TeamSummary(ClientValue):
|
|
5
|
+
"""Contains information about a team in Microsoft Teams, including number of owners, members, and guests."""
|
|
6
|
+
|
|
7
|
+
def __init__(self, guests_count=None, members_count=None, owners_count=None):
|
|
8
|
+
"""
|
|
9
|
+
:param int guests_count: Count of guests in a team.
|
|
10
|
+
:param int members_count: Count of members in a team.
|
|
11
|
+
:param int owners_count: Count of owners in a team.
|
|
12
|
+
"""
|
|
13
|
+
self.guestsCount = guests_count
|
|
14
|
+
self.membersCount = members_count
|
|
15
|
+
self.ownersCount = owners_count
|
|
@@ -6,4 +6,15 @@ class TeamsTabConfiguration(ClientValue):
|
|
|
6
6
|
When a tab is interactively configured, this information is set by the tab provider application.
|
|
7
7
|
In addition to the properties below, some tab provider applications specify additional custom properties.
|
|
8
8
|
"""
|
|
9
|
-
|
|
9
|
+
|
|
10
|
+
def __init__(self, content_url=None, entity_id=None, remove_url=None, website_url=None):
|
|
11
|
+
"""
|
|
12
|
+
:param str content_url: Url used for rendering tab contents in Teams.
|
|
13
|
+
:param str entity_id: Identifier for the entity hosted by the tab provider.
|
|
14
|
+
:param str remove_url: Url called by Teams client when a Tab is removed using the Teams Client.
|
|
15
|
+
:param str website_url: Url for showing tab contents outside of Teams.
|
|
16
|
+
"""
|
|
17
|
+
self.contentUrl = content_url
|
|
18
|
+
self.entityId = entity_id
|
|
19
|
+
self.removeUrl = remove_url
|
|
20
|
+
self.websiteUrl = website_url
|
office365/teams/tabs/tab.py
CHANGED
|
@@ -19,7 +19,6 @@ class TeamsTab(Entity):
|
|
|
19
19
|
def configuration(self):
|
|
20
20
|
"""
|
|
21
21
|
Container for custom settings applied to a tab. The tab is considered configured only once this property is set.
|
|
22
|
-
:rtype: TeamsTabConfiguration
|
|
23
22
|
"""
|
|
24
23
|
return self.properties.get("configuration", TeamsTabConfiguration())
|
|
25
24
|
|
office365/teams/team.py
CHANGED
|
@@ -4,14 +4,17 @@ from office365.runtime.queries.service_operation import ServiceOperationQuery
|
|
|
4
4
|
from office365.runtime.paths.resource_path import ResourcePath
|
|
5
5
|
from office365.teams.channels.channel import Channel
|
|
6
6
|
from office365.teams.channels.collection import ChannelCollection
|
|
7
|
+
from office365.teams.members.settings import TeamMemberSettings
|
|
7
8
|
from office365.teams.schedule.schedule import Schedule
|
|
8
9
|
from office365.teams.fun_settings import TeamFunSettings
|
|
9
10
|
from office365.teams.guest_settings import TeamGuestSettings
|
|
10
|
-
from office365.teams.member_settings import TeamMemberSettings
|
|
11
11
|
from office365.teams.messaging_settings import TeamMessagingSettings
|
|
12
12
|
from office365.teams.apps.installation import TeamsAppInstallation
|
|
13
13
|
from office365.teams.operations.async_operation import TeamsAsyncOperation
|
|
14
|
+
from office365.teams.summary import TeamSummary
|
|
15
|
+
from office365.teams.teamwork.tags.tag import TeamworkTag
|
|
14
16
|
from office365.teams.template import TeamsTemplate
|
|
17
|
+
from office365.directory.permissions.grants.resource_specific import ResourceSpecificPermissionGrant
|
|
15
18
|
|
|
16
19
|
|
|
17
20
|
class Team(Entity):
|
|
@@ -166,6 +169,35 @@ class Team(Entity):
|
|
|
166
169
|
EntityCollection(self.context, TeamsAsyncOperation,
|
|
167
170
|
ResourcePath("operations", self.resource_path)))
|
|
168
171
|
|
|
172
|
+
@property
|
|
173
|
+
def permission_grants(self):
|
|
174
|
+
"""
|
|
175
|
+
List all resource-specific permission grants
|
|
176
|
+
"""
|
|
177
|
+
return self.properties.setdefault('permissionGrants',
|
|
178
|
+
EntityCollection(self.context, ResourceSpecificPermissionGrant,
|
|
179
|
+
ResourcePath("permissionGrants")))
|
|
180
|
+
|
|
181
|
+
@property
|
|
182
|
+
def summary(self):
|
|
183
|
+
"""Contains summary information about the team, including number of owners, members, and guests."""
|
|
184
|
+
return self.properties.get("summary", TeamSummary())
|
|
185
|
+
|
|
186
|
+
@property
|
|
187
|
+
def tenant_id(self):
|
|
188
|
+
"""
|
|
189
|
+
The ID of the Azure Active Directory tenant.
|
|
190
|
+
:rtype: str
|
|
191
|
+
"""
|
|
192
|
+
return self.properties.get("tenantId", None)
|
|
193
|
+
|
|
194
|
+
@property
|
|
195
|
+
def tags(self):
|
|
196
|
+
""" The tags associated with the team."""
|
|
197
|
+
return self.properties.get('tags',
|
|
198
|
+
EntityCollection(self.context, TeamworkTag,
|
|
199
|
+
ResourcePath("tags", self.resource_path)))
|
|
200
|
+
|
|
169
201
|
@property
|
|
170
202
|
def template(self):
|
|
171
203
|
"""The template this team was created from
|
|
@@ -229,6 +261,7 @@ class Team(Entity):
|
|
|
229
261
|
"allChannels": self.all_channels,
|
|
230
262
|
"incomingChannels": self.incoming_channels,
|
|
231
263
|
"installedApps": self.installed_apps,
|
|
264
|
+
"permissionGrants": self.permission_grants,
|
|
232
265
|
"primaryChannel": self.primary_channel
|
|
233
266
|
}
|
|
234
267
|
default_value = property_mapping.get(name, None)
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
from office365.runtime.client_value import ClientValue
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class TeamworkTagIdentity(ClientValue):
|
|
5
|
+
"""Represents a tag in Microsoft Teams. Tags allow users to quickly connect to subset of users in a team.
|
|
6
|
+
For details about tag management in Microsoft Teams, see Manage tags in Microsoft Teams."""
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
from office365.entity import Entity
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class TeamworkTag(Entity):
|
|
5
|
+
"""
|
|
6
|
+
Represents a tag associated with a team.
|
|
7
|
+
|
|
8
|
+
Tags provide a flexible way for customers to classify users or groups based on a auth attribute within a team.
|
|
9
|
+
For example, a Nurse, Manager, or Designer tag will enable users to reach groups of people in Teams without
|
|
10
|
+
having to type every single name.
|
|
11
|
+
|
|
12
|
+
When a tag is added, users can @mention it in a channel. Everyone who has been assigned that tag will receive
|
|
13
|
+
a notification just as they would if they were @mentioned individually. Users can also use a tag to start
|
|
14
|
+
a new chat with the members of that tag.
|
|
15
|
+
"""
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
from datetime import datetime
|
|
2
|
+
|
|
3
|
+
from office365.entity import Entity
|
|
4
|
+
from office365.runtime.types.collections import StringCollection
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
class AttachmentSession(Entity):
|
|
8
|
+
"""Represents a resource that uploads large attachments to a todoTask."""
|
|
9
|
+
|
|
10
|
+
@property
|
|
11
|
+
def content(self):
|
|
12
|
+
"""The content streams that are uploaded."""
|
|
13
|
+
return self.properties.get("content", None)
|
|
14
|
+
|
|
15
|
+
@property
|
|
16
|
+
def expiration_datetime(self):
|
|
17
|
+
"""The date and time in UTC when the upload session will expire.
|
|
18
|
+
The complete file must be uploaded before this expiration time is reached."""
|
|
19
|
+
return self.properties.get("expirationDateTime", datetime.min)
|
|
20
|
+
|
|
21
|
+
@property
|
|
22
|
+
def next_expected_ranges(self):
|
|
23
|
+
"""Indicates a single value {start} that represents the location in the file where the next
|
|
24
|
+
upload should begin."""
|
|
25
|
+
return self.properties.get("nextExpectedRanges", StringCollection())
|
|
26
|
+
|
|
27
|
+
def get_property(self, name, default_value=None):
|
|
28
|
+
if default_value is None:
|
|
29
|
+
property_mapping = {
|
|
30
|
+
"expirationDateTime": self.expiration_datetime,
|
|
31
|
+
"nextExpectedRanges": self.next_expected_ranges
|
|
32
|
+
}
|
|
33
|
+
default_value = property_mapping.get(name, None)
|
|
34
|
+
return super(AttachmentSession, self).get_property(name, default_value)
|
|
@@ -8,5 +8,14 @@ class LinkedResource(Entity):
|
|
|
8
8
|
|
|
9
9
|
@property
|
|
10
10
|
def application_name(self):
|
|
11
|
-
"""Field indicating the app name of the source that is sending the linkedResource.
|
|
11
|
+
"""Field indicating the app name of the source that is sending the linkedResource.
|
|
12
|
+
:rtype: str
|
|
13
|
+
"""
|
|
12
14
|
return self.properties.get("applicationName", None)
|
|
15
|
+
|
|
16
|
+
@property
|
|
17
|
+
def display_name(self):
|
|
18
|
+
"""The title of the linkedResource..
|
|
19
|
+
:rtype: str
|
|
20
|
+
"""
|
|
21
|
+
return self.properties.get("displayName", None)
|
office365/todo/tasks/task.py
CHANGED
|
@@ -30,6 +30,10 @@ class TodoTask(Entity):
|
|
|
30
30
|
EntityCollection(self.context, LinkedResource,
|
|
31
31
|
ResourcePath("linkedResources", self.resource_path)))
|
|
32
32
|
|
|
33
|
+
@property
|
|
34
|
+
def entity_type_name(self):
|
|
35
|
+
return None
|
|
36
|
+
|
|
33
37
|
def get_property(self, name, default_value=None):
|
|
34
38
|
if default_value is None:
|
|
35
39
|
property_mapping = {
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
from office365.directory.rbac.unified_role_assignment import UnifiedRoleAssignment
|
|
2
|
-
from office365.entity import Entity
|
|
3
|
-
from office365.entity_collection import EntityCollection
|
|
4
|
-
from office365.runtime.paths.resource_path import ResourcePath
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
class RbacApplication(Entity):
|
|
8
|
-
"""Role management container for unified role definitions and role assignments for Microsoft 365 role-based
|
|
9
|
-
access control (RBAC) providers. The role assignments support only a single principal and a single scope.
|
|
10
|
-
Currently directory and entitlementManagement are the two RBAC providers supported."""
|
|
11
|
-
|
|
12
|
-
@property
|
|
13
|
-
def role_assignments(self):
|
|
14
|
-
"""Resource to grant access to users or groups."""
|
|
15
|
-
return self.properties.get('roleAssignments',
|
|
16
|
-
EntityCollection(self.context, UnifiedRoleAssignment,
|
|
17
|
-
ResourcePath("roleAssignments", self.resource_path)))
|
|
18
|
-
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
from office365.entity import Entity
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
class UnifiedRoleAssignment(Entity):
|
|
5
|
-
"""
|
|
6
|
-
A role assignment is used to grant access to resources. It represents a role definition assigned to a principal
|
|
7
|
-
(for example, a user or a role-assignable group) at a particular scope.
|
|
8
|
-
"""
|
office365/external/connection.py
DELETED
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
from office365.entity import Entity
|
|
2
|
-
from office365.entity_collection import EntityCollection
|
|
3
|
-
from office365.intune.audit.event import AuditEventCollection
|
|
4
|
-
from office365.intune.devices.managed import ManagedDevice
|
|
5
|
-
from office365.runtime.paths.resource_path import ResourcePath
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
class DeviceManagement(Entity):
|
|
9
|
-
"""
|
|
10
|
-
The deviceManagement resource represents a tenant's collection device identities that have been pre-staged in
|
|
11
|
-
Intune, and the enrollment profiles that may be assigned to device identities that support pre-enrollment
|
|
12
|
-
configuration.
|
|
13
|
-
"""
|
|
14
|
-
|
|
15
|
-
@property
|
|
16
|
-
def audit_events(self):
|
|
17
|
-
""""""
|
|
18
|
-
return self.properties.get("auditEvents", AuditEventCollection(self.context,
|
|
19
|
-
ResourcePath("auditEvents", self.resource_path)))
|
|
20
|
-
|
|
21
|
-
@property
|
|
22
|
-
def managed_devices(self):
|
|
23
|
-
""""""
|
|
24
|
-
return self.properties.get('managedDevices',
|
|
25
|
-
EntityCollection(self.context, ManagedDevice,
|
|
26
|
-
ResourcePath("managedDevices", self.resource_path)))
|
|
27
|
-
|
|
28
|
-
def get_property(self, name, default_value=None):
|
|
29
|
-
if default_value is None:
|
|
30
|
-
property_mapping = {
|
|
31
|
-
"auditEvents": self.audit_events,
|
|
32
|
-
"managedDevices": self.managed_devices
|
|
33
|
-
}
|
|
34
|
-
default_value = property_mapping.get(name, None)
|
|
35
|
-
return super(DeviceManagement, self).get_property(name, default_value)
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
from office365.runtime.client_result import ClientResult
|
|
2
|
-
from office365.runtime.queries.function import FunctionQuery
|
|
3
|
-
from office365.runtime.queries.service_operation import ServiceOperationQuery
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
def create_download_content_query(file_item, format_name=None):
|
|
7
|
-
"""
|
|
8
|
-
:type file_item: office365.onedrive.driveItem.DriveItem
|
|
9
|
-
:type format_name: str or None
|
|
10
|
-
"""
|
|
11
|
-
return_type = ClientResult(file_item.context)
|
|
12
|
-
action_name = "content"
|
|
13
|
-
if format_name is not None:
|
|
14
|
-
action_name = action_name + r"?format={0}".format(format_name)
|
|
15
|
-
return FunctionQuery(file_item, action_name, None, return_type)
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
def create_download_session_content_query(file_item, format_name=None):
|
|
19
|
-
"""
|
|
20
|
-
:type file_item: office365.onedrive.driveItem.DriveItem
|
|
21
|
-
:type format_name: str or None
|
|
22
|
-
"""
|
|
23
|
-
action_name = "content"
|
|
24
|
-
if format_name is not None:
|
|
25
|
-
action_name = action_name + r"?format={0}".format(format_name)
|
|
26
|
-
return ServiceOperationQuery(file_item, action_name)
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
from office365.onedrive.internal.paths.url import UrlPath
|
|
2
|
-
from office365.runtime.http.http_method import HttpMethod
|
|
3
|
-
from office365.runtime.queries.service_operation import ServiceOperationQuery
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
def create_upload_content_query(folder_item, name, content=None):
|
|
7
|
-
"""
|
|
8
|
-
|
|
9
|
-
:param office365.onedrive.driveItem.DriveItem folder_item: Folder (container)
|
|
10
|
-
:param str name: a file name
|
|
11
|
-
:param str content: a file content
|
|
12
|
-
"""
|
|
13
|
-
from office365.onedrive.driveitems.driveItem import DriveItem
|
|
14
|
-
return_type = DriveItem(folder_item.context, UrlPath(name, folder_item.resource_path))
|
|
15
|
-
qry = ServiceOperationQuery(return_type, "content", None, content, None, return_type)
|
|
16
|
-
|
|
17
|
-
def _modify_query(request):
|
|
18
|
-
"""
|
|
19
|
-
:type request: office365.runtime.http.request_options.RequestOptions
|
|
20
|
-
"""
|
|
21
|
-
request.method = HttpMethod.Put
|
|
22
|
-
folder_item.context.before_execute(_modify_query)
|
|
23
|
-
return qry
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
from office365.entity import Entity
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
class MessageRule(Entity):
|
|
5
|
-
"""A rule that applies to messages in the Inbox of a user.
|
|
6
|
-
|
|
7
|
-
In Outlook, you can set up rules for incoming messages in the Inbox to carry out specific internal
|
|
8
|
-
upon certain conditions."""
|
|
9
|
-
|
|
10
|
-
@property
|
|
11
|
-
def is_read_only(self):
|
|
12
|
-
"""
|
|
13
|
-
Indicates if the rule is read-only and cannot be modified or deleted by the rules REST API.
|
|
14
|
-
"""
|
|
15
|
-
return self.properties.get("isReadOnly", None)
|