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,10 @@
1
+ class ActivityDomain:
2
+ """"""
3
+
4
+ unknown = "0"
5
+
6
+ work = "1"
7
+
8
+ personal = "2"
9
+
10
+ unrestricted = "3"
@@ -1,5 +1,5 @@
1
1
  from office365.outlook.calendar.attendees.availability import AttendeeAvailability
2
- from office365.outlook.calendar.time_slot import TimeSlot
2
+ from office365.outlook.calendar.meetingtimes.time_slot import TimeSlot
3
3
  from office365.outlook.mail.location import Location
4
4
  from office365.runtime.client_value import ClientValue
5
5
  from office365.runtime.client_value_collection import ClientValueCollection
@@ -0,0 +1,18 @@
1
+ from office365.outlook.calendar.meetingtimes.time_slot import TimeSlot
2
+ from office365.runtime.client_value import ClientValue
3
+ from office365.runtime.client_value_collection import ClientValueCollection
4
+
5
+
6
+ class TimeConstraint(ClientValue):
7
+ """Restricts meeting time suggestions to certain hours and days of the week according to the specified nature of
8
+ activity and open time slots."""
9
+
10
+ def __init__(self, activity_domain=None, time_slots=None):
11
+ """
12
+ :param str activity_domain: The nature of the activity, optional
13
+ :param list[TimeSlot] time_slots: An array of time periods
14
+ """
15
+ self.activityDomain = activity_domain
16
+ self.timeSlots = ClientValueCollection(TimeSlot, time_slots)
17
+
18
+
File without changes
@@ -0,0 +1,24 @@
1
+ from office365.entity_collection import EntityCollection
2
+ from office365.outlook.calendar.email_address import EmailAddress
3
+ from office365.outlook.calendar.permissions.permission import CalendarPermission
4
+
5
+
6
+ class CalendarPermissionCollection(EntityCollection):
7
+
8
+ def __init__(self, context, resource_path=None):
9
+ super(CalendarPermissionCollection, self).__init__(context, CalendarPermission, resource_path)
10
+
11
+ def add(self, email_address, role):
12
+ """
13
+ Create a calendarPermission resource to specify the identity and role of the user with whom the specified
14
+ calendar is being shared or delegated.
15
+ :param str or EmailAddress email_address: Represents a sharee or delegate who has access to the calendar.
16
+ :param str role: Permission level of the calendar sharee or delegate
17
+ """
18
+ if not isinstance(email_address, EmailAddress):
19
+ email_address = EmailAddress(email_address)
20
+ props = {
21
+ "emailAddress": email_address,
22
+ "role": str(role)
23
+ }
24
+ return super(CalendarPermissionCollection, self).add(**props)
@@ -1,5 +1,6 @@
1
1
  from office365.entity import Entity
2
2
  from office365.outlook.calendar.email_address import EmailAddress
3
+ from office365.runtime.types.collections import StringCollection
3
4
 
4
5
 
5
6
  class CalendarPermission(Entity):
@@ -15,9 +16,17 @@ class CalendarPermission(Entity):
15
16
  the permissions of a sharee or delegate. You cannot update the allowedRoles, emailAddress, isInsideOrganization,
16
17
  or isRemovable property. To change these properties, you should delete the corresponding calendarPermission
17
18
  object and create another sharee or delegate in an Outlook client.
18
-
19
19
  """
20
20
 
21
+ @property
22
+ def allowed_roles(self):
23
+ """
24
+ List of allowed sharing or delegating permission levels for the calendar.
25
+ Possible values are: none, freeBusyRead, limitedRead, read, write, delegateWithoutPrivateEventAccess,
26
+ delegateWithPrivateEventAccess, custom.
27
+ """
28
+ return self.properties.get("allowedRoles", StringCollection())
29
+
21
30
  @property
22
31
  def email_address(self):
23
32
  """
@@ -26,13 +35,37 @@ class CalendarPermission(Entity):
26
35
  """
27
36
  return self.properties.get("emailAddress", EmailAddress())
28
37
 
38
+ @property
39
+ def is_inside_organization(self):
40
+ """
41
+ True if the user in context (sharee or delegate) is inside the same organization as the calendar owner.
42
+ :rtype: bool or None
43
+ """
44
+ return self.properties.get("isInsideOrganization", None)
45
+
29
46
  @property
30
47
  def is_removable(self):
31
48
  """
