blob: 4e5344e805151443f5f6a58650d03b99d63346ad [file] [log] [blame]
Copybara854996b2021-09-07 19:36:02 +00001// Copyright 2018 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style
3// license that can be found in the LICENSE file or at
4// https://developers.google.com/open-source/licenses/bsd
5
6// This file defines protobufs for issues and related business
7// objects, e.g., field values, comments, and attachments.
8
9syntax = "proto3";
10
11package monorail;
12
Adrià Vilanova Martínezde942802022-07-15 14:06:55 +020013option go_package = "infra/monorailv2/api/api_proto;monorail";
14
Copybara854996b2021-09-07 19:36:02 +000015import "api/api_proto/common.proto";
16import "api/api_proto/issue_objects.proto";
17
18
19// Next available tag: 4
20message Project {
21 string name = 1;
22 string summary = 2;
23 string description = 3;
24}
25
26
27// Next available tag: 6
28message StatusDef {
29 string status = 1;
30 bool means_open = 2;
31 uint32 rank = 3;
32 string docstring = 4;
33 bool deprecated = 5;
34}
35
36
37// Next available tag: 5
38message LabelDef {
39 string label = 1;
40 string docstring = 3;
41 bool deprecated = 4;
42}
43
44
45// Next available tag: 11
46message ComponentDef {
47 string path = 1;
48 string docstring = 2;
49 repeated UserRef admin_refs = 3;
50 repeated UserRef cc_refs = 4;
51 bool deprecated = 5;
52 fixed32 created = 6;
53 UserRef creator_ref = 7;
54 fixed32 modified = 8;
55 UserRef modifier_ref = 9;
56 repeated LabelRef label_refs = 10;
57}
58
59
60// Next available tag: 9
61message FieldDef {
62 FieldRef field_ref = 1;
63 string applicable_type = 2;
64 // TODO(jrobbins): applicable_predicate
65 bool is_required = 3;
66 bool is_niche = 4;
67 bool is_multivalued = 5;
68 string docstring = 6;
69 repeated UserRef admin_refs = 7;
70 // TODO(jrobbins): validation, permission granting, and notification options.
71 bool is_phase_field = 8;
72 repeated UserRef user_choices = 9;
73 repeated LabelDef enum_choices = 10;
74}
75
76
77// Next available tag: 3
78message FieldOptions {
79 FieldRef field_ref = 1;
80 repeated UserRef user_refs = 2;
81}
82
83
84// Next available tag: 4
85message ApprovalDef {
86 FieldRef field_ref = 1;
87 repeated UserRef approver_refs = 2;
88 string survey = 3;
89}
90
91
92// Next available tag: 11
93message Config {
94 string project_name = 1;
95 repeated StatusDef status_defs = 2;
96 repeated StatusRef statuses_offer_merge = 3;
97 repeated LabelDef label_defs = 4;
98 repeated string exclusive_label_prefixes = 5;
99 repeated ComponentDef component_defs = 6;
100 repeated FieldDef field_defs = 7;
101 repeated ApprovalDef approval_defs = 8;
102 bool restrict_to_known = 9;
103}
104
105
106// Next available tag: 11
107message PresentationConfig {
108 string project_thumbnail_url = 1;
109 string project_summary = 2;
110 string custom_issue_entry_url = 3;
111 string default_query = 4;
112 repeated SavedQuery saved_queries = 5;
113 string revision_url_format = 6;
114 string default_col_spec = 7;
115 string default_sort_spec = 8;
116 string default_x_attr = 9;
117 string default_y_attr = 10;
118}
119
120
121// Next available tag: 16
122message TemplateDef {
123 string template_name = 1;
124 string content = 2;
125 string summary = 3;
126 bool summary_must_be_edited = 4;
127 UserRef owner_ref = 5;
128 StatusRef status_ref = 6;
129 repeated LabelRef label_refs = 7;
130 bool members_only = 8;
131 bool owner_defaults_to_member = 9;
132 repeated UserRef admin_refs = 10;
133 repeated FieldValue field_values = 11;
134 repeated ComponentRef component_refs = 12;
135 bool component_required = 13;
136 repeated Approval approval_values = 14;
137 repeated PhaseDef phases = 15;
138}