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.
Files changed (411) hide show
  1. {Office365_REST_Python_Client-2.4.2.dist-info → Office365_REST_Python_Client-2.4.4.dist-info}/METADATA +65 -31
  2. {Office365_REST_Python_Client-2.4.2.dist-info → Office365_REST_Python_Client-2.4.4.dist-info}/RECORD +401 -259
  3. office365/base_item.py +27 -5
  4. office365/booking/business.py +7 -0
  5. office365/booking/currency.py +5 -0
  6. office365/booking/solutions_root.py +32 -0
  7. office365/communications/calls/invitation_participant_info.py +17 -1
  8. office365/communications/calls/options.py +9 -0
  9. office365/communications/onlinemeetings/provider_type.py +3 -0
  10. office365/communications/presences/presence.py +14 -0
  11. office365/communications/presences/status_message.py +12 -0
  12. office365/directory/administrative_unit.py +22 -0
  13. office365/directory/applications/collection.py +2 -1
  14. office365/directory/applications/roles/assignment.py +45 -5
  15. office365/directory/applications/roles/assignment_collection.py +8 -0
  16. office365/directory/applications/roles/role.py +6 -1
  17. office365/directory/audit/signins/activity.py +31 -0
  18. office365/directory/audit/signins/location.py +17 -0
  19. office365/directory/audit/signins/signin.py +33 -0
  20. office365/directory/authentication/authentication.py +9 -0
  21. office365/directory/authentication/methods/details.py +25 -0
  22. office365/directory/authentication/methods/email.py +16 -0
  23. office365/directory/authentication/methods/root.py +27 -0
  24. office365/directory/certificates/authority.py +6 -1
  25. office365/directory/extensions/extended_property.py +8 -1
  26. office365/directory/extensions/extension.py +1 -1
  27. office365/directory/extensions/extension_property.py +0 -3
  28. office365/directory/extensions/open_type.py +8 -0
  29. office365/directory/groups/collection.py +2 -4
  30. office365/directory/groups/group.py +18 -4
  31. office365/directory/identities/governance.py +2 -0
  32. office365/directory/identities/object_identity.py +3 -3
  33. office365/directory/insights/resource_reference.py +15 -0
  34. office365/directory/insights/shared.py +36 -0
  35. office365/directory/insights/sharing_detail.py +11 -0
  36. office365/directory/insights/trending.py +8 -0
  37. office365/directory/insights/usage_details.py +16 -0
  38. office365/directory/insights/used.py +30 -0
  39. office365/directory/invitations/invitation.py +33 -1
  40. office365/directory/licenses/assigned_plan.py +19 -1
  41. office365/directory/licenses/assignment_state.py +5 -0
  42. office365/directory/licenses/service_plan_info.py +4 -0
  43. office365/directory/licenses/subscribed_sku.py +41 -0
  44. office365/directory/licenses/units_detail.py +11 -0
  45. office365/directory/object.py +3 -1
  46. office365/directory/object_collection.py +3 -4
  47. office365/directory/password_credential.py +5 -1
  48. office365/directory/permissions/email_identity.py +5 -0
  49. office365/directory/permissions/grants/condition_set.py +26 -0
  50. office365/directory/permissions/grants/resource_specific.py +21 -0
  51. office365/directory/policies/authentication_flows.py +9 -0
  52. office365/directory/policies/authentication_strength.py +10 -0
  53. office365/directory/policies/authorization.py +8 -0
  54. office365/directory/policies/cross_tenant_access.py +5 -0
  55. office365/directory/policies/root.py +35 -2
  56. office365/directory/protection/information.py +5 -0
  57. office365/directory/protection/risk_detection.py +11 -0
  58. office365/directory/protection/riskyusers/activity.py +5 -0
  59. office365/directory/protection/riskyusers/collection.py +32 -0
  60. office365/directory/protection/riskyusers/history_item.py +20 -0
  61. office365/directory/protection/riskyusers/risky_user.py +26 -0
  62. office365/directory/protection/root.py +31 -0
  63. office365/directory/rolemanagement/application.py +35 -0
  64. office365/directory/{roles → rolemanagement}/management.py +8 -1
  65. office365/directory/{roles → rolemanagement}/role.py +14 -0
  66. office365/directory/{roles → rolemanagement}/template.py +8 -0
  67. office365/directory/rolemanagement/unified_role_assignment.py +45 -0
  68. office365/directory/rolemanagement/unified_role_definition.py +6 -0
  69. office365/directory/security/alerts/alert.py +21 -0
  70. office365/directory/security/alerts/history_state.py +5 -0
  71. office365/directory/security/attacksimulations/automation.py +21 -0
  72. office365/directory/security/attacksimulations/automation_run.py +5 -0
  73. office365/directory/security/attacksimulations/repeat_offender.py +6 -0
  74. office365/directory/security/attacksimulations/root.py +26 -0
  75. office365/directory/security/attacksimulations/simulation.py +17 -0
  76. office365/directory/security/cases/__init__.py +0 -0
  77. office365/directory/security/cases/ediscovery.py +6 -0
  78. office365/directory/security/cases/root.py +22 -0
  79. office365/directory/security/incidents/incident.py +67 -0
  80. office365/directory/security/security.py +10 -1
  81. office365/directory/serviceprincipals/service_principal.py +89 -4
  82. office365/directory/synchronization/__init__.py +0 -0
  83. office365/directory/synchronization/job.py +16 -0
  84. office365/directory/synchronization/progress.py +5 -0
  85. office365/directory/synchronization/status.py +13 -0
  86. office365/directory/synchronization/synchronization.py +24 -0
  87. office365/directory/tenant_information.py +17 -0
  88. office365/directory/tenant_relationship.py +21 -0
  89. office365/directory/users/activities/activity.py +45 -1
  90. office365/directory/users/collection.py +8 -0
  91. office365/directory/users/password_profile.py +18 -2
  92. office365/directory/users/user.py +254 -29
  93. office365/entity.py +3 -3
  94. office365/graph_client.py +64 -12
  95. office365/intune/audit/actor.py +5 -0
  96. office365/intune/audit/event.py +21 -24
  97. office365/intune/audit/event_collection.py +26 -0
  98. office365/intune/audit/property.py +5 -0
  99. office365/intune/audit/resource.py +11 -0
  100. office365/intune/brand.py +6 -0
  101. office365/intune/devices/compliance/__init__.py +0 -0
  102. office365/intune/devices/compliance/policy.py +6 -0
  103. office365/intune/devices/compliance/policy_state.py +5 -0
  104. office365/intune/devices/data.py +5 -0
  105. office365/intune/devices/detail.py +10 -0
  106. office365/intune/devices/enrollment/__init__.py +0 -0
  107. office365/intune/devices/enrollment/configuration.py +25 -0
  108. office365/intune/devices/enrollment/configuration_assignment.py +5 -0
  109. office365/intune/devices/enrollment/limit_configuration.py +5 -0
  110. office365/intune/devices/managed.py +44 -3
  111. office365/intune/devices/management/__init__.py +0 -0
  112. office365/intune/devices/management/management.py +69 -0
  113. office365/intune/devices/management/reports/__init__.py +0 -0
  114. office365/intune/devices/management/reports/reports.py +5 -0
  115. office365/intune/devices/management/settings.py +18 -0
  116. office365/intune/organizations/branding.py +15 -0
  117. office365/intune/organizations/organization.py +14 -0
  118. office365/intune/printing/__init__.py +0 -0
  119. office365/intune/printing/base.py +11 -0
  120. office365/intune/printing/capabilities.py +5 -0
  121. office365/intune/printing/connectors/__init__.py +0 -0
  122. office365/intune/printing/connectors/connector.py +6 -0
  123. office365/intune/printing/operations/__init__.py +0 -0
  124. office365/intune/printing/print.py +24 -0
  125. office365/intune/printing/printer.py +6 -0
  126. office365/intune/printing/services/__init__.py +0 -0
  127. office365/intune/printing/services/endpoint.py +5 -0
  128. office365/intune/printing/services/service.py +17 -0
  129. office365/intune/printing/share.py +5 -0
  130. office365/intune/printing/shares/__init__.py +0 -0
  131. office365/intune/printing/taskdefinitions/__init__.py +0 -0
  132. office365/intune/provisioned_plan.py +5 -1
  133. office365/intune/servicecommunications/__init__.py +0 -0
  134. office365/intune/servicecommunications/announcement.py +39 -0
  135. office365/intune/servicecommunications/announcement_base.py +5 -0
  136. office365/intune/servicecommunications/health/__init__.py +0 -0
  137. office365/intune/servicecommunications/health/health.py +7 -0
  138. office365/intune/servicecommunications/issues/__init__.py +0 -0
  139. office365/intune/servicecommunications/issues/issue.py +29 -0
  140. office365/intune/servicecommunications/messages/__init__.py +0 -0
  141. office365/intune/servicecommunications/messages/update.py +10 -0
  142. office365/intune/termsandconditions/__init__.py +0 -0
  143. office365/intune/vpp_token.py +10 -0
  144. office365/onedrive/admin.py +16 -0
  145. office365/onedrive/columns/content_approval_status.py +5 -0
  146. office365/onedrive/columns/datetime.py +15 -0
  147. office365/onedrive/columns/default_value.py +4 -0
  148. office365/onedrive/columns/definition.py +49 -3
  149. office365/onedrive/columns/definition_collection.py +17 -6
  150. office365/onedrive/columns/lookup.py +5 -1
  151. office365/onedrive/columns/types.py +13 -0
  152. office365/onedrive/contenttypes/content_type.py +8 -0
  153. office365/onedrive/driveitems/audio.py +12 -1
  154. office365/onedrive/driveitems/driveItem.py +147 -69
  155. office365/onedrive/driveitems/image.py +8 -1
  156. office365/onedrive/driveitems/item_preview_info.py +20 -2
  157. office365/onedrive/driveitems/remote_item.py +19 -4
  158. office365/onedrive/drives/drive.py +7 -1
  159. office365/onedrive/drives/quota.py +18 -0
  160. office365/onedrive/drives/recipient.py +4 -0
  161. office365/onedrive/files/system_info.py +8 -6
  162. office365/onedrive/folders/folder.py +3 -3
  163. office365/onedrive/internal/paths/children.py +1 -4
  164. office365/onedrive/internal/paths/shared.py +7 -2
  165. office365/onedrive/lists/collection.py +12 -6
  166. office365/onedrive/lists/list.py +13 -5
  167. office365/onedrive/operations/long_running.py +7 -0
  168. office365/onedrive/operations/pending.py +13 -0
  169. office365/onedrive/operations/pending_content_update.py +5 -0
  170. office365/onedrive/permissions/collection.py +5 -6
  171. office365/onedrive/permissions/sharing_link.py +16 -1
  172. office365/onedrive/sensitivitylabels/__init__.py +0 -0
  173. office365/onedrive/sensitivitylabels/assignment.py +17 -0
  174. office365/onedrive/sensitivitylabels/assignment_method.py +4 -0
  175. office365/onedrive/sensitivitylabels/extract_result.py +13 -0
  176. office365/onedrive/sharepoint_settings.py +25 -0
  177. office365/onedrive/sites/sites_with_root.py +11 -1
  178. office365/onedrive/termstore/groups/collection.py +1 -1
  179. office365/onedrive/termstore/groups/group.py +1 -0
  180. office365/onedrive/termstore/sets/collection.py +1 -1
  181. office365/onenote/operations/operation.py +10 -1
  182. office365/onenote/resources/resource.py +1 -0
  183. office365/outlook/calendar/calendar.py +116 -6
  184. office365/outlook/calendar/dateTimeTimeZone.py +4 -0
  185. office365/outlook/calendar/email_address.py +7 -0
  186. office365/outlook/calendar/events/event.py +0 -4
  187. office365/outlook/calendar/events/reminder.py +22 -3
  188. office365/outlook/calendar/group.py +0 -2
  189. office365/outlook/calendar/location_constraint.py +16 -1
  190. office365/outlook/calendar/meetingtimes/activity_domain.py +10 -0
  191. office365/outlook/calendar/meetingtimes/suggestion.py +1 -1
  192. office365/outlook/calendar/meetingtimes/time_constraint.py +18 -0
  193. office365/outlook/calendar/permissions/__init__.py +0 -0
  194. office365/outlook/calendar/permissions/collection.py +24 -0
  195. office365/outlook/calendar/{permission.py → permissions/permission.py} +35 -2
  196. office365/outlook/calendar/place.py +7 -0
  197. office365/outlook/calendar/role_type.py +17 -0
  198. office365/outlook/calendar/schedule/information.py +5 -4
  199. office365/outlook/calendar/schedule/item.py +20 -1
  200. office365/outlook/calendar/sharing_message.py +2 -2
  201. office365/outlook/calendar/time_zone_base.py +3 -0
  202. office365/outlook/calendar/working_hours.py +17 -1
  203. office365/outlook/contacts/collection.py +39 -0
  204. office365/outlook/contacts/contact.py +21 -11
  205. office365/outlook/geo_coordinates.py +20 -0
  206. office365/outlook/item.py +5 -4
  207. office365/outlook/locale_info.py +3 -0
  208. office365/outlook/mail/automatic_replies_setting.py +14 -0
  209. office365/outlook/mail/folders/folder.py +52 -3
  210. office365/outlook/mail/folders/search.py +11 -0
  211. office365/outlook/mail/importance.py +1 -0
  212. office365/outlook/mail/item_body.py +3 -0
  213. office365/outlook/mail/location.py +27 -2
  214. office365/outlook/mail/location_constraint_item.py +5 -0
  215. office365/outlook/mail/mailbox_settings.py +13 -1
  216. office365/outlook/mail/messages/collection.py +7 -0
  217. office365/outlook/mail/messages/followup_flag.py +21 -0
  218. office365/outlook/mail/messages/internet_header.py +16 -0
  219. office365/outlook/mail/messages/message.py +184 -6
  220. office365/outlook/mail/messages/rules/__init__.py +0 -0
  221. office365/outlook/mail/messages/rules/actions.py +38 -0
  222. office365/outlook/mail/messages/rules/predicates.py +5 -0
  223. office365/outlook/mail/messages/rules/rule.py +32 -0
  224. office365/outlook/mail/patterned_recurrence.py +14 -1
  225. office365/outlook/mail/physical_address.py +5 -1
  226. office365/outlook/mail/recipient.py +3 -0
  227. office365/outlook/mail/recurrence_pattern.py +18 -1
  228. office365/outlook/mail/recurrence_range.py +16 -2
  229. office365/outlook/timezone_information.py +3 -0
  230. office365/reports/root.py +28 -1
  231. office365/reports/security/__init__.py +0 -0
  232. office365/reports/security/root.py +21 -0
  233. office365/reports/userregistration/__init__.py +0 -0
  234. office365/reports/userregistration/method_count.py +17 -0
  235. office365/reports/userregistration/method_summary.py +21 -0
  236. office365/runtime/auth/authentication_context.py +123 -25
  237. office365/runtime/auth/client_credential.py +2 -2
  238. office365/runtime/auth/providers/acs_token_provider.py +6 -3
  239. office365/runtime/auth/providers/saml_token_provider.py +10 -7
  240. office365/runtime/auth/token_response.py +3 -3
  241. office365/runtime/client_object_collection.py +12 -7
  242. office365/runtime/client_result.py +9 -0
  243. office365/runtime/client_runtime_context.py +10 -8
  244. office365/runtime/http/request_options.py +2 -1
  245. office365/runtime/odata/request.py +4 -4
  246. office365/runtime/paths/appid.py +2 -1
  247. office365/runtime/paths/entity.py +2 -2
  248. office365/{sharepoint/internal/paths/entity.py → runtime/paths/key.py} +5 -3
  249. office365/runtime/paths/resource_path.py +3 -0
  250. office365/runtime/types/event_handler.py +6 -0
  251. office365/search/external/__init__.py +0 -0
  252. office365/search/external/configuration.py +8 -0
  253. office365/search/external/connection.py +27 -0
  254. office365/{external → search/external}/external.py +1 -1
  255. office365/search/external/search_settings.py +5 -0
  256. office365/search/query.py +3 -1
  257. office365/search/request.py +3 -1
  258. office365/search/sharepoint_onedrive_options.py +3 -0
  259. office365/search/sort_property.py +9 -0
  260. office365/sharepoint/activities/client_request.py +4 -1
  261. office365/sharepoint/activities/logger.py +25 -0
  262. office365/sharepoint/activities/revision_info.py +9 -0
  263. office365/sharepoint/addtoonedrive/mount_point.py +25 -0
  264. office365/sharepoint/addtoonedrive/mounted_folder_info.py +5 -0
  265. office365/sharepoint/alerts/alert.py +31 -0
  266. office365/sharepoint/apps/license_collection.py +1 -2
  267. office365/sharepoint/changes/item.py +14 -0
  268. office365/sharepoint/client_context.py +91 -30
  269. office365/sharepoint/clientsidecomponent/component_context_info.py +7 -0
  270. office365/sharepoint/clientsidecomponent/identifier.py +3 -0
  271. office365/sharepoint/compliance/tag_info.py +17 -0
  272. office365/sharepoint/contenttypes/collection.py +6 -7
  273. office365/sharepoint/contenttypes/content_type.py +49 -1
  274. office365/sharepoint/contenttypes/fieldlinks/collection.py +5 -6
  275. office365/sharepoint/features/known_list.py +2 -0
  276. office365/sharepoint/fields/collection.py +70 -39
  277. office365/sharepoint/fields/computed.py +5 -2
  278. office365/sharepoint/fields/creation_information.py +5 -4
  279. office365/sharepoint/fields/field.py +73 -15
  280. office365/sharepoint/fields/user.py +3 -3
  281. office365/sharepoint/files/checked_out_file.py +3 -2
  282. office365/sharepoint/files/file.py +9 -4
  283. office365/sharepoint/files/versions/version.py +7 -9
  284. office365/sharepoint/folders/collection.py +2 -2
  285. office365/sharepoint/folders/coloring.py +39 -0
  286. office365/sharepoint/folders/coloring_information.py +15 -0
  287. office365/sharepoint/folders/folder.py +21 -10
  288. office365/sharepoint/forms/customization.py +8 -0
  289. office365/sharepoint/listitems/listitem.py +29 -10
  290. office365/sharepoint/lists/bloom_filter.py +0 -1
  291. office365/sharepoint/lists/creation_information.py +18 -4
  292. office365/sharepoint/lists/list.py +203 -27
  293. office365/sharepoint/lists/render_data_parameters.py +21 -1
  294. office365/sharepoint/lists/template_type.py +10 -0
  295. office365/sharepoint/navigation/configured_metadata_items.py +25 -1
  296. office365/sharepoint/navigation/metadata_settings.py +6 -4
  297. office365/sharepoint/permissions/irm/file_settings.py +43 -0
  298. office365/sharepoint/permissions/securable_object.py +5 -6
  299. office365/sharepoint/portal/sites/manager.py +5 -6
  300. office365/sharepoint/portal/userprofiles/documents_shared_with_group.py +3 -0
  301. office365/sharepoint/publishing/base_custom_property.py +8 -0
  302. office365/sharepoint/publishing/navigation/structural_navigation_cache_wrapper.py +8 -0
  303. office365/sharepoint/publishing/pagecopywithassets/__init__.py +0 -0
  304. office365/sharepoint/publishing/pagecopywithassets/response.py +8 -0
  305. office365/sharepoint/publishing/pages/campaign_publication.py +7 -0
  306. office365/sharepoint/publishing/pages/collection.py +1 -1
  307. office365/sharepoint/publishing/pages/page.py +4 -1
  308. office365/sharepoint/publishing/pages/reposts/metadata.py +8 -0
  309. office365/sharepoint/publishing/personmagazine/person_magazine.py +4 -1
  310. office365/sharepoint/search/administration/tenant_crawl_versions_info_provider.py +8 -1
  311. office365/sharepoint/search/query/auto_completion_match.py +3 -0
  312. office365/sharepoint/search/query/property_value.py +18 -0
  313. office365/sharepoint/search/request.py +16 -2
  314. office365/sharepoint/sharing/abilities.py +22 -0
  315. office365/sharepoint/sharing/direct_abilities.py +27 -0
  316. office365/sharepoint/sharing/link_abilities.py +9 -1
  317. office365/sharepoint/sharing/links/data.py +26 -1
  318. office365/sharepoint/sharing/links/info.py +1 -1
  319. office365/sharepoint/sharing/links/partial_success_response.py +5 -0
  320. office365/sharepoint/sharing/links/share_settings.py +24 -1
  321. office365/sharepoint/sharing/object_sharing_information.py +65 -2
  322. office365/sharepoint/sharing/object_sharing_information_user.py +9 -0
  323. office365/sharepoint/sharing/object_sharing_settings.py +17 -4
  324. office365/sharepoint/sharing/principal.py +10 -0
  325. office365/sharepoint/sharing/securable_object_extensions.py +1 -17
  326. office365/sharepoint/sharing/site_sharing_report_helper.py +2 -1
  327. office365/sharepoint/sharing/user_sharing_result.py +18 -8
  328. office365/sharepoint/sitehealth/result.py +10 -0
  329. office365/sharepoint/sites/language.py +11 -1
  330. office365/sharepoint/sites/language_collection.py +1 -0
  331. office365/sharepoint/sites/site.py +42 -7
  332. office365/sharepoint/taxonomy/create_xml_parameters.py +22 -15
  333. office365/sharepoint/taxonomy/field.py +10 -8
  334. office365/sharepoint/taxonomy/groups/collection.py +8 -1
  335. office365/sharepoint/taxonomy/groups/group.py +26 -0
  336. office365/sharepoint/taxonomy/sets/collection.py +15 -0
  337. office365/sharepoint/taxonomy/sets/name.py +23 -0
  338. office365/sharepoint/taxonomy/sets/set.py +16 -1
  339. office365/sharepoint/taxonomy/stores/store.py +0 -8
  340. office365/sharepoint/tenant/administration/audit/search_request_status.py +8 -0
  341. office365/sharepoint/tenant/administration/deny_add_and_customize_pages_status.py +3 -0
  342. office365/sharepoint/tenant/administration/hubsites/permission.py +10 -0
  343. office365/sharepoint/tenant/administration/sites/properties.py +12 -10
  344. office365/sharepoint/tenant/administration/tenant.py +2 -1
  345. office365/sharepoint/tenant/apps/information.py +3 -1
  346. office365/sharepoint/tenant/management/office365_tenant.py +14 -11
  347. office365/sharepoint/types/resource_path.py +3 -1
  348. office365/sharepoint/userprofiles/people_manager.py +0 -2
  349. office365/sharepoint/userprofiles/sharedwithme/document.py +16 -0
  350. office365/sharepoint/userprofiles/sharedwithme/document_user.py +12 -0
  351. office365/sharepoint/userprofiles/sharedwithme/item_collection.py +41 -0
  352. office365/sharepoint/userprofiles/sharedwithme/items.py +18 -1
  353. office365/sharepoint/viva/site_manager.py +14 -0
  354. office365/sharepoint/webhooks/subscription_collection.py +5 -6
  355. office365/sharepoint/webparts/definition.py +1 -1
  356. office365/sharepoint/webparts/webpart.py +18 -4
  357. office365/sharepoint/webs/context_web_information.py +2 -4
  358. office365/sharepoint/webs/web.py +31 -12
  359. office365/sharepoint/workflowservices/manager.py +0 -2
  360. office365/subscriptions/collection.py +42 -0
  361. office365/subscriptions/subscription.py +120 -2
  362. office365/teams/apps/catalog.py +23 -0
  363. office365/teams/associated_info.py +12 -0
  364. office365/teams/channels/channel.py +2 -3
  365. office365/teams/channels/collection.py +1 -1
  366. office365/teams/channels/iIdentity.py +5 -0
  367. office365/teams/chats/chat.py +12 -2
  368. office365/teams/chats/collection.py +1 -2
  369. office365/teams/chats/messages/__init__.py +0 -0
  370. office365/teams/chats/messages/info.py +14 -0
  371. office365/teams/chats/{message.py → messages/message.py} +18 -3
  372. office365/teams/info.py +20 -0
  373. office365/teams/members/aad_user_conversation.py +2 -2
  374. office365/teams/members/conversation_collection.py +3 -3
  375. office365/teams/schedule/change_request.py +4 -2
  376. office365/teams/schedule/change_tracked_entity.py +11 -2
  377. office365/teams/summary.py +15 -0
  378. office365/teams/tabs/configuration.py +12 -1
  379. office365/teams/tabs/tab.py +0 -1
  380. office365/teams/team.py +34 -1
  381. office365/teams/teamwork/__init__.py +0 -0
  382. office365/teams/teamwork/activity_topic.py +5 -0
  383. office365/teams/teamwork/tags/__init__.py +0 -0
  384. office365/teams/teamwork/tags/identity.py +6 -0
  385. office365/teams/teamwork/tags/member.py +5 -0
  386. office365/teams/teamwork/tags/tag.py +15 -0
  387. office365/{directory/security/cases_root.py → teams/viva/employee_experience_user.py} +1 -1
  388. office365/todo/attachments/session.py +34 -0
  389. office365/todo/linked_resource.py +10 -1
  390. office365/todo/tasks/task.py +4 -0
  391. office365/directory/identities/protection_root.py +0 -5
  392. office365/directory/rbac/application.py +0 -18
  393. office365/directory/rbac/unified_role_assignment.py +0 -8
  394. office365/external/connection.py +0 -5
  395. office365/intune/devices/management.py +0 -35
  396. office365/onedrive/internal/queries/download_content.py +0 -26
  397. office365/onedrive/internal/queries/upload_content.py +0 -23
  398. office365/outlook/mail/messages/message_rule.py +0 -15
  399. office365/runtime/auth/providers/oauth_token_provider.py +0 -25
  400. office365/teams/team_info.py +0 -6
  401. {Office365_REST_Python_Client-2.4.2.dist-info → Office365_REST_Python_Client-2.4.4.dist-info}/LICENSE +0 -0
  402. {Office365_REST_Python_Client-2.4.2.dist-info → Office365_REST_Python_Client-2.4.4.dist-info}/WHEEL +0 -0
  403. {Office365_REST_Python_Client-2.4.2.dist-info → Office365_REST_Python_Client-2.4.4.dist-info}/top_level.txt +0 -0
  404. /office365/{directory/rbac → booking}/__init__.py +0 -0
  405. /office365/directory/{roles → protection}/__init__.py +0 -0
  406. /office365/{external → directory/protection/riskyusers}/__init__.py +0 -0
  407. /office365/{teams/messages → directory/rolemanagement}/__init__.py +0 -0
  408. /office365/outlook/calendar/{time_slot.py → meetingtimes/time_slot.py} +0 -0
  409. /office365/teams/chats/{message_attachment.py → messages/attachment.py} +0 -0
  410. /office365/teams/{member_settings.py → members/settings.py} +0 -0
  411. /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