32
49
  True if the user can be removed from the list of sharees or delegates for the specified calendar,
33
50
  false otherwise. The "My organization" user determines the permissions other people within your organization
34
51
  have to the given calendar. You cannot remove "My organization" as a sharee to a calendar.
35
-
36
52
  :rtype: bool or None
37
53
  """
38
54
  return self.properties.get("isRemovable", None)
55
+
56
+ @property
57
+ def role(self):
58
+ """
59
+ Current permission level of the calendar sharee or delegate.
60
+ :rtype: str or None
61
+ """
62
+ return self.properties.get("role", None)
63
+
64
+ def get_property(self, name, default_value=None):
65
+ if default_value is None:
66
+ property_mapping = {
67
+ "allowedRoles": self.allowed_roles,
68
+ "emailAddress": self.email_address
69
+ }
70
+ default_value = property_mapping.get(name, None)
71
+ return super(CalendarPermission, self).get_property(name, default_value)
@@ -6,6 +6,13 @@ class Place(Entity):
6
6
  """Represents basic location attributes such as name, physical address, and geographic coordinates.
7
7
  This is the base type for richer location types such as room and roomList."""
8
8
 
9
+ @property
10
+ def display_name(self):
11
+ """The name associated with the place.
12
+ :rtype: str or None
13
+ """
14
+ return self.properties.get("displayName", None)
15
+
9
16
  @property
10
17
  def address(self):
11
18
  """The street address of the place."""
@@ -11,3 +11,20 @@ class CalendarRoleType:
11
11
 
12
12
  limitedRead = 2
13
13
  """User is a sharee who can view free/busy status, and titles and locations of the events on the calendar."""
14
+
15
+ read = 3
16
+ """User is a sharee who can view all the details of the events on the calendar, except for the owner's private
17
+ events."""
18
+
19
+ write = 4
20
+ """User is a sharee who can view all the details (except for private events) and edit events on the calendar."""
21
+
22
+ delegateWithoutPrivateEventAccess = 5
23
+ """User is a delegate who has write access but cannot view information of the owner's private events on the
24
+ calendar."""
25
+
26
+ delegateWithPrivateEventAccess = 6
27
+ """User is a delegate who has write access and can view information of the owner's private events on the calendar"""
28
+
29
+ custom = 7
30
+ """User has custom permissions to the calendar."""
@@ -8,7 +8,8 @@ class ScheduleInformation(ClientValue):
8
8
  """Represents the availability of a user, distribution list, or resource (room or equipment)
9
9
  for a specified time period."""
10
10
 
11
- def __init__(self, schedule_id=None, schedule_items=None, availability_view=None, error=None, working_hours=None):
11
+ def __init__(self, schedule_id=None, schedule_items=None, availability_view=None, error=None,
12
+ working_hours=WorkingHours()):
12
13
  """
13
14
 
14
15
  :param WorkingHours working_hours: The days of the week and hours in a specific time zone that the user works.
@@ -18,14 +19,14 @@ class ScheduleInformation(ClientValue):
18
19
  :param str availability_view: Represents a merged view of availability of all the items in scheduleItems.
19
20
  The view consists of time slots. Availability during each time slot is indicated with:
20
21
  0= free, 1= tentative, 2= busy, 3= out of office, 4= working elsewhere.
21
- :param ClientValueCollection(ScheduleItem) schedule_items: Contains the items that describe the availability
22
+ :param list[ScheduleItem] schedule_items: Contains the items that describe the availability
22
23
  of the user or resource.
23
24
  :param str schedule_id: An SMTP address of the user, distribution list, or resource, identifying an instance
24
25
  of scheduleInformation.
25
26
  """
26
27
  super(ScheduleInformation, self).__init__()
27
- self.scheduleItems = ClientValueCollection(ScheduleItem) if schedule_items is None else schedule_items
28
+ self.scheduleItems = ClientValueCollection(ScheduleItem, schedule_items)
28
29
  self.scheduleId = schedule_id
