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

// Schemas for monorail api client configs.
// Command to generate api_clients_config_pb2.py: in monorail/ directory:
// protoc ./mrproto/api_clients_config.proto --proto_path=./mrproto/ --python_out=./mrproto


syntax = "proto2";

package monorail;

message ProjectPermission {
  enum Role {
    committer = 1;
    contributor = 2;
  }

  optional string project = 1;
  optional Role role = 2 [default = contributor];
  repeated string extra_permissions = 3;
}

// Next available tag: 11
message Client {
  optional string client_email = 1;
  optional string display_name = 2;
  optional string client_id = 3;
  repeated string allowed_origins = 10;
  optional string description = 4;
  repeated ProjectPermission project_permissions = 5;
  optional int32 period_limit = 6 [default = 100000];
  optional int32 lifetime_limit = 7 [default = 1000000];
  repeated string contacts = 8;
  optional int32 qpm_limit = 9 [default = 100];
}

message ClientCfg {
  repeated Client clients = 1;
}
