// Copyright 2019 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

syntax = "proto2";

package feedwire1;

option optimize_for = LITE_RUNTIME;

import "components/feed/core/proto/wire/action_payload.proto";
import "components/feed/core/proto/wire/content_id.proto";
import "components/feed/core/proto/wire/semantic_properties.proto";

option java_package = "org.chromium.components.feed.core.proto.wire";
option java_outer_classname = "FeedActionProto";

message FeedAction {
  // The Id for the content that this action was triggered on.
  optional ContentId content_id = 1;
  // Additional logging data that is on a per-action level
  optional ActionPayload action_payload = 4;
  // Client-generated data that pertains to the action.
  optional ClientData client_data = 5;
  // Fields beyond ID needed to determine uniqueness for the card or collection.
  // Opaque to the client, round-tripped from the server.
  optional SemanticProperties semantic_properties = 6;
  // Next Id: 7
  reserved 2, 3;

  // The data the client provides to the server.
  message ClientData {
    // When the action was recorded on the client
    optional int64 timestamp_seconds = 1;
  }
}
