syntax = "proto3"; package proto; import "google/protobuf/timestamp.proto"; // Micro ... service Micro { // Insert ... rpc Insert(Insert.Request) returns (Insert.Response); // Update ... rpc Update(Update.Request) returns (Update.Response); // ListArticles ... rpc ListArticles(ListArticles.Request) returns (stream ListArticles.Response); } // Item ... message Item { oneof item { Article article = 10; } } // Article ... message Article { // UUID ... string uuid = 1; // Title ... string title = 2; // Body ... string body = 3; } // Insert ... message Insert { // Request ... message Request { Item item = 1; } // Response ... message Response { string uuid = 1; } } // Update ... message Update { // Request ... message Request { Item item = 1; } // Response ... message Response { string uuid = 1; } } // ListArticles ... message ListArticles { // Request ... message Request { } // Response ... message Response { repeated Article articles = 1; } } // Empty ... message Empty {}