Class: Google::Apis::CloudsearchV1::ThreadUpdate

Inherits:
Object
  • Object
show all
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

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ ThreadUpdate

Returns a new instance of ThreadUpdate.



19565
19566
19567
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 19565

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#attribute_removedGoogle::Apis::CloudsearchV1::AttributeRemoved

An attribute was deleted from some (subset of the) messages in this thread. Corresponds to the JSON property attributeRemoved



19449
19450
19451
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 19449

def attribute_removed
  @attribute_removed
end

#attribute_setGoogle::Apis::CloudsearchV1::AttributeSet

An attribute was added to some (subset of the) messages in this thread. Corresponds to the JSON property attributeSet



19454
19455
19456
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 19454

def attribute_set
  @attribute_set
end

#label_addedGoogle::Apis::CloudsearchV1::LabelAdded

A label was added to some (subset of the) messages in this thread. Corresponds to the JSON property labelAdded



19459
19460
19461
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 19459

def label_added
  @label_added
end

#label_removedGoogle::Apis::CloudsearchV1::LabelRemoved

A label was removed from some (subset of the) messages in this thread. Corresponds to the JSON property labelRemoved



19464
19465
19466
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 19464

def label_removed
  @label_removed
end

#last_history_record_idFixnum

Indicates the record id of the last operation that modified this thread. Corresponds to the JSON property lastHistoryRecordId

Returns:

  • (Fixnum)


19469
19470
19471
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 19469

def last_history_record_id
  @last_history_record_id
end

#message_addedGoogle::Apis::CloudsearchV1::MessageAdded

A message was added. Specifying id and initial labels. Corresponds to the JSON property messageAdded



19474
19475
19476
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 19474

def message_added
  @message_added
end

#message_deletedGoogle::Apis::CloudsearchV1::MessageDeleted

Some (subset of the) messages in this thread were deleted. Corresponds to the JSON property messageDeleted



19479
19480
19481
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 19479

def message_deleted
  @message_deleted
end

#original_thread_keyGoogle::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



19510
19511
19512
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 19510

def original_thread_key
  @original_thread_key
end

#pre_stateArray<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



19517
19518
19519
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 19517

def pre_state
  @pre_state
end

#thread_keyGoogle::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



19548
19549
19550
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 19548

def thread_key
  @thread_key
end

#thread_key_setGoogle::Apis::CloudsearchV1::ThreadKeySet

The ThreadKey was set on some (subset of the) messages in this thread. Corresponds to the JSON property threadKeySet



19553
19554
19555
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 19553

def thread_key_set
  @thread_key_set
end

#thread_locatorString

Thread PLID Corresponds to the JSON property threadLocator

Returns:

  • (String)


19558
19559
19560
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 19558

def thread_locator
  @thread_locator
end

#topic_state_updateGoogle::Apis::CloudsearchV1::TopicStateUpdate

Corresponds to the JSON property topicStateUpdate



19563
19564
19565
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 19563

def topic_state_update
  @topic_state_update
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



19570
19571
19572
19573
19574
19575
19576
19577
19578
19579
19580
19581
19582
19583
19584
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 19570

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