29
30
  self.availabilityView = availability_view
30
31
  self.error = error
31
- self.workingHours = WorkingHours() if working_hours is None else working_hours
32
+ self.workingHours = working_hours
@@ -1,3 +1,4 @@
1
+ from office365.outlook.calendar.dateTimeTimeZone import DateTimeTimeZone
1
2
  from office365.runtime.client_value import ClientValue
2
3
 
3
4
 
@@ -6,4 +7,22 @@ class ScheduleItem(ClientValue):
6
7
  An item that describes the availability of a user corresponding to an actual event on the user's default calendar.
7
8
  This item applies to a resource (room or equipment) as well.
8
9
  """
9
- pass
10
+
11
+ def __init__(self, start=DateTimeTimeZone(), end=DateTimeTimeZone(),
12
+ location=None, is_private=None, subject=None, status=None):
13
+ """
14
+ :param DateTimeTimeZone start: The date, time, and time zone that the corresponding event starts.
15
+ :param DateTimeTimeZone end: The date, time, and time zone that the corresponding event ends.
16
+ :param str location: The location where the corresponding event is held or attended from. Optional.
17
+ :param bool is_private: The sensitivity of the corresponding event. True if the event is marked private,
18
+ false otherwise. Optional.
19
+ :param str subject: The corresponding event's subject line. Optional.
20
+ :param str status: The availability status of the user or resource during the corresponding event.
21
+ The possible values are: free, tentative, busy, oof, workingElsewhere, unknown.
22
+ """
23
+ self.start = start
24
+ self.end = end
25
+ self.location = location
26
+ self.isPrivate = is_private
27
+ self.subject = subject
28
+ self.status = status
@@ -1,5 +1,5 @@
1
- from office365.entity import Entity
1
+ from office365.outlook.mail.messages.message import Message
2
2
 
3
3
 
4
- class CalendarSharingMessage(Entity):
4
+ class CalendarSharingMessage(Message):
5
5
  """"""
@@ -10,3 +10,6 @@ class TimeZoneBase(ClientValue):
10
10
  "Hawaii-Aleutian Standard Time", or "Customized Time Zone" for a custom time zone.
11
11
  """
12
12
  self.name = name
13
+
14
+ def __repr__(self):
15
+ return self.name
@@ -1,14 +1,30 @@
1
1
  from office365.outlook.calendar.time_zone_base import TimeZoneBase
2
2
  from office365.runtime.client_value import ClientValue
3
+ from office365.runtime.types.collections import StringCollection
3
4
 
4
5
 
5
6
  class WorkingHours(ClientValue):
6
7
  """
7
8
  Represents the days of the week and hours in a specific time zone that the user works.
9
+
10
+ Having access to a user's working hours is useful in scenarios that handle activity or resource planning.
11
+ You can get and set the working hours of a user as part of the user's mailbox settings.
12
+
13
+ You can choose to set a time zone for your working hours differently from the time zone you have set on your
14
+ Outlook client. This can be useful in cases like when you travel to a different time zone than you usually work in.
15
+ You can set the Outlook client to the destination time zone so that Outlook time values are displayed in local
16
+ time while you are there. When other people request work meetings with you in your usual place of work,
17
+ they can still respect your working hours in the appropriate time zone.
8
18
  """
9
19
 
10
- def __init__(self, timezone=TimeZoneBase()):
20
+ def __init__(self, days_of_week=None, end_time=None, start_time=None, timezone=TimeZoneBase()):
11
21
  """
22
+ :param list[str] days_of_week: The days of the week on which the user works.
12
23
  :param TimeZoneBase timezone: The time zone to which the working hours apply.
24
+ :param str end_time: The time of the day that the user stops working.
25
+ :param str start_time: The time of the day that the user starts working.
13
26
  """
27
+ self.daysOfWeek = StringCollection(days_of_week)
14
28
  self.timeZone = timezone
