viewpoint 1.1.1 → 2.0.0

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 (90) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +13 -8
  3. data/lib/ews/calendar_accessors.rb +37 -33
  4. data/lib/ews/connection.rb +151 -124
  5. data/lib/ews/connection_helper.rb +36 -33
  6. data/lib/ews/convert_accessors.rb +58 -54
  7. data/lib/ews/errors.rb +59 -53
  8. data/lib/ews/ews_client.rb +92 -79
  9. data/lib/ews/exceptions/exceptions.rb +61 -61
  10. data/lib/ews/folder_accessors.rb +235 -234
  11. data/lib/ews/impersonation.rb +29 -23
  12. data/lib/ews/item_accessors.rb +215 -213
  13. data/lib/ews/mailbox_accessors.rb +82 -79
  14. data/lib/ews/meeting_accessors.rb +38 -31
  15. data/lib/ews/message_accessors.rb +83 -81
  16. data/lib/ews/push_subscription_accessors.rb +29 -27
  17. data/lib/ews/room_accessors.rb +48 -46
  18. data/lib/ews/roomlist_accessors.rb +47 -45
  19. data/lib/ews/soap/builders/ews_builder.rb +1186 -1188
  20. data/lib/ews/soap/ews_response.rb +68 -73
  21. data/lib/ews/soap/ews_soap_availability_response.rb +57 -57
  22. data/lib/ews/soap/ews_soap_free_busy_response.rb +115 -117
  23. data/lib/ews/soap/ews_soap_response.rb +99 -101
  24. data/lib/ews/soap/ews_soap_room_response.rb +45 -45
  25. data/lib/ews/soap/ews_soap_roomlist_response.rb +45 -46
  26. data/lib/ews/soap/exchange_availability.rb +54 -52
  27. data/lib/ews/soap/exchange_data_services.rb +693 -711
  28. data/lib/ews/soap/exchange_notification.rb +123 -128
  29. data/lib/ews/soap/exchange_synchronization.rb +82 -82
  30. data/lib/ews/soap/exchange_time_zones.rb +41 -44
  31. data/lib/ews/soap/exchange_user_configuration.rb +30 -27
  32. data/lib/ews/soap/exchange_web_service.rb +237 -233
  33. data/lib/ews/soap/parsers/ews_parser.rb +46 -42
  34. data/lib/ews/soap/parsers/ews_sax_document.rb +63 -58
  35. data/lib/ews/soap/response_message.rb +69 -68
  36. data/lib/ews/soap/responses/create_attachment_response_message.rb +45 -45
  37. data/lib/ews/soap/responses/create_item_response_message.rb +26 -25
  38. data/lib/ews/soap/responses/find_item_response_message.rb +76 -78
  39. data/lib/ews/soap/responses/get_events_response_message.rb +52 -51
  40. data/lib/ews/soap/responses/send_notification_response_message.rb +53 -51
  41. data/lib/ews/soap/responses/subscribe_response_message.rb +37 -34
  42. data/lib/ews/soap/responses/sync_folder_hierarchy_response_message.rb +38 -35
  43. data/lib/ews/soap/responses/sync_folder_items_response_message.rb +38 -35
  44. data/lib/ews/soap.rb +27 -26
  45. data/lib/ews/templates/calendar_item.rb +64 -60
  46. data/lib/ews/templates/forward_item.rb +19 -17
  47. data/lib/ews/templates/message.rb +61 -67
  48. data/lib/ews/templates/reply_to_item.rb +20 -18
  49. data/lib/ews/templates/task.rb +55 -55
  50. data/lib/ews/types/attachment.rb +75 -74
  51. data/lib/ews/types/attendee.rb +27 -25
  52. data/lib/ews/types/calendar_folder.rb +60 -44
  53. data/lib/ews/types/calendar_item.rb +134 -116
  54. data/lib/ews/types/contact.rb +11 -5
  55. data/lib/ews/types/contacts_folder.rb +10 -5
  56. data/lib/ews/types/copied_event.rb +47 -48
  57. data/lib/ews/types/created_event.rb +22 -20
  58. data/lib/ews/types/deleted_event.rb +22 -20
  59. data/lib/ews/types/distribution_list.rb +11 -5
  60. data/lib/ews/types/event.rb +60 -59
  61. data/lib/ews/types/export_items_response_message.rb +54 -50
  62. data/lib/ews/types/file_attachment.rb +63 -61
  63. data/lib/ews/types/folder.rb +58 -57
  64. data/lib/ews/types/free_busy_changed_event.rb +22 -20
  65. data/lib/ews/types/generic_folder.rb +348 -372
  66. data/lib/ews/types/item.rb +401 -397
  67. data/lib/ews/types/item_attachment.rb +87 -80
  68. data/lib/ews/types/item_field_uri_map.rb +201 -200
  69. data/lib/ews/types/mailbox_user.rb +146 -154
  70. data/lib/ews/types/meeting_cancellation.rb +11 -5
  71. data/lib/ews/types/meeting_message.rb +11 -5
  72. data/lib/ews/types/meeting_request.rb +11 -5
  73. data/lib/ews/types/meeting_response.rb +11 -5
  74. data/lib/ews/types/message.rb +11 -5
  75. data/lib/ews/types/modified_event.rb +43 -45
  76. data/lib/ews/types/moved_event.rb +47 -48
  77. data/lib/ews/types/new_mail_event.rb +22 -20
  78. data/lib/ews/types/out_of_office.rb +145 -144
  79. data/lib/ews/types/post_item.rb +11 -5
  80. data/lib/ews/types/search_folder.rb +10 -5
  81. data/lib/ews/types/status_event.rb +37 -36
  82. data/lib/ews/types/task.rb +39 -33
  83. data/lib/ews/types/tasks_folder.rb +32 -22
  84. data/lib/ews/types.rb +134 -139
  85. data/lib/viewpoint/logging/config.rb +19 -19
  86. data/lib/viewpoint/logging.rb +23 -17
  87. data/lib/viewpoint/string_utils.rb +31 -32
  88. data/lib/viewpoint.rb +18 -18
  89. metadata +82 -11
  90. data/Changelog.txt +0 -1004
