// Copyright 2018 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 or at
// https://developers.google.com/open-source/licenses/bsd

// This file defines protobufs for issues and related business
// objects, e.g., field values, comments, and attachments.

syntax = "proto3";

import "api/api_proto/common.proto";

package monorail;

// TODO(jojwang): monorail:1701, fill User with all info necessary for
// creating a user profile page.
// Next available tag: 7
message User {
  string display_name = 1;
  int64 user_id = 2;
  bool is_site_admin = 3;
  string availability = 4;
  UserRef linked_parent_ref = 5;
  repeated UserRef linked_child_refs = 6;
}


// Next available tag: 3
message UserPrefValue {
  string name = 1;
  string value = 2;
}


// Next available tag: 6
message UserProjects {
  UserRef user_ref = 1;
  repeated string owner_of = 2;
  repeated string member_of = 3;
  repeated string contributor_to = 4;
  repeated string starred_projects = 5;
}
