From ed8be13072e7518223c811945c7b6628d8acb02f Mon Sep 17 00:00:00 2001 From: GoEdgeLab Date: Wed, 29 Jul 2020 19:02:28 +0800 Subject: [PATCH] =?UTF-8?q?=E9=98=B6=E6=AE=B5=E6=80=A7=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build/grpc.sh | 15 +- go.mod | 6 +- go.sum | 9 +- internal/apis/api_node.go | 11 +- internal/db/models/log_dao.go | 2 +- internal/db/models/node_dao.go | 5 +- internal/db/models/node_grant_dao.go | 84 +- internal/db/models/node_grant_model.go | 2 + internal/db/models/node_model.go | 2 + internal/db/models/server_dao.go | 66 + internal/db/models/server_model.go | 4 + internal/rpc/pb/model_cluster.pb.go | 165 --- internal/rpc/pb/model_node.pb.go | 33 +- internal/rpc/pb/model_node_cluster.pb.go | 165 +++ internal/rpc/pb/model_node_grant.pb.go | 213 ++++ internal/rpc/pb/model_server.pb.go | 201 +++ internal/rpc/pb/service_admin.pb.go | 1121 +++-------------- internal/rpc/pb/service_dns.pb.go | 111 -- internal/rpc/pb/service_log.pb.go | 51 +- internal/rpc/pb/service_monitor.pb.go | 111 -- internal/rpc/pb/service_node.pb.go | 485 ++++++- internal/rpc/pb/service_node_cluster.pb.go | 304 +++++ internal/rpc/pb/service_node_grant.pb.go | 1109 ++++++++++++++++ internal/rpc/pb/service_node_group.pb.go | 66 + internal/rpc/pb/service_node_region.pb.go | 66 + internal/rpc/pb/service_provider.pb.go | 111 -- internal/rpc/pb/service_server.pb.go | 706 +++++++++++ internal/rpc/pb/service_server_group.pb.go | 66 + internal/rpc/pb/service_stat.pb.go | 111 -- internal/rpc/pb/service_user.pb.go | 51 +- internal/rpc/protos/model_node.proto | 4 +- ...cluster.proto => model_node_cluster.proto} | 2 +- internal/rpc/protos/model_node_grant.proto | 15 + internal/rpc/protos/model_server.proto | 16 + internal/rpc/protos/service_admin.proto | 78 +- internal/rpc/protos/service_log.proto | 6 +- internal/rpc/protos/service_node.proto | 46 +- .../rpc/protos/service_node_cluster.proto | 18 + internal/rpc/protos/service_node_grant.proto | 81 ++ ...ice_dns.proto => service_node_group.proto} | 6 +- ...e_stat.proto => service_node_region.proto} | 6 +- internal/rpc/protos/service_provider.proto | 9 - internal/rpc/protos/service_server.proto | 50 + ...nitor.proto => service_server_group.proto} | 6 +- internal/rpc/protos/service_user.proto | 3 - internal/rpc/services/service_admin.go | 209 +-- internal/rpc/services/service_dns.go | 4 - internal/rpc/services/service_log.go | 4 - internal/rpc/services/service_monitor.go | 4 - internal/rpc/services/service_node.go | 65 +- internal/rpc/services/service_node_cluster.go | 38 + internal/rpc/services/service_node_grant.go | 89 ++ internal/rpc/services/service_provider.go | 4 - internal/rpc/services/service_stat.go | 4 - internal/rpc/services/service_user.go | 4 - internal/rpc/services/servie_server.go | 68 + internal/rpc/utils/utils.go | 96 ++ 57 files changed, 4334 insertions(+), 2053 deletions(-) delete mode 100644 internal/rpc/pb/model_cluster.pb.go create mode 100644 internal/rpc/pb/model_node_cluster.pb.go create mode 100644 internal/rpc/pb/model_node_grant.pb.go create mode 100644 internal/rpc/pb/model_server.pb.go delete mode 100644 internal/rpc/pb/service_dns.pb.go delete mode 100644 internal/rpc/pb/service_monitor.pb.go create mode 100644 internal/rpc/pb/service_node_cluster.pb.go create mode 100644 internal/rpc/pb/service_node_grant.pb.go create mode 100644 internal/rpc/pb/service_node_group.pb.go create mode 100644 internal/rpc/pb/service_node_region.pb.go delete mode 100644 internal/rpc/pb/service_provider.pb.go create mode 100644 internal/rpc/pb/service_server.pb.go create mode 100644 internal/rpc/pb/service_server_group.pb.go delete mode 100644 internal/rpc/pb/service_stat.pb.go rename internal/rpc/protos/{model_cluster.proto => model_node_cluster.proto} (84%) create mode 100644 internal/rpc/protos/model_node_grant.proto create mode 100644 internal/rpc/protos/model_server.proto create mode 100644 internal/rpc/protos/service_node_cluster.proto create mode 100644 internal/rpc/protos/service_node_grant.proto rename internal/rpc/protos/{service_dns.proto => service_node_group.proto} (70%) rename internal/rpc/protos/{service_stat.proto => service_node_region.proto} (70%) delete mode 100644 internal/rpc/protos/service_provider.proto create mode 100644 internal/rpc/protos/service_server.proto rename internal/rpc/protos/{service_monitor.proto => service_server_group.proto} (67%) delete mode 100644 internal/rpc/services/service_dns.go delete mode 100644 internal/rpc/services/service_log.go delete mode 100644 internal/rpc/services/service_monitor.go create mode 100644 internal/rpc/services/service_node_cluster.go create mode 100644 internal/rpc/services/service_node_grant.go delete mode 100644 internal/rpc/services/service_provider.go delete mode 100644 internal/rpc/services/service_stat.go delete mode 100644 internal/rpc/services/service_user.go create mode 100644 internal/rpc/services/servie_server.go create mode 100644 internal/rpc/utils/utils.go diff --git a/build/grpc.sh b/build/grpc.sh index e61f0ea6..12a7d7e2 100755 --- a/build/grpc.sh +++ b/build/grpc.sh @@ -2,10 +2,19 @@ ADMIN_PROJECT="../../EdgeAdmin" +rm -f ../internal/rpc/pb/* protoc --go_out=plugins=grpc:../internal/rpc --proto_path=../internal/rpc/protos ../internal/rpc/protos/*.proto #admin -cp ../internal/rpc/protos/service_admin.proto ${ADMIN_PROJECT}/internal/rpc/protos/ -cp ../internal/rpc/pb/service_admin.pb.go ${ADMIN_PROJECT}/internal/rpc/pb/ -cp ../internal/rpc/pb/model_*.go ${ADMIN_PROJECT}/internal/rpc/pb/ +function pub() { + cp ../internal/rpc/protos/service_${2}.proto ${1}/internal/rpc/protos/ + cp ../internal/rpc/pb/service_${2}.pb.go ${1}/internal/rpc/pb/ +} +pub ${ADMIN_PROJECT} admin +pub ${ADMIN_PROJECT} node +pub ${ADMIN_PROJECT} node_cluster +pub ${ADMIN_PROJECT} node_grant +pub ${ADMIN_PROJECT} server + +cp ../internal/rpc/pb/model_*.go ${ADMIN_PROJECT}/internal/rpc/pb/ diff --git a/go.mod b/go.mod index 838415c7..324dcc0e 100644 --- a/go.mod +++ b/go.mod @@ -6,11 +6,7 @@ require ( github.com/go-sql-driver/mysql v1.5.0 github.com/go-yaml/yaml v2.1.0+incompatible github.com/golang/protobuf v1.4.2 - github.com/iwind/TeaGo v0.0.0-20200722034406-6bf13920e40d - github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e // indirect - github.com/pquerna/ffjson v0.0.0-20190930134022-aa0246cd15f7 // indirect + github.com/iwind/TeaGo v0.0.0-20200727075925-7e7e67b44f2d google.golang.org/grpc v1.30.0 google.golang.org/protobuf v1.25.0 - gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f // indirect - gopkg.in/yaml.v2 v2.3.0 // indirect ) diff --git a/go.sum b/go.sum index badd2892..6f7adfb8 100644 --- a/go.sum +++ b/go.sum @@ -38,12 +38,8 @@ github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.5.0 h1:/QaMHBdZ26BB3SSst0Iwl10Epc+xhTquomWX0oZEB6w= github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= -github.com/iwind/TeaGo v0.0.0-20200720020412-96dbe21b81d4 h1:893FbgV8PRV/rCqEAtpifgAmsIYTDrZruWHMWIw4+x8= -github.com/iwind/TeaGo v0.0.0-20200720020412-96dbe21b81d4/go.mod h1:taNzU+Tt7Axz5t1v8pEV7xRuioNJxbMeMAbDVQpxq20= -github.com/iwind/TeaGo v0.0.0-20200722010955-47dd648dc761 h1:70Iaf6iVF4CiH1P5Au3hqile/2Ea0XIkR4SPpdiaKI0= -github.com/iwind/TeaGo v0.0.0-20200722010955-47dd648dc761/go.mod h1:zjM7k+b+Jthhf0T0fKwuF0iy4TWb5SsU1gmKR2l+OmE= -github.com/iwind/TeaGo v0.0.0-20200722034406-6bf13920e40d h1:W//0gTbKQ44b3gHNz1/fMiKEu+mM5t5O3py4kJscSa0= -github.com/iwind/TeaGo v0.0.0-20200722034406-6bf13920e40d/go.mod h1:zjM7k+b+Jthhf0T0fKwuF0iy4TWb5SsU1gmKR2l+OmE= +github.com/iwind/TeaGo v0.0.0-20200727075925-7e7e67b44f2d h1:V7HA0wUOdmZbXJTVpiUEvSD4ARKHwMLMmiCccfkqf24= +github.com/iwind/TeaGo v0.0.0-20200727075925-7e7e67b44f2d/go.mod h1:zjM7k+b+Jthhf0T0fKwuF0iy4TWb5SsU1gmKR2l+OmE= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= @@ -84,6 +80,7 @@ golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200519105757-fe76b779f299 h1:DYfZAGf2WMFjMxbgTjaC+2HC7NkNAQs+6Q8b9WEB/F4= golang.org/x/sys v0.0.0-20200519105757-fe76b779f299/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/text v0.3.0 h1:g61tztE5qeGQ89tm6NTjjM9VPIm088od1l6aSorWRWg= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= diff --git a/internal/apis/api_node.go b/internal/apis/api_node.go index 8594ebe0..19ea52ba 100644 --- a/internal/apis/api_node.go +++ b/internal/apis/api_node.go @@ -51,14 +51,11 @@ func (this *APINode) listenRPC() error { return errors.New("[API]listen rpc failed: " + err.Error()) } rpcServer := grpc.NewServer() - pb.RegisterDnsServiceServer(rpcServer, &services.DNSService{}) - pb.RegisterLogServiceServer(rpcServer, &services.LogService{}) - pb.RegisterMonitorServiceServer(rpcServer, &services.MonitorService{}) - pb.RegisterNodeServiceServer(rpcServer, &services.NodeService{}) - pb.RegisterProviderServiceServer(rpcServer, &services.ProviderService{}) - pb.RegisterStatServiceServer(rpcServer, &services.StatService{}) - pb.RegisterUserServiceServer(rpcServer, &services.UserService{}) pb.RegisterAdminServiceServer(rpcServer, &services.AdminService{}) + pb.RegisterNodeGrantServiceServer(rpcServer, &services.NodeGrantService{}) + pb.RegisterServerServiceServer(rpcServer, &services.ServerService{}) + pb.RegisterNodeServiceServer(rpcServer, &services.NodeService{}) + pb.RegisterNodeClusterServiceServer(rpcServer, &services.NodeClusterService{}) err = rpcServer.Serve(listener) if err != nil { return errors.New("[API]start rpc failed: " + err.Error()) diff --git a/internal/db/models/log_dao.go b/internal/db/models/log_dao.go index cafc9a0c..336c4a82 100644 --- a/internal/db/models/log_dao.go +++ b/internal/db/models/log_dao.go @@ -22,7 +22,7 @@ func NewLogDAO() *LogDAO { var SharedLogDAO = NewLogDAO() // 创建管理员日志 -func (this *LogDAO) CreateAdminLog(adminId int, level string, description string, action string, ip string) error { +func (this *LogDAO) CreateAdminLog(adminId int64, level string, description string, action string, ip string) error { op := NewLogOperator() op.AdminId, op.Level, op.Description, op.Action, op.Ip = adminId, level, description, action, ip op.Type = LogTypeAdmin diff --git a/internal/db/models/node_dao.go b/internal/db/models/node_dao.go index b48887bc..f1abe98c 100644 --- a/internal/db/models/node_dao.go +++ b/internal/db/models/node_dao.go @@ -72,6 +72,7 @@ func (this *NodeDAO) CreateNode(name string, clusterId int) (nodeId int, err err op.NodeId = rands.HexString(32) op.Secret = rands.String(32) op.ClusterId = clusterId + op.IsOn = 1 op.State = NodeStateEnabled _, err = this.Save(op) if err != nil { @@ -102,8 +103,8 @@ func (this *NodeDAO) CountAllEnabledNodes() (int64, error) { func (this *NodeDAO) ListEnabledNodes(offset int64, size int64) (result []*Node, err error) { _, err = this.Query(). State(NodeStateEnabled). - Offset(int(offset)). - Limit(int(size)). + Offset(offset). + Limit(size). DescPk(). Slice(&result). FindAll() diff --git a/internal/db/models/node_grant_dao.go b/internal/db/models/node_grant_dao.go index 4a413076..4d414d4f 100644 --- a/internal/db/models/node_grant_dao.go +++ b/internal/db/models/node_grant_dao.go @@ -1,9 +1,11 @@ package models import ( + "errors" _ "github.com/go-sql-driver/mysql" "github.com/iwind/TeaGo/Tea" "github.com/iwind/TeaGo/dbs" + "github.com/iwind/TeaGo/types" ) const ( @@ -35,15 +37,16 @@ func (this *NodeGrantDAO) EnableNodeGrant(id uint32) (rowsAffected int64, err er } // 禁用条目 -func (this *NodeGrantDAO) DisableNodeGrant(id uint32) (rowsAffected int64, err error) { - return this.Query(). +func (this *NodeGrantDAO) DisableNodeGrant(id int64) (err error) { + _, err = this.Query(). Pk(id). Set("state", NodeGrantStateDisabled). Update() + return err } // 查找启用中的条目 -func (this *NodeGrantDAO) FindEnabledNodeGrant(id uint32) (*NodeGrant, error) { +func (this *NodeGrantDAO) FindEnabledNodeGrant(id int64) (*NodeGrant, error) { result, err := this.Query(). Pk(id). Attr("state", NodeGrantStateEnabled). @@ -62,3 +65,78 @@ func (this *NodeGrantDAO) FindNodeGrantName(id uint32) (string, error) { FindCol("") return name.(string), err } + +// 创建认证信息 +func (this *NodeGrantDAO) CreateGrant(name string, method string, username string, password string, privateKey string, description string, nodeId int64) (grantId int64, err error) { + op := NewNodeGrantOperator() + op.Name = name + op.Method = method + + switch method { + case "user": + op.Username = username + op.Password = password + op.Su = false // TODO 需要做到前端可以配置 + case "privateKey": + op.PrivateKey = privateKey + } + op.Description = description + op.NodeId = nodeId + op.State = NodeGrantStateEnabled + _, err = this.Save(op) + return types.Int64(op.Id), err +} + +// 修改认证信息 +func (this *NodeGrantDAO) UpdateGrant(grantId int64, name string, method string, username string, password string, privateKey string, description string, nodeId int64) error { + if grantId <= 0 { + return errors.New("invalid grantId") + } + + op := NewNodeGrantOperator() + op.Id = grantId + op.Name = name + op.Method = method + + switch method { + case "user": + op.Username = username + op.Password = password + op.Su = false // TODO 需要做到前端可以配置 + case "privateKey": + op.PrivateKey = privateKey + } + op.Description = description + op.NodeId = nodeId + _, err := this.Save(op) + return err +} + +// 计算所有认证信息数量 +func (this *NodeGrantDAO) CountAllEnabledGrants() (int64, error) { + return this.Query(). + State(NodeGrantStateEnabled). + Count() +} + +// 列出单页的认证信息 +func (this *NodeGrantDAO) ListEnabledGrants(offset int64, size int64) (result []*NodeGrant, err error) { + _, err = this.Query(). + State(NodeGrantStateEnabled). + Offset(offset). + Size(size). + DescPk(). + Slice(&result). + FindAll() + return +} + +// 列出所有的认证信息 +func (this *NodeGrantDAO) FindAllEnabledGrants() (result []*NodeGrant, err error) { + _, err = this.Query(). + State(NodeGrantStateEnabled). + DescPk(). + Slice(&result). + FindAll() + return +} diff --git a/internal/db/models/node_grant_model.go b/internal/db/models/node_grant_model.go index d6fada94..cf699914 100644 --- a/internal/db/models/node_grant_model.go +++ b/internal/db/models/node_grant_model.go @@ -4,6 +4,7 @@ package models type NodeGrant struct { Id uint32 `field:"id"` // ID Name string `field:"name"` // 名称 + Method string `field:"method"` // 登录方式 Username string `field:"username"` // 用户名 Password string `field:"password"` // 密码 Su uint8 `field:"su"` // 是否需要su @@ -16,6 +17,7 @@ type NodeGrant struct { type NodeGrantOperator struct { Id interface{} // ID Name interface{} // 名称 + Method interface{} // 登录方式 Username interface{} // 用户名 Password interface{} // 密码 Su interface{} // 是否需要su diff --git a/internal/db/models/node_model.go b/internal/db/models/node_model.go index 0b26550b..1685343e 100644 --- a/internal/db/models/node_model.go +++ b/internal/db/models/node_model.go @@ -3,6 +3,7 @@ package models // 节点 type Node struct { Id uint32 `field:"id"` // ID + IsOn uint8 `field:"isOn"` // 是否启用 NodeId string `field:"nodeId"` // 节点ID Secret string `field:"secret"` // 密钥 Name string `field:"name"` // 节点名 @@ -17,6 +18,7 @@ type Node struct { type NodeOperator struct { Id interface{} // ID + IsOn interface{} // 是否启用 NodeId interface{} // 节点ID Secret interface{} // 密钥 Name interface{} // 节点名 diff --git a/internal/db/models/server_dao.go b/internal/db/models/server_dao.go index 5c776491..9e6bb849 100644 --- a/internal/db/models/server_dao.go +++ b/internal/db/models/server_dao.go @@ -1,9 +1,11 @@ package models import ( + "errors" _ "github.com/go-sql-driver/mysql" "github.com/iwind/TeaGo/Tea" "github.com/iwind/TeaGo/dbs" + "github.com/iwind/TeaGo/types" ) const ( @@ -53,3 +55,67 @@ func (this *ServerDAO) FindEnabledServer(id uint32) (*Server, error) { } return result.(*Server), err } + +// 创建服务 +func (this *ServerDAO) CreateServer(adminId int64, userId int64, clusterId int64, configJSON string, includeNodesJSON string, excludeNodesJSON string) (serverId int64, err error) { + op := NewServerOperator() + op.UserId = userId + op.AdminId = adminId + op.ClusterId = clusterId + if len(configJSON) > 0 { + op.Config = configJSON + } + if len(includeNodesJSON) > 0 { + op.IncludeNodes = includeNodesJSON + } + if len(excludeNodesJSON) > 0 { + op.ExcludeNodes = excludeNodesJSON + } + op.GroupIds = "[]" + op.Version = 1 + op.IsOn = 1 + op.State = ServerStateEnabled + _, err = this.Save(op) + return types.Int64(op.Id), err +} + +// 修改服务 +func (this *ServerDAO) UpdateServer(serverId int64, clusterId int64, configJSON string, includeNodesJSON string, excludeNodesJSON string) error { + if serverId <= 0 { + return errors.New("serverId should not be smaller than 0") + } + op := NewServerOperator() + op.Id = serverId + op.ClusterId = clusterId + if len(configJSON) > 0 { + op.Config = configJSON + } + if len(includeNodesJSON) > 0 { + op.IncludeNodes = includeNodesJSON + } + if len(excludeNodesJSON) > 0 { + op.ExcludeNodes = excludeNodesJSON + } + op.Version = dbs.SQL("version=version+1") + _, err := this.Save(op) + return err +} + +// 计算所有可用服务数量 +func (this *ServerDAO) CountAllEnabledServers() (int64, error) { + return this.Query(). + State(ServerStateEnabled). + Count() +} + +// 列出单页的服务 +func (this *ServerDAO) ListEnabledServers(offset int64, size int64) (result []*Server, err error) { + _, err = this.Query(). + State(ServerStateEnabled). + Offset(offset). + Limit(size). + DescPk(). + Slice(&result). + FindAll() + return +} diff --git a/internal/db/models/server_model.go b/internal/db/models/server_model.go index 25b94714..73adb127 100644 --- a/internal/db/models/server_model.go +++ b/internal/db/models/server_model.go @@ -3,10 +3,12 @@ package models // 服务 type Server struct { Id uint32 `field:"id"` // ID + IsOn uint8 `field:"isOn"` // 是否启用 UserId uint32 `field:"userId"` // 用户ID AdminId uint32 `field:"adminId"` // 管理员ID GroupIds string `field:"groupIds"` // 分组ID列表 Config string `field:"config"` // 服务配置,自动生成 + ClusterId uint32 `field:"clusterId"` // 集群ID IncludeNodes string `field:"includeNodes"` // 部署条件 ExcludeNodes string `field:"excludeNodes"` // 节点排除条件 Version uint32 `field:"version"` // 版本号 @@ -16,10 +18,12 @@ type Server struct { type ServerOperator struct { Id interface{} // ID + IsOn interface{} // 是否启用 UserId interface{} // 用户ID AdminId interface{} // 管理员ID GroupIds interface{} // 分组ID列表 Config interface{} // 服务配置,自动生成 + ClusterId interface{} // 集群ID IncludeNodes interface{} // 部署条件 ExcludeNodes interface{} // 节点排除条件 Version interface{} // 版本号 diff --git a/internal/rpc/pb/model_cluster.pb.go b/internal/rpc/pb/model_cluster.pb.go deleted file mode 100644 index 4e731ecd..00000000 --- a/internal/rpc/pb/model_cluster.pb.go +++ /dev/null @@ -1,165 +0,0 @@ -// Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.25.0 -// protoc v3.12.3 -// source: model_cluster.proto - -package pb - -import ( - proto "github.com/golang/protobuf/proto" - protoreflect "google.golang.org/protobuf/reflect/protoreflect" - protoimpl "google.golang.org/protobuf/runtime/protoimpl" - reflect "reflect" - sync "sync" -) - -const ( - // Verify that this generated code is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) - // Verify that runtime/protoimpl is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) -) - -// This is a compile-time assertion that a sufficiently up-to-date version -// of the legacy proto package is being used. -const _ = proto.ProtoPackageIsVersion4 - -type Cluster struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` - CreatedAt int64 `protobuf:"varint,3,opt,name=createdAt,proto3" json:"createdAt,omitempty"` -} - -func (x *Cluster) Reset() { - *x = Cluster{} - if protoimpl.UnsafeEnabled { - mi := &file_model_cluster_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Cluster) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Cluster) ProtoMessage() {} - -func (x *Cluster) ProtoReflect() protoreflect.Message { - mi := &file_model_cluster_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Cluster.ProtoReflect.Descriptor instead. -func (*Cluster) Descriptor() ([]byte, []int) { - return file_model_cluster_proto_rawDescGZIP(), []int{0} -} - -func (x *Cluster) GetId() int64 { - if x != nil { - return x.Id - } - return 0 -} - -func (x *Cluster) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *Cluster) GetCreatedAt() int64 { - if x != nil { - return x.CreatedAt - } - return 0 -} - -var File_model_cluster_proto protoreflect.FileDescriptor - -var file_model_cluster_proto_rawDesc = []byte{ - 0x0a, 0x13, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x22, 0x4b, 0x0a, 0x07, 0x43, 0x6c, 0x75, - 0x73, 0x74, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} - -var ( - file_model_cluster_proto_rawDescOnce sync.Once - file_model_cluster_proto_rawDescData = file_model_cluster_proto_rawDesc -) - -func file_model_cluster_proto_rawDescGZIP() []byte { - file_model_cluster_proto_rawDescOnce.Do(func() { - file_model_cluster_proto_rawDescData = protoimpl.X.CompressGZIP(file_model_cluster_proto_rawDescData) - }) - return file_model_cluster_proto_rawDescData -} - -var file_model_cluster_proto_msgTypes = make([]protoimpl.MessageInfo, 1) -var file_model_cluster_proto_goTypes = []interface{}{ - (*Cluster)(nil), // 0: pb.Cluster -} -var file_model_cluster_proto_depIdxs = []int32{ - 0, // [0:0] is the sub-list for method output_type - 0, // [0:0] is the sub-list for method input_type - 0, // [0:0] is the sub-list for extension type_name - 0, // [0:0] is the sub-list for extension extendee - 0, // [0:0] is the sub-list for field type_name -} - -func init() { file_model_cluster_proto_init() } -func file_model_cluster_proto_init() { - if File_model_cluster_proto != nil { - return - } - if !protoimpl.UnsafeEnabled { - file_model_cluster_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Cluster); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - type x struct{} - out := protoimpl.TypeBuilder{ - File: protoimpl.DescBuilder{ - GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_model_cluster_proto_rawDesc, - NumEnums: 0, - NumMessages: 1, - NumExtensions: 0, - NumServices: 0, - }, - GoTypes: file_model_cluster_proto_goTypes, - DependencyIndexes: file_model_cluster_proto_depIdxs, - MessageInfos: file_model_cluster_proto_msgTypes, - }.Build() - File_model_cluster_proto = out.File - file_model_cluster_proto_rawDesc = nil - file_model_cluster_proto_goTypes = nil - file_model_cluster_proto_depIdxs = nil -} diff --git a/internal/rpc/pb/model_node.pb.go b/internal/rpc/pb/model_node.pb.go index e20b5730..e599d7d9 100644 --- a/internal/rpc/pb/model_node.pb.go +++ b/internal/rpc/pb/model_node.pb.go @@ -30,9 +30,9 @@ type Node struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` - Cluster *Cluster `protobuf:"bytes,32,opt,name=cluster,proto3" json:"cluster,omitempty"` + Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Cluster *NodeCluster `protobuf:"bytes,32,opt,name=cluster,proto3" json:"cluster,omitempty"` } func (x *Node) Reset() { @@ -81,7 +81,7 @@ func (x *Node) GetName() string { return "" } -func (x *Node) GetCluster() *Cluster { +func (x *Node) GetCluster() *NodeCluster { if x != nil { return x.Cluster } @@ -92,14 +92,15 @@ var File_model_node_proto protoreflect.FileDescriptor var file_model_node_proto_rawDesc = []byte{ 0x0a, 0x10, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x1a, 0x13, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x63, 0x6c, - 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x51, 0x0a, 0x04, 0x4e, - 0x6f, 0x64, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, - 0x65, 0x72, 0x18, 0x20, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6c, - 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x42, 0x06, - 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x1a, 0x18, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x6e, 0x6f, + 0x64, 0x65, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x22, 0x55, 0x0a, 0x04, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x29, 0x0a, 0x07, + 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x20, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, + 0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x07, + 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, + 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -116,11 +117,11 @@ func file_model_node_proto_rawDescGZIP() []byte { var file_model_node_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_model_node_proto_goTypes = []interface{}{ - (*Node)(nil), // 0: pb.Node - (*Cluster)(nil), // 1: pb.Cluster + (*Node)(nil), // 0: pb.Node + (*NodeCluster)(nil), // 1: pb.NodeCluster } var file_model_node_proto_depIdxs = []int32{ - 1, // 0: pb.Node.cluster:type_name -> pb.Cluster + 1, // 0: pb.Node.cluster:type_name -> pb.NodeCluster 1, // [1:1] is the sub-list for method output_type 1, // [1:1] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name @@ -133,7 +134,7 @@ func file_model_node_proto_init() { if File_model_node_proto != nil { return } - file_model_cluster_proto_init() + file_model_node_cluster_proto_init() if !protoimpl.UnsafeEnabled { file_model_node_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Node); i { diff --git a/internal/rpc/pb/model_node_cluster.pb.go b/internal/rpc/pb/model_node_cluster.pb.go new file mode 100644 index 00000000..c71f5191 --- /dev/null +++ b/internal/rpc/pb/model_node_cluster.pb.go @@ -0,0 +1,165 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.25.0 +// protoc v3.12.3 +// source: model_node_cluster.proto + +package pb + +import ( + proto "github.com/golang/protobuf/proto" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// This is a compile-time assertion that a sufficiently up-to-date version +// of the legacy proto package is being used. +const _ = proto.ProtoPackageIsVersion4 + +type NodeCluster struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + CreatedAt int64 `protobuf:"varint,3,opt,name=createdAt,proto3" json:"createdAt,omitempty"` +} + +func (x *NodeCluster) Reset() { + *x = NodeCluster{} + if protoimpl.UnsafeEnabled { + mi := &file_model_node_cluster_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *NodeCluster) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NodeCluster) ProtoMessage() {} + +func (x *NodeCluster) ProtoReflect() protoreflect.Message { + mi := &file_model_node_cluster_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NodeCluster.ProtoReflect.Descriptor instead. +func (*NodeCluster) Descriptor() ([]byte, []int) { + return file_model_node_cluster_proto_rawDescGZIP(), []int{0} +} + +func (x *NodeCluster) GetId() int64 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *NodeCluster) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *NodeCluster) GetCreatedAt() int64 { + if x != nil { + return x.CreatedAt + } + return 0 +} + +var File_model_node_cluster_proto protoreflect.FileDescriptor + +var file_model_node_cluster_proto_rawDesc = []byte{ + 0x0a, 0x18, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x63, 0x6c, 0x75, + 0x73, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x22, 0x4f, + 0x0a, 0x0b, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x0e, 0x0a, + 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x42, + 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_model_node_cluster_proto_rawDescOnce sync.Once + file_model_node_cluster_proto_rawDescData = file_model_node_cluster_proto_rawDesc +) + +func file_model_node_cluster_proto_rawDescGZIP() []byte { + file_model_node_cluster_proto_rawDescOnce.Do(func() { + file_model_node_cluster_proto_rawDescData = protoimpl.X.CompressGZIP(file_model_node_cluster_proto_rawDescData) + }) + return file_model_node_cluster_proto_rawDescData +} + +var file_model_node_cluster_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_model_node_cluster_proto_goTypes = []interface{}{ + (*NodeCluster)(nil), // 0: pb.NodeCluster +} +var file_model_node_cluster_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_model_node_cluster_proto_init() } +func file_model_node_cluster_proto_init() { + if File_model_node_cluster_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_model_node_cluster_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NodeCluster); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_model_node_cluster_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_model_node_cluster_proto_goTypes, + DependencyIndexes: file_model_node_cluster_proto_depIdxs, + MessageInfos: file_model_node_cluster_proto_msgTypes, + }.Build() + File_model_node_cluster_proto = out.File + file_model_node_cluster_proto_rawDesc = nil + file_model_node_cluster_proto_goTypes = nil + file_model_node_cluster_proto_depIdxs = nil +} diff --git a/internal/rpc/pb/model_node_grant.pb.go b/internal/rpc/pb/model_node_grant.pb.go new file mode 100644 index 00000000..89bf63a1 --- /dev/null +++ b/internal/rpc/pb/model_node_grant.pb.go @@ -0,0 +1,213 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.25.0 +// protoc v3.12.3 +// source: model_node_grant.proto + +package pb + +import ( + proto "github.com/golang/protobuf/proto" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// This is a compile-time assertion that a sufficiently up-to-date version +// of the legacy proto package is being used. +const _ = proto.ProtoPackageIsVersion4 + +type NodeGrant struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Method string `protobuf:"bytes,3,opt,name=method,proto3" json:"method,omitempty"` + Password string `protobuf:"bytes,4,opt,name=password,proto3" json:"password,omitempty"` + Su bool `protobuf:"varint,5,opt,name=su,proto3" json:"su,omitempty"` + PrivateKey string `protobuf:"bytes,6,opt,name=privateKey,proto3" json:"privateKey,omitempty"` + Description string `protobuf:"bytes,7,opt,name=description,proto3" json:"description,omitempty"` + NodeId int64 `protobuf:"varint,8,opt,name=nodeId,proto3" json:"nodeId,omitempty"` +} + +func (x *NodeGrant) Reset() { + *x = NodeGrant{} + if protoimpl.UnsafeEnabled { + mi := &file_model_node_grant_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *NodeGrant) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NodeGrant) ProtoMessage() {} + +func (x *NodeGrant) ProtoReflect() protoreflect.Message { + mi := &file_model_node_grant_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NodeGrant.ProtoReflect.Descriptor instead. +func (*NodeGrant) Descriptor() ([]byte, []int) { + return file_model_node_grant_proto_rawDescGZIP(), []int{0} +} + +func (x *NodeGrant) GetId() int64 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *NodeGrant) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *NodeGrant) GetMethod() string { + if x != nil { + return x.Method + } + return "" +} + +func (x *NodeGrant) GetPassword() string { + if x != nil { + return x.Password + } + return "" +} + +func (x *NodeGrant) GetSu() bool { + if x != nil { + return x.Su + } + return false +} + +func (x *NodeGrant) GetPrivateKey() string { + if x != nil { + return x.PrivateKey + } + return "" +} + +func (x *NodeGrant) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *NodeGrant) GetNodeId() int64 { + if x != nil { + return x.NodeId + } + return 0 +} + +var File_model_node_grant_proto protoreflect.FileDescriptor + +var file_model_node_grant_proto_rawDesc = []byte{ + 0x0a, 0x16, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x67, 0x72, 0x61, + 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x22, 0xcd, 0x01, 0x0a, + 0x09, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, + 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, + 0x72, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, + 0x72, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x73, 0x75, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x02, + 0x73, 0x75, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, + 0x65, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x42, 0x06, 0x5a, 0x04, + 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_model_node_grant_proto_rawDescOnce sync.Once + file_model_node_grant_proto_rawDescData = file_model_node_grant_proto_rawDesc +) + +func file_model_node_grant_proto_rawDescGZIP() []byte { + file_model_node_grant_proto_rawDescOnce.Do(func() { + file_model_node_grant_proto_rawDescData = protoimpl.X.CompressGZIP(file_model_node_grant_proto_rawDescData) + }) + return file_model_node_grant_proto_rawDescData +} + +var file_model_node_grant_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_model_node_grant_proto_goTypes = []interface{}{ + (*NodeGrant)(nil), // 0: pb.NodeGrant +} +var file_model_node_grant_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_model_node_grant_proto_init() } +func file_model_node_grant_proto_init() { + if File_model_node_grant_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_model_node_grant_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NodeGrant); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_model_node_grant_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_model_node_grant_proto_goTypes, + DependencyIndexes: file_model_node_grant_proto_depIdxs, + MessageInfos: file_model_node_grant_proto_msgTypes, + }.Build() + File_model_node_grant_proto = out.File + file_model_node_grant_proto_rawDesc = nil + file_model_node_grant_proto_goTypes = nil + file_model_node_grant_proto_depIdxs = nil +} diff --git a/internal/rpc/pb/model_server.pb.go b/internal/rpc/pb/model_server.pb.go new file mode 100644 index 00000000..5bf1f640 --- /dev/null +++ b/internal/rpc/pb/model_server.pb.go @@ -0,0 +1,201 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.25.0 +// protoc v3.12.3 +// source: model_server.proto + +package pb + +import ( + proto "github.com/golang/protobuf/proto" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// This is a compile-time assertion that a sufficiently up-to-date version +// of the legacy proto package is being used. +const _ = proto.ProtoPackageIsVersion4 + +type Server struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + Config []byte `protobuf:"bytes,2,opt,name=config,proto3" json:"config,omitempty"` + IncludeNodes []byte `protobuf:"bytes,3,opt,name=includeNodes,proto3" json:"includeNodes,omitempty"` + ExcludeNodes []byte `protobuf:"bytes,4,opt,name=excludeNodes,proto3" json:"excludeNodes,omitempty"` + CreatedAt int64 `protobuf:"varint,5,opt,name=createdAt,proto3" json:"createdAt,omitempty"` + Cluster *NodeCluster `protobuf:"bytes,6,opt,name=cluster,proto3" json:"cluster,omitempty"` +} + +func (x *Server) Reset() { + *x = Server{} + if protoimpl.UnsafeEnabled { + mi := &file_model_server_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Server) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Server) ProtoMessage() {} + +func (x *Server) ProtoReflect() protoreflect.Message { + mi := &file_model_server_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Server.ProtoReflect.Descriptor instead. +func (*Server) Descriptor() ([]byte, []int) { + return file_model_server_proto_rawDescGZIP(), []int{0} +} + +func (x *Server) GetId() int64 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *Server) GetConfig() []byte { + if x != nil { + return x.Config + } + return nil +} + +func (x *Server) GetIncludeNodes() []byte { + if x != nil { + return x.IncludeNodes + } + return nil +} + +func (x *Server) GetExcludeNodes() []byte { + if x != nil { + return x.ExcludeNodes + } + return nil +} + +func (x *Server) GetCreatedAt() int64 { + if x != nil { + return x.CreatedAt + } + return 0 +} + +func (x *Server) GetCluster() *NodeCluster { + if x != nil { + return x.Cluster + } + return nil +} + +var File_model_server_proto protoreflect.FileDescriptor + +var file_model_server_proto_rawDesc = []byte{ + 0x0a, 0x12, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x1a, 0x18, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, + 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x22, 0xc1, 0x01, 0x0a, 0x06, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x0e, 0x0a, + 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, + 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, + 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x69, 0x6e, 0x63, + 0x6c, 0x75, 0x64, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x65, 0x78, 0x63, + 0x6c, 0x75, 0x64, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, + 0x0c, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x1c, 0x0a, + 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x29, 0x0a, 0x07, 0x63, + 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, + 0x62, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x07, 0x63, + 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_model_server_proto_rawDescOnce sync.Once + file_model_server_proto_rawDescData = file_model_server_proto_rawDesc +) + +func file_model_server_proto_rawDescGZIP() []byte { + file_model_server_proto_rawDescOnce.Do(func() { + file_model_server_proto_rawDescData = protoimpl.X.CompressGZIP(file_model_server_proto_rawDescData) + }) + return file_model_server_proto_rawDescData +} + +var file_model_server_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_model_server_proto_goTypes = []interface{}{ + (*Server)(nil), // 0: pb.Server + (*NodeCluster)(nil), // 1: pb.NodeCluster +} +var file_model_server_proto_depIdxs = []int32{ + 1, // 0: pb.Server.cluster:type_name -> pb.NodeCluster + 1, // [1:1] is the sub-list for method output_type + 1, // [1:1] is the sub-list for method input_type + 1, // [1:1] is the sub-list for extension type_name + 1, // [1:1] is the sub-list for extension extendee + 0, // [0:1] is the sub-list for field type_name +} + +func init() { file_model_server_proto_init() } +func file_model_server_proto_init() { + if File_model_server_proto != nil { + return + } + file_model_node_cluster_proto_init() + if !protoimpl.UnsafeEnabled { + file_model_server_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Server); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_model_server_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_model_server_proto_goTypes, + DependencyIndexes: file_model_server_proto_depIdxs, + MessageInfos: file_model_server_proto_msgTypes, + }.Build() + File_model_server_proto = out.File + file_model_server_proto_rawDesc = nil + file_model_server_proto_goTypes = nil + file_model_server_proto_depIdxs = nil +} diff --git a/internal/rpc/pb/service_admin.pb.go b/internal/rpc/pb/service_admin.pb.go index 56ed4804..ba7ec823 100644 --- a/internal/rpc/pb/service_admin.pb.go +++ b/internal/rpc/pb/service_admin.pb.go @@ -29,7 +29,7 @@ const ( // of the legacy proto package is being used. const _ = proto.ProtoPackageIsVersion4 -type AdminLoginRequest struct { +type LoginAdminRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -38,8 +38,8 @@ type AdminLoginRequest struct { Password string `protobuf:"bytes,2,opt,name=password,proto3" json:"password,omitempty"` } -func (x *AdminLoginRequest) Reset() { - *x = AdminLoginRequest{} +func (x *LoginAdminRequest) Reset() { + *x = LoginAdminRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_admin_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -47,13 +47,13 @@ func (x *AdminLoginRequest) Reset() { } } -func (x *AdminLoginRequest) String() string { +func (x *LoginAdminRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*AdminLoginRequest) ProtoMessage() {} +func (*LoginAdminRequest) ProtoMessage() {} -func (x *AdminLoginRequest) ProtoReflect() protoreflect.Message { +func (x *LoginAdminRequest) ProtoReflect() protoreflect.Message { mi := &file_service_admin_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -65,26 +65,26 @@ func (x *AdminLoginRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use AdminLoginRequest.ProtoReflect.Descriptor instead. -func (*AdminLoginRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use LoginAdminRequest.ProtoReflect.Descriptor instead. +func (*LoginAdminRequest) Descriptor() ([]byte, []int) { return file_service_admin_proto_rawDescGZIP(), []int{0} } -func (x *AdminLoginRequest) GetUsername() string { +func (x *LoginAdminRequest) GetUsername() string { if x != nil { return x.Username } return "" } -func (x *AdminLoginRequest) GetPassword() string { +func (x *LoginAdminRequest) GetPassword() string { if x != nil { return x.Password } return "" } -type AdminLoginResponse struct { +type LoginAdminResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -94,8 +94,8 @@ type AdminLoginResponse struct { Message string `protobuf:"bytes,3,opt,name=message,proto3" json:"message,omitempty"` } -func (x *AdminLoginResponse) Reset() { - *x = AdminLoginResponse{} +func (x *LoginAdminResponse) Reset() { + *x = LoginAdminResponse{} if protoimpl.UnsafeEnabled { mi := &file_service_admin_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -103,13 +103,13 @@ func (x *AdminLoginResponse) Reset() { } } -func (x *AdminLoginResponse) String() string { +func (x *LoginAdminResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*AdminLoginResponse) ProtoMessage() {} +func (*LoginAdminResponse) ProtoMessage() {} -func (x *AdminLoginResponse) ProtoReflect() protoreflect.Message { +func (x *LoginAdminResponse) ProtoReflect() protoreflect.Message { mi := &file_service_admin_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -121,33 +121,33 @@ func (x *AdminLoginResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use AdminLoginResponse.ProtoReflect.Descriptor instead. -func (*AdminLoginResponse) Descriptor() ([]byte, []int) { +// Deprecated: Use LoginAdminResponse.ProtoReflect.Descriptor instead. +func (*LoginAdminResponse) Descriptor() ([]byte, []int) { return file_service_admin_proto_rawDescGZIP(), []int{1} } -func (x *AdminLoginResponse) GetAdminId() int64 { +func (x *LoginAdminResponse) GetAdminId() int64 { if x != nil { return x.AdminId } return 0 } -func (x *AdminLoginResponse) GetIsOk() bool { +func (x *LoginAdminResponse) GetIsOk() bool { if x != nil { return x.IsOk } return false } -func (x *AdminLoginResponse) GetMessage() string { +func (x *LoginAdminResponse) GetMessage() string { if x != nil { return x.Message } return "" } -type AdminCreateLogRequest struct { +type CreateAdminLogRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -158,8 +158,8 @@ type AdminCreateLogRequest struct { Ip string `protobuf:"bytes,4,opt,name=ip,proto3" json:"ip,omitempty"` } -func (x *AdminCreateLogRequest) Reset() { - *x = AdminCreateLogRequest{} +func (x *CreateAdminLogRequest) Reset() { + *x = CreateAdminLogRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_admin_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -167,13 +167,13 @@ func (x *AdminCreateLogRequest) Reset() { } } -func (x *AdminCreateLogRequest) String() string { +func (x *CreateAdminLogRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*AdminCreateLogRequest) ProtoMessage() {} +func (*CreateAdminLogRequest) ProtoMessage() {} -func (x *AdminCreateLogRequest) ProtoReflect() protoreflect.Message { +func (x *CreateAdminLogRequest) ProtoReflect() protoreflect.Message { mi := &file_service_admin_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -185,40 +185,40 @@ func (x *AdminCreateLogRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use AdminCreateLogRequest.ProtoReflect.Descriptor instead. -func (*AdminCreateLogRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use CreateAdminLogRequest.ProtoReflect.Descriptor instead. +func (*CreateAdminLogRequest) Descriptor() ([]byte, []int) { return file_service_admin_proto_rawDescGZIP(), []int{2} } -func (x *AdminCreateLogRequest) GetLevel() string { +func (x *CreateAdminLogRequest) GetLevel() string { if x != nil { return x.Level } return "" } -func (x *AdminCreateLogRequest) GetDescription() string { +func (x *CreateAdminLogRequest) GetDescription() string { if x != nil { return x.Description } return "" } -func (x *AdminCreateLogRequest) GetAction() string { +func (x *CreateAdminLogRequest) GetAction() string { if x != nil { return x.Action } return "" } -func (x *AdminCreateLogRequest) GetIp() string { +func (x *CreateAdminLogRequest) GetIp() string { if x != nil { return x.Ip } return "" } -type AdminCreateLogResponse struct { +type CreateAdminLogResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -226,8 +226,8 @@ type AdminCreateLogResponse struct { IsOk bool `protobuf:"varint,1,opt,name=isOk,proto3" json:"isOk,omitempty"` } -func (x *AdminCreateLogResponse) Reset() { - *x = AdminCreateLogResponse{} +func (x *CreateAdminLogResponse) Reset() { + *x = CreateAdminLogResponse{} if protoimpl.UnsafeEnabled { mi := &file_service_admin_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -235,13 +235,13 @@ func (x *AdminCreateLogResponse) Reset() { } } -func (x *AdminCreateLogResponse) String() string { +func (x *CreateAdminLogResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*AdminCreateLogResponse) ProtoMessage() {} +func (*CreateAdminLogResponse) ProtoMessage() {} -func (x *AdminCreateLogResponse) ProtoReflect() protoreflect.Message { +func (x *CreateAdminLogResponse) ProtoReflect() protoreflect.Message { mi := &file_service_admin_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -253,19 +253,19 @@ func (x *AdminCreateLogResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use AdminCreateLogResponse.ProtoReflect.Descriptor instead. -func (*AdminCreateLogResponse) Descriptor() ([]byte, []int) { +// Deprecated: Use CreateAdminLogResponse.ProtoReflect.Descriptor instead. +func (*CreateAdminLogResponse) Descriptor() ([]byte, []int) { return file_service_admin_proto_rawDescGZIP(), []int{3} } -func (x *AdminCreateLogResponse) GetIsOk() bool { +func (x *CreateAdminLogResponse) GetIsOk() bool { if x != nil { return x.IsOk } return false } -type AdminCheckAdminExistsRequest struct { +type CheckAdminExistsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -273,8 +273,8 @@ type AdminCheckAdminExistsRequest struct { AdminId int64 `protobuf:"varint,1,opt,name=adminId,proto3" json:"adminId,omitempty"` } -func (x *AdminCheckAdminExistsRequest) Reset() { - *x = AdminCheckAdminExistsRequest{} +func (x *CheckAdminExistsRequest) Reset() { + *x = CheckAdminExistsRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_admin_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -282,13 +282,13 @@ func (x *AdminCheckAdminExistsRequest) Reset() { } } -func (x *AdminCheckAdminExistsRequest) String() string { +func (x *CheckAdminExistsRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*AdminCheckAdminExistsRequest) ProtoMessage() {} +func (*CheckAdminExistsRequest) ProtoMessage() {} -func (x *AdminCheckAdminExistsRequest) ProtoReflect() protoreflect.Message { +func (x *CheckAdminExistsRequest) ProtoReflect() protoreflect.Message { mi := &file_service_admin_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -300,19 +300,19 @@ func (x *AdminCheckAdminExistsRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use AdminCheckAdminExistsRequest.ProtoReflect.Descriptor instead. -func (*AdminCheckAdminExistsRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use CheckAdminExistsRequest.ProtoReflect.Descriptor instead. +func (*CheckAdminExistsRequest) Descriptor() ([]byte, []int) { return file_service_admin_proto_rawDescGZIP(), []int{4} } -func (x *AdminCheckAdminExistsRequest) GetAdminId() int64 { +func (x *CheckAdminExistsRequest) GetAdminId() int64 { if x != nil { return x.AdminId } return 0 } -type AdminCheckAdminExistsResponse struct { +type CheckAdminExistsResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -321,8 +321,8 @@ type AdminCheckAdminExistsResponse struct { Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"` } -func (x *AdminCheckAdminExistsResponse) Reset() { - *x = AdminCheckAdminExistsResponse{} +func (x *CheckAdminExistsResponse) Reset() { + *x = CheckAdminExistsResponse{} if protoimpl.UnsafeEnabled { mi := &file_service_admin_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -330,13 +330,13 @@ func (x *AdminCheckAdminExistsResponse) Reset() { } } -func (x *AdminCheckAdminExistsResponse) String() string { +func (x *CheckAdminExistsResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*AdminCheckAdminExistsResponse) ProtoMessage() {} +func (*CheckAdminExistsResponse) ProtoMessage() {} -func (x *AdminCheckAdminExistsResponse) ProtoReflect() protoreflect.Message { +func (x *CheckAdminExistsResponse) ProtoReflect() protoreflect.Message { mi := &file_service_admin_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -348,26 +348,26 @@ func (x *AdminCheckAdminExistsResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use AdminCheckAdminExistsResponse.ProtoReflect.Descriptor instead. -func (*AdminCheckAdminExistsResponse) Descriptor() ([]byte, []int) { +// Deprecated: Use CheckAdminExistsResponse.ProtoReflect.Descriptor instead. +func (*CheckAdminExistsResponse) Descriptor() ([]byte, []int) { return file_service_admin_proto_rawDescGZIP(), []int{5} } -func (x *AdminCheckAdminExistsResponse) GetIsOk() bool { +func (x *CheckAdminExistsResponse) GetIsOk() bool { if x != nil { return x.IsOk } return false } -func (x *AdminCheckAdminExistsResponse) GetMessage() string { +func (x *CheckAdminExistsResponse) GetMessage() string { if x != nil { return x.Message } return "" } -type AdminFindAdminNameRequest struct { +type FindAdminNameRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -375,8 +375,8 @@ type AdminFindAdminNameRequest struct { AdminId int64 `protobuf:"varint,1,opt,name=adminId,proto3" json:"adminId,omitempty"` } -func (x *AdminFindAdminNameRequest) Reset() { - *x = AdminFindAdminNameRequest{} +func (x *FindAdminNameRequest) Reset() { + *x = FindAdminNameRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_admin_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -384,13 +384,13 @@ func (x *AdminFindAdminNameRequest) Reset() { } } -func (x *AdminFindAdminNameRequest) String() string { +func (x *FindAdminNameRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*AdminFindAdminNameRequest) ProtoMessage() {} +func (*FindAdminNameRequest) ProtoMessage() {} -func (x *AdminFindAdminNameRequest) ProtoReflect() protoreflect.Message { +func (x *FindAdminNameRequest) ProtoReflect() protoreflect.Message { mi := &file_service_admin_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -402,19 +402,19 @@ func (x *AdminFindAdminNameRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use AdminFindAdminNameRequest.ProtoReflect.Descriptor instead. -func (*AdminFindAdminNameRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use FindAdminNameRequest.ProtoReflect.Descriptor instead. +func (*FindAdminNameRequest) Descriptor() ([]byte, []int) { return file_service_admin_proto_rawDescGZIP(), []int{6} } -func (x *AdminFindAdminNameRequest) GetAdminId() int64 { +func (x *FindAdminNameRequest) GetAdminId() int64 { if x != nil { return x.AdminId } return 0 } -type AdminFindAdminNameResponse struct { +type FindAdminNameResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -422,8 +422,8 @@ type AdminFindAdminNameResponse struct { Fullname string `protobuf:"bytes,1,opt,name=fullname,proto3" json:"fullname,omitempty"` } -func (x *AdminFindAdminNameResponse) Reset() { - *x = AdminFindAdminNameResponse{} +func (x *FindAdminNameResponse) Reset() { + *x = FindAdminNameResponse{} if protoimpl.UnsafeEnabled { mi := &file_service_admin_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -431,13 +431,13 @@ func (x *AdminFindAdminNameResponse) Reset() { } } -func (x *AdminFindAdminNameResponse) String() string { +func (x *FindAdminNameResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*AdminFindAdminNameResponse) ProtoMessage() {} +func (*FindAdminNameResponse) ProtoMessage() {} -func (x *AdminFindAdminNameResponse) ProtoReflect() protoreflect.Message { +func (x *FindAdminNameResponse) ProtoReflect() protoreflect.Message { mi := &file_service_admin_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -449,514 +449,79 @@ func (x *AdminFindAdminNameResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use AdminFindAdminNameResponse.ProtoReflect.Descriptor instead. -func (*AdminFindAdminNameResponse) Descriptor() ([]byte, []int) { +// Deprecated: Use FindAdminNameResponse.ProtoReflect.Descriptor instead. +func (*FindAdminNameResponse) Descriptor() ([]byte, []int) { return file_service_admin_proto_rawDescGZIP(), []int{7} } -func (x *AdminFindAdminNameResponse) GetFullname() string { +func (x *FindAdminNameResponse) GetFullname() string { if x != nil { return x.Fullname } return "" } -type AdminFindAllEnabledClustersRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *AdminFindAllEnabledClustersRequest) Reset() { - *x = AdminFindAllEnabledClustersRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_service_admin_proto_msgTypes[8] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *AdminFindAllEnabledClustersRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AdminFindAllEnabledClustersRequest) ProtoMessage() {} - -func (x *AdminFindAllEnabledClustersRequest) ProtoReflect() protoreflect.Message { - mi := &file_service_admin_proto_msgTypes[8] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AdminFindAllEnabledClustersRequest.ProtoReflect.Descriptor instead. -func (*AdminFindAllEnabledClustersRequest) Descriptor() ([]byte, []int) { - return file_service_admin_proto_rawDescGZIP(), []int{8} -} - -type AdminFindAllEnabledClustersResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Clusters []*Cluster `protobuf:"bytes,1,rep,name=clusters,proto3" json:"clusters,omitempty"` -} - -func (x *AdminFindAllEnabledClustersResponse) Reset() { - *x = AdminFindAllEnabledClustersResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_service_admin_proto_msgTypes[9] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *AdminFindAllEnabledClustersResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AdminFindAllEnabledClustersResponse) ProtoMessage() {} - -func (x *AdminFindAllEnabledClustersResponse) ProtoReflect() protoreflect.Message { - mi := &file_service_admin_proto_msgTypes[9] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AdminFindAllEnabledClustersResponse.ProtoReflect.Descriptor instead. -func (*AdminFindAllEnabledClustersResponse) Descriptor() ([]byte, []int) { - return file_service_admin_proto_rawDescGZIP(), []int{9} -} - -func (x *AdminFindAllEnabledClustersResponse) GetClusters() []*Cluster { - if x != nil { - return x.Clusters - } - return nil -} - -// 创建节点 -type AdminCreateNodeRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - ClusterId int64 `protobuf:"varint,2,opt,name=clusterId,proto3" json:"clusterId,omitempty"` -} - -func (x *AdminCreateNodeRequest) Reset() { - *x = AdminCreateNodeRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_service_admin_proto_msgTypes[10] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *AdminCreateNodeRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AdminCreateNodeRequest) ProtoMessage() {} - -func (x *AdminCreateNodeRequest) ProtoReflect() protoreflect.Message { - mi := &file_service_admin_proto_msgTypes[10] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AdminCreateNodeRequest.ProtoReflect.Descriptor instead. -func (*AdminCreateNodeRequest) Descriptor() ([]byte, []int) { - return file_service_admin_proto_rawDescGZIP(), []int{10} -} - -func (x *AdminCreateNodeRequest) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *AdminCreateNodeRequest) GetClusterId() int64 { - if x != nil { - return x.ClusterId - } - return 0 -} - -type AdminCreateNodeResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - NodeId int64 `protobuf:"varint,1,opt,name=nodeId,proto3" json:"nodeId,omitempty"` -} - -func (x *AdminCreateNodeResponse) Reset() { - *x = AdminCreateNodeResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_service_admin_proto_msgTypes[11] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *AdminCreateNodeResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AdminCreateNodeResponse) ProtoMessage() {} - -func (x *AdminCreateNodeResponse) ProtoReflect() protoreflect.Message { - mi := &file_service_admin_proto_msgTypes[11] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AdminCreateNodeResponse.ProtoReflect.Descriptor instead. -func (*AdminCreateNodeResponse) Descriptor() ([]byte, []int) { - return file_service_admin_proto_rawDescGZIP(), []int{11} -} - -func (x *AdminCreateNodeResponse) GetNodeId() int64 { - if x != nil { - return x.NodeId - } - return 0 -} - -// 节点数量 -type AdminCountAllEnabledNodesRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *AdminCountAllEnabledNodesRequest) Reset() { - *x = AdminCountAllEnabledNodesRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_service_admin_proto_msgTypes[12] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *AdminCountAllEnabledNodesRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AdminCountAllEnabledNodesRequest) ProtoMessage() {} - -func (x *AdminCountAllEnabledNodesRequest) ProtoReflect() protoreflect.Message { - mi := &file_service_admin_proto_msgTypes[12] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AdminCountAllEnabledNodesRequest.ProtoReflect.Descriptor instead. -func (*AdminCountAllEnabledNodesRequest) Descriptor() ([]byte, []int) { - return file_service_admin_proto_rawDescGZIP(), []int{12} -} - -type AdminCountAllEnabledNodesResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Count int64 `protobuf:"varint,1,opt,name=count,proto3" json:"count,omitempty"` -} - -func (x *AdminCountAllEnabledNodesResponse) Reset() { - *x = AdminCountAllEnabledNodesResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_service_admin_proto_msgTypes[13] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *AdminCountAllEnabledNodesResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AdminCountAllEnabledNodesResponse) ProtoMessage() {} - -func (x *AdminCountAllEnabledNodesResponse) ProtoReflect() protoreflect.Message { - mi := &file_service_admin_proto_msgTypes[13] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AdminCountAllEnabledNodesResponse.ProtoReflect.Descriptor instead. -func (*AdminCountAllEnabledNodesResponse) Descriptor() ([]byte, []int) { - return file_service_admin_proto_rawDescGZIP(), []int{13} -} - -func (x *AdminCountAllEnabledNodesResponse) GetCount() int64 { - if x != nil { - return x.Count - } - return 0 -} - -// 列出单页节点 -type AdminListEnabledNodesRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Offset int64 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"` - Size int64 `protobuf:"varint,2,opt,name=size,proto3" json:"size,omitempty"` -} - -func (x *AdminListEnabledNodesRequest) Reset() { - *x = AdminListEnabledNodesRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_service_admin_proto_msgTypes[14] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *AdminListEnabledNodesRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AdminListEnabledNodesRequest) ProtoMessage() {} - -func (x *AdminListEnabledNodesRequest) ProtoReflect() protoreflect.Message { - mi := &file_service_admin_proto_msgTypes[14] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AdminListEnabledNodesRequest.ProtoReflect.Descriptor instead. -func (*AdminListEnabledNodesRequest) Descriptor() ([]byte, []int) { - return file_service_admin_proto_rawDescGZIP(), []int{14} -} - -func (x *AdminListEnabledNodesRequest) GetOffset() int64 { - if x != nil { - return x.Offset - } - return 0 -} - -func (x *AdminListEnabledNodesRequest) GetSize() int64 { - if x != nil { - return x.Size - } - return 0 -} - -type AdminListEnabledNodesResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Nodes []*Node `protobuf:"bytes,1,rep,name=nodes,proto3" json:"nodes,omitempty"` -} - -func (x *AdminListEnabledNodesResponse) Reset() { - *x = AdminListEnabledNodesResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_service_admin_proto_msgTypes[15] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *AdminListEnabledNodesResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AdminListEnabledNodesResponse) ProtoMessage() {} - -func (x *AdminListEnabledNodesResponse) ProtoReflect() protoreflect.Message { - mi := &file_service_admin_proto_msgTypes[15] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AdminListEnabledNodesResponse.ProtoReflect.Descriptor instead. -func (*AdminListEnabledNodesResponse) Descriptor() ([]byte, []int) { - return file_service_admin_proto_rawDescGZIP(), []int{15} -} - -func (x *AdminListEnabledNodesResponse) GetNodes() []*Node { - if x != nil { - return x.Nodes - } - return nil -} - var File_service_admin_proto protoreflect.FileDescriptor var file_service_admin_proto_rawDesc = []byte{ 0x0a, 0x13, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x1a, 0x13, 0x6d, 0x6f, 0x64, 0x65, 0x6c, - 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x10, - 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x22, 0x4b, 0x0a, 0x11, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, - 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x22, 0x5c, 0x0a, - 0x12, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x49, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x12, 0x0a, - 0x04, 0x69, 0x73, 0x4f, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x4f, - 0x6b, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x77, 0x0a, 0x15, 0x41, - 0x64, 0x6d, 0x69, 0x6e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x02, 0x69, 0x70, 0x22, 0x2c, 0x0a, 0x16, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, - 0x0a, 0x04, 0x69, 0x73, 0x4f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, - 0x4f, 0x6b, 0x22, 0x38, 0x0a, 0x1c, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x43, 0x68, 0x65, 0x63, 0x6b, - 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x07, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x49, 0x64, 0x22, 0x4d, 0x0a, 0x1d, - 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x45, - 0x78, 0x69, 0x73, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, - 0x04, 0x69, 0x73, 0x4f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x4f, - 0x6b, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x35, 0x0a, 0x19, 0x41, - 0x64, 0x6d, 0x69, 0x6e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x4e, 0x61, 0x6d, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x6d, 0x69, - 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x61, 0x64, 0x6d, 0x69, 0x6e, - 0x49, 0x64, 0x22, 0x38, 0x0a, 0x1a, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x46, 0x69, 0x6e, 0x64, 0x41, - 0x64, 0x6d, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x75, 0x6c, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x66, 0x75, 0x6c, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x24, 0x0a, 0x22, - 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, - 0x6c, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x22, 0x4e, 0x0a, 0x23, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x46, 0x69, 0x6e, 0x64, 0x41, - 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x27, 0x0a, 0x08, 0x63, 0x6c, 0x75, - 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x62, - 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x08, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, - 0x72, 0x73, 0x22, 0x4a, 0x0a, 0x16, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x22, 0x31, - 0x0a, 0x17, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x64, - 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, - 0x64, 0x22, 0x22, 0x0a, 0x20, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, - 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x39, 0x0a, 0x21, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x43, 0x6f, - 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, - 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x22, 0x4a, 0x0a, 0x1c, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, - 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x22, 0x3f, 0x0a, 0x1d, - 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, - 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1e, 0x0a, - 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x70, - 0x62, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x32, 0xb7, 0x05, - 0x0a, 0x0c, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x38, - 0x0a, 0x05, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x12, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x41, 0x64, 0x6d, - 0x69, 0x6e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, - 0x2e, 0x70, 0x62, 0x2e, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x44, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x4c, 0x6f, 0x67, 0x12, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x41, 0x64, 0x6d, 0x69, 0x6e, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x59, - 0x0a, 0x10, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x45, 0x78, 0x69, 0x73, - 0x74, 0x73, 0x12, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x43, 0x68, 0x65, - 0x63, 0x6b, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x43, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x22, 0x4b, 0x0a, 0x11, 0x4c, 0x6f, 0x67, + 0x69, 0x6e, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, + 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, + 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, + 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x22, 0x5c, 0x0a, 0x12, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x41, + 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, + 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x61, + 0x64, 0x6d, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x73, 0x4f, 0x6b, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x4f, 0x6b, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x22, 0x77, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x64, + 0x6d, 0x69, 0x6e, 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, + 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x65, + 0x76, 0x65, 0x6c, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, + 0x02, 0x69, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x70, 0x22, 0x2c, 0x0a, + 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x4c, 0x6f, 0x67, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x73, 0x4f, 0x6b, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x4f, 0x6b, 0x22, 0x33, 0x0a, 0x17, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x54, 0x0a, 0x11, 0x66, 0x69, 0x6e, - 0x64, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x46, 0x75, 0x6c, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1d, - 0x2e, 0x70, 0x62, 0x2e, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x64, 0x6d, - 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, - 0x70, 0x62, 0x2e, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x64, 0x6d, 0x69, - 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0x6b, 0x0a, 0x16, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, - 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x26, 0x2e, 0x70, 0x62, 0x2e, 0x41, - 0x64, 0x6d, 0x69, 0x6e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, - 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x27, 0x2e, 0x70, 0x62, 0x2e, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x46, 0x69, 0x6e, 0x64, - 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, - 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x47, 0x0a, 0x0a, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x1a, 0x2e, 0x70, 0x62, 0x2e, - 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x70, 0x62, 0x2e, 0x41, 0x64, 0x6d, 0x69, - 0x6e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x65, 0x0a, 0x14, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, - 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x24, 0x2e, - 0x70, 0x62, 0x2e, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, - 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x70, 0x62, 0x2e, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x43, 0x6f, - 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, - 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x59, 0x0a, 0x10, - 0x6c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, - 0x12, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x45, - 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x4c, 0x69, 0x73, - 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, - 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x49, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x49, 0x64, + 0x22, 0x48, 0x0a, 0x18, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x45, 0x78, + 0x69, 0x73, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, + 0x69, 0x73, 0x4f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x4f, 0x6b, + 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x30, 0x0a, 0x14, 0x46, 0x69, + 0x6e, 0x64, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x07, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x49, 0x64, 0x22, 0x33, 0x0a, 0x15, + 0x46, 0x69, 0x6e, 0x64, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x75, 0x6c, 0x6c, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x75, 0x6c, 0x6c, 0x6e, 0x61, 0x6d, + 0x65, 0x32, 0xb5, 0x02, 0x0a, 0x0c, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x12, 0x3d, 0x0a, 0x0a, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x41, 0x64, 0x6d, 0x69, 0x6e, + 0x12, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x41, 0x64, 0x6d, 0x69, 0x6e, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x6f, 0x67, + 0x69, 0x6e, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x00, 0x12, 0x49, 0x0a, 0x0e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, + 0x4c, 0x6f, 0x67, 0x12, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, + 0x64, 0x6d, 0x69, 0x6e, 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, + 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x4c, + 0x6f, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4f, 0x0a, 0x10, + 0x63, 0x68, 0x65, 0x63, 0x6b, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, + 0x12, 0x1b, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x41, 0x64, 0x6d, 0x69, 0x6e, + 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, + 0x70, 0x62, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x45, 0x78, 0x69, + 0x73, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4a, 0x0a, + 0x11, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x46, 0x75, 0x6c, 0x6c, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x64, 0x6d, 0x69, + 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x70, + 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, + 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -971,51 +536,31 @@ func file_service_admin_proto_rawDescGZIP() []byte { return file_service_admin_proto_rawDescData } -var file_service_admin_proto_msgTypes = make([]protoimpl.MessageInfo, 16) +var file_service_admin_proto_msgTypes = make([]protoimpl.MessageInfo, 8) var file_service_admin_proto_goTypes = []interface{}{ - (*AdminLoginRequest)(nil), // 0: pb.AdminLoginRequest - (*AdminLoginResponse)(nil), // 1: pb.AdminLoginResponse - (*AdminCreateLogRequest)(nil), // 2: pb.AdminCreateLogRequest - (*AdminCreateLogResponse)(nil), // 3: pb.AdminCreateLogResponse - (*AdminCheckAdminExistsRequest)(nil), // 4: pb.AdminCheckAdminExistsRequest - (*AdminCheckAdminExistsResponse)(nil), // 5: pb.AdminCheckAdminExistsResponse - (*AdminFindAdminNameRequest)(nil), // 6: pb.AdminFindAdminNameRequest - (*AdminFindAdminNameResponse)(nil), // 7: pb.AdminFindAdminNameResponse - (*AdminFindAllEnabledClustersRequest)(nil), // 8: pb.AdminFindAllEnabledClustersRequest - (*AdminFindAllEnabledClustersResponse)(nil), // 9: pb.AdminFindAllEnabledClustersResponse - (*AdminCreateNodeRequest)(nil), // 10: pb.AdminCreateNodeRequest - (*AdminCreateNodeResponse)(nil), // 11: pb.AdminCreateNodeResponse - (*AdminCountAllEnabledNodesRequest)(nil), // 12: pb.AdminCountAllEnabledNodesRequest - (*AdminCountAllEnabledNodesResponse)(nil), // 13: pb.AdminCountAllEnabledNodesResponse - (*AdminListEnabledNodesRequest)(nil), // 14: pb.AdminListEnabledNodesRequest - (*AdminListEnabledNodesResponse)(nil), // 15: pb.AdminListEnabledNodesResponse - (*Cluster)(nil), // 16: pb.Cluster - (*Node)(nil), // 17: pb.Node + (*LoginAdminRequest)(nil), // 0: pb.LoginAdminRequest + (*LoginAdminResponse)(nil), // 1: pb.LoginAdminResponse + (*CreateAdminLogRequest)(nil), // 2: pb.CreateAdminLogRequest + (*CreateAdminLogResponse)(nil), // 3: pb.CreateAdminLogResponse + (*CheckAdminExistsRequest)(nil), // 4: pb.CheckAdminExistsRequest + (*CheckAdminExistsResponse)(nil), // 5: pb.CheckAdminExistsResponse + (*FindAdminNameRequest)(nil), // 6: pb.FindAdminNameRequest + (*FindAdminNameResponse)(nil), // 7: pb.FindAdminNameResponse } var file_service_admin_proto_depIdxs = []int32{ - 16, // 0: pb.AdminFindAllEnabledClustersResponse.clusters:type_name -> pb.Cluster - 17, // 1: pb.AdminListEnabledNodesResponse.nodes:type_name -> pb.Node - 0, // 2: pb.AdminService.login:input_type -> pb.AdminLoginRequest - 2, // 3: pb.AdminService.createLog:input_type -> pb.AdminCreateLogRequest - 4, // 4: pb.AdminService.checkAdminExists:input_type -> pb.AdminCheckAdminExistsRequest - 6, // 5: pb.AdminService.findAdminFullname:input_type -> pb.AdminFindAdminNameRequest - 8, // 6: pb.AdminService.findAllEnabledClusters:input_type -> pb.AdminFindAllEnabledClustersRequest - 10, // 7: pb.AdminService.createNode:input_type -> pb.AdminCreateNodeRequest - 12, // 8: pb.AdminService.countAllEnabledNodes:input_type -> pb.AdminCountAllEnabledNodesRequest - 14, // 9: pb.AdminService.listEnabledNodes:input_type -> pb.AdminListEnabledNodesRequest - 1, // 10: pb.AdminService.login:output_type -> pb.AdminLoginResponse - 3, // 11: pb.AdminService.createLog:output_type -> pb.AdminCreateLogResponse - 5, // 12: pb.AdminService.checkAdminExists:output_type -> pb.AdminCheckAdminExistsResponse - 7, // 13: pb.AdminService.findAdminFullname:output_type -> pb.AdminFindAdminNameResponse - 9, // 14: pb.AdminService.findAllEnabledClusters:output_type -> pb.AdminFindAllEnabledClustersResponse - 11, // 15: pb.AdminService.createNode:output_type -> pb.AdminCreateNodeResponse - 13, // 16: pb.AdminService.countAllEnabledNodes:output_type -> pb.AdminCountAllEnabledNodesResponse - 15, // 17: pb.AdminService.listEnabledNodes:output_type -> pb.AdminListEnabledNodesResponse - 10, // [10:18] is the sub-list for method output_type - 2, // [2:10] is the sub-list for method input_type - 2, // [2:2] is the sub-list for extension type_name - 2, // [2:2] is the sub-list for extension extendee - 0, // [0:2] is the sub-list for field type_name + 0, // 0: pb.AdminService.loginAdmin:input_type -> pb.LoginAdminRequest + 2, // 1: pb.AdminService.createAdminLog:input_type -> pb.CreateAdminLogRequest + 4, // 2: pb.AdminService.checkAdminExists:input_type -> pb.CheckAdminExistsRequest + 6, // 3: pb.AdminService.findAdminFullname:input_type -> pb.FindAdminNameRequest + 1, // 4: pb.AdminService.loginAdmin:output_type -> pb.LoginAdminResponse + 3, // 5: pb.AdminService.createAdminLog:output_type -> pb.CreateAdminLogResponse + 5, // 6: pb.AdminService.checkAdminExists:output_type -> pb.CheckAdminExistsResponse + 7, // 7: pb.AdminService.findAdminFullname:output_type -> pb.FindAdminNameResponse + 4, // [4:8] is the sub-list for method output_type + 0, // [0:4] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name } func init() { file_service_admin_proto_init() } @@ -1023,11 +568,9 @@ func file_service_admin_proto_init() { if File_service_admin_proto != nil { return } - file_model_cluster_proto_init() - file_model_node_proto_init() if !protoimpl.UnsafeEnabled { file_service_admin_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AdminLoginRequest); i { + switch v := v.(*LoginAdminRequest); i { case 0: return &v.state case 1: @@ -1039,7 +582,7 @@ func file_service_admin_proto_init() { } } file_service_admin_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AdminLoginResponse); i { + switch v := v.(*LoginAdminResponse); i { case 0: return &v.state case 1: @@ -1051,7 +594,7 @@ func file_service_admin_proto_init() { } } file_service_admin_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AdminCreateLogRequest); i { + switch v := v.(*CreateAdminLogRequest); i { case 0: return &v.state case 1: @@ -1063,7 +606,7 @@ func file_service_admin_proto_init() { } } file_service_admin_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AdminCreateLogResponse); i { + switch v := v.(*CreateAdminLogResponse); i { case 0: return &v.state case 1: @@ -1075,7 +618,7 @@ func file_service_admin_proto_init() { } } file_service_admin_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AdminCheckAdminExistsRequest); i { + switch v := v.(*CheckAdminExistsRequest); i { case 0: return &v.state case 1: @@ -1087,7 +630,7 @@ func file_service_admin_proto_init() { } } file_service_admin_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AdminCheckAdminExistsResponse); i { + switch v := v.(*CheckAdminExistsResponse); i { case 0: return &v.state case 1: @@ -1099,7 +642,7 @@ func file_service_admin_proto_init() { } } file_service_admin_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AdminFindAdminNameRequest); i { + switch v := v.(*FindAdminNameRequest); i { case 0: return &v.state case 1: @@ -1111,103 +654,7 @@ func file_service_admin_proto_init() { } } file_service_admin_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AdminFindAdminNameResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_service_admin_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AdminFindAllEnabledClustersRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_service_admin_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AdminFindAllEnabledClustersResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_service_admin_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AdminCreateNodeRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_service_admin_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AdminCreateNodeResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_service_admin_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AdminCountAllEnabledNodesRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_service_admin_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AdminCountAllEnabledNodesResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_service_admin_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AdminListEnabledNodesRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_service_admin_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AdminListEnabledNodesResponse); i { + switch v := v.(*FindAdminNameResponse); i { case 0: return &v.state case 1: @@ -1225,7 +672,7 @@ func file_service_admin_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_service_admin_proto_rawDesc, NumEnums: 0, - NumMessages: 16, + NumMessages: 8, NumExtensions: 0, NumServices: 1, }, @@ -1252,21 +699,13 @@ const _ = grpc.SupportPackageIsVersion6 // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. type AdminServiceClient interface { // 登录 - Login(ctx context.Context, in *AdminLoginRequest, opts ...grpc.CallOption) (*AdminLoginResponse, error) + LoginAdmin(ctx context.Context, in *LoginAdminRequest, opts ...grpc.CallOption) (*LoginAdminResponse, error) // 创建操作日志 - CreateLog(ctx context.Context, in *AdminCreateLogRequest, opts ...grpc.CallOption) (*AdminCreateLogResponse, error) + CreateAdminLog(ctx context.Context, in *CreateAdminLogRequest, opts ...grpc.CallOption) (*CreateAdminLogResponse, error) // 检查管理员是否存在 - CheckAdminExists(ctx context.Context, in *AdminCheckAdminExistsRequest, opts ...grpc.CallOption) (*AdminCheckAdminExistsResponse, error) + CheckAdminExists(ctx context.Context, in *CheckAdminExistsRequest, opts ...grpc.CallOption) (*CheckAdminExistsResponse, error) // 获取管理员名称 - FindAdminFullname(ctx context.Context, in *AdminFindAdminNameRequest, opts ...grpc.CallOption) (*AdminFindAdminNameResponse, error) - // 获取所有集群的信息 - FindAllEnabledClusters(ctx context.Context, in *AdminFindAllEnabledClustersRequest, opts ...grpc.CallOption) (*AdminFindAllEnabledClustersResponse, error) - // 创建节点 - CreateNode(ctx context.Context, in *AdminCreateNodeRequest, opts ...grpc.CallOption) (*AdminCreateNodeResponse, error) - // 节点数量 - CountAllEnabledNodes(ctx context.Context, in *AdminCountAllEnabledNodesRequest, opts ...grpc.CallOption) (*AdminCountAllEnabledNodesResponse, error) - // 列出单页节点 - ListEnabledNodes(ctx context.Context, in *AdminListEnabledNodesRequest, opts ...grpc.CallOption) (*AdminListEnabledNodesResponse, error) + FindAdminFullname(ctx context.Context, in *FindAdminNameRequest, opts ...grpc.CallOption) (*FindAdminNameResponse, error) } type adminServiceClient struct { @@ -1277,26 +716,26 @@ func NewAdminServiceClient(cc grpc.ClientConnInterface) AdminServiceClient { return &adminServiceClient{cc} } -func (c *adminServiceClient) Login(ctx context.Context, in *AdminLoginRequest, opts ...grpc.CallOption) (*AdminLoginResponse, error) { - out := new(AdminLoginResponse) - err := c.cc.Invoke(ctx, "/pb.AdminService/login", in, out, opts...) +func (c *adminServiceClient) LoginAdmin(ctx context.Context, in *LoginAdminRequest, opts ...grpc.CallOption) (*LoginAdminResponse, error) { + out := new(LoginAdminResponse) + err := c.cc.Invoke(ctx, "/pb.AdminService/loginAdmin", in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *adminServiceClient) CreateLog(ctx context.Context, in *AdminCreateLogRequest, opts ...grpc.CallOption) (*AdminCreateLogResponse, error) { - out := new(AdminCreateLogResponse) - err := c.cc.Invoke(ctx, "/pb.AdminService/createLog", in, out, opts...) +func (c *adminServiceClient) CreateAdminLog(ctx context.Context, in *CreateAdminLogRequest, opts ...grpc.CallOption) (*CreateAdminLogResponse, error) { + out := new(CreateAdminLogResponse) + err := c.cc.Invoke(ctx, "/pb.AdminService/createAdminLog", in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *adminServiceClient) CheckAdminExists(ctx context.Context, in *AdminCheckAdminExistsRequest, opts ...grpc.CallOption) (*AdminCheckAdminExistsResponse, error) { - out := new(AdminCheckAdminExistsResponse) +func (c *adminServiceClient) CheckAdminExists(ctx context.Context, in *CheckAdminExistsRequest, opts ...grpc.CallOption) (*CheckAdminExistsResponse, error) { + out := new(CheckAdminExistsResponse) err := c.cc.Invoke(ctx, "/pb.AdminService/checkAdminExists", in, out, opts...) if err != nil { return nil, err @@ -1304,8 +743,8 @@ func (c *adminServiceClient) CheckAdminExists(ctx context.Context, in *AdminChec return out, nil } -func (c *adminServiceClient) FindAdminFullname(ctx context.Context, in *AdminFindAdminNameRequest, opts ...grpc.CallOption) (*AdminFindAdminNameResponse, error) { - out := new(AdminFindAdminNameResponse) +func (c *adminServiceClient) FindAdminFullname(ctx context.Context, in *FindAdminNameRequest, opts ...grpc.CallOption) (*FindAdminNameResponse, error) { + out := new(FindAdminNameResponse) err := c.cc.Invoke(ctx, "/pb.AdminService/findAdminFullname", in, out, opts...) if err != nil { return nil, err @@ -1313,133 +752,77 @@ func (c *adminServiceClient) FindAdminFullname(ctx context.Context, in *AdminFin return out, nil } -func (c *adminServiceClient) FindAllEnabledClusters(ctx context.Context, in *AdminFindAllEnabledClustersRequest, opts ...grpc.CallOption) (*AdminFindAllEnabledClustersResponse, error) { - out := new(AdminFindAllEnabledClustersResponse) - err := c.cc.Invoke(ctx, "/pb.AdminService/findAllEnabledClusters", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *adminServiceClient) CreateNode(ctx context.Context, in *AdminCreateNodeRequest, opts ...grpc.CallOption) (*AdminCreateNodeResponse, error) { - out := new(AdminCreateNodeResponse) - err := c.cc.Invoke(ctx, "/pb.AdminService/createNode", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *adminServiceClient) CountAllEnabledNodes(ctx context.Context, in *AdminCountAllEnabledNodesRequest, opts ...grpc.CallOption) (*AdminCountAllEnabledNodesResponse, error) { - out := new(AdminCountAllEnabledNodesResponse) - err := c.cc.Invoke(ctx, "/pb.AdminService/countAllEnabledNodes", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *adminServiceClient) ListEnabledNodes(ctx context.Context, in *AdminListEnabledNodesRequest, opts ...grpc.CallOption) (*AdminListEnabledNodesResponse, error) { - out := new(AdminListEnabledNodesResponse) - err := c.cc.Invoke(ctx, "/pb.AdminService/listEnabledNodes", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - // AdminServiceServer is the server API for AdminService service. type AdminServiceServer interface { // 登录 - Login(context.Context, *AdminLoginRequest) (*AdminLoginResponse, error) + LoginAdmin(context.Context, *LoginAdminRequest) (*LoginAdminResponse, error) // 创建操作日志 - CreateLog(context.Context, *AdminCreateLogRequest) (*AdminCreateLogResponse, error) + CreateAdminLog(context.Context, *CreateAdminLogRequest) (*CreateAdminLogResponse, error) // 检查管理员是否存在 - CheckAdminExists(context.Context, *AdminCheckAdminExistsRequest) (*AdminCheckAdminExistsResponse, error) + CheckAdminExists(context.Context, *CheckAdminExistsRequest) (*CheckAdminExistsResponse, error) // 获取管理员名称 - FindAdminFullname(context.Context, *AdminFindAdminNameRequest) (*AdminFindAdminNameResponse, error) - // 获取所有集群的信息 - FindAllEnabledClusters(context.Context, *AdminFindAllEnabledClustersRequest) (*AdminFindAllEnabledClustersResponse, error) - // 创建节点 - CreateNode(context.Context, *AdminCreateNodeRequest) (*AdminCreateNodeResponse, error) - // 节点数量 - CountAllEnabledNodes(context.Context, *AdminCountAllEnabledNodesRequest) (*AdminCountAllEnabledNodesResponse, error) - // 列出单页节点 - ListEnabledNodes(context.Context, *AdminListEnabledNodesRequest) (*AdminListEnabledNodesResponse, error) + FindAdminFullname(context.Context, *FindAdminNameRequest) (*FindAdminNameResponse, error) } // UnimplementedAdminServiceServer can be embedded to have forward compatible implementations. type UnimplementedAdminServiceServer struct { } -func (*UnimplementedAdminServiceServer) Login(context.Context, *AdminLoginRequest) (*AdminLoginResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method Login not implemented") +func (*UnimplementedAdminServiceServer) LoginAdmin(context.Context, *LoginAdminRequest) (*LoginAdminResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method LoginAdmin not implemented") } -func (*UnimplementedAdminServiceServer) CreateLog(context.Context, *AdminCreateLogRequest) (*AdminCreateLogResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method CreateLog not implemented") +func (*UnimplementedAdminServiceServer) CreateAdminLog(context.Context, *CreateAdminLogRequest) (*CreateAdminLogResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateAdminLog not implemented") } -func (*UnimplementedAdminServiceServer) CheckAdminExists(context.Context, *AdminCheckAdminExistsRequest) (*AdminCheckAdminExistsResponse, error) { +func (*UnimplementedAdminServiceServer) CheckAdminExists(context.Context, *CheckAdminExistsRequest) (*CheckAdminExistsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CheckAdminExists not implemented") } -func (*UnimplementedAdminServiceServer) FindAdminFullname(context.Context, *AdminFindAdminNameRequest) (*AdminFindAdminNameResponse, error) { +func (*UnimplementedAdminServiceServer) FindAdminFullname(context.Context, *FindAdminNameRequest) (*FindAdminNameResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method FindAdminFullname not implemented") } -func (*UnimplementedAdminServiceServer) FindAllEnabledClusters(context.Context, *AdminFindAllEnabledClustersRequest) (*AdminFindAllEnabledClustersResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method FindAllEnabledClusters not implemented") -} -func (*UnimplementedAdminServiceServer) CreateNode(context.Context, *AdminCreateNodeRequest) (*AdminCreateNodeResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method CreateNode not implemented") -} -func (*UnimplementedAdminServiceServer) CountAllEnabledNodes(context.Context, *AdminCountAllEnabledNodesRequest) (*AdminCountAllEnabledNodesResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method CountAllEnabledNodes not implemented") -} -func (*UnimplementedAdminServiceServer) ListEnabledNodes(context.Context, *AdminListEnabledNodesRequest) (*AdminListEnabledNodesResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ListEnabledNodes not implemented") -} func RegisterAdminServiceServer(s *grpc.Server, srv AdminServiceServer) { s.RegisterService(&_AdminService_serviceDesc, srv) } -func _AdminService_Login_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(AdminLoginRequest) +func _AdminService_LoginAdmin_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(LoginAdminRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(AdminServiceServer).Login(ctx, in) + return srv.(AdminServiceServer).LoginAdmin(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/pb.AdminService/Login", + FullMethod: "/pb.AdminService/LoginAdmin", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(AdminServiceServer).Login(ctx, req.(*AdminLoginRequest)) + return srv.(AdminServiceServer).LoginAdmin(ctx, req.(*LoginAdminRequest)) } return interceptor(ctx, in, info, handler) } -func _AdminService_CreateLog_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(AdminCreateLogRequest) +func _AdminService_CreateAdminLog_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateAdminLogRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(AdminServiceServer).CreateLog(ctx, in) + return srv.(AdminServiceServer).CreateAdminLog(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/pb.AdminService/CreateLog", + FullMethod: "/pb.AdminService/CreateAdminLog", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(AdminServiceServer).CreateLog(ctx, req.(*AdminCreateLogRequest)) + return srv.(AdminServiceServer).CreateAdminLog(ctx, req.(*CreateAdminLogRequest)) } return interceptor(ctx, in, info, handler) } func _AdminService_CheckAdminExists_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(AdminCheckAdminExistsRequest) + in := new(CheckAdminExistsRequest) if err := dec(in); err != nil { return nil, err } @@ -1451,13 +834,13 @@ func _AdminService_CheckAdminExists_Handler(srv interface{}, ctx context.Context FullMethod: "/pb.AdminService/CheckAdminExists", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(AdminServiceServer).CheckAdminExists(ctx, req.(*AdminCheckAdminExistsRequest)) + return srv.(AdminServiceServer).CheckAdminExists(ctx, req.(*CheckAdminExistsRequest)) } return interceptor(ctx, in, info, handler) } func _AdminService_FindAdminFullname_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(AdminFindAdminNameRequest) + in := new(FindAdminNameRequest) if err := dec(in); err != nil { return nil, err } @@ -1469,79 +852,7 @@ func _AdminService_FindAdminFullname_Handler(srv interface{}, ctx context.Contex FullMethod: "/pb.AdminService/FindAdminFullname", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(AdminServiceServer).FindAdminFullname(ctx, req.(*AdminFindAdminNameRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _AdminService_FindAllEnabledClusters_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(AdminFindAllEnabledClustersRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(AdminServiceServer).FindAllEnabledClusters(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/pb.AdminService/FindAllEnabledClusters", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(AdminServiceServer).FindAllEnabledClusters(ctx, req.(*AdminFindAllEnabledClustersRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _AdminService_CreateNode_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(AdminCreateNodeRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(AdminServiceServer).CreateNode(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/pb.AdminService/CreateNode", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(AdminServiceServer).CreateNode(ctx, req.(*AdminCreateNodeRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _AdminService_CountAllEnabledNodes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(AdminCountAllEnabledNodesRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(AdminServiceServer).CountAllEnabledNodes(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/pb.AdminService/CountAllEnabledNodes", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(AdminServiceServer).CountAllEnabledNodes(ctx, req.(*AdminCountAllEnabledNodesRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _AdminService_ListEnabledNodes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(AdminListEnabledNodesRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(AdminServiceServer).ListEnabledNodes(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/pb.AdminService/ListEnabledNodes", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(AdminServiceServer).ListEnabledNodes(ctx, req.(*AdminListEnabledNodesRequest)) + return srv.(AdminServiceServer).FindAdminFullname(ctx, req.(*FindAdminNameRequest)) } return interceptor(ctx, in, info, handler) } @@ -1551,12 +862,12 @@ var _AdminService_serviceDesc = grpc.ServiceDesc{ HandlerType: (*AdminServiceServer)(nil), Methods: []grpc.MethodDesc{ { - MethodName: "login", - Handler: _AdminService_Login_Handler, + MethodName: "loginAdmin", + Handler: _AdminService_LoginAdmin_Handler, }, { - MethodName: "createLog", - Handler: _AdminService_CreateLog_Handler, + MethodName: "createAdminLog", + Handler: _AdminService_CreateAdminLog_Handler, }, { MethodName: "checkAdminExists", @@ -1566,22 +877,6 @@ var _AdminService_serviceDesc = grpc.ServiceDesc{ MethodName: "findAdminFullname", Handler: _AdminService_FindAdminFullname_Handler, }, - { - MethodName: "findAllEnabledClusters", - Handler: _AdminService_FindAllEnabledClusters_Handler, - }, - { - MethodName: "createNode", - Handler: _AdminService_CreateNode_Handler, - }, - { - MethodName: "countAllEnabledNodes", - Handler: _AdminService_CountAllEnabledNodes_Handler, - }, - { - MethodName: "listEnabledNodes", - Handler: _AdminService_ListEnabledNodes_Handler, - }, }, Streams: []grpc.StreamDesc{}, Metadata: "service_admin.proto", diff --git a/internal/rpc/pb/service_dns.pb.go b/internal/rpc/pb/service_dns.pb.go deleted file mode 100644 index e3a1e329..00000000 --- a/internal/rpc/pb/service_dns.pb.go +++ /dev/null @@ -1,111 +0,0 @@ -// Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.25.0 -// protoc v3.12.3 -// source: service_dns.proto - -package pb - -import ( - context "context" - proto "github.com/golang/protobuf/proto" - grpc "google.golang.org/grpc" - protoreflect "google.golang.org/protobuf/reflect/protoreflect" - protoimpl "google.golang.org/protobuf/runtime/protoimpl" - reflect "reflect" -) - -const ( - // Verify that this generated code is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) - // Verify that runtime/protoimpl is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) -) - -// This is a compile-time assertion that a sufficiently up-to-date version -// of the legacy proto package is being used. -const _ = proto.ProtoPackageIsVersion4 - -var File_service_dns_proto protoreflect.FileDescriptor - -var file_service_dns_proto_rawDesc = []byte{ - 0x0a, 0x11, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x64, 0x6e, 0x73, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x32, 0x0c, 0x0a, 0x0a, 0x44, 0x6e, 0x73, 0x53, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x33, -} - -var file_service_dns_proto_goTypes = []interface{}{} -var file_service_dns_proto_depIdxs = []int32{ - 0, // [0:0] is the sub-list for method output_type - 0, // [0:0] is the sub-list for method input_type - 0, // [0:0] is the sub-list for extension type_name - 0, // [0:0] is the sub-list for extension extendee - 0, // [0:0] is the sub-list for field type_name -} - -func init() { file_service_dns_proto_init() } -func file_service_dns_proto_init() { - if File_service_dns_proto != nil { - return - } - type x struct{} - out := protoimpl.TypeBuilder{ - File: protoimpl.DescBuilder{ - GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_service_dns_proto_rawDesc, - NumEnums: 0, - NumMessages: 0, - NumExtensions: 0, - NumServices: 1, - }, - GoTypes: file_service_dns_proto_goTypes, - DependencyIndexes: file_service_dns_proto_depIdxs, - }.Build() - File_service_dns_proto = out.File - file_service_dns_proto_rawDesc = nil - file_service_dns_proto_goTypes = nil - file_service_dns_proto_depIdxs = nil -} - -// Reference imports to suppress errors if they are not otherwise used. -var _ context.Context -var _ grpc.ClientConnInterface - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the grpc package it is being compiled against. -const _ = grpc.SupportPackageIsVersion6 - -// DnsServiceClient is the client API for DnsService service. -// -// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. -type DnsServiceClient interface { -} - -type dnsServiceClient struct { - cc grpc.ClientConnInterface -} - -func NewDnsServiceClient(cc grpc.ClientConnInterface) DnsServiceClient { - return &dnsServiceClient{cc} -} - -// DnsServiceServer is the server API for DnsService service. -type DnsServiceServer interface { -} - -// UnimplementedDnsServiceServer can be embedded to have forward compatible implementations. -type UnimplementedDnsServiceServer struct { -} - -func RegisterDnsServiceServer(s *grpc.Server, srv DnsServiceServer) { - s.RegisterService(&_DnsService_serviceDesc, srv) -} - -var _DnsService_serviceDesc = grpc.ServiceDesc{ - ServiceName: "pb.DnsService", - HandlerType: (*DnsServiceServer)(nil), - Methods: []grpc.MethodDesc{}, - Streams: []grpc.StreamDesc{}, - Metadata: "service_dns.proto", -} diff --git a/internal/rpc/pb/service_log.pb.go b/internal/rpc/pb/service_log.pb.go index f469b5d5..061770ee 100644 --- a/internal/rpc/pb/service_log.pb.go +++ b/internal/rpc/pb/service_log.pb.go @@ -7,9 +7,7 @@ package pb import ( - context "context" proto "github.com/golang/protobuf/proto" - grpc "google.golang.org/grpc" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" @@ -30,9 +28,8 @@ var File_service_log_proto protoreflect.FileDescriptor var file_service_log_proto_rawDesc = []byte{ 0x0a, 0x11, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x6f, 0x67, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x32, 0x0c, 0x0a, 0x0a, 0x4c, 0x6f, 0x67, 0x53, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, + 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var file_service_log_proto_goTypes = []interface{}{} @@ -57,7 +54,7 @@ func file_service_log_proto_init() { NumEnums: 0, NumMessages: 0, NumExtensions: 0, - NumServices: 1, + NumServices: 0, }, GoTypes: file_service_log_proto_goTypes, DependencyIndexes: file_service_log_proto_depIdxs, @@ -67,45 +64,3 @@ func file_service_log_proto_init() { file_service_log_proto_goTypes = nil file_service_log_proto_depIdxs = nil } - -// Reference imports to suppress errors if they are not otherwise used. -var _ context.Context -var _ grpc.ClientConnInterface - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the grpc package it is being compiled against. -const _ = grpc.SupportPackageIsVersion6 - -// LogServiceClient is the client API for LogService service. -// -// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. -type LogServiceClient interface { -} - -type logServiceClient struct { - cc grpc.ClientConnInterface -} - -func NewLogServiceClient(cc grpc.ClientConnInterface) LogServiceClient { - return &logServiceClient{cc} -} - -// LogServiceServer is the server API for LogService service. -type LogServiceServer interface { -} - -// UnimplementedLogServiceServer can be embedded to have forward compatible implementations. -type UnimplementedLogServiceServer struct { -} - -func RegisterLogServiceServer(s *grpc.Server, srv LogServiceServer) { - s.RegisterService(&_LogService_serviceDesc, srv) -} - -var _LogService_serviceDesc = grpc.ServiceDesc{ - ServiceName: "pb.LogService", - HandlerType: (*LogServiceServer)(nil), - Methods: []grpc.MethodDesc{}, - Streams: []grpc.StreamDesc{}, - Metadata: "service_log.proto", -} diff --git a/internal/rpc/pb/service_monitor.pb.go b/internal/rpc/pb/service_monitor.pb.go deleted file mode 100644 index 514233f7..00000000 --- a/internal/rpc/pb/service_monitor.pb.go +++ /dev/null @@ -1,111 +0,0 @@ -// Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.25.0 -// protoc v3.12.3 -// source: service_monitor.proto - -package pb - -import ( - context "context" - proto "github.com/golang/protobuf/proto" - grpc "google.golang.org/grpc" - protoreflect "google.golang.org/protobuf/reflect/protoreflect" - protoimpl "google.golang.org/protobuf/runtime/protoimpl" - reflect "reflect" -) - -const ( - // Verify that this generated code is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) - // Verify that runtime/protoimpl is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) -) - -// This is a compile-time assertion that a sufficiently up-to-date version -// of the legacy proto package is being used. -const _ = proto.ProtoPackageIsVersion4 - -var File_service_monitor_proto protoreflect.FileDescriptor - -var file_service_monitor_proto_rawDesc = []byte{ - 0x0a, 0x15, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, - 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x32, 0x10, 0x0a, 0x0e, 0x4d, - 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, 0x06, 0x5a, - 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} - -var file_service_monitor_proto_goTypes = []interface{}{} -var file_service_monitor_proto_depIdxs = []int32{ - 0, // [0:0] is the sub-list for method output_type - 0, // [0:0] is the sub-list for method input_type - 0, // [0:0] is the sub-list for extension type_name - 0, // [0:0] is the sub-list for extension extendee - 0, // [0:0] is the sub-list for field type_name -} - -func init() { file_service_monitor_proto_init() } -func file_service_monitor_proto_init() { - if File_service_monitor_proto != nil { - return - } - type x struct{} - out := protoimpl.TypeBuilder{ - File: protoimpl.DescBuilder{ - GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_service_monitor_proto_rawDesc, - NumEnums: 0, - NumMessages: 0, - NumExtensions: 0, - NumServices: 1, - }, - GoTypes: file_service_monitor_proto_goTypes, - DependencyIndexes: file_service_monitor_proto_depIdxs, - }.Build() - File_service_monitor_proto = out.File - file_service_monitor_proto_rawDesc = nil - file_service_monitor_proto_goTypes = nil - file_service_monitor_proto_depIdxs = nil -} - -// Reference imports to suppress errors if they are not otherwise used. -var _ context.Context -var _ grpc.ClientConnInterface - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the grpc package it is being compiled against. -const _ = grpc.SupportPackageIsVersion6 - -// MonitorServiceClient is the client API for MonitorService service. -// -// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. -type MonitorServiceClient interface { -} - -type monitorServiceClient struct { - cc grpc.ClientConnInterface -} - -func NewMonitorServiceClient(cc grpc.ClientConnInterface) MonitorServiceClient { - return &monitorServiceClient{cc} -} - -// MonitorServiceServer is the server API for MonitorService service. -type MonitorServiceServer interface { -} - -// UnimplementedMonitorServiceServer can be embedded to have forward compatible implementations. -type UnimplementedMonitorServiceServer struct { -} - -func RegisterMonitorServiceServer(s *grpc.Server, srv MonitorServiceServer) { - s.RegisterService(&_MonitorService_serviceDesc, srv) -} - -var _MonitorService_serviceDesc = grpc.ServiceDesc{ - ServiceName: "pb.MonitorService", - HandlerType: (*MonitorServiceServer)(nil), - Methods: []grpc.MethodDesc{}, - Streams: []grpc.StreamDesc{}, - Metadata: "service_monitor.proto", -} diff --git a/internal/rpc/pb/service_node.pb.go b/internal/rpc/pb/service_node.pb.go index a685e042..6a049087 100644 --- a/internal/rpc/pb/service_node.pb.go +++ b/internal/rpc/pb/service_node.pb.go @@ -29,16 +29,18 @@ const ( // of the legacy proto package is being used. const _ = proto.ProtoPackageIsVersion4 -type ConfigRequest struct { +// 创建节点 +type CreateNodeRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - NodeId string `protobuf:"bytes,1,opt,name=nodeId,proto3" json:"nodeId,omitempty"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + ClusterId int64 `protobuf:"varint,2,opt,name=clusterId,proto3" json:"clusterId,omitempty"` } -func (x *ConfigRequest) Reset() { - *x = ConfigRequest{} +func (x *CreateNodeRequest) Reset() { + *x = CreateNodeRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_node_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -46,13 +48,13 @@ func (x *ConfigRequest) Reset() { } } -func (x *ConfigRequest) String() string { +func (x *CreateNodeRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ConfigRequest) ProtoMessage() {} +func (*CreateNodeRequest) ProtoMessage() {} -func (x *ConfigRequest) ProtoReflect() protoreflect.Message { +func (x *CreateNodeRequest) ProtoReflect() protoreflect.Message { mi := &file_service_node_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -64,28 +66,35 @@ func (x *ConfigRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ConfigRequest.ProtoReflect.Descriptor instead. -func (*ConfigRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use CreateNodeRequest.ProtoReflect.Descriptor instead. +func (*CreateNodeRequest) Descriptor() ([]byte, []int) { return file_service_node_proto_rawDescGZIP(), []int{0} } -func (x *ConfigRequest) GetNodeId() string { +func (x *CreateNodeRequest) GetName() string { if x != nil { - return x.NodeId + return x.Name } return "" } -type ConfigResponse struct { +func (x *CreateNodeRequest) GetClusterId() int64 { + if x != nil { + return x.ClusterId + } + return 0 +} + +type CreateNodeResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + NodeId int64 `protobuf:"varint,1,opt,name=nodeId,proto3" json:"nodeId,omitempty"` } -func (x *ConfigResponse) Reset() { - *x = ConfigResponse{} +func (x *CreateNodeResponse) Reset() { + *x = CreateNodeResponse{} if protoimpl.UnsafeEnabled { mi := &file_service_node_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -93,13 +102,13 @@ func (x *ConfigResponse) Reset() { } } -func (x *ConfigResponse) String() string { +func (x *CreateNodeResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ConfigResponse) ProtoMessage() {} +func (*CreateNodeResponse) ProtoMessage() {} -func (x *ConfigResponse) ProtoReflect() protoreflect.Message { +func (x *CreateNodeResponse) ProtoReflect() protoreflect.Message { mi := &file_service_node_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -111,33 +120,250 @@ func (x *ConfigResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ConfigResponse.ProtoReflect.Descriptor instead. -func (*ConfigResponse) Descriptor() ([]byte, []int) { +// Deprecated: Use CreateNodeResponse.ProtoReflect.Descriptor instead. +func (*CreateNodeResponse) Descriptor() ([]byte, []int) { return file_service_node_proto_rawDescGZIP(), []int{1} } -func (x *ConfigResponse) GetId() string { +func (x *CreateNodeResponse) GetNodeId() int64 { if x != nil { - return x.Id + return x.NodeId } - return "" + return 0 +} + +// 节点数量 +type CountAllEnabledNodesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *CountAllEnabledNodesRequest) Reset() { + *x = CountAllEnabledNodesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_service_node_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CountAllEnabledNodesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CountAllEnabledNodesRequest) ProtoMessage() {} + +func (x *CountAllEnabledNodesRequest) ProtoReflect() protoreflect.Message { + mi := &file_service_node_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CountAllEnabledNodesRequest.ProtoReflect.Descriptor instead. +func (*CountAllEnabledNodesRequest) Descriptor() ([]byte, []int) { + return file_service_node_proto_rawDescGZIP(), []int{2} +} + +type CountAllEnabledNodesResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Count int64 `protobuf:"varint,1,opt,name=count,proto3" json:"count,omitempty"` +} + +func (x *CountAllEnabledNodesResponse) Reset() { + *x = CountAllEnabledNodesResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_service_node_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CountAllEnabledNodesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CountAllEnabledNodesResponse) ProtoMessage() {} + +func (x *CountAllEnabledNodesResponse) ProtoReflect() protoreflect.Message { + mi := &file_service_node_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CountAllEnabledNodesResponse.ProtoReflect.Descriptor instead. +func (*CountAllEnabledNodesResponse) Descriptor() ([]byte, []int) { + return file_service_node_proto_rawDescGZIP(), []int{3} +} + +func (x *CountAllEnabledNodesResponse) GetCount() int64 { + if x != nil { + return x.Count + } + return 0 +} + +// 列出单页节点 +type ListEnabledNodesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Offset int64 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"` + Size int64 `protobuf:"varint,2,opt,name=size,proto3" json:"size,omitempty"` +} + +func (x *ListEnabledNodesRequest) Reset() { + *x = ListEnabledNodesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_service_node_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListEnabledNodesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListEnabledNodesRequest) ProtoMessage() {} + +func (x *ListEnabledNodesRequest) ProtoReflect() protoreflect.Message { + mi := &file_service_node_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListEnabledNodesRequest.ProtoReflect.Descriptor instead. +func (*ListEnabledNodesRequest) Descriptor() ([]byte, []int) { + return file_service_node_proto_rawDescGZIP(), []int{4} +} + +func (x *ListEnabledNodesRequest) GetOffset() int64 { + if x != nil { + return x.Offset + } + return 0 +} + +func (x *ListEnabledNodesRequest) GetSize() int64 { + if x != nil { + return x.Size + } + return 0 +} + +type ListEnabledNodesResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Nodes []*Node `protobuf:"bytes,1,rep,name=nodes,proto3" json:"nodes,omitempty"` +} + +func (x *ListEnabledNodesResponse) Reset() { + *x = ListEnabledNodesResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_service_node_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListEnabledNodesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListEnabledNodesResponse) ProtoMessage() {} + +func (x *ListEnabledNodesResponse) ProtoReflect() protoreflect.Message { + mi := &file_service_node_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListEnabledNodesResponse.ProtoReflect.Descriptor instead. +func (*ListEnabledNodesResponse) Descriptor() ([]byte, []int) { + return file_service_node_proto_rawDescGZIP(), []int{5} +} + +func (x *ListEnabledNodesResponse) GetNodes() []*Node { + if x != nil { + return x.Nodes + } + return nil } var File_service_node_proto protoreflect.FileDescriptor var file_service_node_proto_rawDesc = []byte{ 0x0a, 0x12, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x22, 0x27, 0x0a, 0x0d, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x64, - 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, - 0x64, 0x22, 0x20, 0x0a, 0x0e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x02, 0x69, 0x64, 0x32, 0x40, 0x0a, 0x0b, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x12, 0x31, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x11, 0x2e, 0x70, - 0x62, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x12, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x1a, 0x10, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, + 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x45, 0x0a, 0x11, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, + 0x64, 0x22, 0x2c, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x22, + 0x1d, 0x0a, 0x1b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, + 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x34, + 0x0a, 0x1c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, + 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x45, 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, + 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x22, 0x3a, 0x0a, 0x18, 0x4c, + 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1e, 0x0a, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x64, 0x65, + 0x52, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x32, 0xf4, 0x01, 0x0a, 0x0b, 0x4e, 0x6f, 0x64, 0x65, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x3b, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x70, + 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x14, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, + 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x1f, 0x2e, 0x70, + 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, + 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, + 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x4d, 0x0a, 0x10, 0x6c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, + 0x64, 0x65, 0x73, 0x12, 0x1b, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, + 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x06, + 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -152,19 +378,29 @@ func file_service_node_proto_rawDescGZIP() []byte { return file_service_node_proto_rawDescData } -var file_service_node_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_service_node_proto_msgTypes = make([]protoimpl.MessageInfo, 6) var file_service_node_proto_goTypes = []interface{}{ - (*ConfigRequest)(nil), // 0: pb.ConfigRequest - (*ConfigResponse)(nil), // 1: pb.ConfigResponse + (*CreateNodeRequest)(nil), // 0: pb.CreateNodeRequest + (*CreateNodeResponse)(nil), // 1: pb.CreateNodeResponse + (*CountAllEnabledNodesRequest)(nil), // 2: pb.CountAllEnabledNodesRequest + (*CountAllEnabledNodesResponse)(nil), // 3: pb.CountAllEnabledNodesResponse + (*ListEnabledNodesRequest)(nil), // 4: pb.ListEnabledNodesRequest + (*ListEnabledNodesResponse)(nil), // 5: pb.ListEnabledNodesResponse + (*Node)(nil), // 6: pb.Node } var file_service_node_proto_depIdxs = []int32{ - 0, // 0: pb.NodeService.config:input_type -> pb.ConfigRequest - 1, // 1: pb.NodeService.config:output_type -> pb.ConfigResponse - 1, // [1:2] is the sub-list for method output_type - 0, // [0:1] is the sub-list for method input_type - 0, // [0:0] is the sub-list for extension type_name - 0, // [0:0] is the sub-list for extension extendee - 0, // [0:0] is the sub-list for field type_name + 6, // 0: pb.ListEnabledNodesResponse.nodes:type_name -> pb.Node + 0, // 1: pb.NodeService.createNode:input_type -> pb.CreateNodeRequest + 2, // 2: pb.NodeService.countAllEnabledNodes:input_type -> pb.CountAllEnabledNodesRequest + 4, // 3: pb.NodeService.listEnabledNodes:input_type -> pb.ListEnabledNodesRequest + 1, // 4: pb.NodeService.createNode:output_type -> pb.CreateNodeResponse + 3, // 5: pb.NodeService.countAllEnabledNodes:output_type -> pb.CountAllEnabledNodesResponse + 5, // 6: pb.NodeService.listEnabledNodes:output_type -> pb.ListEnabledNodesResponse + 4, // [4:7] is the sub-list for method output_type + 1, // [1:4] is the sub-list for method input_type + 1, // [1:1] is the sub-list for extension type_name + 1, // [1:1] is the sub-list for extension extendee + 0, // [0:1] is the sub-list for field type_name } func init() { file_service_node_proto_init() } @@ -172,9 +408,10 @@ func file_service_node_proto_init() { if File_service_node_proto != nil { return } + file_model_node_proto_init() if !protoimpl.UnsafeEnabled { file_service_node_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ConfigRequest); i { + switch v := v.(*CreateNodeRequest); i { case 0: return &v.state case 1: @@ -186,7 +423,55 @@ func file_service_node_proto_init() { } } file_service_node_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ConfigResponse); i { + switch v := v.(*CreateNodeResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_service_node_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CountAllEnabledNodesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_service_node_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CountAllEnabledNodesResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_service_node_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListEnabledNodesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_service_node_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListEnabledNodesResponse); i { case 0: return &v.state case 1: @@ -204,7 +489,7 @@ func file_service_node_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_service_node_proto_rawDesc, NumEnums: 0, - NumMessages: 2, + NumMessages: 6, NumExtensions: 0, NumServices: 1, }, @@ -230,7 +515,12 @@ const _ = grpc.SupportPackageIsVersion6 // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. type NodeServiceClient interface { - Config(ctx context.Context, in *ConfigRequest, opts ...grpc.CallOption) (*ConfigResponse, error) + // 创建节点 + CreateNode(ctx context.Context, in *CreateNodeRequest, opts ...grpc.CallOption) (*CreateNodeResponse, error) + // 节点数量 + CountAllEnabledNodes(ctx context.Context, in *CountAllEnabledNodesRequest, opts ...grpc.CallOption) (*CountAllEnabledNodesResponse, error) + // 列出单页节点 + ListEnabledNodes(ctx context.Context, in *ListEnabledNodesRequest, opts ...grpc.CallOption) (*ListEnabledNodesResponse, error) } type nodeServiceClient struct { @@ -241,9 +531,27 @@ func NewNodeServiceClient(cc grpc.ClientConnInterface) NodeServiceClient { return &nodeServiceClient{cc} } -func (c *nodeServiceClient) Config(ctx context.Context, in *ConfigRequest, opts ...grpc.CallOption) (*ConfigResponse, error) { - out := new(ConfigResponse) - err := c.cc.Invoke(ctx, "/pb.NodeService/config", in, out, opts...) +func (c *nodeServiceClient) CreateNode(ctx context.Context, in *CreateNodeRequest, opts ...grpc.CallOption) (*CreateNodeResponse, error) { + out := new(CreateNodeResponse) + err := c.cc.Invoke(ctx, "/pb.NodeService/createNode", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *nodeServiceClient) CountAllEnabledNodes(ctx context.Context, in *CountAllEnabledNodesRequest, opts ...grpc.CallOption) (*CountAllEnabledNodesResponse, error) { + out := new(CountAllEnabledNodesResponse) + err := c.cc.Invoke(ctx, "/pb.NodeService/countAllEnabledNodes", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *nodeServiceClient) ListEnabledNodes(ctx context.Context, in *ListEnabledNodesRequest, opts ...grpc.CallOption) (*ListEnabledNodesResponse, error) { + out := new(ListEnabledNodesResponse) + err := c.cc.Invoke(ctx, "/pb.NodeService/listEnabledNodes", in, out, opts...) if err != nil { return nil, err } @@ -252,35 +560,82 @@ func (c *nodeServiceClient) Config(ctx context.Context, in *ConfigRequest, opts // NodeServiceServer is the server API for NodeService service. type NodeServiceServer interface { - Config(context.Context, *ConfigRequest) (*ConfigResponse, error) + // 创建节点 + CreateNode(context.Context, *CreateNodeRequest) (*CreateNodeResponse, error) + // 节点数量 + CountAllEnabledNodes(context.Context, *CountAllEnabledNodesRequest) (*CountAllEnabledNodesResponse, error) + // 列出单页节点 + ListEnabledNodes(context.Context, *ListEnabledNodesRequest) (*ListEnabledNodesResponse, error) } // UnimplementedNodeServiceServer can be embedded to have forward compatible implementations. type UnimplementedNodeServiceServer struct { } -func (*UnimplementedNodeServiceServer) Config(context.Context, *ConfigRequest) (*ConfigResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method Config not implemented") +func (*UnimplementedNodeServiceServer) CreateNode(context.Context, *CreateNodeRequest) (*CreateNodeResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateNode not implemented") +} +func (*UnimplementedNodeServiceServer) CountAllEnabledNodes(context.Context, *CountAllEnabledNodesRequest) (*CountAllEnabledNodesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CountAllEnabledNodes not implemented") +} +func (*UnimplementedNodeServiceServer) ListEnabledNodes(context.Context, *ListEnabledNodesRequest) (*ListEnabledNodesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListEnabledNodes not implemented") } func RegisterNodeServiceServer(s *grpc.Server, srv NodeServiceServer) { s.RegisterService(&_NodeService_serviceDesc, srv) } -func _NodeService_Config_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ConfigRequest) +func _NodeService_CreateNode_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateNodeRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(NodeServiceServer).Config(ctx, in) + return srv.(NodeServiceServer).CreateNode(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/pb.NodeService/Config", + FullMethod: "/pb.NodeService/CreateNode", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(NodeServiceServer).Config(ctx, req.(*ConfigRequest)) + return srv.(NodeServiceServer).CreateNode(ctx, req.(*CreateNodeRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _NodeService_CountAllEnabledNodes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CountAllEnabledNodesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NodeServiceServer).CountAllEnabledNodes(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/pb.NodeService/CountAllEnabledNodes", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NodeServiceServer).CountAllEnabledNodes(ctx, req.(*CountAllEnabledNodesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _NodeService_ListEnabledNodes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListEnabledNodesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NodeServiceServer).ListEnabledNodes(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/pb.NodeService/ListEnabledNodes", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NodeServiceServer).ListEnabledNodes(ctx, req.(*ListEnabledNodesRequest)) } return interceptor(ctx, in, info, handler) } @@ -290,8 +645,16 @@ var _NodeService_serviceDesc = grpc.ServiceDesc{ HandlerType: (*NodeServiceServer)(nil), Methods: []grpc.MethodDesc{ { - MethodName: "config", - Handler: _NodeService_Config_Handler, + MethodName: "createNode", + Handler: _NodeService_CreateNode_Handler, + }, + { + MethodName: "countAllEnabledNodes", + Handler: _NodeService_CountAllEnabledNodes_Handler, + }, + { + MethodName: "listEnabledNodes", + Handler: _NodeService_ListEnabledNodes_Handler, }, }, Streams: []grpc.StreamDesc{}, diff --git a/internal/rpc/pb/service_node_cluster.pb.go b/internal/rpc/pb/service_node_cluster.pb.go new file mode 100644 index 00000000..011cd6e2 --- /dev/null +++ b/internal/rpc/pb/service_node_cluster.pb.go @@ -0,0 +1,304 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.25.0 +// protoc v3.12.3 +// source: service_node_cluster.proto + +package pb + +import ( + context "context" + proto "github.com/golang/protobuf/proto" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// This is a compile-time assertion that a sufficiently up-to-date version +// of the legacy proto package is being used. +const _ = proto.ProtoPackageIsVersion4 + +type FindAllEnabledNodeClustersRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *FindAllEnabledNodeClustersRequest) Reset() { + *x = FindAllEnabledNodeClustersRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_service_node_cluster_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FindAllEnabledNodeClustersRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FindAllEnabledNodeClustersRequest) ProtoMessage() {} + +func (x *FindAllEnabledNodeClustersRequest) ProtoReflect() protoreflect.Message { + mi := &file_service_node_cluster_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FindAllEnabledNodeClustersRequest.ProtoReflect.Descriptor instead. +func (*FindAllEnabledNodeClustersRequest) Descriptor() ([]byte, []int) { + return file_service_node_cluster_proto_rawDescGZIP(), []int{0} +} + +type FindAllEnabledNodeClustersResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Clusters []*NodeCluster `protobuf:"bytes,1,rep,name=clusters,proto3" json:"clusters,omitempty"` +} + +func (x *FindAllEnabledNodeClustersResponse) Reset() { + *x = FindAllEnabledNodeClustersResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_service_node_cluster_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FindAllEnabledNodeClustersResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FindAllEnabledNodeClustersResponse) ProtoMessage() {} + +func (x *FindAllEnabledNodeClustersResponse) ProtoReflect() protoreflect.Message { + mi := &file_service_node_cluster_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FindAllEnabledNodeClustersResponse.ProtoReflect.Descriptor instead. +func (*FindAllEnabledNodeClustersResponse) Descriptor() ([]byte, []int) { + return file_service_node_cluster_proto_rawDescGZIP(), []int{1} +} + +func (x *FindAllEnabledNodeClustersResponse) GetClusters() []*NodeCluster { + if x != nil { + return x.Clusters + } + return nil +} + +var File_service_node_cluster_proto protoreflect.FileDescriptor + +var file_service_node_cluster_proto_rawDesc = []byte{ + 0x0a, 0x1a, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x63, + 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, + 0x1a, 0x18, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x63, 0x6c, 0x75, + 0x73, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x23, 0x0a, 0x21, 0x46, 0x69, + 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, + 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, + 0x51, 0x0a, 0x22, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2b, 0x0a, 0x08, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x64, + 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x08, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, + 0x72, 0x73, 0x32, 0x7d, 0x0a, 0x12, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, + 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x67, 0x0a, 0x16, 0x66, 0x69, 0x6e, 0x64, + 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, + 0x72, 0x73, 0x12, 0x25, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, + 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x70, 0x62, 0x2e, 0x46, + 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, + 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x33, +} + +var ( + file_service_node_cluster_proto_rawDescOnce sync.Once + file_service_node_cluster_proto_rawDescData = file_service_node_cluster_proto_rawDesc +) + +func file_service_node_cluster_proto_rawDescGZIP() []byte { + file_service_node_cluster_proto_rawDescOnce.Do(func() { + file_service_node_cluster_proto_rawDescData = protoimpl.X.CompressGZIP(file_service_node_cluster_proto_rawDescData) + }) + return file_service_node_cluster_proto_rawDescData +} + +var file_service_node_cluster_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_service_node_cluster_proto_goTypes = []interface{}{ + (*FindAllEnabledNodeClustersRequest)(nil), // 0: pb.FindAllEnabledNodeClustersRequest + (*FindAllEnabledNodeClustersResponse)(nil), // 1: pb.FindAllEnabledNodeClustersResponse + (*NodeCluster)(nil), // 2: pb.NodeCluster +} +var file_service_node_cluster_proto_depIdxs = []int32{ + 2, // 0: pb.FindAllEnabledNodeClustersResponse.clusters:type_name -> pb.NodeCluster + 0, // 1: pb.NodeClusterService.findAllEnabledClusters:input_type -> pb.FindAllEnabledNodeClustersRequest + 1, // 2: pb.NodeClusterService.findAllEnabledClusters:output_type -> pb.FindAllEnabledNodeClustersResponse + 2, // [2:3] is the sub-list for method output_type + 1, // [1:2] is the sub-list for method input_type + 1, // [1:1] is the sub-list for extension type_name + 1, // [1:1] is the sub-list for extension extendee + 0, // [0:1] is the sub-list for field type_name +} + +func init() { file_service_node_cluster_proto_init() } +func file_service_node_cluster_proto_init() { + if File_service_node_cluster_proto != nil { + return + } + file_model_node_cluster_proto_init() + if !protoimpl.UnsafeEnabled { + file_service_node_cluster_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FindAllEnabledNodeClustersRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_service_node_cluster_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FindAllEnabledNodeClustersResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_service_node_cluster_proto_rawDesc, + NumEnums: 0, + NumMessages: 2, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_service_node_cluster_proto_goTypes, + DependencyIndexes: file_service_node_cluster_proto_depIdxs, + MessageInfos: file_service_node_cluster_proto_msgTypes, + }.Build() + File_service_node_cluster_proto = out.File + file_service_node_cluster_proto_rawDesc = nil + file_service_node_cluster_proto_goTypes = nil + file_service_node_cluster_proto_depIdxs = nil +} + +// Reference imports to suppress errors if they are not otherwise used. +var _ context.Context +var _ grpc.ClientConnInterface + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc.SupportPackageIsVersion6 + +// NodeClusterServiceClient is the client API for NodeClusterService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. +type NodeClusterServiceClient interface { + // 获取所有集群的信息 + FindAllEnabledClusters(ctx context.Context, in *FindAllEnabledNodeClustersRequest, opts ...grpc.CallOption) (*FindAllEnabledNodeClustersResponse, error) +} + +type nodeClusterServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewNodeClusterServiceClient(cc grpc.ClientConnInterface) NodeClusterServiceClient { + return &nodeClusterServiceClient{cc} +} + +func (c *nodeClusterServiceClient) FindAllEnabledClusters(ctx context.Context, in *FindAllEnabledNodeClustersRequest, opts ...grpc.CallOption) (*FindAllEnabledNodeClustersResponse, error) { + out := new(FindAllEnabledNodeClustersResponse) + err := c.cc.Invoke(ctx, "/pb.NodeClusterService/findAllEnabledClusters", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// NodeClusterServiceServer is the server API for NodeClusterService service. +type NodeClusterServiceServer interface { + // 获取所有集群的信息 + FindAllEnabledClusters(context.Context, *FindAllEnabledNodeClustersRequest) (*FindAllEnabledNodeClustersResponse, error) +} + +// UnimplementedNodeClusterServiceServer can be embedded to have forward compatible implementations. +type UnimplementedNodeClusterServiceServer struct { +} + +func (*UnimplementedNodeClusterServiceServer) FindAllEnabledClusters(context.Context, *FindAllEnabledNodeClustersRequest) (*FindAllEnabledNodeClustersResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method FindAllEnabledClusters not implemented") +} + +func RegisterNodeClusterServiceServer(s *grpc.Server, srv NodeClusterServiceServer) { + s.RegisterService(&_NodeClusterService_serviceDesc, srv) +} + +func _NodeClusterService_FindAllEnabledClusters_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(FindAllEnabledNodeClustersRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NodeClusterServiceServer).FindAllEnabledClusters(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/pb.NodeClusterService/FindAllEnabledClusters", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NodeClusterServiceServer).FindAllEnabledClusters(ctx, req.(*FindAllEnabledNodeClustersRequest)) + } + return interceptor(ctx, in, info, handler) +} + +var _NodeClusterService_serviceDesc = grpc.ServiceDesc{ + ServiceName: "pb.NodeClusterService", + HandlerType: (*NodeClusterServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "findAllEnabledClusters", + Handler: _NodeClusterService_FindAllEnabledClusters_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "service_node_cluster.proto", +} diff --git a/internal/rpc/pb/service_node_grant.pb.go b/internal/rpc/pb/service_node_grant.pb.go new file mode 100644 index 00000000..01d2cdbd --- /dev/null +++ b/internal/rpc/pb/service_node_grant.pb.go @@ -0,0 +1,1109 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.25.0 +// protoc v3.12.3 +// source: service_node_grant.proto + +package pb + +import ( + context "context" + proto "github.com/golang/protobuf/proto" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// This is a compile-time assertion that a sufficiently up-to-date version +// of the legacy proto package is being used. +const _ = proto.ProtoPackageIsVersion4 + +// 创建节点认证 +type CreateNodeGrantRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Method string `protobuf:"bytes,2,opt,name=method,proto3" json:"method,omitempty"` + Username string `protobuf:"bytes,3,opt,name=username,proto3" json:"username,omitempty"` + Password string `protobuf:"bytes,4,opt,name=password,proto3" json:"password,omitempty"` + PrivateKey string `protobuf:"bytes,5,opt,name=privateKey,proto3" json:"privateKey,omitempty"` + Description string `protobuf:"bytes,6,opt,name=description,proto3" json:"description,omitempty"` + NodeId int64 `protobuf:"varint,7,opt,name=nodeId,proto3" json:"nodeId,omitempty"` +} + +func (x *CreateNodeGrantRequest) Reset() { + *x = CreateNodeGrantRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_service_node_grant_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateNodeGrantRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateNodeGrantRequest) ProtoMessage() {} + +func (x *CreateNodeGrantRequest) ProtoReflect() protoreflect.Message { + mi := &file_service_node_grant_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateNodeGrantRequest.ProtoReflect.Descriptor instead. +func (*CreateNodeGrantRequest) Descriptor() ([]byte, []int) { + return file_service_node_grant_proto_rawDescGZIP(), []int{0} +} + +func (x *CreateNodeGrantRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *CreateNodeGrantRequest) GetMethod() string { + if x != nil { + return x.Method + } + return "" +} + +func (x *CreateNodeGrantRequest) GetUsername() string { + if x != nil { + return x.Username + } + return "" +} + +func (x *CreateNodeGrantRequest) GetPassword() string { + if x != nil { + return x.Password + } + return "" +} + +func (x *CreateNodeGrantRequest) GetPrivateKey() string { + if x != nil { + return x.PrivateKey + } + return "" +} + +func (x *CreateNodeGrantRequest) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *CreateNodeGrantRequest) GetNodeId() int64 { + if x != nil { + return x.NodeId + } + return 0 +} + +type CreateNodeGrantResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + GrantId int64 `protobuf:"varint,1,opt,name=grantId,proto3" json:"grantId,omitempty"` +} + +func (x *CreateNodeGrantResponse) Reset() { + *x = CreateNodeGrantResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_service_node_grant_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateNodeGrantResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateNodeGrantResponse) ProtoMessage() {} + +func (x *CreateNodeGrantResponse) ProtoReflect() protoreflect.Message { + mi := &file_service_node_grant_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateNodeGrantResponse.ProtoReflect.Descriptor instead. +func (*CreateNodeGrantResponse) Descriptor() ([]byte, []int) { + return file_service_node_grant_proto_rawDescGZIP(), []int{1} +} + +func (x *CreateNodeGrantResponse) GetGrantId() int64 { + if x != nil { + return x.GrantId + } + return 0 +} + +// 修改节点认证 +type UpdateNodeGrantRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + GrantId int64 `protobuf:"varint,8,opt,name=grantId,proto3" json:"grantId,omitempty"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Method string `protobuf:"bytes,2,opt,name=method,proto3" json:"method,omitempty"` + Username string `protobuf:"bytes,3,opt,name=username,proto3" json:"username,omitempty"` + Password string `protobuf:"bytes,4,opt,name=password,proto3" json:"password,omitempty"` + PrivateKey string `protobuf:"bytes,5,opt,name=privateKey,proto3" json:"privateKey,omitempty"` + Description string `protobuf:"bytes,6,opt,name=description,proto3" json:"description,omitempty"` + NodeId int64 `protobuf:"varint,7,opt,name=nodeId,proto3" json:"nodeId,omitempty"` +} + +func (x *UpdateNodeGrantRequest) Reset() { + *x = UpdateNodeGrantRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_service_node_grant_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateNodeGrantRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateNodeGrantRequest) ProtoMessage() {} + +func (x *UpdateNodeGrantRequest) ProtoReflect() protoreflect.Message { + mi := &file_service_node_grant_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateNodeGrantRequest.ProtoReflect.Descriptor instead. +func (*UpdateNodeGrantRequest) Descriptor() ([]byte, []int) { + return file_service_node_grant_proto_rawDescGZIP(), []int{2} +} + +func (x *UpdateNodeGrantRequest) GetGrantId() int64 { + if x != nil { + return x.GrantId + } + return 0 +} + +func (x *UpdateNodeGrantRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *UpdateNodeGrantRequest) GetMethod() string { + if x != nil { + return x.Method + } + return "" +} + +func (x *UpdateNodeGrantRequest) GetUsername() string { + if x != nil { + return x.Username + } + return "" +} + +func (x *UpdateNodeGrantRequest) GetPassword() string { + if x != nil { + return x.Password + } + return "" +} + +func (x *UpdateNodeGrantRequest) GetPrivateKey() string { + if x != nil { + return x.PrivateKey + } + return "" +} + +func (x *UpdateNodeGrantRequest) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *UpdateNodeGrantRequest) GetNodeId() int64 { + if x != nil { + return x.NodeId + } + return 0 +} + +type UpdateNodeGrantResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *UpdateNodeGrantResponse) Reset() { + *x = UpdateNodeGrantResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_service_node_grant_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateNodeGrantResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateNodeGrantResponse) ProtoMessage() {} + +func (x *UpdateNodeGrantResponse) ProtoReflect() protoreflect.Message { + mi := &file_service_node_grant_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateNodeGrantResponse.ProtoReflect.Descriptor instead. +func (*UpdateNodeGrantResponse) Descriptor() ([]byte, []int) { + return file_service_node_grant_proto_rawDescGZIP(), []int{3} +} + +// 禁用节点认证 +type DisableNodeGrantRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + GrantId int64 `protobuf:"varint,1,opt,name=grantId,proto3" json:"grantId,omitempty"` +} + +func (x *DisableNodeGrantRequest) Reset() { + *x = DisableNodeGrantRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_service_node_grant_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DisableNodeGrantRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DisableNodeGrantRequest) ProtoMessage() {} + +func (x *DisableNodeGrantRequest) ProtoReflect() protoreflect.Message { + mi := &file_service_node_grant_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DisableNodeGrantRequest.ProtoReflect.Descriptor instead. +func (*DisableNodeGrantRequest) Descriptor() ([]byte, []int) { + return file_service_node_grant_proto_rawDescGZIP(), []int{4} +} + +func (x *DisableNodeGrantRequest) GetGrantId() int64 { + if x != nil { + return x.GrantId + } + return 0 +} + +type DisableNodeGrantResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *DisableNodeGrantResponse) Reset() { + *x = DisableNodeGrantResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_service_node_grant_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DisableNodeGrantResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DisableNodeGrantResponse) ProtoMessage() {} + +func (x *DisableNodeGrantResponse) ProtoReflect() protoreflect.Message { + mi := &file_service_node_grant_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DisableNodeGrantResponse.ProtoReflect.Descriptor instead. +func (*DisableNodeGrantResponse) Descriptor() ([]byte, []int) { + return file_service_node_grant_proto_rawDescGZIP(), []int{5} +} + +// 计算节点认证数量 +type CountAllEnabledNodeGrantsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *CountAllEnabledNodeGrantsRequest) Reset() { + *x = CountAllEnabledNodeGrantsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_service_node_grant_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CountAllEnabledNodeGrantsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CountAllEnabledNodeGrantsRequest) ProtoMessage() {} + +func (x *CountAllEnabledNodeGrantsRequest) ProtoReflect() protoreflect.Message { + mi := &file_service_node_grant_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CountAllEnabledNodeGrantsRequest.ProtoReflect.Descriptor instead. +func (*CountAllEnabledNodeGrantsRequest) Descriptor() ([]byte, []int) { + return file_service_node_grant_proto_rawDescGZIP(), []int{6} +} + +type CountAllEnabledNodeGrantsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Count int64 `protobuf:"varint,1,opt,name=count,proto3" json:"count,omitempty"` +} + +func (x *CountAllEnabledNodeGrantsResponse) Reset() { + *x = CountAllEnabledNodeGrantsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_service_node_grant_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CountAllEnabledNodeGrantsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CountAllEnabledNodeGrantsResponse) ProtoMessage() {} + +func (x *CountAllEnabledNodeGrantsResponse) ProtoReflect() protoreflect.Message { + mi := &file_service_node_grant_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CountAllEnabledNodeGrantsResponse.ProtoReflect.Descriptor instead. +func (*CountAllEnabledNodeGrantsResponse) Descriptor() ([]byte, []int) { + return file_service_node_grant_proto_rawDescGZIP(), []int{7} +} + +func (x *CountAllEnabledNodeGrantsResponse) GetCount() int64 { + if x != nil { + return x.Count + } + return 0 +} + +// 列出所有认证 +type ListEnabledNodeGrantsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Offset int64 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"` + Size int64 `protobuf:"varint,2,opt,name=size,proto3" json:"size,omitempty"` +} + +func (x *ListEnabledNodeGrantsRequest) Reset() { + *x = ListEnabledNodeGrantsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_service_node_grant_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListEnabledNodeGrantsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListEnabledNodeGrantsRequest) ProtoMessage() {} + +func (x *ListEnabledNodeGrantsRequest) ProtoReflect() protoreflect.Message { + mi := &file_service_node_grant_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListEnabledNodeGrantsRequest.ProtoReflect.Descriptor instead. +func (*ListEnabledNodeGrantsRequest) Descriptor() ([]byte, []int) { + return file_service_node_grant_proto_rawDescGZIP(), []int{8} +} + +func (x *ListEnabledNodeGrantsRequest) GetOffset() int64 { + if x != nil { + return x.Offset + } + return 0 +} + +func (x *ListEnabledNodeGrantsRequest) GetSize() int64 { + if x != nil { + return x.Size + } + return 0 +} + +type ListEnabledNodeGrantsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Grants []*NodeGrant `protobuf:"bytes,1,rep,name=grants,proto3" json:"grants,omitempty"` +} + +func (x *ListEnabledNodeGrantsResponse) Reset() { + *x = ListEnabledNodeGrantsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_service_node_grant_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListEnabledNodeGrantsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListEnabledNodeGrantsResponse) ProtoMessage() {} + +func (x *ListEnabledNodeGrantsResponse) ProtoReflect() protoreflect.Message { + mi := &file_service_node_grant_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListEnabledNodeGrantsResponse.ProtoReflect.Descriptor instead. +func (*ListEnabledNodeGrantsResponse) Descriptor() ([]byte, []int) { + return file_service_node_grant_proto_rawDescGZIP(), []int{9} +} + +func (x *ListEnabledNodeGrantsResponse) GetGrants() []*NodeGrant { + if x != nil { + return x.Grants + } + return nil +} + +var File_service_node_grant_proto protoreflect.FileDescriptor + +var file_service_node_grant_proto_rawDesc = []byte{ + 0x0a, 0x18, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x67, + 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x1a, 0x16, + 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x67, 0x72, 0x61, 0x6e, 0x74, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd6, 0x01, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x1a, 0x0a, + 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x73, + 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x73, + 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, + 0x4b, 0x65, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x69, 0x76, 0x61, + 0x74, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, + 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x22, + 0x33, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, + 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x72, + 0x61, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x67, 0x72, 0x61, + 0x6e, 0x74, 0x49, 0x64, 0x22, 0xf0, 0x01, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, + 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x18, 0x0a, 0x07, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x07, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, + 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, + 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x1e, 0x0a, + 0x0a, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0a, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x20, 0x0a, + 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x22, 0x19, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x33, 0x0a, 0x17, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x6f, 0x64, + 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, + 0x07, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, + 0x67, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x1a, 0x0a, 0x18, 0x44, 0x69, 0x73, 0x61, 0x62, + 0x6c, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x22, 0x0a, 0x20, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x39, 0x0a, 0x21, 0x43, 0x6f, 0x75, 0x6e, 0x74, + 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, + 0x61, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x22, 0x4a, 0x0a, 0x1c, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, + 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x22, 0x46, + 0x0a, 0x1d, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, + 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x25, 0x0a, 0x06, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x0d, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x52, 0x06, + 0x67, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x32, 0xc1, 0x03, 0x0a, 0x10, 0x4e, 0x6f, 0x64, 0x65, 0x47, + 0x72, 0x61, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x4a, 0x0a, 0x0f, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x12, 0x1a, + 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, + 0x61, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x70, 0x62, 0x2e, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x0f, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x12, 0x1a, 0x2e, 0x70, 0x62, 0x2e, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x10, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x6f, + 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x12, 0x1b, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x69, 0x73, + 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, + 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x68, 0x0a, 0x19, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x12, + 0x24, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, + 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, + 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, + 0x61, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x15, + 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x47, + 0x72, 0x61, 0x6e, 0x74, 0x73, 0x12, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, + 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, + 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, + 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_service_node_grant_proto_rawDescOnce sync.Once + file_service_node_grant_proto_rawDescData = file_service_node_grant_proto_rawDesc +) + +func file_service_node_grant_proto_rawDescGZIP() []byte { + file_service_node_grant_proto_rawDescOnce.Do(func() { + file_service_node_grant_proto_rawDescData = protoimpl.X.CompressGZIP(file_service_node_grant_proto_rawDescData) + }) + return file_service_node_grant_proto_rawDescData +} + +var file_service_node_grant_proto_msgTypes = make([]protoimpl.MessageInfo, 10) +var file_service_node_grant_proto_goTypes = []interface{}{ + (*CreateNodeGrantRequest)(nil), // 0: pb.CreateNodeGrantRequest + (*CreateNodeGrantResponse)(nil), // 1: pb.CreateNodeGrantResponse + (*UpdateNodeGrantRequest)(nil), // 2: pb.UpdateNodeGrantRequest + (*UpdateNodeGrantResponse)(nil), // 3: pb.UpdateNodeGrantResponse + (*DisableNodeGrantRequest)(nil), // 4: pb.DisableNodeGrantRequest + (*DisableNodeGrantResponse)(nil), // 5: pb.DisableNodeGrantResponse + (*CountAllEnabledNodeGrantsRequest)(nil), // 6: pb.CountAllEnabledNodeGrantsRequest + (*CountAllEnabledNodeGrantsResponse)(nil), // 7: pb.CountAllEnabledNodeGrantsResponse + (*ListEnabledNodeGrantsRequest)(nil), // 8: pb.ListEnabledNodeGrantsRequest + (*ListEnabledNodeGrantsResponse)(nil), // 9: pb.ListEnabledNodeGrantsResponse + (*NodeGrant)(nil), // 10: pb.NodeGrant +} +var file_service_node_grant_proto_depIdxs = []int32{ + 10, // 0: pb.ListEnabledNodeGrantsResponse.grants:type_name -> pb.NodeGrant + 0, // 1: pb.NodeGrantService.createNodeGrant:input_type -> pb.CreateNodeGrantRequest + 2, // 2: pb.NodeGrantService.updateNodeGrant:input_type -> pb.UpdateNodeGrantRequest + 4, // 3: pb.NodeGrantService.disableNodeGrant:input_type -> pb.DisableNodeGrantRequest + 6, // 4: pb.NodeGrantService.countAllEnabledNodeGrants:input_type -> pb.CountAllEnabledNodeGrantsRequest + 8, // 5: pb.NodeGrantService.ListEnabledNodeGrants:input_type -> pb.ListEnabledNodeGrantsRequest + 1, // 6: pb.NodeGrantService.createNodeGrant:output_type -> pb.CreateNodeGrantResponse + 3, // 7: pb.NodeGrantService.updateNodeGrant:output_type -> pb.UpdateNodeGrantResponse + 5, // 8: pb.NodeGrantService.disableNodeGrant:output_type -> pb.DisableNodeGrantResponse + 7, // 9: pb.NodeGrantService.countAllEnabledNodeGrants:output_type -> pb.CountAllEnabledNodeGrantsResponse + 9, // 10: pb.NodeGrantService.ListEnabledNodeGrants:output_type -> pb.ListEnabledNodeGrantsResponse + 6, // [6:11] is the sub-list for method output_type + 1, // [1:6] is the sub-list for method input_type + 1, // [1:1] is the sub-list for extension type_name + 1, // [1:1] is the sub-list for extension extendee + 0, // [0:1] is the sub-list for field type_name +} + +func init() { file_service_node_grant_proto_init() } +func file_service_node_grant_proto_init() { + if File_service_node_grant_proto != nil { + return + } + file_model_node_grant_proto_init() + if !protoimpl.UnsafeEnabled { + file_service_node_grant_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateNodeGrantRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_service_node_grant_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateNodeGrantResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_service_node_grant_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateNodeGrantRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_service_node_grant_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateNodeGrantResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_service_node_grant_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DisableNodeGrantRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_service_node_grant_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DisableNodeGrantResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_service_node_grant_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CountAllEnabledNodeGrantsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_service_node_grant_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CountAllEnabledNodeGrantsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_service_node_grant_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListEnabledNodeGrantsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_service_node_grant_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListEnabledNodeGrantsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_service_node_grant_proto_rawDesc, + NumEnums: 0, + NumMessages: 10, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_service_node_grant_proto_goTypes, + DependencyIndexes: file_service_node_grant_proto_depIdxs, + MessageInfos: file_service_node_grant_proto_msgTypes, + }.Build() + File_service_node_grant_proto = out.File + file_service_node_grant_proto_rawDesc = nil + file_service_node_grant_proto_goTypes = nil + file_service_node_grant_proto_depIdxs = nil +} + +// Reference imports to suppress errors if they are not otherwise used. +var _ context.Context +var _ grpc.ClientConnInterface + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc.SupportPackageIsVersion6 + +// NodeGrantServiceClient is the client API for NodeGrantService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. +type NodeGrantServiceClient interface { + // 创建认证 + CreateNodeGrant(ctx context.Context, in *CreateNodeGrantRequest, opts ...grpc.CallOption) (*CreateNodeGrantResponse, error) + // 修改认证 + UpdateNodeGrant(ctx context.Context, in *UpdateNodeGrantRequest, opts ...grpc.CallOption) (*UpdateNodeGrantResponse, error) + // 禁用认证 + DisableNodeGrant(ctx context.Context, in *DisableNodeGrantRequest, opts ...grpc.CallOption) (*DisableNodeGrantResponse, error) + // 计算认证的数量 + CountAllEnabledNodeGrants(ctx context.Context, in *CountAllEnabledNodeGrantsRequest, opts ...grpc.CallOption) (*CountAllEnabledNodeGrantsResponse, error) + // 列出所有认证 + ListEnabledNodeGrants(ctx context.Context, in *ListEnabledNodeGrantsRequest, opts ...grpc.CallOption) (*ListEnabledNodeGrantsResponse, error) +} + +type nodeGrantServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewNodeGrantServiceClient(cc grpc.ClientConnInterface) NodeGrantServiceClient { + return &nodeGrantServiceClient{cc} +} + +func (c *nodeGrantServiceClient) CreateNodeGrant(ctx context.Context, in *CreateNodeGrantRequest, opts ...grpc.CallOption) (*CreateNodeGrantResponse, error) { + out := new(CreateNodeGrantResponse) + err := c.cc.Invoke(ctx, "/pb.NodeGrantService/createNodeGrant", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *nodeGrantServiceClient) UpdateNodeGrant(ctx context.Context, in *UpdateNodeGrantRequest, opts ...grpc.CallOption) (*UpdateNodeGrantResponse, error) { + out := new(UpdateNodeGrantResponse) + err := c.cc.Invoke(ctx, "/pb.NodeGrantService/updateNodeGrant", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *nodeGrantServiceClient) DisableNodeGrant(ctx context.Context, in *DisableNodeGrantRequest, opts ...grpc.CallOption) (*DisableNodeGrantResponse, error) { + out := new(DisableNodeGrantResponse) + err := c.cc.Invoke(ctx, "/pb.NodeGrantService/disableNodeGrant", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *nodeGrantServiceClient) CountAllEnabledNodeGrants(ctx context.Context, in *CountAllEnabledNodeGrantsRequest, opts ...grpc.CallOption) (*CountAllEnabledNodeGrantsResponse, error) { + out := new(CountAllEnabledNodeGrantsResponse) + err := c.cc.Invoke(ctx, "/pb.NodeGrantService/countAllEnabledNodeGrants", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *nodeGrantServiceClient) ListEnabledNodeGrants(ctx context.Context, in *ListEnabledNodeGrantsRequest, opts ...grpc.CallOption) (*ListEnabledNodeGrantsResponse, error) { + out := new(ListEnabledNodeGrantsResponse) + err := c.cc.Invoke(ctx, "/pb.NodeGrantService/ListEnabledNodeGrants", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// NodeGrantServiceServer is the server API for NodeGrantService service. +type NodeGrantServiceServer interface { + // 创建认证 + CreateNodeGrant(context.Context, *CreateNodeGrantRequest) (*CreateNodeGrantResponse, error) + // 修改认证 + UpdateNodeGrant(context.Context, *UpdateNodeGrantRequest) (*UpdateNodeGrantResponse, error) + // 禁用认证 + DisableNodeGrant(context.Context, *DisableNodeGrantRequest) (*DisableNodeGrantResponse, error) + // 计算认证的数量 + CountAllEnabledNodeGrants(context.Context, *CountAllEnabledNodeGrantsRequest) (*CountAllEnabledNodeGrantsResponse, error) + // 列出所有认证 + ListEnabledNodeGrants(context.Context, *ListEnabledNodeGrantsRequest) (*ListEnabledNodeGrantsResponse, error) +} + +// UnimplementedNodeGrantServiceServer can be embedded to have forward compatible implementations. +type UnimplementedNodeGrantServiceServer struct { +} + +func (*UnimplementedNodeGrantServiceServer) CreateNodeGrant(context.Context, *CreateNodeGrantRequest) (*CreateNodeGrantResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateNodeGrant not implemented") +} +func (*UnimplementedNodeGrantServiceServer) UpdateNodeGrant(context.Context, *UpdateNodeGrantRequest) (*UpdateNodeGrantResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateNodeGrant not implemented") +} +func (*UnimplementedNodeGrantServiceServer) DisableNodeGrant(context.Context, *DisableNodeGrantRequest) (*DisableNodeGrantResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method DisableNodeGrant not implemented") +} +func (*UnimplementedNodeGrantServiceServer) CountAllEnabledNodeGrants(context.Context, *CountAllEnabledNodeGrantsRequest) (*CountAllEnabledNodeGrantsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CountAllEnabledNodeGrants not implemented") +} +func (*UnimplementedNodeGrantServiceServer) ListEnabledNodeGrants(context.Context, *ListEnabledNodeGrantsRequest) (*ListEnabledNodeGrantsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListEnabledNodeGrants not implemented") +} + +func RegisterNodeGrantServiceServer(s *grpc.Server, srv NodeGrantServiceServer) { + s.RegisterService(&_NodeGrantService_serviceDesc, srv) +} + +func _NodeGrantService_CreateNodeGrant_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateNodeGrantRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NodeGrantServiceServer).CreateNodeGrant(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/pb.NodeGrantService/CreateNodeGrant", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NodeGrantServiceServer).CreateNodeGrant(ctx, req.(*CreateNodeGrantRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _NodeGrantService_UpdateNodeGrant_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateNodeGrantRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NodeGrantServiceServer).UpdateNodeGrant(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/pb.NodeGrantService/UpdateNodeGrant", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NodeGrantServiceServer).UpdateNodeGrant(ctx, req.(*UpdateNodeGrantRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _NodeGrantService_DisableNodeGrant_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DisableNodeGrantRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NodeGrantServiceServer).DisableNodeGrant(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/pb.NodeGrantService/DisableNodeGrant", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NodeGrantServiceServer).DisableNodeGrant(ctx, req.(*DisableNodeGrantRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _NodeGrantService_CountAllEnabledNodeGrants_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CountAllEnabledNodeGrantsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NodeGrantServiceServer).CountAllEnabledNodeGrants(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/pb.NodeGrantService/CountAllEnabledNodeGrants", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NodeGrantServiceServer).CountAllEnabledNodeGrants(ctx, req.(*CountAllEnabledNodeGrantsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _NodeGrantService_ListEnabledNodeGrants_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListEnabledNodeGrantsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NodeGrantServiceServer).ListEnabledNodeGrants(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/pb.NodeGrantService/ListEnabledNodeGrants", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NodeGrantServiceServer).ListEnabledNodeGrants(ctx, req.(*ListEnabledNodeGrantsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +var _NodeGrantService_serviceDesc = grpc.ServiceDesc{ + ServiceName: "pb.NodeGrantService", + HandlerType: (*NodeGrantServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "createNodeGrant", + Handler: _NodeGrantService_CreateNodeGrant_Handler, + }, + { + MethodName: "updateNodeGrant", + Handler: _NodeGrantService_UpdateNodeGrant_Handler, + }, + { + MethodName: "disableNodeGrant", + Handler: _NodeGrantService_DisableNodeGrant_Handler, + }, + { + MethodName: "countAllEnabledNodeGrants", + Handler: _NodeGrantService_CountAllEnabledNodeGrants_Handler, + }, + { + MethodName: "ListEnabledNodeGrants", + Handler: _NodeGrantService_ListEnabledNodeGrants_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "service_node_grant.proto", +} diff --git a/internal/rpc/pb/service_node_group.pb.go b/internal/rpc/pb/service_node_group.pb.go new file mode 100644 index 00000000..82c627a2 --- /dev/null +++ b/internal/rpc/pb/service_node_group.pb.go @@ -0,0 +1,66 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.25.0 +// protoc v3.12.3 +// source: service_node_group.proto + +package pb + +import ( + proto "github.com/golang/protobuf/proto" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// This is a compile-time assertion that a sufficiently up-to-date version +// of the legacy proto package is being used. +const _ = proto.ProtoPackageIsVersion4 + +var File_service_node_group_proto protoreflect.FileDescriptor + +var file_service_node_group_proto_rawDesc = []byte{ + 0x0a, 0x18, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x42, 0x06, + 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var file_service_node_group_proto_goTypes = []interface{}{} +var file_service_node_group_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_service_node_group_proto_init() } +func file_service_node_group_proto_init() { + if File_service_node_group_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_service_node_group_proto_rawDesc, + NumEnums: 0, + NumMessages: 0, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_service_node_group_proto_goTypes, + DependencyIndexes: file_service_node_group_proto_depIdxs, + }.Build() + File_service_node_group_proto = out.File + file_service_node_group_proto_rawDesc = nil + file_service_node_group_proto_goTypes = nil + file_service_node_group_proto_depIdxs = nil +} diff --git a/internal/rpc/pb/service_node_region.pb.go b/internal/rpc/pb/service_node_region.pb.go new file mode 100644 index 00000000..2ced8732 --- /dev/null +++ b/internal/rpc/pb/service_node_region.pb.go @@ -0,0 +1,66 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.25.0 +// protoc v3.12.3 +// source: service_node_region.proto + +package pb + +import ( + proto "github.com/golang/protobuf/proto" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// This is a compile-time assertion that a sufficiently up-to-date version +// of the legacy proto package is being used. +const _ = proto.ProtoPackageIsVersion4 + +var File_service_node_region_proto protoreflect.FileDescriptor + +var file_service_node_region_proto_rawDesc = []byte{ + 0x0a, 0x19, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x72, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x42, + 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var file_service_node_region_proto_goTypes = []interface{}{} +var file_service_node_region_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_service_node_region_proto_init() } +func file_service_node_region_proto_init() { + if File_service_node_region_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_service_node_region_proto_rawDesc, + NumEnums: 0, + NumMessages: 0, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_service_node_region_proto_goTypes, + DependencyIndexes: file_service_node_region_proto_depIdxs, + }.Build() + File_service_node_region_proto = out.File + file_service_node_region_proto_rawDesc = nil + file_service_node_region_proto_goTypes = nil + file_service_node_region_proto_depIdxs = nil +} diff --git a/internal/rpc/pb/service_provider.pb.go b/internal/rpc/pb/service_provider.pb.go deleted file mode 100644 index 2ba0b116..00000000 --- a/internal/rpc/pb/service_provider.pb.go +++ /dev/null @@ -1,111 +0,0 @@ -// Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.25.0 -// protoc v3.12.3 -// source: service_provider.proto - -package pb - -import ( - context "context" - proto "github.com/golang/protobuf/proto" - grpc "google.golang.org/grpc" - protoreflect "google.golang.org/protobuf/reflect/protoreflect" - protoimpl "google.golang.org/protobuf/runtime/protoimpl" - reflect "reflect" -) - -const ( - // Verify that this generated code is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) - // Verify that runtime/protoimpl is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) -) - -// This is a compile-time assertion that a sufficiently up-to-date version -// of the legacy proto package is being used. -const _ = proto.ProtoPackageIsVersion4 - -var File_service_provider_proto protoreflect.FileDescriptor - -var file_service_provider_proto_rawDesc = []byte{ - 0x0a, 0x16, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, - 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x32, 0x11, 0x0a, 0x0f, - 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, - 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} - -var file_service_provider_proto_goTypes = []interface{}{} -var file_service_provider_proto_depIdxs = []int32{ - 0, // [0:0] is the sub-list for method output_type - 0, // [0:0] is the sub-list for method input_type - 0, // [0:0] is the sub-list for extension type_name - 0, // [0:0] is the sub-list for extension extendee - 0, // [0:0] is the sub-list for field type_name -} - -func init() { file_service_provider_proto_init() } -func file_service_provider_proto_init() { - if File_service_provider_proto != nil { - return - } - type x struct{} - out := protoimpl.TypeBuilder{ - File: protoimpl.DescBuilder{ - GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_service_provider_proto_rawDesc, - NumEnums: 0, - NumMessages: 0, - NumExtensions: 0, - NumServices: 1, - }, - GoTypes: file_service_provider_proto_goTypes, - DependencyIndexes: file_service_provider_proto_depIdxs, - }.Build() - File_service_provider_proto = out.File - file_service_provider_proto_rawDesc = nil - file_service_provider_proto_goTypes = nil - file_service_provider_proto_depIdxs = nil -} - -// Reference imports to suppress errors if they are not otherwise used. -var _ context.Context -var _ grpc.ClientConnInterface - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the grpc package it is being compiled against. -const _ = grpc.SupportPackageIsVersion6 - -// ProviderServiceClient is the client API for ProviderService service. -// -// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. -type ProviderServiceClient interface { -} - -type providerServiceClient struct { - cc grpc.ClientConnInterface -} - -func NewProviderServiceClient(cc grpc.ClientConnInterface) ProviderServiceClient { - return &providerServiceClient{cc} -} - -// ProviderServiceServer is the server API for ProviderService service. -type ProviderServiceServer interface { -} - -// UnimplementedProviderServiceServer can be embedded to have forward compatible implementations. -type UnimplementedProviderServiceServer struct { -} - -func RegisterProviderServiceServer(s *grpc.Server, srv ProviderServiceServer) { - s.RegisterService(&_ProviderService_serviceDesc, srv) -} - -var _ProviderService_serviceDesc = grpc.ServiceDesc{ - ServiceName: "pb.ProviderService", - HandlerType: (*ProviderServiceServer)(nil), - Methods: []grpc.MethodDesc{}, - Streams: []grpc.StreamDesc{}, - Metadata: "service_provider.proto", -} diff --git a/internal/rpc/pb/service_server.pb.go b/internal/rpc/pb/service_server.pb.go new file mode 100644 index 00000000..a0ac0f82 --- /dev/null +++ b/internal/rpc/pb/service_server.pb.go @@ -0,0 +1,706 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.25.0 +// protoc v3.12.3 +// source: service_server.proto + +package pb + +import ( + context "context" + proto "github.com/golang/protobuf/proto" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// This is a compile-time assertion that a sufficiently up-to-date version +// of the legacy proto package is being used. +const _ = proto.ProtoPackageIsVersion4 + +// 创建服务 +type CreateServerRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + UserId int64 `protobuf:"varint,1,opt,name=userId,proto3" json:"userId,omitempty"` + AdminId int64 `protobuf:"varint,2,opt,name=adminId,proto3" json:"adminId,omitempty"` + ClusterId int64 `protobuf:"varint,6,opt,name=clusterId,proto3" json:"clusterId,omitempty"` + Config []byte `protobuf:"bytes,3,opt,name=config,proto3" json:"config,omitempty"` + IncludeNodesJSON []byte `protobuf:"bytes,4,opt,name=includeNodesJSON,proto3" json:"includeNodesJSON,omitempty"` + ExcludeNodesJSON []byte `protobuf:"bytes,5,opt,name=excludeNodesJSON,proto3" json:"excludeNodesJSON,omitempty"` +} + +func (x *CreateServerRequest) Reset() { + *x = CreateServerRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_service_server_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateServerRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateServerRequest) ProtoMessage() {} + +func (x *CreateServerRequest) ProtoReflect() protoreflect.Message { + mi := &file_service_server_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateServerRequest.ProtoReflect.Descriptor instead. +func (*CreateServerRequest) Descriptor() ([]byte, []int) { + return file_service_server_proto_rawDescGZIP(), []int{0} +} + +func (x *CreateServerRequest) GetUserId() int64 { + if x != nil { + return x.UserId + } + return 0 +} + +func (x *CreateServerRequest) GetAdminId() int64 { + if x != nil { + return x.AdminId + } + return 0 +} + +func (x *CreateServerRequest) GetClusterId() int64 { + if x != nil { + return x.ClusterId + } + return 0 +} + +func (x *CreateServerRequest) GetConfig() []byte { + if x != nil { + return x.Config + } + return nil +} + +func (x *CreateServerRequest) GetIncludeNodesJSON() []byte { + if x != nil { + return x.IncludeNodesJSON + } + return nil +} + +func (x *CreateServerRequest) GetExcludeNodesJSON() []byte { + if x != nil { + return x.ExcludeNodesJSON + } + return nil +} + +type CreateServerResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ServerId int64 `protobuf:"varint,1,opt,name=serverId,proto3" json:"serverId,omitempty"` +} + +func (x *CreateServerResponse) Reset() { + *x = CreateServerResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_service_server_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateServerResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateServerResponse) ProtoMessage() {} + +func (x *CreateServerResponse) ProtoReflect() protoreflect.Message { + mi := &file_service_server_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateServerResponse.ProtoReflect.Descriptor instead. +func (*CreateServerResponse) Descriptor() ([]byte, []int) { + return file_service_server_proto_rawDescGZIP(), []int{1} +} + +func (x *CreateServerResponse) GetServerId() int64 { + if x != nil { + return x.ServerId + } + return 0 +} + +// 计算服务数量 +type CountAllEnabledServersRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *CountAllEnabledServersRequest) Reset() { + *x = CountAllEnabledServersRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_service_server_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CountAllEnabledServersRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CountAllEnabledServersRequest) ProtoMessage() {} + +func (x *CountAllEnabledServersRequest) ProtoReflect() protoreflect.Message { + mi := &file_service_server_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CountAllEnabledServersRequest.ProtoReflect.Descriptor instead. +func (*CountAllEnabledServersRequest) Descriptor() ([]byte, []int) { + return file_service_server_proto_rawDescGZIP(), []int{2} +} + +type CountAllEnabledServersResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Count int64 `protobuf:"varint,1,opt,name=count,proto3" json:"count,omitempty"` +} + +func (x *CountAllEnabledServersResponse) Reset() { + *x = CountAllEnabledServersResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_service_server_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CountAllEnabledServersResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CountAllEnabledServersResponse) ProtoMessage() {} + +func (x *CountAllEnabledServersResponse) ProtoReflect() protoreflect.Message { + mi := &file_service_server_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CountAllEnabledServersResponse.ProtoReflect.Descriptor instead. +func (*CountAllEnabledServersResponse) Descriptor() ([]byte, []int) { + return file_service_server_proto_rawDescGZIP(), []int{3} +} + +func (x *CountAllEnabledServersResponse) GetCount() int64 { + if x != nil { + return x.Count + } + return 0 +} + +// 列出单页服务 +type ListEnabledServersRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Offset int64 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"` + Size int64 `protobuf:"varint,2,opt,name=size,proto3" json:"size,omitempty"` +} + +func (x *ListEnabledServersRequest) Reset() { + *x = ListEnabledServersRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_service_server_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListEnabledServersRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListEnabledServersRequest) ProtoMessage() {} + +func (x *ListEnabledServersRequest) ProtoReflect() protoreflect.Message { + mi := &file_service_server_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListEnabledServersRequest.ProtoReflect.Descriptor instead. +func (*ListEnabledServersRequest) Descriptor() ([]byte, []int) { + return file_service_server_proto_rawDescGZIP(), []int{4} +} + +func (x *ListEnabledServersRequest) GetOffset() int64 { + if x != nil { + return x.Offset + } + return 0 +} + +func (x *ListEnabledServersRequest) GetSize() int64 { + if x != nil { + return x.Size + } + return 0 +} + +type ListEnabledServersResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Servers []*Server `protobuf:"bytes,1,rep,name=servers,proto3" json:"servers,omitempty"` +} + +func (x *ListEnabledServersResponse) Reset() { + *x = ListEnabledServersResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_service_server_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListEnabledServersResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListEnabledServersResponse) ProtoMessage() {} + +func (x *ListEnabledServersResponse) ProtoReflect() protoreflect.Message { + mi := &file_service_server_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListEnabledServersResponse.ProtoReflect.Descriptor instead. +func (*ListEnabledServersResponse) Descriptor() ([]byte, []int) { + return file_service_server_proto_rawDescGZIP(), []int{5} +} + +func (x *ListEnabledServersResponse) GetServers() []*Server { + if x != nil { + return x.Servers + } + return nil +} + +var File_service_server_proto protoreflect.FileDescriptor + +var file_service_server_proto_rawDesc = []byte{ + 0x0a, 0x14, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x1a, 0x12, 0x6d, 0x6f, 0x64, 0x65, + 0x6c, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd5, + 0x01, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x18, + 0x0a, 0x07, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x07, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6c, 0x75, 0x73, + 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x6c, 0x75, + 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2a, + 0x0a, 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x4a, 0x53, + 0x4f, 0x4e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, + 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x2a, 0x0a, 0x10, 0x65, 0x78, + 0x63, 0x6c, 0x75, 0x64, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x0c, 0x52, 0x10, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x4e, 0x6f, 0x64, + 0x65, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x32, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1a, + 0x0a, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x22, 0x1f, 0x0a, 0x1d, 0x43, 0x6f, + 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x36, 0x0a, 0x1e, 0x43, + 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, + 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x22, 0x47, 0x0a, 0x19, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, + 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x22, 0x42, 0x0a, 0x1a, + 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x0a, 0x07, 0x73, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x70, 0x62, + 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, + 0x32, 0x88, 0x02, 0x0a, 0x0d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x12, 0x41, 0x0a, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x12, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x70, 0x62, + 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x16, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, + 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x12, + 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, + 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, + 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x12, 0x6c, 0x69, 0x73, 0x74, 0x45, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x12, 0x1d, 0x2e, 0x70, + 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x70, 0x62, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x06, 0x5a, 0x04, 0x2e, + 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_service_server_proto_rawDescOnce sync.Once + file_service_server_proto_rawDescData = file_service_server_proto_rawDesc +) + +func file_service_server_proto_rawDescGZIP() []byte { + file_service_server_proto_rawDescOnce.Do(func() { + file_service_server_proto_rawDescData = protoimpl.X.CompressGZIP(file_service_server_proto_rawDescData) + }) + return file_service_server_proto_rawDescData +} + +var file_service_server_proto_msgTypes = make([]protoimpl.MessageInfo, 6) +var file_service_server_proto_goTypes = []interface{}{ + (*CreateServerRequest)(nil), // 0: pb.CreateServerRequest + (*CreateServerResponse)(nil), // 1: pb.CreateServerResponse + (*CountAllEnabledServersRequest)(nil), // 2: pb.CountAllEnabledServersRequest + (*CountAllEnabledServersResponse)(nil), // 3: pb.CountAllEnabledServersResponse + (*ListEnabledServersRequest)(nil), // 4: pb.ListEnabledServersRequest + (*ListEnabledServersResponse)(nil), // 5: pb.ListEnabledServersResponse + (*Server)(nil), // 6: pb.Server +} +var file_service_server_proto_depIdxs = []int32{ + 6, // 0: pb.ListEnabledServersResponse.servers:type_name -> pb.Server + 0, // 1: pb.ServerService.createServer:input_type -> pb.CreateServerRequest + 2, // 2: pb.ServerService.countAllEnabledServers:input_type -> pb.CountAllEnabledServersRequest + 4, // 3: pb.ServerService.listEnabledServers:input_type -> pb.ListEnabledServersRequest + 1, // 4: pb.ServerService.createServer:output_type -> pb.CreateServerResponse + 3, // 5: pb.ServerService.countAllEnabledServers:output_type -> pb.CountAllEnabledServersResponse + 5, // 6: pb.ServerService.listEnabledServers:output_type -> pb.ListEnabledServersResponse + 4, // [4:7] is the sub-list for method output_type + 1, // [1:4] is the sub-list for method input_type + 1, // [1:1] is the sub-list for extension type_name + 1, // [1:1] is the sub-list for extension extendee + 0, // [0:1] is the sub-list for field type_name +} + +func init() { file_service_server_proto_init() } +func file_service_server_proto_init() { + if File_service_server_proto != nil { + return + } + file_model_server_proto_init() + if !protoimpl.UnsafeEnabled { + file_service_server_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateServerRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_service_server_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateServerResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_service_server_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CountAllEnabledServersRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_service_server_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CountAllEnabledServersResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_service_server_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListEnabledServersRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_service_server_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListEnabledServersResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_service_server_proto_rawDesc, + NumEnums: 0, + NumMessages: 6, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_service_server_proto_goTypes, + DependencyIndexes: file_service_server_proto_depIdxs, + MessageInfos: file_service_server_proto_msgTypes, + }.Build() + File_service_server_proto = out.File + file_service_server_proto_rawDesc = nil + file_service_server_proto_goTypes = nil + file_service_server_proto_depIdxs = nil +} + +// Reference imports to suppress errors if they are not otherwise used. +var _ context.Context +var _ grpc.ClientConnInterface + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc.SupportPackageIsVersion6 + +// ServerServiceClient is the client API for ServerService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. +type ServerServiceClient interface { + // 创建服务 + CreateServer(ctx context.Context, in *CreateServerRequest, opts ...grpc.CallOption) (*CreateServerResponse, error) + // 计算服务数量 + CountAllEnabledServers(ctx context.Context, in *CountAllEnabledServersRequest, opts ...grpc.CallOption) (*CountAllEnabledServersResponse, error) + // 列出单页服务 + ListEnabledServers(ctx context.Context, in *ListEnabledServersRequest, opts ...grpc.CallOption) (*ListEnabledServersResponse, error) +} + +type serverServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewServerServiceClient(cc grpc.ClientConnInterface) ServerServiceClient { + return &serverServiceClient{cc} +} + +func (c *serverServiceClient) CreateServer(ctx context.Context, in *CreateServerRequest, opts ...grpc.CallOption) (*CreateServerResponse, error) { + out := new(CreateServerResponse) + err := c.cc.Invoke(ctx, "/pb.ServerService/createServer", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *serverServiceClient) CountAllEnabledServers(ctx context.Context, in *CountAllEnabledServersRequest, opts ...grpc.CallOption) (*CountAllEnabledServersResponse, error) { + out := new(CountAllEnabledServersResponse) + err := c.cc.Invoke(ctx, "/pb.ServerService/countAllEnabledServers", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *serverServiceClient) ListEnabledServers(ctx context.Context, in *ListEnabledServersRequest, opts ...grpc.CallOption) (*ListEnabledServersResponse, error) { + out := new(ListEnabledServersResponse) + err := c.cc.Invoke(ctx, "/pb.ServerService/listEnabledServers", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// ServerServiceServer is the server API for ServerService service. +type ServerServiceServer interface { + // 创建服务 + CreateServer(context.Context, *CreateServerRequest) (*CreateServerResponse, error) + // 计算服务数量 + CountAllEnabledServers(context.Context, *CountAllEnabledServersRequest) (*CountAllEnabledServersResponse, error) + // 列出单页服务 + ListEnabledServers(context.Context, *ListEnabledServersRequest) (*ListEnabledServersResponse, error) +} + +// UnimplementedServerServiceServer can be embedded to have forward compatible implementations. +type UnimplementedServerServiceServer struct { +} + +func (*UnimplementedServerServiceServer) CreateServer(context.Context, *CreateServerRequest) (*CreateServerResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateServer not implemented") +} +func (*UnimplementedServerServiceServer) CountAllEnabledServers(context.Context, *CountAllEnabledServersRequest) (*CountAllEnabledServersResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CountAllEnabledServers not implemented") +} +func (*UnimplementedServerServiceServer) ListEnabledServers(context.Context, *ListEnabledServersRequest) (*ListEnabledServersResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListEnabledServers not implemented") +} + +func RegisterServerServiceServer(s *grpc.Server, srv ServerServiceServer) { + s.RegisterService(&_ServerService_serviceDesc, srv) +} + +func _ServerService_CreateServer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateServerRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ServerServiceServer).CreateServer(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/pb.ServerService/CreateServer", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ServerServiceServer).CreateServer(ctx, req.(*CreateServerRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ServerService_CountAllEnabledServers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CountAllEnabledServersRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ServerServiceServer).CountAllEnabledServers(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/pb.ServerService/CountAllEnabledServers", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ServerServiceServer).CountAllEnabledServers(ctx, req.(*CountAllEnabledServersRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ServerService_ListEnabledServers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListEnabledServersRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ServerServiceServer).ListEnabledServers(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/pb.ServerService/ListEnabledServers", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ServerServiceServer).ListEnabledServers(ctx, req.(*ListEnabledServersRequest)) + } + return interceptor(ctx, in, info, handler) +} + +var _ServerService_serviceDesc = grpc.ServiceDesc{ + ServiceName: "pb.ServerService", + HandlerType: (*ServerServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "createServer", + Handler: _ServerService_CreateServer_Handler, + }, + { + MethodName: "countAllEnabledServers", + Handler: _ServerService_CountAllEnabledServers_Handler, + }, + { + MethodName: "listEnabledServers", + Handler: _ServerService_ListEnabledServers_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "service_server.proto", +} diff --git a/internal/rpc/pb/service_server_group.pb.go b/internal/rpc/pb/service_server_group.pb.go new file mode 100644 index 00000000..fbf350d7 --- /dev/null +++ b/internal/rpc/pb/service_server_group.pb.go @@ -0,0 +1,66 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.25.0 +// protoc v3.12.3 +// source: service_server_group.proto + +package pb + +import ( + proto "github.com/golang/protobuf/proto" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// This is a compile-time assertion that a sufficiently up-to-date version +// of the legacy proto package is being used. +const _ = proto.ProtoPackageIsVersion4 + +var File_service_server_group_proto protoreflect.FileDescriptor + +var file_service_server_group_proto_rawDesc = []byte{ + 0x0a, 0x1a, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, + 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var file_service_server_group_proto_goTypes = []interface{}{} +var file_service_server_group_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_service_server_group_proto_init() } +func file_service_server_group_proto_init() { + if File_service_server_group_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_service_server_group_proto_rawDesc, + NumEnums: 0, + NumMessages: 0, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_service_server_group_proto_goTypes, + DependencyIndexes: file_service_server_group_proto_depIdxs, + }.Build() + File_service_server_group_proto = out.File + file_service_server_group_proto_rawDesc = nil + file_service_server_group_proto_goTypes = nil + file_service_server_group_proto_depIdxs = nil +} diff --git a/internal/rpc/pb/service_stat.pb.go b/internal/rpc/pb/service_stat.pb.go deleted file mode 100644 index 09c7961b..00000000 --- a/internal/rpc/pb/service_stat.pb.go +++ /dev/null @@ -1,111 +0,0 @@ -// Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.25.0 -// protoc v3.12.3 -// source: service_stat.proto - -package pb - -import ( - context "context" - proto "github.com/golang/protobuf/proto" - grpc "google.golang.org/grpc" - protoreflect "google.golang.org/protobuf/reflect/protoreflect" - protoimpl "google.golang.org/protobuf/runtime/protoimpl" - reflect "reflect" -) - -const ( - // Verify that this generated code is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) - // Verify that runtime/protoimpl is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) -) - -// This is a compile-time assertion that a sufficiently up-to-date version -// of the legacy proto package is being used. -const _ = proto.ProtoPackageIsVersion4 - -var File_service_stat_proto protoreflect.FileDescriptor - -var file_service_stat_proto_rawDesc = []byte{ - 0x0a, 0x12, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x32, 0x0d, 0x0a, 0x0b, 0x53, 0x74, 0x61, 0x74, - 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, - 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} - -var file_service_stat_proto_goTypes = []interface{}{} -var file_service_stat_proto_depIdxs = []int32{ - 0, // [0:0] is the sub-list for method output_type - 0, // [0:0] is the sub-list for method input_type - 0, // [0:0] is the sub-list for extension type_name - 0, // [0:0] is the sub-list for extension extendee - 0, // [0:0] is the sub-list for field type_name -} - -func init() { file_service_stat_proto_init() } -func file_service_stat_proto_init() { - if File_service_stat_proto != nil { - return - } - type x struct{} - out := protoimpl.TypeBuilder{ - File: protoimpl.DescBuilder{ - GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_service_stat_proto_rawDesc, - NumEnums: 0, - NumMessages: 0, - NumExtensions: 0, - NumServices: 1, - }, - GoTypes: file_service_stat_proto_goTypes, - DependencyIndexes: file_service_stat_proto_depIdxs, - }.Build() - File_service_stat_proto = out.File - file_service_stat_proto_rawDesc = nil - file_service_stat_proto_goTypes = nil - file_service_stat_proto_depIdxs = nil -} - -// Reference imports to suppress errors if they are not otherwise used. -var _ context.Context -var _ grpc.ClientConnInterface - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the grpc package it is being compiled against. -const _ = grpc.SupportPackageIsVersion6 - -// StatServiceClient is the client API for StatService service. -// -// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. -type StatServiceClient interface { -} - -type statServiceClient struct { - cc grpc.ClientConnInterface -} - -func NewStatServiceClient(cc grpc.ClientConnInterface) StatServiceClient { - return &statServiceClient{cc} -} - -// StatServiceServer is the server API for StatService service. -type StatServiceServer interface { -} - -// UnimplementedStatServiceServer can be embedded to have forward compatible implementations. -type UnimplementedStatServiceServer struct { -} - -func RegisterStatServiceServer(s *grpc.Server, srv StatServiceServer) { - s.RegisterService(&_StatService_serviceDesc, srv) -} - -var _StatService_serviceDesc = grpc.ServiceDesc{ - ServiceName: "pb.StatService", - HandlerType: (*StatServiceServer)(nil), - Methods: []grpc.MethodDesc{}, - Streams: []grpc.StreamDesc{}, - Metadata: "service_stat.proto", -} diff --git a/internal/rpc/pb/service_user.pb.go b/internal/rpc/pb/service_user.pb.go index 82f62cc9..85aec58a 100644 --- a/internal/rpc/pb/service_user.pb.go +++ b/internal/rpc/pb/service_user.pb.go @@ -7,9 +7,7 @@ package pb import ( - context "context" proto "github.com/golang/protobuf/proto" - grpc "google.golang.org/grpc" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" @@ -30,9 +28,8 @@ var File_service_user_proto protoreflect.FileDescriptor var file_service_user_proto_rawDesc = []byte{ 0x0a, 0x12, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x32, 0x0d, 0x0a, 0x0b, 0x55, 0x73, 0x65, 0x72, - 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, - 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var file_service_user_proto_goTypes = []interface{}{} @@ -57,7 +54,7 @@ func file_service_user_proto_init() { NumEnums: 0, NumMessages: 0, NumExtensions: 0, - NumServices: 1, + NumServices: 0, }, GoTypes: file_service_user_proto_goTypes, DependencyIndexes: file_service_user_proto_depIdxs, @@ -67,45 +64,3 @@ func file_service_user_proto_init() { file_service_user_proto_goTypes = nil file_service_user_proto_depIdxs = nil } - -// Reference imports to suppress errors if they are not otherwise used. -var _ context.Context -var _ grpc.ClientConnInterface - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the grpc package it is being compiled against. -const _ = grpc.SupportPackageIsVersion6 - -// UserServiceClient is the client API for UserService service. -// -// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. -type UserServiceClient interface { -} - -type userServiceClient struct { - cc grpc.ClientConnInterface -} - -func NewUserServiceClient(cc grpc.ClientConnInterface) UserServiceClient { - return &userServiceClient{cc} -} - -// UserServiceServer is the server API for UserService service. -type UserServiceServer interface { -} - -// UnimplementedUserServiceServer can be embedded to have forward compatible implementations. -type UnimplementedUserServiceServer struct { -} - -func RegisterUserServiceServer(s *grpc.Server, srv UserServiceServer) { - s.RegisterService(&_UserService_serviceDesc, srv) -} - -var _UserService_serviceDesc = grpc.ServiceDesc{ - ServiceName: "pb.UserService", - HandlerType: (*UserServiceServer)(nil), - Methods: []grpc.MethodDesc{}, - Streams: []grpc.StreamDesc{}, - Metadata: "service_user.proto", -} diff --git a/internal/rpc/protos/model_node.proto b/internal/rpc/protos/model_node.proto index 1c208e5d..58932cb1 100644 --- a/internal/rpc/protos/model_node.proto +++ b/internal/rpc/protos/model_node.proto @@ -3,11 +3,11 @@ option go_package = "./pb"; package pb; -import "model_cluster.proto"; +import "model_node_cluster.proto"; message Node { int64 id = 1; string name = 2; - Cluster cluster = 32; + NodeCluster cluster = 32; } \ No newline at end of file diff --git a/internal/rpc/protos/model_cluster.proto b/internal/rpc/protos/model_node_cluster.proto similarity index 84% rename from internal/rpc/protos/model_cluster.proto rename to internal/rpc/protos/model_node_cluster.proto index 5800489b..64151935 100644 --- a/internal/rpc/protos/model_cluster.proto +++ b/internal/rpc/protos/model_node_cluster.proto @@ -3,7 +3,7 @@ option go_package = "./pb"; package pb; -message Cluster { +message NodeCluster { int64 id = 1; string name = 2; int64 createdAt = 3; diff --git a/internal/rpc/protos/model_node_grant.proto b/internal/rpc/protos/model_node_grant.proto new file mode 100644 index 00000000..bf377d1a --- /dev/null +++ b/internal/rpc/protos/model_node_grant.proto @@ -0,0 +1,15 @@ +syntax = "proto3"; +option go_package = "./pb"; + +package pb; + +message NodeGrant { + int64 id = 1; + string name = 2; + string method = 3; + string password = 4; + bool su = 5; + string privateKey = 6; + string description = 7; + int64 nodeId = 8; +} \ No newline at end of file diff --git a/internal/rpc/protos/model_server.proto b/internal/rpc/protos/model_server.proto new file mode 100644 index 00000000..ac4f26be --- /dev/null +++ b/internal/rpc/protos/model_server.proto @@ -0,0 +1,16 @@ +syntax = "proto3"; +option go_package = "./pb"; + +package pb; + +import "model_node_cluster.proto"; + +message Server { + int64 id = 1; + bytes config = 2; + bytes includeNodes = 3; + bytes excludeNodes = 4; + int64 createdAt = 5; + + NodeCluster cluster = 6; +} diff --git a/internal/rpc/protos/service_admin.proto b/internal/rpc/protos/service_admin.proto index ba9e549e..e351d924 100644 --- a/internal/rpc/protos/service_admin.proto +++ b/internal/rpc/protos/service_admin.proto @@ -3,117 +3,63 @@ option go_package = "./pb"; package pb; -import "model_cluster.proto"; -import "model_node.proto"; service AdminService { // 登录 - rpc login (AdminLoginRequest) returns (AdminLoginResponse) { + rpc loginAdmin (LoginAdminRequest) returns (LoginAdminResponse) { } // 创建操作日志 - rpc createLog (AdminCreateLogRequest) returns (AdminCreateLogResponse) { + rpc createAdminLog (CreateAdminLogRequest) returns (CreateAdminLogResponse) { } // 检查管理员是否存在 - rpc checkAdminExists (AdminCheckAdminExistsRequest) returns (AdminCheckAdminExistsResponse) { + rpc checkAdminExists (CheckAdminExistsRequest) returns (CheckAdminExistsResponse) { } // 获取管理员名称 - rpc findAdminFullname (AdminFindAdminNameRequest) returns (AdminFindAdminNameResponse) { + rpc findAdminFullname (FindAdminNameRequest) returns (FindAdminNameResponse) { } - // 获取所有集群的信息 - rpc findAllEnabledClusters (AdminFindAllEnabledClustersRequest) returns (AdminFindAllEnabledClustersResponse) { - } - - // 创建节点 - rpc createNode (AdminCreateNodeRequest) returns (AdminCreateNodeResponse) { - }; - - // 节点数量 - rpc countAllEnabledNodes (AdminCountAllEnabledNodesRequest) returns (AdminCountAllEnabledNodesResponse) { - }; - - // 列出单页节点 - rpc listEnabledNodes (AdminListEnabledNodesRequest) returns (AdminListEnabledNodesResponse) { - - } } -message AdminLoginRequest { +message LoginAdminRequest { string username = 1; string password = 2; } -message AdminLoginResponse { +message LoginAdminResponse { int64 adminId = 1; bool isOk = 2; string message = 3; } -message AdminCreateLogRequest { +message CreateAdminLogRequest { string level = 1; string description = 2; string action = 3; string ip = 4; } -message AdminCreateLogResponse { +message CreateAdminLogResponse { bool isOk = 1; } -message AdminCheckAdminExistsRequest { +message CheckAdminExistsRequest { int64 adminId = 1; } -message AdminCheckAdminExistsResponse { +message CheckAdminExistsResponse { bool isOk = 1; string message = 2; } -message AdminFindAdminNameRequest { +message FindAdminNameRequest { int64 adminId = 1; } -message AdminFindAdminNameResponse { +message FindAdminNameResponse { string fullname = 1; } -message AdminFindAllEnabledClustersRequest { - -} - -message AdminFindAllEnabledClustersResponse { - repeated Cluster clusters = 1; -} - -// 创建节点 -message AdminCreateNodeRequest { - string name = 1; - int64 clusterId = 2; -} - -message AdminCreateNodeResponse { - int64 nodeId = 1; -} - -// 节点数量 -message AdminCountAllEnabledNodesRequest { - -} - -message AdminCountAllEnabledNodesResponse { - int64 count = 1; -} - -// 列出单页节点 -message AdminListEnabledNodesRequest { - int64 offset = 1; - int64 size = 2; -} - -message AdminListEnabledNodesResponse { - repeated Node nodes = 1; -} \ No newline at end of file diff --git a/internal/rpc/protos/service_log.proto b/internal/rpc/protos/service_log.proto index 6849be28..b1699911 100644 --- a/internal/rpc/protos/service_log.proto +++ b/internal/rpc/protos/service_log.proto @@ -1,9 +1,5 @@ syntax = "proto3"; +option go_package = "./pb"; package pb; -option go_package = "./pb"; - -service LogService { - -} diff --git a/internal/rpc/protos/service_node.proto b/internal/rpc/protos/service_node.proto index 513a1fcd..26c797ab 100644 --- a/internal/rpc/protos/service_node.proto +++ b/internal/rpc/protos/service_node.proto @@ -1,19 +1,45 @@ syntax = "proto3"; - -package pb; - option go_package = "./pb"; +package pb; +import "model_node.proto"; + service NodeService { - rpc config (ConfigRequest) returns (ConfigResponse) { + // 创建节点 + rpc createNode (CreateNodeRequest) returns (CreateNodeResponse); - } + // 节点数量 + rpc countAllEnabledNodes (CountAllEnabledNodesRequest) returns (CountAllEnabledNodesResponse); + + // 列出单页节点 + rpc listEnabledNodes (ListEnabledNodesRequest) returns (ListEnabledNodesResponse); } -message ConfigRequest { - string nodeId = 1; +// 创建节点 +message CreateNodeRequest { + string name = 1; + int64 clusterId = 2; } -message ConfigResponse { - string id = 1; -} \ No newline at end of file +message CreateNodeResponse { + int64 nodeId = 1; +} + +// 节点数量 +message CountAllEnabledNodesRequest { + +} + +message CountAllEnabledNodesResponse { + int64 count = 1; +} + +// 列出单页节点 +message ListEnabledNodesRequest { + int64 offset = 1; + int64 size = 2; +} + +message ListEnabledNodesResponse { + repeated Node nodes = 1; +} diff --git a/internal/rpc/protos/service_node_cluster.proto b/internal/rpc/protos/service_node_cluster.proto new file mode 100644 index 00000000..3a7fa398 --- /dev/null +++ b/internal/rpc/protos/service_node_cluster.proto @@ -0,0 +1,18 @@ +syntax = "proto3"; +option go_package = "./pb"; + +package pb; +import "model_node_cluster.proto"; + +service NodeClusterService { + // 获取所有集群的信息 + rpc findAllEnabledClusters (FindAllEnabledNodeClustersRequest) returns (FindAllEnabledNodeClustersResponse); +} + +message FindAllEnabledNodeClustersRequest { + +} + +message FindAllEnabledNodeClustersResponse { + repeated NodeCluster clusters = 1; +} diff --git a/internal/rpc/protos/service_node_grant.proto b/internal/rpc/protos/service_node_grant.proto new file mode 100644 index 00000000..eb9158b1 --- /dev/null +++ b/internal/rpc/protos/service_node_grant.proto @@ -0,0 +1,81 @@ +syntax = "proto3"; +option go_package = "./pb"; + +package pb; +import "model_node_grant.proto"; + +service NodeGrantService { + // 创建认证 + rpc createNodeGrant (CreateNodeGrantRequest) returns (CreateNodeGrantResponse); + + // 修改认证 + rpc updateNodeGrant (UpdateNodeGrantRequest) returns (UpdateNodeGrantResponse); + + // 禁用认证 + rpc disableNodeGrant (DisableNodeGrantRequest) returns (DisableNodeGrantResponse); + + // 计算认证的数量 + rpc countAllEnabledNodeGrants (CountAllEnabledNodeGrantsRequest) returns (CountAllEnabledNodeGrantsResponse); + + // 列出所有认证 + rpc ListEnabledNodeGrants (ListEnabledNodeGrantsRequest) returns (ListEnabledNodeGrantsResponse); +} + +// 创建节点认证 +message CreateNodeGrantRequest { + string name = 1; + string method = 2; + string username = 3; + string password = 4; + string privateKey = 5; + string description = 6; + int64 nodeId = 7; +} + +message CreateNodeGrantResponse { + int64 grantId = 1; +} + +// 修改节点认证 +message UpdateNodeGrantRequest { + int64 grantId = 8; + string name = 1; + string method = 2; + string username = 3; + string password = 4; + string privateKey = 5; + string description = 6; + int64 nodeId = 7; +} + +message UpdateNodeGrantResponse { + +} + +// 禁用节点认证 +message DisableNodeGrantRequest { + int64 grantId = 1; +} + +message DisableNodeGrantResponse { + +} + +// 计算节点认证数量 +message CountAllEnabledNodeGrantsRequest { + +} + +message CountAllEnabledNodeGrantsResponse { + int64 count = 1; +} + +// 列出所有认证 +message ListEnabledNodeGrantsRequest { + int64 offset = 1; + int64 size = 2; +} + +message ListEnabledNodeGrantsResponse { + repeated NodeGrant grants = 1; +} \ No newline at end of file diff --git a/internal/rpc/protos/service_dns.proto b/internal/rpc/protos/service_node_group.proto similarity index 70% rename from internal/rpc/protos/service_dns.proto rename to internal/rpc/protos/service_node_group.proto index 6871ffe1..b1699911 100644 --- a/internal/rpc/protos/service_dns.proto +++ b/internal/rpc/protos/service_node_group.proto @@ -1,9 +1,5 @@ syntax = "proto3"; +option go_package = "./pb"; package pb; -option go_package = "./pb"; - -service DnsService { - -} diff --git a/internal/rpc/protos/service_stat.proto b/internal/rpc/protos/service_node_region.proto similarity index 70% rename from internal/rpc/protos/service_stat.proto rename to internal/rpc/protos/service_node_region.proto index 9cb48928..b1699911 100644 --- a/internal/rpc/protos/service_stat.proto +++ b/internal/rpc/protos/service_node_region.proto @@ -1,9 +1,5 @@ syntax = "proto3"; +option go_package = "./pb"; package pb; -option go_package = "./pb"; - -service StatService { - -} diff --git a/internal/rpc/protos/service_provider.proto b/internal/rpc/protos/service_provider.proto deleted file mode 100644 index 52278485..00000000 --- a/internal/rpc/protos/service_provider.proto +++ /dev/null @@ -1,9 +0,0 @@ -syntax = "proto3"; - -package pb; - -option go_package = "./pb"; - -service ProviderService { - -} diff --git a/internal/rpc/protos/service_server.proto b/internal/rpc/protos/service_server.proto new file mode 100644 index 00000000..c4e8331e --- /dev/null +++ b/internal/rpc/protos/service_server.proto @@ -0,0 +1,50 @@ +syntax = "proto3"; +option go_package = "./pb"; + +package pb; +import "model_server.proto"; + +service ServerService { + // 创建服务 + rpc createServer (CreateServerRequest) returns (CreateServerResponse); + + // 计算服务数量 + rpc countAllEnabledServers (CountAllEnabledServersRequest) returns (CountAllEnabledServersResponse); + + // 列出单页服务 + rpc listEnabledServers (ListEnabledServersRequest) returns (ListEnabledServersResponse); +} + + +// 创建服务 +message CreateServerRequest { + int64 userId = 1; + int64 adminId = 2; + int64 clusterId = 6; + bytes config = 3; + bytes includeNodesJSON = 4; + bytes excludeNodesJSON = 5; +} + +message CreateServerResponse { + int64 serverId = 1; +} + +// 计算服务数量 +message CountAllEnabledServersRequest { + +} + +message CountAllEnabledServersResponse { + int64 count = 1; +} + +// 列出单页服务 +message ListEnabledServersRequest { + int64 offset = 1; + int64 size = 2; +} + +message ListEnabledServersResponse { + repeated Server servers = 1; +} diff --git a/internal/rpc/protos/service_monitor.proto b/internal/rpc/protos/service_server_group.proto similarity index 67% rename from internal/rpc/protos/service_monitor.proto rename to internal/rpc/protos/service_server_group.proto index b2fb4337..b1699911 100644 --- a/internal/rpc/protos/service_monitor.proto +++ b/internal/rpc/protos/service_server_group.proto @@ -1,9 +1,5 @@ syntax = "proto3"; +option go_package = "./pb"; package pb; -option go_package = "./pb"; - -service MonitorService { - -} diff --git a/internal/rpc/protos/service_user.proto b/internal/rpc/protos/service_user.proto index c729d3cc..b1699911 100644 --- a/internal/rpc/protos/service_user.proto +++ b/internal/rpc/protos/service_user.proto @@ -3,6 +3,3 @@ option go_package = "./pb"; package pb; -service UserService { - -} diff --git a/internal/rpc/services/service_admin.go b/internal/rpc/services/service_admin.go index de9b315e..990c0222 100644 --- a/internal/rpc/services/service_admin.go +++ b/internal/rpc/services/service_admin.go @@ -2,31 +2,24 @@ package services import ( "context" - "encoding/base64" - "encoding/json" - "errors" - teaconst "github.com/TeaOSLab/EdgeAPI/internal/const" "github.com/TeaOSLab/EdgeAPI/internal/db/models" - "github.com/TeaOSLab/EdgeAPI/internal/encrypt" "github.com/TeaOSLab/EdgeAPI/internal/rpc/pb" + rpcutils "github.com/TeaOSLab/EdgeAPI/internal/rpc/utils" "github.com/TeaOSLab/EdgeAPI/internal/utils" - "github.com/iwind/TeaGo/maps" - "google.golang.org/grpc/metadata" - "time" ) type AdminService struct { debug bool } -func (this *AdminService) Login(ctx context.Context, req *pb.AdminLoginRequest) (*pb.AdminLoginResponse, error) { - _, err := this.validateRequest(ctx) +func (this *AdminService) LoginAdmin(ctx context.Context, req *pb.LoginAdminRequest) (*pb.LoginAdminResponse, error) { + _, _, err := rpcutils.ValidateRequest(ctx) if err != nil { return nil, err } if len(req.Username) == 0 || len(req.Password) == 0 { - return &pb.AdminLoginResponse{ + return &pb.LoginAdminResponse{ AdminId: 0, IsOk: false, Message: "请输入正确的用户名密码", @@ -40,38 +33,38 @@ func (this *AdminService) Login(ctx context.Context, req *pb.AdminLoginRequest) } if adminId <= 0 { - return &pb.AdminLoginResponse{ + return &pb.LoginAdminResponse{ AdminId: 0, IsOk: false, Message: "请输入正确的用户名密码", }, nil } - return &pb.AdminLoginResponse{ + return &pb.LoginAdminResponse{ AdminId: int64(adminId), IsOk: true, }, nil } -func (this *AdminService) CreateLog(ctx context.Context, req *pb.AdminCreateLogRequest) (*pb.AdminCreateLogResponse, error) { - adminId, err := this.validateAdminRequest(ctx) +func (this *AdminService) CreateAdminLog(ctx context.Context, req *pb.CreateAdminLogRequest) (*pb.CreateAdminLogResponse, error) { + _, userId, err := rpcutils.ValidateRequest(ctx, rpcutils.UserTypeAdmin) if err != nil { return nil, err } - err = models.SharedLogDAO.CreateAdminLog(adminId, req.Level, req.Description, req.Action, req.Ip) - return &pb.AdminCreateLogResponse{ + err = models.SharedLogDAO.CreateAdminLog(userId, req.Level, req.Description, req.Action, req.Ip) + return &pb.CreateAdminLogResponse{ IsOk: err != nil, }, err } -func (this *AdminService) CheckAdminExists(ctx context.Context, req *pb.AdminCheckAdminExistsRequest) (*pb.AdminCheckAdminExistsResponse, error) { - _, err := this.validateRequest(ctx) +func (this *AdminService) CheckAdminExists(ctx context.Context, req *pb.CheckAdminExistsRequest) (*pb.CheckAdminExistsResponse, error) { + _, _, err := rpcutils.ValidateRequest(ctx, rpcutils.UserTypeAdmin) if err != nil { return nil, err } if req.AdminId <= 0 { - return &pb.AdminCheckAdminExistsResponse{ + return &pb.CheckAdminExistsResponse{ IsOk: false, }, nil } @@ -81,13 +74,13 @@ func (this *AdminService) CheckAdminExists(ctx context.Context, req *pb.AdminChe return nil, err } - return &pb.AdminCheckAdminExistsResponse{ + return &pb.CheckAdminExistsResponse{ IsOk: ok, }, nil } -func (this *AdminService) FindAdminFullname(ctx context.Context, req *pb.AdminFindAdminNameRequest) (*pb.AdminFindAdminNameResponse, error) { - _, err := this.validateRequest(ctx) +func (this *AdminService) FindAdminFullname(ctx context.Context, req *pb.FindAdminNameRequest) (*pb.FindAdminNameResponse, error) { + _, _, err := rpcutils.ValidateRequest(ctx) if err != nil { return nil, err } @@ -98,173 +91,7 @@ func (this *AdminService) FindAdminFullname(ctx context.Context, req *pb.AdminFi return nil, err } - return &pb.AdminFindAdminNameResponse{ + return &pb.FindAdminNameResponse{ Fullname: fullname, }, nil -} - -func (this *AdminService) FindAllEnabledClusters(ctx context.Context, req *pb.AdminFindAllEnabledClustersRequest) (*pb.AdminFindAllEnabledClustersResponse, error) { - _ = req - - _, err := this.validateAdminRequest(ctx) - if err != nil { - return nil, err - } - - clusters, err := models.SharedNodeClusterDAO.FindAllEnableClusters() - if err != nil { - return nil, err - } - - result := []*pb.Cluster{} - for _, cluster := range clusters { - result = append(result, &pb.Cluster{ - Id: int64(cluster.Id), - Name: cluster.Name, - CreatedAt: int64(cluster.CreatedAt), - }) - } - - return &pb.AdminFindAllEnabledClustersResponse{ - Clusters: result, - }, nil -} - -func (this *AdminService) CreateNode(ctx context.Context, req *pb.AdminCreateNodeRequest) (*pb.AdminCreateNodeResponse, error) { - _, err := this.validateAdminRequest(ctx) - if err != nil { - return nil, err - } - - nodeId, err := models.SharedNodeDAO.CreateNode(req.Name, int(req.ClusterId)) - if err != nil { - return nil, err - } - - return &pb.AdminCreateNodeResponse{ - NodeId: int64(nodeId), - }, nil -} - -func (this *AdminService) CountAllEnabledNodes(ctx context.Context, req *pb.AdminCountAllEnabledNodesRequest) (*pb.AdminCountAllEnabledNodesResponse, error) { - _, err := this.validateAdminRequest(ctx) - if err != nil { - return nil, err - } - count, err := models.SharedNodeDAO.CountAllEnabledNodes() - if err != nil { - return nil, err - } - - return &pb.AdminCountAllEnabledNodesResponse{Count: count}, nil -} - -func (this *AdminService) ListEnabledNodes(ctx context.Context, req *pb.AdminListEnabledNodesRequest) (*pb.AdminListEnabledNodesResponse, error) { - _, err := this.validateAdminRequest(ctx) - if err != nil { - return nil, err - } - nodes, err := models.SharedNodeDAO.ListEnabledNodes(req.Offset, req.Size) - if err != nil { - return nil, err - } - result := []*pb.Node{} - for _, node := range nodes { - // 集群信息 - clusterName, err := models.SharedNodeClusterDAO.FindNodeClusterName(int64(node.ClusterId)) - if err != nil { - return nil, err - } - - result = append(result, &pb.Node{ - Id: int64(node.Id), - Name: node.Name, - Cluster: &pb.Cluster{ - Id: int64(node.ClusterId), - Name: clusterName, - }, - }) - } - - return &pb.AdminListEnabledNodesResponse{ - Nodes: result, - }, nil -} - -func (this *AdminService) validateRequest(ctx context.Context) (adminId int, err error) { - var md metadata.MD - var ok bool - if this.debug { - md, ok = metadata.FromOutgoingContext(ctx) - } else { - md, ok = metadata.FromIncomingContext(ctx) - } - if !ok { - return 0, errors.New("context: need 'nodeId'") - } - nodeIds := md.Get("nodeid") - if len(nodeIds) == 0 || len(nodeIds[0]) == 0 { - return 0, errors.New("context: need 'nodeId'") - } - nodeId := nodeIds[0] - - // 获取Node信息 - apiToken, err := models.SharedApiTokenDAO.FindEnabledTokenWithNode(nodeId) - if err != nil { - utils.PrintError(err) - return 0, err - } - if apiToken == nil { - return 0, errors.New("can not find token from node id: " + err.Error()) - } - - tokens := md.Get("token") - if len(tokens) == 0 || len(tokens[0]) == 0 { - return 0, errors.New("context: need 'token'") - } - token := tokens[0] - - data, err := base64.StdEncoding.DecodeString(token) - if err != nil { - return 0, err - } - - method, err := encrypt.NewMethodInstance(teaconst.EncryptMethod, apiToken.Secret, nodeId) - if err != nil { - utils.PrintError(err) - return 0, err - } - data, err = method.Decrypt(data) - if err != nil { - return 0, err - } - if len(data) == 0 { - return 0, errors.New("invalid token") - } - - m := maps.Map{} - err = json.Unmarshal(data, &m) - if err != nil { - return 0, errors.New("decode token error: " + err.Error()) - } - - timestamp := m.GetInt64("timestamp") - if time.Now().Unix()-timestamp > 600 { - // 请求超过10分钟认为超时 - return 0, errors.New("authenticate timeout") - } - - adminId = m.GetInt("adminId") - return -} - -func (this *AdminService) validateAdminRequest(ctx context.Context) (adminId int, err error) { - adminId, err = this.validateRequest(ctx) - if err != nil { - return 0, err - } - if adminId <= 0 { - return 0, errors.New("invalid admin id") - } - return -} +} \ No newline at end of file diff --git a/internal/rpc/services/service_dns.go b/internal/rpc/services/service_dns.go deleted file mode 100644 index 75966836..00000000 --- a/internal/rpc/services/service_dns.go +++ /dev/null @@ -1,4 +0,0 @@ -package services - -type DNSService struct { -} diff --git a/internal/rpc/services/service_log.go b/internal/rpc/services/service_log.go deleted file mode 100644 index 1c091138..00000000 --- a/internal/rpc/services/service_log.go +++ /dev/null @@ -1,4 +0,0 @@ -package services - -type LogService struct { -} diff --git a/internal/rpc/services/service_monitor.go b/internal/rpc/services/service_monitor.go deleted file mode 100644 index cebac939..00000000 --- a/internal/rpc/services/service_monitor.go +++ /dev/null @@ -1,4 +0,0 @@ -package services - -type MonitorService struct { -} diff --git a/internal/rpc/services/service_node.go b/internal/rpc/services/service_node.go index 88cf0032..209b4ae5 100644 --- a/internal/rpc/services/service_node.go +++ b/internal/rpc/services/service_node.go @@ -2,16 +2,71 @@ package services import ( "context" + "github.com/TeaOSLab/EdgeAPI/internal/db/models" "github.com/TeaOSLab/EdgeAPI/internal/rpc/pb" - "github.com/iwind/TeaGo/logs" + rpcutils "github.com/TeaOSLab/EdgeAPI/internal/rpc/utils" ) type NodeService struct { } -func (this *NodeService) Config(ctx context.Context, req *pb.ConfigRequest) (*pb.ConfigResponse, error) { - logs.Println("you called me") - return &pb.ConfigResponse{ - Id: req.NodeId, +func (this *NodeService) CreateNode(ctx context.Context, req *pb.CreateNodeRequest) (*pb.CreateNodeResponse, error) { + _, _, err := rpcutils.ValidateRequest(ctx, rpcutils.UserTypeAdmin) + if err != nil { + return nil, err + } + + nodeId, err := models.SharedNodeDAO.CreateNode(req.Name, int(req.ClusterId)) + if err != nil { + return nil, err + } + + return &pb.CreateNodeResponse{ + NodeId: int64(nodeId), + }, nil +} + +func (this *NodeService) CountAllEnabledNodes(ctx context.Context, req *pb.CountAllEnabledNodesRequest) (*pb.CountAllEnabledNodesResponse, error) { + _, _, err := rpcutils.ValidateRequest(ctx, rpcutils.UserTypeAdmin) + if err != nil { + return nil, err + } + count, err := models.SharedNodeDAO.CountAllEnabledNodes() + if err != nil { + return nil, err + } + + return &pb.CountAllEnabledNodesResponse{Count: count}, nil +} + +func (this *NodeService) ListEnabledNodes(ctx context.Context, req *pb.ListEnabledNodesRequest) (*pb.ListEnabledNodesResponse, error) { + _, _, err := rpcutils.ValidateRequest(ctx, rpcutils.UserTypeAdmin) + if err != nil { + return nil, err + } + nodes, err := models.SharedNodeDAO.ListEnabledNodes(req.Offset, req.Size) + if err != nil { + return nil, err + } + result := []*pb.Node{} + for _, node := range nodes { + // 集群信息 + clusterName, err := models.SharedNodeClusterDAO.FindNodeClusterName(int64(node.ClusterId)) + if err != nil { + return nil, err + } + + result = append(result, &pb.Node{ + Id: int64(node.Id), + Name: node.Name, + Cluster: &pb.NodeCluster{ + Id: int64(node.ClusterId), + Name: clusterName, + }, + }) + } + + return &pb.ListEnabledNodesResponse{ + Nodes: result, }, nil } diff --git a/internal/rpc/services/service_node_cluster.go b/internal/rpc/services/service_node_cluster.go new file mode 100644 index 00000000..bab36c9d --- /dev/null +++ b/internal/rpc/services/service_node_cluster.go @@ -0,0 +1,38 @@ +package services + +import ( + "context" + "github.com/TeaOSLab/EdgeAPI/internal/db/models" + "github.com/TeaOSLab/EdgeAPI/internal/rpc/pb" + rpcutils "github.com/TeaOSLab/EdgeAPI/internal/rpc/utils" +) + +type NodeClusterService struct { +} + +func (this *NodeClusterService) FindAllEnabledClusters(ctx context.Context, req *pb.FindAllEnabledNodeClustersRequest) (*pb.FindAllEnabledNodeClustersResponse, error) { + _ = req + + _, _, err := rpcutils.ValidateRequest(ctx, rpcutils.UserTypeAdmin) + if err != nil { + return nil, err + } + + clusters, err := models.SharedNodeClusterDAO.FindAllEnableClusters() + if err != nil { + return nil, err + } + + result := []*pb.NodeCluster{} + for _, cluster := range clusters { + result = append(result, &pb.NodeCluster{ + Id: int64(cluster.Id), + Name: cluster.Name, + CreatedAt: int64(cluster.CreatedAt), + }) + } + + return &pb.FindAllEnabledNodeClustersResponse{ + Clusters: result, + }, nil +} diff --git a/internal/rpc/services/service_node_grant.go b/internal/rpc/services/service_node_grant.go new file mode 100644 index 00000000..9f656276 --- /dev/null +++ b/internal/rpc/services/service_node_grant.go @@ -0,0 +1,89 @@ +package services + +import ( + "context" + "errors" + "github.com/TeaOSLab/EdgeAPI/internal/db/models" + "github.com/TeaOSLab/EdgeAPI/internal/rpc/pb" + rpcutils "github.com/TeaOSLab/EdgeAPI/internal/rpc/utils" +) + +type NodeGrantService struct { +} + +func (this *NodeGrantService) CreateNodeGrant(ctx context.Context, req *pb.CreateNodeGrantRequest) (*pb.CreateNodeGrantResponse, error) { + _, _, err := rpcutils.ValidateRequest(ctx, rpcutils.UserTypeAdmin) + if err != nil { + return nil, err + } + + grantId, err := models.SharedNodeGrantDAO.CreateGrant(req.Name, req.Method, req.Username, req.Password, req.PrivateKey, req.Description, req.NodeId) + if err != nil { + return nil, err + } + return &pb.CreateNodeGrantResponse{ + GrantId: grantId, + }, err +} + +func (this *NodeGrantService) UpdateNodeGrant(ctx context.Context, req *pb.UpdateNodeGrantRequest) (*pb.UpdateNodeGrantResponse, error) { + _, _, err := rpcutils.ValidateRequest(ctx, rpcutils.UserTypeAdmin) + if err != nil { + return nil, err + } + + if req.GrantId <= 0 { + return nil, errors.New("wrong grantId") + } + + err = models.SharedNodeGrantDAO.UpdateGrant(req.GrantId, req.Name, req.Method, req.Username, req.Password, req.PrivateKey, req.Description, req.NodeId) + return &pb.UpdateNodeGrantResponse{}, err +} + +func (this *NodeGrantService) DisableNodeGrant(ctx context.Context, req *pb.DisableNodeGrantRequest) (*pb.DisableNodeGrantResponse, error) { + _, _, err := rpcutils.ValidateRequest(ctx, rpcutils.UserTypeAdmin) + if err != nil { + return nil, err + } + + err = models.SharedNodeGrantDAO.DisableNodeGrant(req.GrantId) + return &pb.DisableNodeGrantResponse{}, err +} + +func (this *NodeGrantService) CountAllEnabledNodeGrants(ctx context.Context, req *pb.CountAllEnabledNodeGrantsRequest) (*pb.CountAllEnabledNodeGrantsResponse, error) { + _, _, err := rpcutils.ValidateRequest(ctx, rpcutils.UserTypeAdmin) + if err != nil { + return nil, err + } + count, err := models.SharedNodeGrantDAO.CountAllEnabledGrants() + if err != nil { + return nil, err + } + return &pb.CountAllEnabledNodeGrantsResponse{Count: count}, nil +} + +func (this *NodeGrantService) ListEnabledNodeGrants(ctx context.Context, req *pb.ListEnabledNodeGrantsRequest) (*pb.ListEnabledNodeGrantsResponse, error) { + _, _, err := rpcutils.ValidateRequest(ctx, rpcutils.UserTypeAdmin) + if err != nil { + return nil, err + } + grants, err := models.SharedNodeGrantDAO.ListEnabledGrants(req.Offset, req.Size) + if err != nil { + return nil, err + } + result := []*pb.NodeGrant{} + for _, grant := range grants { + result = append(result, &pb.NodeGrant{ + Id: int64(grant.Id), + Name: grant.Name, + Method: grant.Method, + Password: grant.Password, + Su: grant.Su == 1, + PrivateKey: grant.PrivateKey, + Description: grant.Description, + NodeId: int64(grant.NodeId), + }) + } + + return &pb.ListEnabledNodeGrantsResponse{Grants: result}, nil +} diff --git a/internal/rpc/services/service_provider.go b/internal/rpc/services/service_provider.go deleted file mode 100644 index f3ef0d9b..00000000 --- a/internal/rpc/services/service_provider.go +++ /dev/null @@ -1,4 +0,0 @@ -package services - -type ProviderService struct { -} diff --git a/internal/rpc/services/service_stat.go b/internal/rpc/services/service_stat.go deleted file mode 100644 index 85e6441f..00000000 --- a/internal/rpc/services/service_stat.go +++ /dev/null @@ -1,4 +0,0 @@ -package services - -type StatService struct { -} diff --git a/internal/rpc/services/service_user.go b/internal/rpc/services/service_user.go deleted file mode 100644 index b23a2526..00000000 --- a/internal/rpc/services/service_user.go +++ /dev/null @@ -1,4 +0,0 @@ -package services - -type UserService struct { -} diff --git a/internal/rpc/services/servie_server.go b/internal/rpc/services/servie_server.go new file mode 100644 index 00000000..659097a5 --- /dev/null +++ b/internal/rpc/services/servie_server.go @@ -0,0 +1,68 @@ +package services + +import ( + "context" + "github.com/TeaOSLab/EdgeAPI/internal/db/models" + "github.com/TeaOSLab/EdgeAPI/internal/rpc/pb" + rpcutils "github.com/TeaOSLab/EdgeAPI/internal/rpc/utils" +) + +type ServerService struct { +} + +func (this *ServerService) CreateServer(ctx context.Context, req *pb.CreateServerRequest) (*pb.CreateServerResponse, error) { + _, _, err := rpcutils.ValidateRequest(ctx, rpcutils.UserTypeAdmin) + if err != nil { + return nil, err + } + serverId, err := models.SharedServerDAO.CreateServer(req.AdminId, req.UserId, req.ClusterId, string(req.Config), string(req.IncludeNodesJSON), string(req.ExcludeNodesJSON)) + if err != nil { + return nil, err + } + return &pb.CreateServerResponse{ServerId: serverId}, nil +} + +func (this *ServerService) CountAllEnabledServers(ctx context.Context, req *pb.CountAllEnabledServersRequest) (*pb.CountAllEnabledServersResponse, error) { + _ = req + _, _, err := rpcutils.ValidateRequest(ctx) + if err != nil { + return nil, err + } + count, err := models.SharedServerDAO.CountAllEnabledServers() + if err != nil { + return nil, err + } + + return &pb.CountAllEnabledServersResponse{Count: count}, nil +} + +func (this *ServerService) ListEnabledServers(ctx context.Context, req *pb.ListEnabledServersRequest) (*pb.ListEnabledServersResponse, error) { + _, _, err := rpcutils.ValidateRequest(ctx, rpcutils.UserTypeAdmin) + if err != nil { + return nil, err + } + servers, err := models.SharedServerDAO.ListEnabledServers(req.Offset, req.Size) + if err != nil { + return nil, err + } + result := []*pb.Server{} + for _, server := range servers { + clusterName, err := models.SharedNodeClusterDAO.FindNodeClusterName(int64(server.ClusterId)) + if err != nil { + return nil, err + } + result = append(result, &pb.Server{ + Id: int64(server.Id), + Config: []byte(server.Config), + IncludeNodes: []byte(server.IncludeNodes), + ExcludeNodes: []byte(server.ExcludeNodes), + CreatedAt: int64(server.CreatedAt), + Cluster: &pb.NodeCluster{ + Id: int64(server.ClusterId), + Name: clusterName, + }, + }) + } + + return &pb.ListEnabledServersResponse{Servers: result}, nil +} diff --git a/internal/rpc/utils/utils.go b/internal/rpc/utils/utils.go new file mode 100644 index 00000000..b65bcca5 --- /dev/null +++ b/internal/rpc/utils/utils.go @@ -0,0 +1,96 @@ +package rpcutils + +import ( + "context" + "encoding/base64" + "encoding/json" + "errors" + teaconst "github.com/TeaOSLab/EdgeAPI/internal/const" + "github.com/TeaOSLab/EdgeAPI/internal/db/models" + "github.com/TeaOSLab/EdgeAPI/internal/encrypt" + "github.com/TeaOSLab/EdgeAPI/internal/utils" + "github.com/iwind/TeaGo/lists" + "github.com/iwind/TeaGo/maps" + "google.golang.org/grpc/metadata" + "time" +) + +type UserType = string + +const ( + UserTypeNone = "none" + UserTypeAdmin = "admin" + UserTypeUser = "user" + UserTypeProvider = "provider" + UserTypeNode = "node" + UserTypeMonitor = "monitor" + UserTypeStat = "stat" + UserTypeDNS = "dns" + UserTypeLog = "log" +) + +// 校验请求 +func ValidateRequest(ctx context.Context, userTypes ...UserType) (userType UserType, userId int64, err error) { + md, ok := metadata.FromIncomingContext(ctx) + if !ok { + return UserTypeNone, 0, errors.New("context: need 'nodeId'") + } + nodeIds := md.Get("nodeid") + if len(nodeIds) == 0 || len(nodeIds[0]) == 0 { + return UserTypeNone, 0, errors.New("context: need 'nodeId'") + } + nodeId := nodeIds[0] + + // 获取Node信息 + apiToken, err := models.SharedApiTokenDAO.FindEnabledTokenWithNode(nodeId) + if err != nil { + utils.PrintError(err) + return UserTypeNone, 0, err + } + if apiToken == nil { + return UserTypeNone, 0, errors.New("can not find token from node id: " + err.Error()) + } + + tokens := md.Get("token") + if len(tokens) == 0 || len(tokens[0]) == 0 { + return UserTypeNone, 0, errors.New("context: need 'token'") + } + token := tokens[0] + + data, err := base64.StdEncoding.DecodeString(token) + if err != nil { + return UserTypeNone, 0, err + } + + method, err := encrypt.NewMethodInstance(teaconst.EncryptMethod, apiToken.Secret, nodeId) + if err != nil { + utils.PrintError(err) + return UserTypeNone, 0, err + } + data, err = method.Decrypt(data) + if err != nil { + return UserTypeNone, 0, err + } + if len(data) == 0 { + return UserTypeNone, 0, errors.New("invalid token") + } + + m := maps.Map{} + err = json.Unmarshal(data, &m) + if err != nil { + return UserTypeNone, 0, errors.New("decode token error: " + err.Error()) + } + + timestamp := m.GetInt64("timestamp") + if time.Now().Unix()-timestamp > 600 { + // 请求超过10分钟认为超时 + return UserTypeNone, 0, errors.New("authenticate timeout") + } + + t := m.GetString("type") + if len(userTypes) > 0 && !lists.ContainsString(userTypes, t) { + return UserTypeNone, 0, errors.New("not supported user type: '" + userType + "'") + } + + return t, m.GetInt64("userId"), nil +}