Files
client/interface/proto/forest/v1/registry.proto
2026-03-15 19:46:33 +01:00

81 lines
1.8 KiB
Protocol Buffer

syntax = "proto3";
package forest.v1;
service RegistryService {
rpc GetComponents(GetComponentsRequest) returns (GetComponentsResponse) {}
rpc GetComponent(GetComponentRequest) returns (GetComponentResponse) {}
rpc GetComponentVersion(GetComponentVersionRequest) returns (GetComponentVersionResponse) {}
rpc BeginUpload(BeginUploadRequest) returns (BeginUploadResponse) {}
rpc UploadFile(UploadFileRequest) returns (UploadFileResponse) {}
rpc CommitUpload(CommitUploadRequest) returns (CommitUploadResponse) {}
rpc GetComponentFiles(GetComponentFilesRequest) returns (stream GetComponentFilesResponse) {}
}
message GetComponentsRequest {}
message GetComponentsResponse {}
message GetComponentRequest {
string name = 1;
string organisation = 2;
}
message GetComponentResponse {
optional Component component = 1;
}
message Component {
string id = 1;
string version = 2;
}
// ComponentVersion
message GetComponentVersionRequest {
string name = 1;
string organisation = 2;
string version = 3;
}
message GetComponentVersionResponse {
optional Component component = 1;
}
// BeginUpload
message BeginUploadRequest {
string name = 1;
string organisation = 2;
string version = 3;
}
message BeginUploadResponse {
string upload_context = 1;
}
message UploadFileRequest {
string upload_context = 1;
string file_path = 2;
bytes file_content = 3;
}
message UploadFileResponse {}
message CommitUploadRequest {
string upload_context = 1;
}
message CommitUploadResponse {}
// Get component files
message GetComponentFilesRequest {
string component_id = 1;
}
message GetComponentFilesResponse {
oneof msg {
Done done = 1;
ComponentFile component_file = 2;
}
}
message ComponentFile {
string file_path = 1;
bytes file_content = 2;
}
message Done {}