Class: Google::Apis::CloudsearchV1::ThreadUpdate
- Inherits:
-
Object
- Object
- Google::Apis::CloudsearchV1::ThreadUpdate
- Includes:
- Google::Apis::Core::Hashable, Google::Apis::Core::JsonObjectSupport
- Defined in:
- lib/google/apis/cloudsearch_v1/classes.rb,
lib/google/apis/cloudsearch_v1/representations.rb,
lib/google/apis/cloudsearch_v1/representations.rb
Overview
HistoryRecord for changes associated with a thread, namely: MESSAGE_ADDED MESSAGE_DELETED LABEL_ADDED LABEL_REMOVED ATTRIBUTE_SET ATTRIBUTE_REMOVED THREAD_KEY_SET All label_ids refer to the (unchanging) value as defined by the Label.id field in labels.proto. In particular, it is not the canonical_name.
Instance Attribute Summary collapse
-
#attribute_removed ⇒ Google::Apis::CloudsearchV1::AttributeRemoved
An attribute was deleted from some (subset of the) messages in this thread.
-
#attribute_set ⇒ Google::Apis::CloudsearchV1::AttributeSet
An attribute was added to some (subset of the) messages in this thread.
-
#label_added ⇒ Google::Apis::CloudsearchV1::LabelAdded
A label was added to some (subset of the) messages in this thread.
-
#label_removed ⇒ Google::Apis::CloudsearchV1::LabelRemoved
A label was removed from some (subset of the) messages in this thread.
-
#last_history_record_id ⇒ Fixnum
Indicates the record id of the last operation that modified this thread.
-
#message_added ⇒ Google::Apis::CloudsearchV1::MessageAdded
A message was added.
-
#message_deleted ⇒ Google::Apis::CloudsearchV1::MessageDeleted
Some (subset of the) messages in this thread were deleted.
-
#original_thread_key ⇒ Google::Apis::CloudsearchV1::MultiKey
A union-like type for identifiying an object in storage.
-
#pre_state ⇒ Array<Google::Apis::CloudsearchV1::PreState>
The PreStates of all messages before the transaction.
-
#thread_key ⇒ Google::Apis::CloudsearchV1::MultiKey
A union-like type for identifiying an object in storage.
-
#thread_key_set ⇒ Google::Apis::CloudsearchV1::ThreadKeySet
The ThreadKey was set on some (subset of the) messages in this thread.
-
#thread_locator ⇒ String
Thread PLID Corresponds to the JSON property
threadLocator
. -
#topic_state_update ⇒ Google::Apis::CloudsearchV1::TopicStateUpdate
Corresponds to the JSON property
topicStateUpdate
.
Instance Method Summary collapse
-
#initialize(**args) ⇒ ThreadUpdate
constructor
A new instance of ThreadUpdate.
-
#update!(**args) ⇒ Object
Update properties of this object.
Constructor Details
#initialize(**args) ⇒ ThreadUpdate
Returns a new instance of ThreadUpdate.
20386 20387 20388 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 20386 def initialize(**args) update!(**args) end |
Instance Attribute Details
#attribute_removed ⇒ Google::Apis::CloudsearchV1::AttributeRemoved
An attribute was deleted from some (subset of the) messages in this thread.
Corresponds to the JSON property attributeRemoved
20270 20271 20272 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 20270 def attribute_removed @attribute_removed end |
#attribute_set ⇒ Google::Apis::CloudsearchV1::AttributeSet
An attribute was added to some (subset of the) messages in this thread.
Corresponds to the JSON property attributeSet
20275 20276 20277 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 20275 def attribute_set @attribute_set end |
#label_added ⇒ Google::Apis::CloudsearchV1::LabelAdded
A label was added to some (subset of the) messages in this thread.
Corresponds to the JSON property labelAdded
20280 20281 20282 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 20280 def label_added @label_added end |
#label_removed ⇒ Google::Apis::CloudsearchV1::LabelRemoved
A label was removed from some (subset of the) messages in this thread.
Corresponds to the JSON property labelRemoved
20285 20286 20287 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 20285 def label_removed @label_removed end |
#last_history_record_id ⇒ Fixnum
Indicates the record id of the last operation that modified this thread.
Corresponds to the JSON property lastHistoryRecordId
20290 20291 20292 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 20290 def last_history_record_id @last_history_record_id end |
#message_added ⇒ Google::Apis::CloudsearchV1::MessageAdded
A message was added. Specifying id and initial labels.
Corresponds to the JSON property messageAdded
20295 20296 20297 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 20295 def @message_added end |
#message_deleted ⇒ Google::Apis::CloudsearchV1::MessageDeleted
Some (subset of the) messages in this thread were deleted.
Corresponds to the JSON property messageDeleted
20300 20301 20302 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 20300 def @message_deleted end |
#original_thread_key ⇒ Google::Apis::CloudsearchV1::MultiKey
A union-like type for identifiying an object in storage. MultiKeys contain
multiple key fields, each in a separate key space. At least one key field must
be set. More than one key field may be set as long as all key values refer to
the same object. All objects in storage have unique server_id keys. All
MultiKeys returned from storage to storage clients will always have the
server_id field set. When creating an object, if a MultiKey without a
server_id is supplied to storage, the storage system will auto-assign a server
ID to the new object. For all other storage requests (i.e. those not creating
new objects), clients may omit server_id (as long as they supply another key).
Instead of server ids, clients can specify string based
client_assigned_perm_id keys. Mail message drafts are a prime example of these
kinds of objects. Each time a user saves a new version of a draft, the storage
system needs to create a new object with the updated draft content and needs
to delete the object containing the old content. The new object gets a new
SERVER_ID but should get the same CLIENT_ASSIGNED_PERM_ID as the now-deleted
object containing the old content. Carrying forward the perm ID allows it to
be used to consistently refer to the same logical object across revisions.
These perm IDs save sync clients from having to deal with changing object IDs.
For example, assume there's a mail message in storage with SERVER_ID = 123 and
CLIENT_ASSIGNED_PERM_ID = "foo". The following are all valid ways of
addressing the object using MultiKeys: 1) MultiKey server_id = 123
2)
MultiKey server_id = 123, client_assigned_perm_id = "foo"
3) MultiKey
client_assigned_perm_id = "foo"
Multikeys are never serialized in the
storage. The individual keys are extracted and processed separately. Both the
integer ids as well as string ids are indexed for efficient retrieval using
the same fields in the backend. See go/tingle-multikeys for more information
on background and motivation.
Corresponds to the JSON property originalThreadKey
20331 20332 20333 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 20331 def original_thread_key @original_thread_key end |
#pre_state ⇒ Array<Google::Apis::CloudsearchV1::PreState>
The PreStates of all messages before the transaction. These are suppressed if
the client requested that prestates not be included in the output of the
GetHistoryRequest.
Corresponds to the JSON property preState
20338 20339 20340 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 20338 def pre_state @pre_state end |
#thread_key ⇒ Google::Apis::CloudsearchV1::MultiKey
A union-like type for identifiying an object in storage. MultiKeys contain
multiple key fields, each in a separate key space. At least one key field must
be set. More than one key field may be set as long as all key values refer to
the same object. All objects in storage have unique server_id keys. All
MultiKeys returned from storage to storage clients will always have the
server_id field set. When creating an object, if a MultiKey without a
server_id is supplied to storage, the storage system will auto-assign a server
ID to the new object. For all other storage requests (i.e. those not creating
new objects), clients may omit server_id (as long as they supply another key).
Instead of server ids, clients can specify string based
client_assigned_perm_id keys. Mail message drafts are a prime example of these
kinds of objects. Each time a user saves a new version of a draft, the storage
system needs to create a new object with the updated draft content and needs
to delete the object containing the old content. The new object gets a new
SERVER_ID but should get the same CLIENT_ASSIGNED_PERM_ID as the now-deleted
object containing the old content. Carrying forward the perm ID allows it to
be used to consistently refer to the same logical object across revisions.
These perm IDs save sync clients from having to deal with changing object IDs.
For example, assume there's a mail message in storage with SERVER_ID = 123 and
CLIENT_ASSIGNED_PERM_ID = "foo". The following are all valid ways of
addressing the object using MultiKeys: 1) MultiKey server_id = 123
2)
MultiKey server_id = 123, client_assigned_perm_id = "foo"
3) MultiKey
client_assigned_perm_id = "foo"
Multikeys are never serialized in the
storage. The individual keys are extracted and processed separately. Both the
integer ids as well as string ids are indexed for efficient retrieval using
the same fields in the backend. See go/tingle-multikeys for more information
on background and motivation.
Corresponds to the JSON property threadKey
20369 20370 20371 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 20369 def thread_key @thread_key end |
#thread_key_set ⇒ Google::Apis::CloudsearchV1::ThreadKeySet
The ThreadKey was set on some (subset of the) messages in this thread.
Corresponds to the JSON property threadKeySet
20374 20375 20376 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 20374 def thread_key_set @thread_key_set end |
#thread_locator ⇒ String
Thread PLID
Corresponds to the JSON property threadLocator
20379 20380 20381 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 20379 def thread_locator @thread_locator end |
#topic_state_update ⇒ Google::Apis::CloudsearchV1::TopicStateUpdate
Corresponds to the JSON property topicStateUpdate
20384 20385 20386 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 20384 def topic_state_update @topic_state_update end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
20391 20392 20393 20394 20395 20396 20397 20398 20399 20400 20401 20402 20403 20404 20405 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 20391 def update!(**args) @attribute_removed = args[:attribute_removed] if args.key?(:attribute_removed) @attribute_set = args[:attribute_set] if args.key?(:attribute_set) @label_added = args[:label_added] if args.key?(:label_added) @label_removed = args[:label_removed] if args.key?(:label_removed) @last_history_record_id = args[:last_history_record_id] if args.key?(:last_history_record_id) @message_added = args[:message_added] if args.key?(:message_added) @message_deleted = args[:message_deleted] if args.key?(:message_deleted) @original_thread_key = args[:original_thread_key] if args.key?(:original_thread_key) @pre_state = args[:pre_state] if args.key?(:pre_state) @thread_key = args[:thread_key] if args.key?(:thread_key) @thread_key_set = args[:thread_key_set] if args.key?(:thread_key_set) @thread_locator = args[:thread_locator] if args.key?(:thread_locator) @topic_state_update = args[:topic_state_update] if args.key?(:topic_state_update) end |