// Copyright 2016 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";

option optimize_for = LITE_RUNTIME;

package ntp_snippets;

message SnippetSourceProto {
  optional string url = 1;
  optional string publisher_name = 2;
  optional string amp_url = 3;
}

message SnippetProto {
  repeated string ids = 1;
  optional string title = 2;
  optional string snippet = 3;
  optional string salient_image_url = 4;
  optional int64 publish_date = 5;
  optional int64 expiry_date = 6;
  optional float score = 7;
  optional SnippetSourceProto source = 8;
  optional bool dismissed = 9;
  optional int32 remote_category_id = 10;
  // The time when the snippet was fetched from the server.
  optional int64 fetch_date = 11;

  enum ContentType {
    UNKNOWN = 0;
    VIDEO = 1;
  }
  optional ContentType content_type = 12 [default = UNKNOWN];

  // A rank to preserve the order of suggestions. Lower ranks are shown earlier.
  // The values may be not consecutive. Must be set on the client. May be absent
  // in suggestions created before it was introduced.
  optional int32 rank = 13;

  // Encoded as @ColorInt.
  optional fixed32 image_dominant_color = 14;
}

message SnippetImageProto {
  optional bytes data = 1;
}