29
+ self.endTime = end_time
30
+ self.startTime = start_time
@@ -0,0 +1,39 @@
1
+ from office365.delta_collection import DeltaCollection
2
+ from office365.outlook.calendar.email_address import EmailAddress
3
+ from office365.outlook.contacts.contact import Contact
4
+ from office365.runtime.client_value_collection import ClientValueCollection
5
+ from office365.runtime.types.collections import StringCollection
6
+
7
+
8
+ class ContactCollection(DeltaCollection):
9
+
10
+ def __init__(self, context, resource_path=None):
11
+ super(ContactCollection, self).__init__(context, Contact, resource_path)
12
+
13
+ def add(self, given_name, surname, email_address=None, business_phone=None, **kwargs):
14
+ """
15
+ Add a contact to the root Contacts folder or to the contacts endpoint of another contact folder.
16
+ :param str given_name: The contact's given name.
17
+ :param str surname: The contact's surname.
18
+ :param str email_address: Default email address
19
+ :param str business_phone: Default contact's business phone number.
20
+ :rtype: Contact
21
+ """
22
+ def _create_email_address(address):
23
+ return EmailAddress(address, "{0} {1}".format(given_name, surname))
24
+
25
+ kwargs["givenName"] = given_name
26
+ kwargs["surname"] = surname
27
+ if email_address:
28
+ kwargs["emailAddresses"] = ClientValueCollection(EmailAddress,
29
+ [_create_email_address(email_address)])
30
+ if business_phone:
31
+ kwargs["businessPhones"] = StringCollection([business_phone])
32
+ return super(ContactCollection, self).add(**kwargs)
33
+
34
+ def __getitem__(self, key):
35
+ """
36
+ :param int or str key: Contact identifier or index
37
+ :rtype: Contact
38
+ """
39
+ return super(ContactCollection, self).__getitem__(key)
@@ -8,16 +8,32 @@ from office365.outlook.item import OutlookItem
8
8
  from office365.outlook.mail.physical_address import PhysicalAddress
9
9
  from office365.runtime.client_value_collection import ClientValueCollection
10
10
  from office365.runtime.paths.resource_path import ResourcePath
11
+ from office365.runtime.types.collections import StringCollection
11
12
 
12
13
 
13
14
  class Contact(OutlookItem):
14
15
  """User's contact."""
15
16
 
17
+ @property
18
+ def business_phones(self):
19
+ """The contact's business phone numbers."""
20
+ return self.properties.setdefault("businessPhones", StringCollection())
21
+
22
+ @property
23
+ def display_name(self):
24
+ """
25
+ The contact's display name. You can specify the display name in a create or update operation.
26
+ Note that later updates to other properties may cause an automatically generated value to overwrite the
27
+ displayName value you have specified. To preserve a pre-existing value, always include it as displayName
28
+ in an update operation.
29
+ :rtype: str or None
30
+ """
31
+ return self.properties.get('displayName', None)
32
+
16
33
  @property
17
34
  def manager(self):
18
35
  """
19
36
  The name of the contact's manager.
20
-
21
37
  :rtype: str or None
22
38
  """
23
39
  return self.properties.get("manager", None)
@@ -26,7 +42,6 @@ class Contact(OutlookItem):
26
42
  def manager(self, value):
27
43
  """
28
44
  Sets name of the contact's manager.
29
-
30
45
  :type value: str
31
46
  """
32
47
  self.set_property("manager", value)
@@ -49,20 +64,13 @@ class Contact(OutlookItem):
49
64
 
50
65
  @property
51
66
  def home_address(self):
67
+ """The contact's home address."""
52
68
  return self.properties.get("homeAddress", PhysicalAddress())
53
69
 
54
70
  @property
55
71
  def email_addresses(self):
56
72
  """The contact's email addresses."""
57
- return self.properties.get("emailAddresses", ClientValueCollection(EmailAddress))
58
-
59
- @email_addresses.setter
60
- def email_addresses(self, value):
61
- """Sets contact's email addresses.
62
-
63
- :type value: list[str]
64
- """
65
- self.set_property("emailAddresses", value)
73
+ return self.properties.setdefault("emailAddresses", ClientValueCollection(EmailAddress))
66
74
 
67
75
  @property
68
76
  def extensions(self):