- channel_id = quote(value)
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):
@@ -0,0 +1,5 @@
1
+ from office365.runtime.client_value import ClientValue
2
+
3
+
4
+ class ChannelIdentity(ClientValue):
5
+ """Contains basic identification information about a channel in Microsoft Teams."""
@@ -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.chats.message_attachment import ChatMessageAttachment
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)
@@ -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,8 +7,8 @@ class AadUserConversationMember(ConversationMember):
7
7
 
8
8
  @property
9
9
  def user_id(self):
10
- """The guid of the user.
11
-
10
+ """
11
+ The guid of the user.
12
12
  :rtype: str or None
13
13
  """
14
14
  return self.properties.get("userId", None)
@@ -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, visible_history_start_date_time=None):
10
+ def add(self, user, roles, visible_history_start_datetime=None):
11
11
  """
12
12
  Add a conversationMember.
13
13
 
14
- :param str or office365.directory.users.user.User user: The conversation members that should be added.
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 visible_history_start_date_time:
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
- :param str message:
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', None)
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', None)
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
- pass
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
@@ -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
@@ -0,0 +1,5 @@
1
+ from office365.runtime.client_value import ClientValue
2
+
3
+
4
+ class TeamworkActivityTopic(ClientValue):
5
+ """Represents the topic of an activity feed notification."""
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,5 @@
1
+ from office365.entity import Entity
2
+
3
+
4
+ class TeamworkTagMember(Entity):
5
+ """Represents a user in a team to whom a tag is applied."""
@@ -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
+ """
@@ -1,5 +1,5 @@
1
1
  from office365.entity import Entity
2
2
 
3
3
 
4
- class CasesRoot(Entity):
4
+ class EmployeeExperienceUser(Entity):
5
5
  """"""
@@ -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)
@@ -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,5 +0,0 @@
1
- from office365.entity import Entity
2
-
3
-
4
- class IdentityProtectionRoot(Entity):
5
- """Container for the navigation properties for Microsoft Graph identity protection resources."""
@@ -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
- """
@@ -1,5 +0,0 @@
1
- from office365.entity import Entity
2
-
3
-
4
- class ExternalConnection(Entity):
5
- """A logical container to add content from an external source into Microsoft Graph."""
@@ -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)