@@ -1,208 +1,209 @@
1
- =begin
2
- This file is part of Viewpoint; the Ruby library for Microsoft Exchange Web Services.
1
+ # frozen_string_literal: true
3
2
 
4
- Copyright © 2011 Dan Wanek <dan.wanek@gmail.com>
5
-
6
- Licensed under the Apache License, Version 2.0 (the "License");
7
- you may not use this file except in compliance with the License.
8
- You may obtain a copy of the License at
9
-
10
- http://www.apache.org/licenses/LICENSE-2.0
11
-
12
- Unless required by applicable law or agreed to in writing, software
13
- distributed under the License is distributed on an "AS IS" BASIS,
14
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
- See the License for the specific language governing permissions and
16
- limitations under the License.
17
- =end
3
+ # This file is part of Viewpoint; the Ruby library for Microsoft Exchange Web Services.
4
+ #
5
+ # Copyright © 2011 Dan Wanek <dan.wanek@gmail.com>
6
+ #
7
+ # Licensed under the Apache License, Version 2.0 (the "License");
8
+ # you may not use this file except in compliance with the License.
9
+ # You may obtain a copy of the License at
10
+ #
11
+ # http://www.apache.org/licenses/LICENSE-2.0
12
+ #
13
+ # Unless required by applicable law or agreed to in writing, software
14
+ # distributed under the License is distributed on an "AS IS" BASIS,
15
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ # See the License for the specific language governing permissions and
17
+ # limitations under the License.
18
18
 
19
19
  module Viewpoint
20
20
  module EWS
21
21
  module ItemFieldUriMap
