| |
| |
| syntax = "proto3"; |
| |
| package bufman.dubbo.apache.org.registry.v1alpha1; |
| |
| import "google/protobuf/timestamp.proto"; |
| |
| message RepositoryTag { |
| // primary key, unique, immutable |
| string id = 1; |
| // immutable |
| google.protobuf.Timestamp create_time = 2; |
| // We reserve field number '3' for the update_time. |
| // google.protobuf.Timestamp update_time = 3; |
| // The name of the repository tag, e.g. "6e2e7f24718a76caa32a80d0e2b1841ef2c61403". |
| string name = 4; |
| // The name of the commit this tag belongs to. |
| string commit_name = 5; |
| // The username of the author of the tag. |
| string author = 6; |
| } |
| |
| // RepositoryTagService is the Repository tag service. |
| service RepositoryTagService { |
| // CreateRepositoryTag creates a new repository tag. |
| rpc CreateRepositoryTag(CreateRepositoryTagRequest) returns (CreateRepositoryTagResponse) { |
| option idempotency_level = IDEMPOTENT; |
| } |
| // ListRepositoryTags lists the repository tags associated with a Repository. |
| rpc ListRepositoryTags(ListRepositoryTagsRequest) returns (ListRepositoryTagsResponse) { |
| option idempotency_level = NO_SIDE_EFFECTS; |
| } |
| // ListRepositoryTagsForReference lists the repository tags associated with a repository |
| // reference name. |
| rpc ListRepositoryTagsForReference(ListRepositoryTagsForReferenceRequest) returns (ListRepositoryTagsForReferenceResponse) { |
| option idempotency_level = NO_SIDE_EFFECTS; |
| } |
| } |
| |
| message CreateRepositoryTagRequest { |
| // The ID of the repository this tag should be created on. |
| string repository_id = 1; |
| // The name of the repository tag, e.g. "6e2e7f24718a76caa32a80d0e2b1841ef2c61403". |
| string name = 2; |
| // The name of the commit this tag should be created for. |
| string commit_name = 3; |
| } |
| |
| message CreateRepositoryTagResponse { |
| RepositoryTag repository_tag = 1; |
| } |
| |
| message ListRepositoryTagsRequest { |
| // The ID of the repository whose tags should be listed. |
| string repository_id = 1; |
| uint32 page_size = 2; |
| // The first page is returned if this is empty. |
| string page_token = 3; |
| bool reverse = 4; |
| } |
| |
| message ListRepositoryTagsResponse { |
| repeated RepositoryTag repository_tags = 1; |
| // There are no more pages if this is empty. |
| string next_page_token = 2; |
| } |
| |
| message ListRepositoryTagsForReferenceRequest { |
| // The ID of the repository whose tags should be listed. |
| string repository_id = 1; |
| // The name of the reference. |
| string reference = 2; |
| uint32 page_size = 3; |
| // The first page is returned if this is empty. |
| string page_token = 4; |
| bool reverse = 5; |
| } |
| |
| message ListRepositoryTagsForReferenceResponse { |
| repeated RepositoryTag repository_tags = 1; |
| // There are no more pages if this is empty. |
| string next_page_token = 2; |
| } |