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

// 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;

option go_package = "infra/monorailv2/api/api_proto;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;
}
