blob: 70dd91f8038f3fd4fbeb1b4a4283935105d3af5f [file] [log] [blame]
// Copyright (C) 2018 The Android Open Source Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
syntax = "proto2";
option java_package = "com.google.gerrit.proto.reviewdb";
package devtools.gerritcodereview;
message Change_Id {
required int32 id = 1;
}
message ChangeMessage_Key {
required Change_Id change_id = 1;
required string uuid = 2;
}
message PatchSet_Id {
required Change_Id change_id = 1;
required int32 patch_set_id = 2;
}
message Patch_Key {
required PatchSet_Id patch_set_id = 1;
required string file_name = 2;
}
message PatchLineComment_Key {
required Patch_Key patch_key = 1;
required string uuid = 2;
}
message Account_Id {
required int32 id = 1;
}
message LabelId {
required string id = 1;
}
message PatchSetApproval_Key {
required PatchSet_Id patch_set_id = 1;
required Account_Id account_id = 2;
required LabelId category_id = 3;
}
message CurrentSchemaVersion_Key {
required string one = 1;
}
message ChangeMessage {
required ChangeMessage_Key key = 1;
optional Account_Id author_id = 2;
optional fixed64 written_on = 3;
optional string message = 4;
optional PatchSet_Id patchset = 5;
optional string tag = 6;
optional Account_Id real_author = 7;
}
message Change_Key {
optional string id = 1;
}
message Project_NameKey {
optional string name = 1;
}
message Branch_NameKey {
optional Project_NameKey project_name = 1;
optional string branch_name = 2;
}
message Change {
required Change_Id change_id = 1;
optional Change_Key change_key = 2;
optional int32 row_version = 3;
optional fixed64 created_on = 4;
optional fixed64 last_updated_on = 5;
optional Account_Id owner_account_id = 7;
optional Branch_NameKey dest = 8;
optional uint32 status = 10;
optional int32 current_patch_set_id = 12;
optional string subject = 13;
optional string topic = 14;
optional string original_subject = 17;
optional string submission_id = 18;
optional Account_Id assignee = 19;
optional bool is_private = 20;
optional bool work_in_progress = 21;
optional bool review_started = 22;
optional Change_Id revert_of = 23;
optional string note_db_state = 101;
}
message CommentRange {
optional int32 start_line = 1;
optional int32 start_character = 2;
optional int32 end_line = 3;
optional int32 end_character = 4;
}
message PatchLineComment {
required PatchLineComment_Key key = 1;
optional int32 line_nbr = 2;
optional Account_Id author_id = 3;
optional fixed64 written_on = 4;
optional uint32 status = 5;
optional int32 side = 6;
optional string message = 7;
optional string parent_uuid = 8;
optional CommentRange range = 9;
optional string tag = 10;
optional Account_Id real_author = 11;
optional bool unresolved = 12;
}
message PatchSetApproval {
required PatchSetApproval_Key key = 1;
optional int32 value = 2;
optional fixed64 granted = 3;
optional string tag = 6;
optional Account_Id real_account_id = 7;
optional bool post_submit = 8;
}
message RevId {
optional string id = 1;
}
message PatchSet {
required PatchSet_Id id = 1;
optional RevId revision = 2;
optional Account_Id uploader_account_id = 3;
optional fixed64 created_on = 4;
optional string groups = 6;
optional string push_certificate = 8;
optional string description = 9;
}
message CurrentSchemaVersion {
required CurrentSchemaVersion_Key singleton = 1;
optional int32 version_nbr = 2;
}
message AnyReviewDbPrimaryKey {
optional CurrentSchemaVersion_Key schema_version = 1;
optional Change_Id changes = 21;
optional PatchSetApproval_Key patch_set_approvals = 22;
optional ChangeMessage_Key change_messages = 23;
optional PatchSet_Id patch_sets = 24;
optional PatchLineComment_Key patch_comments = 26;
}
message AnyReviewDb {
optional CurrentSchemaVersion schema_version = 1;
optional Change changes = 21;
optional PatchSetApproval patch_set_approvals = 22;
optional ChangeMessage change_messages = 23;
optional PatchSet patch_sets = 24;
optional PatchLineComment patch_comments = 26;
}