Skip to content

Commit

Permalink
Add CheckService to plugin.v1beta1 (#136)
Browse files Browse the repository at this point in the history
  • Loading branch information
mfridman authored Dec 10, 2024
1 parent 3c9c509 commit 58fb62a
Showing 1 changed file with 96 additions and 0 deletions.
96 changes: 96 additions & 0 deletions buf/registry/plugin/v1beta1/check_service.proto
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
// Copyright 2023-2024 Buf Technologies, Inc.
//
// 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 = "proto3";

package buf.registry.plugin.v1beta1;

import "buf/plugin/check/v1/category.proto";
import "buf/plugin/check/v1/rule.proto";
import "buf/registry/plugin/v1beta1/resource.proto";
import "buf/validate/validate.proto";

option go_package = "buf.build/gen/go/bufbuild/registry/protocolbuffers/go/buf/registry/plugin/v1beta1";

// Operate on Check plugins.
service CheckService {
// List Rules for a given Plugin, Label, or Commit.
rpc ListRules(ListRulesRequest) returns (ListRulesResponse) {
option idempotency_level = NO_SIDE_EFFECTS;
}
// List Categories for a given Plugin, Label, or Commit.
rpc ListCategories(ListCategoriesRequest) returns (ListCategoriesResponse) {
option idempotency_level = NO_SIDE_EFFECTS;
}
}

message ListRulesRequest {
// The maximum number of items to return.
//
// The default value is 10.
uint32 page_size = 1 [(buf.validate.field).uint32.lte = 250];
// The page to start from.
//
// If empty, the first page is returned.
string page_token = 2 [(buf.validate.field).string.max_len = 4096];
// The reference to get Rules for.
//
// See the documentation on ResourceRef for resource resolution details.
//
// Once the resource is resolved, the following Rules are returned:
// - If a Plugin is referenced, the Rules of the the default Label are returned.
// - If a Label is referenced, the Rules of the Commit of this Label are returned.
// - If a Commit is referenced, the Rules for this Commit are returned.
ResourceRef resource_ref = 3 [(buf.validate.field).required = true];
}

message ListRulesResponse {
// The next page token.
//
// If empty, there are no more pages.
string next_page_token = 1 [(buf.validate.field).string.max_len = 4096];
// The listed Rules. This is part of the Bufplugin API, and can be returned from
// a plugin's ListRules implementation.
repeated buf.plugin.check.v1.Rule rules = 2;
}

message ListCategoriesRequest {
// The maximum number of items to return.
//
// The default value is 10.
uint32 page_size = 1 [(buf.validate.field).uint32.lte = 250];
// The page to start from.
//
// If empty, the first page is returned.
string page_token = 2 [(buf.validate.field).string.max_len = 4096];
// The reference to get Categories for.
//
// See the documentation on ResourceRef for resource resolution details.
//
// Once the resource is resolved, the following Categories are returned:
// - If a Plugin is referenced, the Categories of the the default Label are returned.
// - If a Label is referenced, the Categories of the Commit of this Label are returned.
// - If a Commit is referenced, the Categories for this Commit are returned.
ResourceRef resource_ref = 3 [(buf.validate.field).required = true];
}

message ListCategoriesResponse {
// The next page token.
//
// If empty, there are no more pages.
string next_page_token = 1 [(buf.validate.field).string.max_len = 4096];
// The listed Categories. This is part of the Bufplugin API, and can be returned from
// a plugin's ListCategories implementation.
repeated buf.plugin.check.v1.Category categories = 2;
}

0 comments on commit 58fb62a

Please sign in to comment.