2
0

studio.proto 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. syntax = "proto3";
  2. import "public.proto";
  3. /*
  4. * studio 服务
  5. * 每个用户注册时有一个默认studio。与用户名相同。
  6. * 用户可以建立另外的studio
  7. * 默认studio 不能转让,其他studio可以转让
  8. */
  9. service Studio{
  10. rpc GetStudioListForUser (StudioListRequest) returns (StudioListReply){}
  11. rpc GetStudio (StudioRequest) returns (StudioReply){}
  12. rpc SetStudio (StudioRequest) returns (StudioReply){}
  13. rpc TransferStudio (StudioRequest) returns (StudioReply){} //转让
  14. rpc AddStudio (StudioRequest) returns (StudioReply){}
  15. rpc DelStudio (StudioRequest) returns (StudioReply){}
  16. }
  17. message StudioListRequest{
  18. string Id = 1;
  19. string Search = 3;
  20. EnumAllowingSearch SearchCol = 4;
  21. int32 CurrentPage = 5;
  22. int32 PageSize = 6;
  23. EnumAllowingOrderby OrderBy = 7;
  24. bool Desc = 8;
  25. }
  26. enum EnumAllowingSearch{
  27. EAS_NAME = 0;
  28. }
  29. enum EnumAllowingOrderby{
  30. EAO_CREATE_AT = 0;
  31. EAO_NAME = 1;
  32. }
  33. message StudioRequest{
  34. string Id = 1;
  35. string Name = 2;
  36. string Summary = 3;
  37. string Cover = 4;
  38. string Owner = 5;
  39. string CreatedAt = 6;
  40. string UpdatedAt = 7;
  41. }
  42. message StudioReply{
  43. bool ok = 1;
  44. string message = 2;
  45. StudioRequest data = 3;
  46. }
  47. message StudioListReply{
  48. bool ok = 1;
  49. string message = 2;
  50. message data{
  51. repeated StudioRequest rows = 1;
  52. int32 Count = 2;
  53. int32 PageNo = 3;
  54. int32 PageSize = 4;
  55. }
  56. }