22
-
23
- FIELD_URIS= {
24
- :folder_id => {:text => 'folder:FolderId', :writable => true},
25
- :total_count => {:text => 'folder:TotalCount', :writable => true},
26
- :child_folder_count => {:text => 'folder:ChildFolderCount', :writable => true},
27
- :folder_class => {:text => 'folder:FolderClass', :writable => true},
28
- :search_parameters => {:text => 'folder:SearchParameters', :writable => true},
29
- :managed_folder_information => {:text => 'folder:ManagedFolderInformation', :writable => true},
30
- :permission_set => {:text => 'folder:PermissionSet', :writable => true},
31
- :sharing_effective_rights => {:text => 'folder:SharingEffectiveRights', :writable => true},
32
- :item_id => {:text => 'item:ItemId', :writable => true},
33
- :parent_folder_id => {:text => 'item:ParentFolderId', :writable => true},
34
- :item_class => {:text => 'item:ItemClass', :writable => true},
35
- :mime_content => {:text => 'item:MimeContent', :writable => true},
36
- :attachments => {:text => 'item:Attachments', :writable => true},
37
- :subject => {:text => 'item:Subject', :writable => true},
38
- :date_time_received => {:text => 'item:DateTimeReceived', :writable => true},
39
- :in_reply_to => {:text => 'item:InReplyTo', :writable => true},
40
- :internet_message_headers => {:text => 'item:InternetMessageHeaders', :writable => true},
41
- :is_associated => {:text => 'item:IsAssociated', :writable => true},
42
- :is_draft => {:text => 'item:IsDraft', :writable => true},
43
- :is_from_me => {:text => 'item:IsFromMe', :writable => true},
44
- :is_resend => {:text => 'item:IsResend', :writable => true},
45
- :is_submitted => {:text => 'item:IsSubmitted', :writable => true},
46
- :is_unmodified => {:text => 'item:IsUnmodified', :writable => true},
47
- :date_time_sent => {:text => 'item:DateTimeSent', :writable => true},
48
- :date_time_created => {:text => 'item:DateTimeCreated', :writable => true},
49
- :body => {:text => 'item:Body', :writable => true},
50
- :response_objects => {:text => 'item:ResponseObjects', :writable => true},
51
- :sensitivity => {:text => 'item:Sensitivity', :writable => true},
52
- :reminder_due_by => {:text => 'item:ReminderDueBy', :writable => true},
53
- :reminder_is_set => {:text => 'item:ReminderIsSet', :writable => true},
54
- :reminder_minutes_before_start => {:text => 'item:ReminderMinutesBeforeStart', :writable => true},
55
- :display_to => {:text => 'item:DisplayTo', :writable => true},
56
- :display_cc => {:text => 'item:DisplayCc', :writable => true},
57
- :effective_rights => {:text => 'item:EffectiveRights', :writable => true},
58
- :last_modified_name => {:text => 'item:LastModifiedName', :writable => true},
59
- :last_modified_time => {:text => 'item:LastModifiedTime', :writable => true},
60
- :unique_body => {:text => 'item:UniqueBody', :writable => true},
61
- :web_client_read_form_query_string => {:text => 'item:WebClientReadFormQueryString', :writable => true},
62
- :web_client_edit_form_query_string => {:text => 'item:WebClientEditFormQueryString', :writable => true},
63
- :conversation_index => {:text => 'message:ConversationIndex', :writable => true},
64
- :internet_message_id => {:text => 'message:InternetMessageId', :writable => true},
65
- :is_read => {:text => 'message:IsRead', :writable => true},
66
- :is_read_receipt_requested => {:text => 'message:IsReadReceiptRequested', :writable => true},
67
- :is_delivery_receipt_requested => {:text => 'message:IsDeliveryReceiptRequested', :writable => true},
68
- :references => {:text => 'message:References', :writable => true},
69
- :reply_to => {:text => 'message:ReplyTo', :writable => true},
70
- :from => {:text => 'message:From', :writable => true},
71
- :sender => {:text => 'message:Sender', :writable => true},
72
- :to_recipients => {:text => 'message:ToRecipients', :writable => true},
73
- :cc_recipients => {:text => 'message:CcRecipients', :writable => true},
74
- :bcc_recipients => {:text => 'message:BccRecipients', :writable => true},
75
- :associated_calendar_item_id => {:text => 'meeting:AssociatedCalendarItemId', :writable => true},
76
- :is_delegated => {:text => 'meeting:IsDelegated', :writable => true},
77
- :is_out_of_date => {:text => 'meeting:IsOutOfDate', :writable => true},
78
- :has_been_processed => {:text => 'meeting:HasBeenProcessed', :writable => true},
79
- :response_type => {:text => 'meeting:ResponseType', :writable => true},
80
- :meeting_request_type => {:text => 'meetingRequest:MeetingRequestType', :writable => true},
81
- :intended_free_busy_status => {:text => 'meetingRequest:IntendedFreeBusyStatus', :writable => true},
82
- :start => {:text => 'calendar:Start', :writable => true},
83
- :end => {:text => 'calendar:End', :writable => true},
84
- :original_start => {:text => 'calendar:OriginalStart', :writable => true},
85
- :is_all_day_event => {:text => 'calendar:IsAllDayEvent', :writable => true},
86
- :legacy_free_busy_status => {:text => 'calendar:LegacyFreeBusyStatus', :writable => true},
87
- :location => {:text => 'calendar:Location', :writable => true},
88
- :when => {:text => 'calendar:When', :writable => true},
89
- :is_meeting => {:text => 'calendar:IsMeeting', :writable => true},
90
- :is_cancelled => {:text => 'calendar:IsCancelled', :writable => true},
91
- :meeting_request_was_sent => {:text => 'calendar:MeetingRequestWasSent', :writable => true},
92
- :is_response_requested => {:text => 'calendar:IsResponseRequested', :writable => true},
93
- :calendar_item_type => {:text => 'calendar:CalendarItemType', :writable => true},
94
- :my_response_type => {:text => 'calendar:MyResponseType', :writable => true},
95
- :organizer => {:text => 'calendar:Organizer', :writable => true},
96
- :required_attendees => {:text => 'calendar:RequiredAttendees', :writable => true},
97
- :optional_attendees => {:text => 'calendar:OptionalAttendees', :writable => true},
98
- :resources => {:text => 'calendar:Resources', :writable => true},
99
- :conflicting_meeting_count => {:text => 'calendar:ConflictingMeetingCount', :writable => true},
100
- :adjacent_meeting_count => {:text => 'calendar:AdjacentMeetingCount', :writable => true},
101
- :conflicting_meetings => {:text => 'calendar:ConflictingMeetings', :writable => true},
102
- :adjacent_meetings => {:text => 'calendar:AdjacentMeetings', :writable => true},
103
- :duration => {:text => 'calendar:Duration', :writable => true},
104
- :time_zone => {:text => 'calendar:TimeZone', :writable => true},
105
- :appointment_reply_time => {:text => 'calendar:AppointmentReplyTime', :writable => true},
106
- :appointment_sequence_number => {:text => 'calendar:AppointmentSequenceNumber', :writable => true},
107
- :appointment_state => {:text => 'calendar:AppointmentState', :writable => true},
108
- :first_occurrence => {:text => 'calendar:FirstOccurrence', :writable => true},
109
- :last_occurrence => {:text => 'calendar:LastOccurrence', :writable => true},
110
- :modified_occurrences => {:text => 'calendar:ModifiedOccurrences', :writable => true},
111
- :deleted_occurrences => {:text => 'calendar:DeletedOccurrences', :writable => true},
112
- :meeting_time_zone => {:text => 'calendar:MeetingTimeZone', :writable => true},
113
- :conference_type => {:text => 'calendar:ConferenceType', :writable => true},
114
- :allow_new_time_proposal => {:text => 'calendar:AllowNewTimeProposal', :writable => true},
115
- :is_online_meeting => {:text => 'calendar:IsOnlineMeeting', :writable => true},
116
- :meeting_workspace_url => {:text => 'calendar:MeetingWorkspaceUrl', :writable => true},
117
- :net_show_url => {:text => 'calendar:NetShowUrl', :writable => true},
118
- :u_i_d => {:text => 'calendar:UID', :writable => true},
119
- :recurrence_id => {:text => 'calendar:RecurrenceId', :writable => true},
120
- :date_time_stamp => {:text => 'calendar:DateTimeStamp', :writable => true},
121
- :start_time_zone => {:text => 'calendar:StartTimeZone', :writable => true},
122
- :end_time_zone => {:text => 'calendar:EndTimeZone', :writable => true},
123
- :actual_work => {:text => 'task:ActualWork', :writable => true},
124
- :assigned_time => {:text => 'task:AssignedTime', :writable => true},
125
- :billing_information => {:text => 'task:BillingInformation', :writable => true},
126
- :change_count => {:text => 'task:ChangeCount', :writable => true},
127
- :complete_date => {:text => 'task:CompleteDate', :writable => true},
128
- :contacts => {:text => 'task:Contacts', :writable => true},
129
- :delegation_state => {:text => 'task:DelegationState', :writable => true},
130
- :delegator => {:text => 'task:Delegator', :writable => true},
131
- :due_date => {:text => 'task:DueDate', :writable => true},
132
- :is_assignment_editable => {:text => 'task:IsAssignmentEditable', :writable => true},
133
- :is_complete => {:text => 'task:IsComplete', :writable => true},
134
- :is_recurring => {:text => 'task:IsRecurring', :writable => true},
135
- :is_team_task => {:text => 'task:IsTeamTask', :writable => true},
136
- :owner => {:text => 'task:Owner', :writable => true},
137
- :percent_complete => {:text => 'task:PercentComplete', :writable => true},
138
- :recurrence => {:text => 'task:Recurrence', :writable => true},
139
- :start_date => {:text => 'task:StartDate', :writable => true},
140
- :status => {:text => 'task:Status', :writable => true},
141
- :status_description => {:text => 'task:StatusDescription', :writable => true},
142
- :total_work => {:text => 'task:TotalWork', :writable => true},
143
- :assistant_name => {:text => 'contacts:AssistantName', :writable => true},
144
- :birthday => {:text => 'contacts:Birthday', :writable => true},
145
- :business_home_page => {:text => 'contacts:BusinessHomePage', :writable => true},
146
- :children => {:text => 'contacts:Children', :writable => true},
147
- :companies => {:text => 'contacts:Companies', :writable => true},
148
- :company_name => {:text => 'contacts:CompanyName', :writable => true},
149
- :complete_name => {:text => 'contacts:CompleteName', :writable => true},
150
- :contact_source => {:text => 'contacts:ContactSource', :writable => true},
151
- :culture => {:text => 'contacts:Culture', :writable => true},
152
- :department => {:text => 'contacts:Department', :writable => true},
153
- :display_name => {:text => 'contacts:DisplayName', :writable => true},
154
- :email_addresses => {:ftype => :indexed_field_uRI, :text => 'contacts:EmailAddress', :writable => true},
155
- :file_as => {:text => 'contacts:FileAs', :writable => true},
156
- :file_as_mapping => {:text => 'contacts:FileAsMapping', :writable => true},
157
- :generation => {:text => 'contacts:Generation', :writable => true},
158
- :given_name => {:text => 'contacts:GivenName', :writable => true},
159
- :has_picture => {:text => 'contacts:HasPicture', :writable => true},
160
- :im_addresses => {:text => 'contacts:ImAddresses', :writable => true},
161
- :initials => {:text => 'contacts:Initials', :writable => true},
162
- :job_title => {:text => 'contacts:JobTitle', :writable => true},
163
- :manager => {:text => 'contacts:Manager', :writable => true},
164
- :middle_name => {:text => 'contacts:MiddleName', :writable => true},
165
- :mileage => {:text => 'contacts:Mileage', :writable => true},
166
- :nickname => {:text => 'contacts:Nickname', :writable => true},
167
- :office_location => {:text => 'contacts:OfficeLocation', :writable => true},
168
- :phone_numbers => {:ftype => :indexed_field_uRI, :text => 'contacts:PhoneNumber', :writable => true},
169
- :physical_addresses => {:text => 'contacts:PhysicalAddresses', :writable => true},
170
- :postal_address_index => {:text => 'contacts:PostalAddressIndex', :writable => true},
171
- :profession => {:text => 'contacts:Profession', :writable => true},
172
- :spouse_name => {:text => 'contacts:SpouseName', :writable => true},
173
- :surname => {:text => 'contacts:Surname', :writable => true},
174
- :wedding_anniversary => {:text => 'contacts:WeddingAnniversary', :writable => true},
175
- :members => {:text => 'distributionlist:Members', :writable => true},
176
- :posted_time => {:text => 'postitem:PostedTime', :writable => true},
177
- :conversation_id => {:text => 'conversation:ConversationId', :writable => true},
178
- :conversation_topic => {:text => 'conversation:ConversationTopic', :writable => true},
179
- :unique_recipients => {:text => 'conversation:UniqueRecipients', :writable => true},
180
- :global_unique_recipients => {:text => 'conversation:GlobalUniqueRecipients', :writable => true},
181
- :unique_unread_senders => {:text => 'conversation:UniqueUnreadSenders', :writable => true},
182
- :global_unique_unread_senders => {:text => 'conversation:GlobalUniqueUnreadSenders', :writable => true},
183
- :unique_senders => {:text => 'conversation:UniqueSenders', :writable => true},
184
- :global_unique_senders => {:text => 'conversation:GlobalUniqueSenders', :writable => true},
185
- :last_delivery_time => {:text => 'conversation:LastDeliveryTime', :writable => true},
186
- :global_last_delivery_time => {:text => 'conversation:GlobalLastDeliveryTime', :writable => true},
187
- :categories => {:text => 'conversation:Categories', :writable => true},
188
- :global_categories => {:text => 'conversation:GlobalCategories', :writable => true},
189
- :flag_status => {:text => 'conversation:FlagStatus', :writable => true},
190
- :global_flag_status => {:text => 'conversation:GlobalFlagStatus', :writable => true},
191
- :has_attachments => {:text => 'conversation:HasAttachments', :writable => true},
192
- :global_has_attachments => {:text => 'conversation:GlobalHasAttachments', :writable => true},
193
- :message_count => {:text => 'conversation:MessageCount', :writable => true},
194
- :global_message_count => {:text => 'conversation:GlobalMessageCount', :writable => true},
195
- :unread_count => {:text => 'conversation:UnreadCount', :writable => true},
196
- :global_unread_count => {:text => 'conversation:GlobalUnreadCount', :writable => true},
197
- :size => {:text => 'conversation:Size', :writable => true},
198
- :global_size => {:text => 'conversation:GlobalSize', :writable => true},
199
- :item_classes => {:text => 'conversation:ItemClasses', :writable => true},
200
- :global_item_classes => {:text => 'conversation:GlobalItemClasses', :writable => true},
201
- :importance => {:text => 'conversation:Importance', :writable => true},
202
- :global_importance => {:text => 'conversation:GlobalImportance', :writable => true},
203
- :item_ids => {:text => 'conversation:ItemIds', :writable => true},
204
- :global_item_ids => {:text => 'conversation:GlobalItemIds', :writable => true}
205
- }
22
+ FIELD_URIS = {
23
+ folder_id: { text: 'folder:FolderId', writable: true },
24
+ total_count: { text: 'folder:TotalCount', writable: true },
25
+ child_folder_count: { text: 'folder:ChildFolderCount', writable: true },
26
+ folder_class: { text: 'folder:FolderClass', writable: true },
27
+ search_parameters: { text: 'folder:SearchParameters', writable: true },
28
+ managed_folder_information: { text: 'folder:ManagedFolderInformation', writable: true },
29
+ permission_set: { text: 'folder:PermissionSet', writable: true },
30
+ sharing_effective_rights: { text: 'folder:SharingEffectiveRights', writable: true },
31
+ item_id: { text: 'item:ItemId', writable: true },
32
+ parent_folder_id: { text: 'item:ParentFolderId', writable: true },
33
+ item_class: { text: 'item:ItemClass', writable: true },
34
+ mime_content: { text: 'item:MimeContent', writable: true },
35
+ attachments: { text: 'item:Attachments', writable: true },
36
+ subject: { text: 'item:Subject', writable: true },
37
+ date_time_received: { text: 'item:DateTimeReceived', writable: true },
38
+ in_reply_to: { text: 'item:InReplyTo', writable: true },
39
+ internet_message_headers: { text: 'item:InternetMessageHeaders', writable: true },
40
+ is_associated: { text: 'item:IsAssociated', writable: true },
41
+ is_draft: { text: 'item:IsDraft', writable: true },
42
+ is_from_me: { text: 'item:IsFromMe', writable: true },
43
+ is_resend: { text: 'item:IsResend', writable: true },
44
+ is_submitted: { text: 'item:IsSubmitted', writable: true },
45
+ is_unmodified: { text: 'item:IsUnmodified', writable: true },
46
+ date_time_sent: { text: 'item:DateTimeSent', writable: true },
47
+ date_time_created: { text: 'item:DateTimeCreated', writable: true },
48
+ body: { text: 'item:Body', writable: true },
49
+ response_objects: { text: 'item:ResponseObjects', writable: true },
50
+ sensitivity: { text: 'item:Sensitivity', writable: true },
51
+ reminder_due_by: { text: 'item:ReminderDueBy', writable: true },
52
+ reminder_is_set: { text: 'item:ReminderIsSet', writable: true },
53
+ reminder_minutes_before_start: { text: 'item:ReminderMinutesBeforeStart', writable: true },
54
+ display_to: { text: 'item:DisplayTo', writable: true },
55
+ display_cc: { text: 'item:DisplayCc', writable: true },
56
+ effective_rights: { text: 'item:EffectiveRights', writable: true },
57
+ last_modified_name: { text: 'item:LastModifiedName', writable: true },
58
+ last_modified_time: { text: 'item:LastModifiedTime', writable: true },
59
+ unique_body: { text: 'item:UniqueBody', writable: true },
60
+ web_client_read_form_query_string: { text: 'item:WebClientReadFormQueryString', writable: true },
61
+ web_client_edit_form_query_string: { text: 'item:WebClientEditFormQueryString', writable: true },
62
+ conversation_index: { text: 'message:ConversationIndex', writable: true },
63
+ internet_message_id: { text: 'message:InternetMessageId', writable: true },
64
+ is_read: { text: 'message:IsRead', writable: true },
65
+ is_read_receipt_requested: { text: 'message:IsReadReceiptRequested', writable: true },
66
+ is_delivery_receipt_requested: { text: 'message:IsDeliveryReceiptRequested', writable: true },
67
+ references: { text: 'message:References', writable: true },
68
+ reply_to: { text: 'message:ReplyTo', writable: true },
69
+ from: { text: 'message:From', writable: true },
70
+ sender: { text: 'message:Sender', writable: true },
71
+ to_recipients: { text: 'message:ToRecipients', writable: true },
72
+ cc_recipients: { text: 'message:CcRecipients', writable: true },
73
+ bcc_recipients: { text: 'message:BccRecipients', writable: true },
74
+ associated_calendar_item_id: { text: 'meeting:AssociatedCalendarItemId', writable: true },
75
+ is_delegated: { text: 'meeting:IsDelegated', writable: true },
76
+ is_out_of_date: { text: 'meeting:IsOutOfDate', writable: true },
77
+ has_been_processed: { text: 'meeting:HasBeenProcessed', writable: true },
78
+ response_type: { text: 'meeting:ResponseType', writable: true },
79
+ meeting_request_type: { text: 'meetingRequest:MeetingRequestType', writable: true },
80
+ intended_free_busy_status: { text: 'meetingRequest:IntendedFreeBusyStatus', writable: true },
81
+ start: { text: 'calendar:Start', writable: true },
82
+ end: { text: 'calendar:End', writable: true },
83
+ original_start: { text: 'calendar:OriginalStart', writable: true },
84
+ is_all_day_event: { text: 'calendar:IsAllDayEvent', writable: true },
85
+ legacy_free_busy_status: { text: 'calendar:LegacyFreeBusyStatus', writable: true },
86
+ location: { text: 'calendar:Location', writable: true },
87
+ when: { text: 'calendar:When', writable: true },
88
+ is_meeting: { text: 'calendar:IsMeeting', writable: true },
89
+ is_cancelled: { text: 'calendar:IsCancelled', writable: true },
90
+ meeting_request_was_sent: { text: 'calendar:MeetingRequestWasSent', writable: true },
91
+ is_response_requested: { text: 'calendar:IsResponseRequested', writable: true },
92
+ calendar_item_type: { text: 'calendar:CalendarItemType', writable: true },
93
+ my_response_type: { text: 'calendar:MyResponseType', writable: true },
94
+ organizer: { text: 'calendar:Organizer', writable: true },
95
+ required_attendees: { text: 'calendar:RequiredAttendees', writable: true },
96
+ optional_attendees: { text: 'calendar:OptionalAttendees', writable: true },
97
+ resources: { text: 'calendar:Resources', writable: true },
98
+ conflicting_meeting_count: { text: 'calendar:ConflictingMeetingCount', writable: true },
99
+ adjacent_meeting_count: { text: 'calendar:AdjacentMeetingCount', writable: true },
100
+ conflicting_meetings: { text: 'calendar:ConflictingMeetings', writable: true },
101
+ adjacent_meetings: { text: 'calendar:AdjacentMeetings', writable: true },
102
+ duration: { text: 'calendar:Duration', writable: true },
103
+ time_zone: { text: 'calendar:TimeZone', writable: true },
104
+ appointment_reply_time: { text: 'calendar:AppointmentReplyTime', writable: true },
105
+ appointment_sequence_number: { text: 'calendar:AppointmentSequenceNumber', writable: true },
106
+ appointment_state: { text: 'calendar:AppointmentState', writable: true },
107
+ first_occurrence: { text: 'calendar:FirstOccurrence', writable: true },
108
+ last_occurrence: { text: 'calendar:LastOccurrence', writable: true },
109
+ modified_occurrences: { text: 'calendar:ModifiedOccurrences', writable: true },
110
+ deleted_occurrences: { text: 'calendar:DeletedOccurrences', writable: true },
111
+ meeting_time_zone: { text: 'calendar:MeetingTimeZone', writable: true },
112
+ conference_type: { text: 'calendar:ConferenceType', writable: true },
113
+ allow_new_time_proposal: { text: 'calendar:AllowNewTimeProposal', writable: true },
114
+ is_online_meeting: { text: 'calendar:IsOnlineMeeting', writable: true },
115
+ meeting_workspace_url: { text: 'calendar:MeetingWorkspaceUrl', writable: true },
116
+ net_show_url: { text: 'calendar:NetShowUrl', writable: true },
117
+ u_i_d: { text: 'calendar:UID', writable: true },
118
+ recurrence_id: { text: 'calendar:RecurrenceId', writable: true },
119
+ date_time_stamp: { text: 'calendar:DateTimeStamp', writable: true },
120
+ start_time_zone: { text: 'calendar:StartTimeZone', writable: true },
121
+ end_time_zone: { text: 'calendar:EndTimeZone', writable: true },
122
+ actual_work: { text: 'task:ActualWork', writable: true },
123
+ assigned_time: { text: 'task:AssignedTime', writable: true },
124
+ billing_information: { text: 'task:BillingInformation', writable: true },
125
+ change_count: { text: 'task:ChangeCount', writable: true },
126
+ complete_date: { text: 'task:CompleteDate', writable: true },
127
+ contacts: { text: 'task:Contacts', writable: true },
128
+ delegation_state: { text: 'task:DelegationState', writable: true },
129
+ delegator: { text: 'task:Delegator', writable: true },
130
+ due_date: { text: 'task:DueDate', writable: true },
131
+ is_assignment_editable: { text: 'task:IsAssignmentEditable', writable: true },
132
+ is_complete: { text: 'task:IsComplete', writable: true },
133
+ is_recurring: { text: 'task:IsRecurring', writable: true },
134
+ is_team_task: { text: 'task:IsTeamTask', writable: true },
135
+ owner: { text: 'task:Owner', writable: true },
136
+ percent_complete: { text: 'task:PercentComplete', writable: true },
137
+ recurrence: { text: 'task:Recurrence', writable: true },
138
+ start_date: { text: 'task:StartDate', writable: true },
139
+ status: { text: 'task:Status', writable: true },
140
+ status_description: { text: 'task:StatusDescription', writable: true },
141
+ total_work: { text: 'task:TotalWork', writable: true },
142
+ assistant_name: { text: 'contacts:AssistantName', writable: true },
143
+ birthday: { text: 'contacts:Birthday', writable: true },
144
+ business_home_page: { text: 'contacts:BusinessHomePage', writable: true },
145
+ children: { text: 'contacts:Children', writable: true },
146
+ companies: { text: 'contacts:Companies', writable: true },
147
+ company_name: { text: 'contacts:CompanyName', writable: true },
148
+ complete_name: { text: 'contacts:CompleteName', writable: true },
149
+ contact_source: { text: 'contacts:ContactSource', writable: true },
150
+ culture: { text: 'contacts:Culture', writable: true },
151
+ department: { text: 'contacts:Department', writable: true },
152
+ display_name: { text: 'contacts:DisplayName', writable: true },
153
+ email_addresses: { ftype: :indexed_field_uRI, text: 'contacts:EmailAddress',
154
+ writable: true },
155
+ file_as: { text: 'contacts:FileAs', writable: true },
156
+ file_as_mapping: { text: 'contacts:FileAsMapping', writable: true },
157
+ generation: { text: 'contacts:Generation', writable: true },
158
+ given_name: { text: 'contacts:GivenName', writable: true },
159
+ has_picture: { text: 'contacts:HasPicture', writable: true },
160
+ im_addresses: { text: 'contacts:ImAddresses', writable: true },
161
+ initials: { text: 'contacts:Initials', writable: true },
162
+ job_title: { text: 'contacts:JobTitle', writable: true },
163
+ manager: { text: 'contacts:Manager', writable: true },
164
+ middle_name: { text: 'contacts:MiddleName', writable: true },
165
+ mileage: { text: 'contacts:Mileage', writable: true },
166
+ nickname: { text: 'contacts:Nickname', writable: true },
167
+ office_location: { text: 'contacts:OfficeLocation', writable: true },
168
+ phone_numbers: { ftype: :indexed_field_uRI, text: 'contacts:PhoneNumber',
169
+ writable: true },
170
+ physical_addresses: { text: 'contacts:PhysicalAddresses', writable: true },
171
+ postal_address_index: { text: 'contacts:PostalAddressIndex', writable: true },
172
+ profession: { text: 'contacts:Profession', writable: true },
173
+ spouse_name: { text: 'contacts:SpouseName', writable: true },
174
+ surname: { text: 'contacts:Surname', writable: true },
175
+ wedding_anniversary: { text: 'contacts:WeddingAnniversary', writable: true },
176
+ members: { text: 'distributionlist:Members', writable: true },
177
+ posted_time: { text: 'postitem:PostedTime', writable: true },
178
+ conversation_id: { text: 'conversation:ConversationId', writable: true },
179
+ conversation_topic: { text: 'conversation:ConversationTopic', writable: true },
180
+ unique_recipients: { text: 'conversation:UniqueRecipients', writable: true },
181
+ global_unique_recipients: { text: 'conversation:GlobalUniqueRecipients', writable: true },
182
+ unique_unread_senders: { text: 'conversation:UniqueUnreadSenders', writable: true },
183
+ global_unique_unread_senders: { text: 'conversation:GlobalUniqueUnreadSenders', writable: true },
184
+ unique_senders: { text: 'conversation:UniqueSenders', writable: true },
185
+ global_unique_senders: { text: 'conversation:GlobalUniqueSenders', writable: true },
186
+ last_delivery_time: { text: 'conversation:LastDeliveryTime', writable: true },
187
+ global_last_delivery_time: { text: 'conversation:GlobalLastDeliveryTime', writable: true },
188
+ categories: { text: 'conversation:Categories', writable: true },
189
+ global_categories: { text: 'conversation:GlobalCategories', writable: true },
190
+ flag_status: { text: 'conversation:FlagStatus', writable: true },
191
+ global_flag_status: { text: 'conversation:GlobalFlagStatus', writable: true },
192
+ has_attachments: { text: 'conversation:HasAttachments', writable: true },
193
+ global_has_attachments: { text: 'conversation:GlobalHasAttachments', writable: true },
194
+ message_count: { text: 'conversation:MessageCount', writable: true },
195
+ global_message_count: { text: 'conversation:GlobalMessageCount', writable: true },
196
+ unread_count: { text: 'conversation:UnreadCount', writable: true },
197
+ global_unread_count: { text: 'conversation:GlobalUnreadCount', writable: true },
198
+ size: { text: 'conversation:Size', writable: true },
199
+ global_size: { text: 'conversation:GlobalSize', writable: true },
200
+ item_classes: { text: 'conversation:ItemClasses', writable: true },
201
+ global_item_classes: { text: 'conversation:GlobalItemClasses', writable: true },
202
+ importance: { text: 'conversation:Importance', writable: true },
203
+ global_importance: { text: 'conversation:GlobalImportance', writable: true },
204
+ item_ids: { text: 'conversation:ItemIds', writable: true },
205
+ global_item_ids: { text: 'conversation:GlobalItemIds', writable: true }
206
+ }.freeze
206
207
  end
207
208
  end
208
209
  end