syntax = "proto3"; package proto; option go_package = "go.unistack.org/unistack-org/pkgdash/proto/go_generate;go_generate"; import "validate/validate.proto"; service DashboardService { rpc ListPackage(ListPackageReq) returns (ListPackageRsp) {}; rpc UpdateInfo(UpdateInfoPackageRsp) returns (UpdateInfoPackageReq) {}; rpc AddComment(CommentRsp) returns (CommentReq) {}; }; message Package { uint64 id = 1 [(validate.rules).uint64.gt = 0]; string name = 2 [(validate.rules).string.min_len = 1]; string url = 3 [(validate.rules).string.min_len = 1]; repeated Module modules = 4; repeated Issue issues = 5; }; message Module { uint64 id = 1 [(validate.rules).uint64.gt = 0]; string name = 2 [(validate.rules).string.min_len = 1]; string version = 3 [(validate.rules).string.min_len = 1]; uint64 package = 4 [(validate.rules).uint64.gt = 0]; } message Issue { uint64 id = 1 [(validate.rules).uint64.gt = 0]; uint64 status = 2 [(validate.rules).uint64.gt = 0]; string desc = 3 [(validate.rules).string.min_len = 1]; uint64 package = 4 [(validate.rules).uint64.gt = 0]; repeated uint64 modules = 5; } message Comment { uint64 id = 1 [(validate.rules).uint64.gt = 0]; uint64 package = 2 [(validate.rules).uint64.gt = 0]; string text = 3; uint64 created = 4 [(validate.rules).uint64.gt = 0]; uint64 updated = 5 [(validate.rules).uint64.gt = 0]; } message ListPackageReq {} message ListPackageRsp{ repeated Package packages = 1; } message UpdateInfoPackageRsp { uint64 id = 1 [(validate.rules).uint64.gt = 0]; } message UpdateInfoPackageReq { uint64 id = 1 [(validate.rules).uint64.gt = 0]; } message CommentRsp { uint64 idPackage = 1 [(validate.rules).uint64.gt = 0]; string text = 2; } message CommentReq { uint64 id = 1 [(validate.rules).uint64.gt = 0]; }