@@ -94,7 +102,9 @@ class Contact(OutlookItem):
94
102
  def get_property(self, name, default_value=None):
95
103
  if default_value is None:
96
104
  property_mapping = {
105
+ "businessPhones": self.business_phones,
97
106
  "emailAddresses": self.email_addresses,
107
+ "homeAddress": self.home_address,
98
108
  "multiValueExtendedProperties": self.multi_value_extended_properties,
99
109
  "singleValueExtendedProperties": self.single_value_extended_properties
100
110
  }
@@ -0,0 +1,20 @@
1
+ from office365.runtime.client_value import ClientValue
2
+
3
+
4
+ class OutlookGeoCoordinates(ClientValue):
5
+ """The geographic coordinates, elevation, and their degree of accuracy for a physical location."""
6
+
7
+ def __init__(self, accuracy=None, altitude=None, altitude_accuracy=None, latitude=None, longitude = None):
8
+ """
9
+ :param float accuracy: The accuracy of the latitude and longitude. As an example, the accuracy can be measured
10
+ in meters, such as the latitude and longitude are accurate to within 50 meters.
11
+ :param float altitude: The altitude of the location.
12
+ :param float altitude_accuracy: The accuracy of the altitude.
13
+ :param float latitude: The latitude of the location.
14
+ :param float longitude: The longitude of the location.
15
+ """
16
+ self.accuracy = accuracy
17
+ self.altitude = altitude
18
+ self.altitudeAccuracy = altitude_accuracy
19
+ self.latitude = latitude
20
+ self.longitude = longitude
office365/outlook/item.py CHANGED
@@ -8,8 +8,11 @@ class OutlookItem(Entity):
8
8
 
9
9
  @property
10
10
  def change_key(self):
11
- """Identifies the version of the item. Every time the item is changed, changeKey changes as well.
12
- This allows Exchange to apply changes to the correct version of the object. """
11
+ """
12
+ Identifies the version of the item. Every time the item is changed, changeKey changes as well.
13
+ This allows Exchange to apply changes to the correct version of the object.
14
+ :rtype: str
15
+ """
13
16
  return self.properties.get('ChangeKey', None)
14
17
 
15
18
  @property
@@ -43,5 +46,3 @@ class OutlookItem(Entity):
43
46
  }
44
47
  default_value = property_mapping.get(name, None)
45
48
  return super(OutlookItem, self).get_property(name, default_value)
46
-
47
-
@@ -14,3 +14,6 @@ class LocaleInfo(ClientValue):
14
14
  """
15
15
  self.displayName = display_name
16
16
  self.locale = locale
17
+
18
+ def __repr__(self):
19
+ return self.locale
@@ -6,3 +6,17 @@ class AutomaticRepliesSetting(ClientValue):
6
6
  Configuration settings to automatically notify the sender of an incoming email with a message from the signed-in
7
7
  user. For example, an automatic reply to notify that the signed-in user is unavailable to respond to emails.
8
8
  """
9
+
10
+ def __init__(self, external_audience=None, external_reply_message=None, internal_reply_message=None):
11
+ """
12
+ :param str external_audience: The set of audience external to the signed-in user's organization who will
13
+ receive the ExternalReplyMessage, if Status is AlwaysEnabled or Scheduled.
14
+ The possible values are: none, contactsOnly, all.
15
+ :param str external_reply_message: The automatic reply to send to the specified external audience, if Status
16
+ is AlwaysEnabled or Scheduled.
17
+ :param str internal_reply_message: The automatic reply to send to the audience internal
18
+ to the signed-in user's organization, if Status is AlwaysEnabled or Scheduled.
19
+ """
20
+ self.externalAudience = external_audience
21
+ self.externalReplyMessage = external_reply_message
22
+ self.internalReplyMessage = internal_reply_message
@@ -3,28 +3,76 @@ from office365.directory.extensions.extended_property import SingleValueLegacyEx
3
3
  from office365.entity import Entity
4
4
  from office365.entity_collection import EntityCollection
5
5
  from office365.outlook.mail.messages.collection import MessageCollection
