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.
20207 20208 20209 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 20207 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
20091 20092 20093 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 20091 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
20096 20097 20098 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 20096 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
20101 20102 20103 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 20101 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
20106 20107 20108 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 20106 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
20111 20112 20113 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 20111 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
20116 20117 20118 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 20116 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
20121 20122 20123 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 20121 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
20152 20153 20154 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 20152 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
20159 20160 20161 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 20159 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
20190 20191 20192 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 20190 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
20195 20196 20197 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 20195 def thread_key_set @thread_key_set end |
#thread_locator ⇒ String
Thread PLID
Corresponds to the JSON property threadLocator
20200 20201 20202 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 20200 def thread_locator @thread_locator end |
#topic_state_update ⇒ Google::Apis::CloudsearchV1::TopicStateUpdate
Corresponds to the JSON property topicStateUpdate
20205 20206 20207 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 20205 def topic_state_update @topic_state_update end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
20212 20213 20214 20215 20216 20217 20218 20219 20220 20221 20222 20223 20224 20225 20226 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 20212 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 |