hyperlog/crates/hyperlog-protos/proto/hyperlog.proto

48 lines
720 B
Protocol Buffer
Raw Normal View History

syntax = "proto3";
package hyperlog;
service Graph {
rpc Get(GetRequest) returns (GetReply);
}
message UserGraphItem {
map<string, GraphItem> items = 1;
}
message SectionGraphItem {
map<string, GraphItem> items = 1;
}
message ItemStateNotDone {}
message ItemStateDone {}
message ItemGraphItem {
string title = 1;
string description = 2;
oneof item_state {
ItemStateNotDone not_done = 3;
ItemStateDone done = 4;
}
}
message GraphItem {
string path = 1;
oneof contents {
UserGraphItem user = 2;
SectionGraphItem section = 3;
ItemGraphItem item = 4;
}
}
message GetRequest {
string root = 1;
repeated string paths = 2;
}
message GetReply {
GraphItem item = 1;
}