syntax = "proto3"; package gitks; import "google/protobuf/empty.proto"; import "oid.proto"; import "repository.proto"; import "tagger.proto"; message Tag { string name = 1; string full_ref = 2; Oid target_oid = 3; ObjectType target_type = 4; Oid tag_oid = 5; bool annotated = 6; Signature tagger = 7; string message = 8; VerifiedSignature signature = 9; bytes raw = 10; } message ListTagsRequest { RepositoryHeader repository = 1; string pattern = 2; Pagination pagination = 3; SortDirection sort_direction = 4; } message ListTagsResponse { repeated Tag tags = 1; PageInfo page_info = 2; } message GetTagRequest { RepositoryHeader repository = 1; string name = 2; bool include_raw = 3; } message CreateTagRequest { RepositoryHeader repository = 1; string name = 2; ObjectSelector target = 3; string message = 4; Signature tagger = 5; bool force = 6; bool annotated = 7; } message DeleteTagRequest { RepositoryHeader repository = 1; string name = 2; } message VerifyTagRequest { RepositoryHeader repository = 1; string name = 2; } service TagService { rpc ListTags(ListTagsRequest) returns (ListTagsResponse); rpc GetTag(GetTagRequest) returns (Tag); rpc CreateTag(CreateTagRequest) returns (Tag); rpc DeleteTag(DeleteTagRequest) returns (google.protobuf.Empty); rpc VerifyTag(VerifyTagRequest) returns (VerifiedSignature); }