| // Copyright 2018 The Feed Authors. |
| // |
| // Licensed under the Apache License, Version 2.0 (the "License"); |
| // you may not use this file except in compliance with the License. |
| // You may obtain a copy of the License at |
| // |
| // http://www.apache.org/licenses/LICENSE-2.0 |
| // |
| // Unless required by applicable law or agreed to in writing, software |
| // distributed under the License is distributed on an "AS IS" BASIS, |
| // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| // See the License for the specific language governing permissions and |
| // limitations under the License. |
| |
| syntax = "proto2"; |
| |
| import "src/main/proto/search/now/wire/feed/action_type.proto"; |
| |
| package search.now.wire.feed; |
| |
| option optimize_for=LITE_RUNTIME; |
| |
| option java_package = "com.google.search.now.wire.feed"; |
| option java_outer_classname = "FeedActionQueryDataProto"; |
| |
| // The combination of FeedActionQueryData and FeedActionQueryDataItem provide a |
| // transport format that can send each unique action, id, content domain, table, |
| // and semantic properties exactly once. This de-duplication allows the maximum |
| // amount of data to be sent from the client in the absence of compression. |
| // This data can then be mapped back into ContentId and SemanticProperties with |
| // high fidelity. |
| message FeedActionQueryData { |
| // The specific action that was performed on the client. |
| optional Action action = 1; |
| |
| // A unique set of ids associated with the content. |
| repeated fixed64 unique_id = 2; |
| |
| // A unique set of content domains associated with the content. |
| repeated string unique_content_domain = 3; |
| |
| // A unique set of tables associated with the content. |
| repeated string unique_table = 4; |
| |
| // The content that the action was performed on. The identity of the content |
| // can be created by combining unique_id, unique_content_domain, and |
| // unique_table. |
| repeated FeedActionQueryDataItem feed_action_query_data_item = 6; |
| |
| reserved 5; |
| } |
| |
| // Data describing the individual content that was acted upon. |
| message FeedActionQueryDataItem { |
| // An index into the unique_id field in FeedActionQueryData. |
| optional int32 id_index = 1; |
| |
| // An index into the unique_content_domain field in FeedActionQueryData. |
| optional int32 content_domain_index = 2; |
| |
| // An index into the unique_table field in FeedActionQueryData. |
| optional int32 table_index = 3; |
| |
| // An index into the unique_semantic_properties field in FeedActionQueryData. |
| optional int32 semantic_properties_index = 4; |
| } |
| |
| // Data describing the action that occurred on the client. |
| message Action { |
| // The specific action that was performed. |
| optional ActionType action_type = 1; |
| } |