blob: 4e5344e805151443f5f6a58650d03b99d63346ad [file] [log] [blame]
// 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";
package monorail;
option go_package = "infra/monorailv2/api/api_proto;monorail";
import "api/api_proto/common.proto";
import "api/api_proto/issue_objects.proto";
// Next available tag: 4
message Project {
string name = 1;
string summary = 2;
string description = 3;
}
// Next available tag: 6
message StatusDef {
string status = 1;
bool means_open = 2;
uint32 rank = 3;
string docstring = 4;
bool deprecated = 5;
}
// Next available tag: 5
message LabelDef {
string label = 1;
string docstring = 3;
bool deprecated = 4;
}
// Next available tag: 11
message ComponentDef {
string path = 1;
string docstring = 2;
repeated UserRef admin_refs = 3;
repeated UserRef cc_refs = 4;
bool deprecated = 5;
fixed32 created = 6;
UserRef creator_ref = 7;
fixed32 modified = 8;
UserRef modifier_ref = 9;
repeated LabelRef label_refs = 10;
}
// Next available tag: 9
message FieldDef {
FieldRef field_ref = 1;
string applicable_type = 2;
// TODO(jrobbins): applicable_predicate
bool is_required = 3;
bool is_niche = 4;
bool is_multivalued = 5;
string docstring = 6;
repeated UserRef admin_refs = 7;
// TODO(jrobbins): validation, permission granting, and notification options.
bool is_phase_field = 8;
repeated UserRef user_choices = 9;
repeated LabelDef enum_choices = 10;
}
// Next available tag: 3
message FieldOptions {
FieldRef field_ref = 1;
repeated UserRef user_refs = 2;
}
// Next available tag: 4
message ApprovalDef {
FieldRef field_ref = 1;
repeated UserRef approver_refs = 2;
string survey = 3;
}
// Next available tag: 11
message Config {
string project_name = 1;
repeated StatusDef status_defs = 2;
repeated StatusRef statuses_offer_merge = 3;
repeated LabelDef label_defs = 4;
repeated string exclusive_label_prefixes = 5;
repeated ComponentDef component_defs = 6;
repeated FieldDef field_defs = 7;
repeated ApprovalDef approval_defs = 8;
bool restrict_to_known = 9;
}
// Next available tag: 11
message PresentationConfig {
string project_thumbnail_url = 1;
string project_summary = 2;
string custom_issue_entry_url = 3;
string default_query = 4;
repeated SavedQuery saved_queries = 5;
string revision_url_format = 6;
string default_col_spec = 7;
string default_sort_spec = 8;
string default_x_attr = 9;
string default_y_attr = 10;
}
// Next available tag: 16
message TemplateDef {
string template_name = 1;
string content = 2;
string summary = 3;
bool summary_must_be_edited = 4;
UserRef owner_ref = 5;
StatusRef status_ref = 6;
repeated LabelRef label_refs = 7;
bool members_only = 8;
bool owner_defaults_to_member = 9;
repeated UserRef admin_refs = 10;
repeated FieldValue field_values = 11;
repeated ComponentRef component_refs = 12;
bool component_required = 13;
repeated Approval approval_values = 14;
repeated PhaseDef phases = 15;
}