6
- from office365.outlook.mail.messages.message_rule import MessageRule
6
+ from office365.outlook.mail.messages.rules.rule import MessageRule
7
7
  from office365.runtime.paths.resource_path import ResourcePath
8
+ from office365.runtime.queries.service_operation import ServiceOperationQuery
8
9
 
9
10
 
10
11
  class MailFolder(Entity):
11
12
  """A mail folder in a user's mailbox, such as Inbox and Drafts. Mail folders can contain messages,
12
13
  other Outlook items, and child mail folders."""
13
14
 
15
+ def copy(self, destination_id):
16
+ """
17
+ Copy a mailfolder and its contents to another mailfolder.
18
+ :param str destination_id: The folder ID, or a well-known folder name. For a list of supported well-known folder
19
+ names, see mailFolder resource type.
20
+ """
21
+ return_type = MailFolder(self.context)
22
+ payload = {"DestinationId": destination_id}
23
+ qry = ServiceOperationQuery(self, "copy", None, payload, None, return_type)
24
+ self.context.add_query(qry)
25
+ return return_type
26
+
27
+ @property
28
+ def child_folder_count(self):
29
+ """
30
+ The number of immediate child mailFolders in the current mailFolder.
31
+ :rtype: int or None
32
+ """
33
+ return self.properties.get("childFolderCount", None)
34
+
14
35
  @property
15
36
  def display_name(self):
16
37
  """
17
38
  The name of the Mail folder
18
-
19
39
  :rtype: str or None
20
40
  """
21
41
  return self.properties.get("displayName", None)
22
42
 
43
+ @property
44
+ def is_hidden(self):
45
+ """
46
+ Indicates whether the mailFolder is hidden. This property can be set only when creating the folder.
47
+ Find more information in Hidden mail folders.
48
+ :rtype: bool or None
49
+ """
50
+ return self.properties.get("isHidden", None)
51
+
52
+ @property
53
+ def parent_folder_id(self):
54
+ """
55
+ The unique identifier for the mailFolder's parent mailFolder.
56
+ :rtype: str or None
57
+ """
58
+ return self.properties.get('parentFolderId', None)
59
+
23
60
  @property
24
61
  def total_item_count(self):
25
- """The number of items in the mailFolder."""
62
+ """
63
+ The number of items in the mailFolder.
64
+ :rtype: int
65
+ """
26
66
  return self.properties.get("totalItemCount", None)
27
67
 
68
+ @property
69
+ def unread_item_count(self):
70
+ """
71
+ The number of items in the mailFolder marked as unread.
72
+ :rtype: int
73
+ """
74
+ return self.properties.get("unreadItemCount", None)
75
+
28
76
  @property
29
77
  def child_folders(self):
30
78
  """The collection of child folders in the mailFolder. """
@@ -34,6 +82,7 @@ class MailFolder(Entity):
34
82
 
35
83
  @property
36
84
  def message_rules(self):
85
+ """"""
37
86
  return self.properties.get('messageRules',
38
87
  EntityCollection(self.context, MessageRule,
39
88
  ResourcePath("messageRules", self.resource_path)))
@@ -0,0 +1,11 @@
1
+ from office365.outlook.mail.folders.folder import MailFolder
2
+
3
+
4
+ class MailSearchFolder(MailFolder):
5
+ """
6
+ A mailSearchFolder is a virtual folder in the user's mailbox that contains all the email items
7
+ matching specified search criteria. mailSearchFolder inherits from mailFolder.
8
+ Search folders can be created in any folder in a user's Exchange Online mailbox. However, for a search folder
9
+ to appear in Outlook, Outlook for the web, or Outlook Live, the folder must be created in the
10
+ WellKnownFolderName.SearchFolders folder.
11
+ """
@@ -1,4 +1,5 @@
1
1
  class Importance:
2
+ """The importance of the message"""
2
3
  def __init__(self):
3
4
  pass
4
5
 
@@ -13,3 +13,6 @@ class ItemBody(ClientValue):
13
13
  super(ItemBody, self).__init__()
14
14
  self.content = content
15
15
  self.contentType = content_type
