// 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.
//
// Sync protocol datatype extension for the reading list items.

syntax = "proto2";

option optimize_for = LITE_RUNTIME;

package reading_list;

// Local Reading list entry. This proto contains the fields stored locally for
// a reading list entry. It must be kept synced with the
// sync_pb.ReadingListSpecifics protobuf.
message ReadingListLocal {
  optional string entry_id = 1;
  optional string title = 2;
  optional string url = 3;
  optional int64 creation_time_us = 4;
  optional int64 update_time_us = 5;
  optional int64 first_read_time_us = 11;
  optional int64 update_title_time_us = 12;

  enum ReadingListEntryStatus {
    UNREAD = 0;
    READ = 1;
    UNSEEN = 2;
  }
  // If the field is not present, it defaults to UNSEEN.
  optional ReadingListEntryStatus status = 6;

  enum DistillationState {
    WAITING = 0;
    PROCESSING = 1;
    PROCESSED = 2;
    WILL_RETRY = 3;
    DISTILLATION_ERROR = 4;
  }
  optional DistillationState distillation_state = 7;
  optional string distilled_path = 8;
  optional string distilled_url = 13;
  optional int64 failed_download_counter = 9;
  optional string backoff = 10;
  optional int64 distillation_time_us = 14;
  optional int64 distillation_size = 15;
  optional ReadingListContentSuggestionsExtra content_suggestions_extra = 16;
}

// Additional data used by the ContentSuggestions.
message ReadingListContentSuggestionsExtra {
  optional bool dismissed = 1;
}
