lily.proto 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. syntax = "proto3";
  2. option java_multiple_files = true;
  3. option java_package = "com.github.saturn_xiv.palm.plugins.lily.v1";
  4. package palm.lily.v1;
  5. message File {
  6. optional string content_type = 1;
  7. bytes payload = 2;
  8. }
  9. // ----------------------------------------------------------------------------
  10. service Excel {
  11. rpc Parse(File) returns (ExcelModel) {}
  12. rpc Generate(ExcelModel) returns (File) {}
  13. }
  14. message ExcelModel {
  15. message Sheet {
  16. message Cell {
  17. uint32 row = 1;
  18. uint32 col = 2;
  19. string val = 3;
  20. }
  21. string name = 1;
  22. repeated Cell cells = 2;
  23. }
  24. repeated Sheet sheets = 1;
  25. }
  26. // ----------------------------------------------------------------------------
  27. service Tex {
  28. rpc ToPdf(TexToRequest) returns (File) {}
  29. rpc ToWord(TexToRequest) returns (File) {}
  30. }
  31. message TexToRequest { map<string, bytes> files = 1; }
  32. // ----------------------------------------------------------------------------
  33. service Epub {
  34. rpc Build(EpubBuildRequest) returns (File) {}
  35. }
  36. message EpubBuildRequest {}