Our gRPC schema collection has become somewhat larger now and its time to relook at how we organise things.
The current flat file structure makes the actual service entry points quite difficult to find. I suggest we move the other auxilliary files into a folder, keeping only the service files at the top-level.
I also suggest we look into removing the request/response files, and move single use messages into the appropriate service file. As in message StoreXxxRequest could just become message Xxx in the store's service file.
Common types should remain in appropriately named files.
In a way, this would emulate the rust module system. e.g. start with a types.proto and once that grows too large, split into primitives.proto, transaction.proto etc.
The above are just some suggestions; feel free to try find a better layout/design.
Our gRPC schema collection has become somewhat larger now and its time to relook at how we organise things.
The current flat file structure makes the actual service entry points quite difficult to find. I suggest we move the other auxilliary files into a folder, keeping only the service files at the top-level.
I also suggest we look into removing the request/response files, and move single use messages into the appropriate service file. As in
message StoreXxxRequestcould just becomemessage Xxxin the store's service file.Common types should remain in appropriately named files.
In a way, this would emulate the rust module system. e.g. start with a
types.protoand once that grows too large, split intoprimitives.proto,transaction.protoetc.The above are just some suggestions; feel free to try find a better layout/design.