16
+
17
+ def __repr__(self):
18
+ return self.content
@@ -1,12 +1,37 @@
1
+ from office365.outlook.geo_coordinates import OutlookGeoCoordinates
2
+ from office365.outlook.mail.physical_address import PhysicalAddress
1
3
  from office365.runtime.client_value import ClientValue
4
+ from office365.runtime.client_value_collection import ClientValueCollection
2
5
 
3
6
 
4
7
  class Location(ClientValue):
5
- """Represents location information of an event."""
8
+ """
9
+ Represents location information of an event.
6
10
 
7
- def __init__(self, display_name=None):
11
+ There are multiple ways to create events in a calendar, for example, through an app using the create event REST API,
12
+ or manually using the Outlook user interface. When you create an event using the user interface, you can specify
13
+ the location as plain text (for example, "Harry's Bar"), or from the rooms list provided by Outlook,
14
+ Bing Autosuggest, or Bing local search.
15
+ """
16
+
17
+ def __init__(self, address=PhysicalAddress(), coordinates=None, display_name=None, location_email_address=None,
18
+ location_type=None, location_uri=None, unique_id=None, unique_id_type=None):
8
19
  """
20
+ :param PhysicalAddress address: The street address of the location.
21
+ :param list[OutlookGeoCoordinates] coordinates:
9
22
  :param str display_name: The name associated with the location.
23
+ :param str location_email_address: Optional email address of the location.
24
+ :param str location_type: The type of location.
25
+ :param str location_uri: Optional URI representing the location.
26
+ :param str unique_id: For internal use only.
27
+ :param str unique_id_type: For internal use only.
10
28
  """
11
29
  super(Location, self).__init__()
30
+ self.address = address
31
+ self.coordinates = ClientValueCollection(OutlookGeoCoordinates, coordinates)
12
32
  self.displayName = display_name
33
+ self.locationEmailAddress = location_email_address
34
+ self.locationType = location_type
35
+ self.locationUri = location_uri
36
+ self.uniqueId = unique_id
37
+ self.uniqueIdType = unique_id_type
@@ -0,0 +1,5 @@
1
+ from office365.outlook.mail.location import Location
2
+
3
+
4
+ class LocationConstraintItem(Location):
5
+ """The conditions stated by a client for the location of a meeting."""
@@ -1,3 +1,5 @@
1
+ from office365.outlook.calendar.working_hours import WorkingHours
2
+ from office365.outlook.locale_info import LocaleInfo
1
3
  from office365.outlook.mail.automatic_replies_setting import AutomaticRepliesSetting
2
4
  from office365.runtime.client_value import ClientValue
3
5
 
@@ -5,14 +7,24 @@ from office365.runtime.client_value import ClientValue
5
7
  class MailboxSettings(ClientValue):
6
8
  """Settings for the primary mailbox of a user."""
7
9
 
8
- def __init__(self, time_format=None, time_zone=None, automatic_replies_setting=AutomaticRepliesSetting()):
10
+ def __init__(self, time_format=None, time_zone=None, automatic_replies_setting=AutomaticRepliesSetting(),
11
+ archive_folder=None, date_format=None, language=LocaleInfo(), working_hours=WorkingHours()):
9
12
  """
10
13
  :param str time_format: The time format for the user's mailbox.
11
14
  :param str time_zone: The default time zone for the user's mailbox.
12
15
  :param AutomaticRepliesSetting automatic_replies_setting: Configuration settings to automatically notify
13
16
  the sender of an incoming email with a message from the signed-in user.
17
+ :param str archive_folder: Folder ID of an archive folder for the user.
18
+ :param str date_format: The date format for the user's mailbox.
19
+ :param LocaleInfo language: The locale information for the user, including the preferred language
20
+ and country/region.
21
+ :param WorkingHours working_hours: The days of the week and hours in a specific time zone that the user works.
14
22
  """
15
23
  super(MailboxSettings, self).__init__()
16
24
  self.timeFormat = time_format
17
25
  self.timeZone = time_zone
18
26
  self.automaticRepliesSetting = automatic_replies_setting
27
+ self.archiveFolder = archive_folder
28
+ self.dateFormat = date_format
29
+ self.language = language
30
+ self.workingHours = working_hours