Compare commits

..
24 Commits
Author SHA1 Message Date
刘祥超 c5d47ae35d 优化RPC相关错误的文字提示 2021-11-21 15:55:52 +08:00
刘祥超 d2c99b4db4 增加批量从IP名单中删除IP的API 2021-11-21 09:42:39 +08:00
刘祥超 561150ab28 增加获取当前API节点信息API/增加修改节点API节点地址消息类型 2021-11-21 09:41:38 +08:00
刘祥超 d60e0164db IP地址“健康检查失败”阈值改为“健康检查结果” 2021-11-18 14:47:34 +08:00
刘祥超 886969f4ee 节点IP阈值增加节点健康检查失败 2021-11-18 14:30:58 +08:00
刘祥超 422b71d9b1 修复查找域名对应服务时可能造成的死锁 2021-11-17 21:57:03 +08:00
刘祥超 89fa27a883 IP名单增加是否只显示自动拦截名单选项 2021-11-17 20:25:40 +08:00
刘祥超 a67cf6b596 增加全局查看、检索IP功能 2021-11-17 19:51:04 +08:00
刘祥超 80b21ea362 IP名单增加是否全局 2021-11-17 16:15:01 +08:00
刘祥超 35b69141c1 IP名单中IP创建时保存相关节点、服务、WAF策略信息 2021-11-16 16:10:52 +08:00
刘祥超 f4edd45886 提升通过域名查找服务的性能,轻松支持海量域名 2021-11-15 16:56:31 +08:00
刘祥超 a95fe17ebc IP名单API增加IP添加时间 2021-11-15 11:31:20 +08:00
刘祥超 f178c19348 缓存策略增加若干选项 2021-11-14 16:21:31 +08:00
刘祥超 a46ba472bb 缓存策略增加若干选项 2021-11-13 21:02:09 +08:00
刘祥超 3c10fa6b0a 节点配置支持压缩传输 2021-11-11 14:17:45 +08:00
刘祥超 2d9bb319fe 增加账单、套餐相关配置 2021-11-11 08:31:32 +08:00
刘祥超 698d1b697c 改进流量限制 2021-11-10 14:39:13 +08:00
刘祥超 fd4dbb6fe6 将带宽限制改为流量限制 2021-11-09 17:36:34 +08:00
刘祥超 a1ac68ccf0 支持套餐相关操作 2021-11-09 15:36:31 +08:00
刘祥超 d92e987f7a 支持购买套餐/续费套餐/用户账户操作等 2021-11-08 20:52:21 +08:00
刘祥超 b82732af42 增加删除/恢复DNS域名API 2021-11-06 16:23:06 +08:00
刘祥超 2fff7568b9 SSH登录支持Passphrase 2021-11-06 15:31:11 +08:00
刘祥超 9c4c6cc660 增加多个API/规范命名 2021-11-05 17:56:30 +08:00
刘祥超 ae4a8dfa5f 增加APINodeService.CountAllEnabledAndOnAPINodes()/规范命名 2021-11-05 15:35:35 +08:00
72 changed files with 8057 additions and 2279 deletions
+1
View File
@@ -9,6 +9,7 @@ pkg/
serverconfigs - 网站服务相关配置 serverconfigs - 网站服务相关配置
systemconfigs - 系统全局配置 systemconfigs - 系统全局配置
reporterconfigs - 区域监控终端配置 reporterconfigs - 区域监控终端配置
userconfigs - 用户相关配置
configutils/ - 配置公共函数等 configutils/ - 配置公共函数等
errors/ - 错误处理 errors/ - 错误处理
+20
View File
@@ -27,6 +27,10 @@ func MatchDomain(pattern string, domain string) (isMatched bool) {
return return
} }
if pattern == domain {
return true
}
if pattern == "*" { if pattern == "*" {
return true return true
} }
@@ -61,3 +65,19 @@ func MatchDomain(pattern string, domain string) (isMatched bool) {
} }
return isMatched return isMatched
} }
// IsFuzzyDomain 判断是否为特殊域名
func IsFuzzyDomain(domain string) bool {
if len(domain) == 0 {
return true
}
if domain[0] == '.' || domain[0] == '~' {
return true
}
for _, c := range domain {
if c == '*' {
return true
}
}
return false
}
+11
View File
@@ -81,3 +81,14 @@ func TestMatchDomain(t *testing.T) {
a.IsTrue(ok) a.IsTrue(ok)
} }
} }
func TestIsSpecialDomain(t *testing.T) {
var a = assert.NewAssertion(t)
a.IsTrue(IsFuzzyDomain(""))
a.IsTrue(IsFuzzyDomain(".hello.com"))
a.IsTrue(IsFuzzyDomain("*.hello.com"))
a.IsTrue(IsFuzzyDomain("hello.*.com"))
a.IsTrue(IsFuzzyDomain("~^hello\\.com"))
a.IsFalse(IsFuzzyDomain("hello.com"))
}
+15 -9
View File
@@ -11,15 +11,16 @@ const (
MessageCodeCleanCache MessageCode = "cleanCache" // 清理缓存 MessageCodeCleanCache MessageCode = "cleanCache" // 清理缓存
MessageCodePreheatCache MessageCode = "preheatCache" // 预热缓存 MessageCodePreheatCache MessageCode = "preheatCache" // 预热缓存
MessageCodeCheckSystemdService MessageCode = "checkSystemdService" // 检查Systemd服务 MessageCodeCheckSystemdService MessageCode = "checkSystemdService" // 检查Systemd服务
MessageCodeNewNodeTask MessageCode = "NewNodeTask" // 有新的节点任务产生 MessageCodeNewNodeTask MessageCode = "newNodeTask" // 有新的节点任务产生
MessageCodeChangeAPINode MessageCode = "changeAPINode" // 改变新的API节点
) )
// 连接API节点成功 // ConnectedAPINodeMessage 连接API节点成功
type ConnectedAPINodeMessage struct { type ConnectedAPINodeMessage struct {
APINodeId int64 `json:"apiNodeId"` APINodeId int64 `json:"apiNodeId"`
} }
// 写入缓存 // WriteCacheMessage 写入缓存
type WriteCacheMessage struct { type WriteCacheMessage struct {
CachePolicyJSON []byte `json:"cachePolicyJSON"` CachePolicyJSON []byte `json:"cachePolicyJSON"`
Key string `json:"key"` Key string `json:"key"`
@@ -27,13 +28,13 @@ type WriteCacheMessage struct {
LifeSeconds int64 `json:"lifeSeconds"` LifeSeconds int64 `json:"lifeSeconds"`
} }
// 读取缓存 // ReadCacheMessage 读取缓存
type ReadCacheMessage struct { type ReadCacheMessage struct {
CachePolicyJSON []byte `json:"cachePolicyJSON"` CachePolicyJSON []byte `json:"cachePolicyJSON"`
Key string `json:"key"` Key string `json:"key"`
} }
// 统计缓存 // StatCacheMessage 统计缓存
type StatCacheMessage struct { type StatCacheMessage struct {
CachePolicyJSON []byte `json:"cachePolicyJSON"` CachePolicyJSON []byte `json:"cachePolicyJSON"`
} }
@@ -44,7 +45,7 @@ type CleanCacheMessage struct {
CachePolicyJSON []byte `json:"cachePolicyJSON"` CachePolicyJSON []byte `json:"cachePolicyJSON"`
} }
// 删除缓存 // PurgeCacheMessageType 删除缓存
type PurgeCacheMessageType = string type PurgeCacheMessageType = string
const ( const (
@@ -58,16 +59,21 @@ type PurgeCacheMessage struct {
Type PurgeCacheMessageType `json:"type"` // 清理类型 Type PurgeCacheMessageType `json:"type"` // 清理类型
} }
// 预热缓存 // PreheatCacheMessage 预热缓存
type PreheatCacheMessage struct { type PreheatCacheMessage struct {
CachePolicyJSON []byte `json:"cachePolicyJSON"` CachePolicyJSON []byte `json:"cachePolicyJSON"`
Keys []string `json:"keys"` Keys []string `json:"keys"`
} }
// Systemd服务 // CheckSystemdServiceMessage Systemd服务
type CheckSystemdServiceMessage struct { type CheckSystemdServiceMessage struct {
} }
// 有新的节点任务 // NewNodeTaskMessage 有新的节点任务
type NewNodeTaskMessage struct { type NewNodeTaskMessage struct {
} }
// ChangeAPINodeMessage 修改API地址
type ChangeAPINodeMessage struct {
Addr string `json:"addr"`
}
+7
View File
@@ -10,6 +10,7 @@ const (
IPAddressThresholdItemNodeAvgRequests IPAddressThresholdItem = "nodeAvgRequests" // 个 IPAddressThresholdItemNodeAvgRequests IPAddressThresholdItem = "nodeAvgRequests" // 个
IPAddressThresholdItemNodeAvgTrafficOut IPAddressThresholdItem = "nodeAvgTrafficOut" // 节点下行流量 M IPAddressThresholdItemNodeAvgTrafficOut IPAddressThresholdItem = "nodeAvgTrafficOut" // 节点下行流量 M
IPAddressThresholdItemNodeAvgTrafficIn IPAddressThresholdItem = "nodeAvgTrafficIn" // 节点上行流量 M IPAddressThresholdItemNodeAvgTrafficIn IPAddressThresholdItem = "nodeAvgTrafficIn" // 节点上行流量 M
IPAddressThresholdItemNodeHealthCheck IPAddressThresholdItem = "nodeHealthCheck" // 节点健康检查结果
IPAddressThresholdItemGroupAvgRequests IPAddressThresholdItem = "groupAvgRequests" // 个 IPAddressThresholdItemGroupAvgRequests IPAddressThresholdItem = "groupAvgRequests" // 个
IPAddressThresholdItemGroupAvgTrafficIn IPAddressThresholdItem = "groupAvgTrafficIn" // 分组上行流量 M IPAddressThresholdItemGroupAvgTrafficIn IPAddressThresholdItem = "groupAvgTrafficIn" // 分组上行流量 M
IPAddressThresholdItemGroupAvgTrafficOut IPAddressThresholdItem = "groupAvgTrafficOut" // 分组下行流量 M IPAddressThresholdItemGroupAvgTrafficOut IPAddressThresholdItem = "groupAvgTrafficOut" // 分组下行流量 M
@@ -40,6 +41,12 @@ func FindAllIPAddressThresholdItems() []maps.Map {
"description": "当前节点在单位时间内接收的上行流量。", "description": "当前节点在单位时间内接收的上行流量。",
"unit": "M", "unit": "M",
}, },
{
"name": "节点健康检查结果",
"code": IPAddressThresholdItemNodeHealthCheck,
"description": "当前节点健康检查结果。",
"unit": "",
},
{ {
"name": "IP连通性", "name": "IP连通性",
+1 -1
View File
@@ -25,7 +25,7 @@ func HumanError(err error) error {
case codes.Unimplemented: case codes.Unimplemented:
return errors.New("请求的RPC服务或方法不存在,可能是没有升级API节点或者当前节点没有升级:" + err.Error()) return errors.New("请求的RPC服务或方法不存在,可能是没有升级API节点或者当前节点没有升级:" + err.Error())
case codes.Unavailable: case codes.Unavailable:
return errors.New("RPC当前不可用,请确保API节点已启动,并检查当前节点和API节点之间的网络连接是正常的:" + err.Error()) return errors.New("RPC当前不可用,1、当前节点的api.yaml配置中的地址填写正确;2、请确保API节点已启动,并检查当前节点和API节点之间的网络连接是正常的。错误信息" + err.Error())
} }
return err return err
+13 -3
View File
@@ -45,6 +45,7 @@ type DNSDomain struct {
ProviderId int64 `protobuf:"varint,11,opt,name=providerId,proto3" json:"providerId,omitempty"` ProviderId int64 `protobuf:"varint,11,opt,name=providerId,proto3" json:"providerId,omitempty"`
CountNodeClusters int64 `protobuf:"varint,12,opt,name=countNodeClusters,proto3" json:"countNodeClusters,omitempty"` CountNodeClusters int64 `protobuf:"varint,12,opt,name=countNodeClusters,proto3" json:"countNodeClusters,omitempty"`
IsUp bool `protobuf:"varint,15,opt,name=isUp,proto3" json:"isUp,omitempty"` IsUp bool `protobuf:"varint,15,opt,name=isUp,proto3" json:"isUp,omitempty"`
IsDeleted bool `protobuf:"varint,16,opt,name=isDeleted,proto3" json:"isDeleted,omitempty"`
} }
func (x *DNSDomain) Reset() { func (x *DNSDomain) Reset() {
@@ -184,6 +185,13 @@ func (x *DNSDomain) GetIsUp() bool {
return false return false
} }
func (x *DNSDomain) GetIsDeleted() bool {
if x != nil {
return x.IsDeleted
}
return false
}
var File_models_model_dns_domain_proto protoreflect.FileDescriptor var File_models_model_dns_domain_proto protoreflect.FileDescriptor
var file_models_model_dns_domain_proto_rawDesc = []byte{ var file_models_model_dns_domain_proto_rawDesc = []byte{
@@ -191,7 +199,7 @@ var file_models_model_dns_domain_proto_rawDesc = []byte{
0x6e, 0x73, 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x6e, 0x73, 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
0x02, 0x70, 0x62, 0x1a, 0x1c, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x02, 0x70, 0x62, 0x1a, 0x1c, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65,
0x6c, 0x5f, 0x64, 0x6e, 0x73, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6c, 0x5f, 0x64, 0x6e, 0x73, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x22, 0x87, 0x04, 0x0a, 0x09, 0x44, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x6f, 0x22, 0xa5, 0x04, 0x0a, 0x09, 0x44, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12,
0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 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, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e,
0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28,
@@ -223,8 +231,10 @@ var file_models_model_dns_domain_proto_rawDesc = []byte{
0x6e, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, 0x0c, 0x6e, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, 0x0c,
0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x43,
0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x73, 0x55, 0x70, 0x18, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x73, 0x55, 0x70, 0x18,
0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x55, 0x70, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x55, 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x69,
0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09,
0x69, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70,
0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
} }
var ( var (
+13 -3
View File
@@ -37,6 +37,7 @@ type HTTPFirewallPolicy struct {
Description string `protobuf:"bytes,4,opt,name=description,proto3" json:"description,omitempty"` Description string `protobuf:"bytes,4,opt,name=description,proto3" json:"description,omitempty"`
InboundJSON []byte `protobuf:"bytes,5,opt,name=inboundJSON,proto3" json:"inboundJSON,omitempty"` InboundJSON []byte `protobuf:"bytes,5,opt,name=inboundJSON,proto3" json:"inboundJSON,omitempty"`
OutboundJSON []byte `protobuf:"bytes,6,opt,name=outboundJSON,proto3" json:"outboundJSON,omitempty"` OutboundJSON []byte `protobuf:"bytes,6,opt,name=outboundJSON,proto3" json:"outboundJSON,omitempty"`
ServerId int64 `protobuf:"varint,8,opt,name=serverId,proto3" json:"serverId,omitempty"`
} }
func (x *HTTPFirewallPolicy) Reset() { func (x *HTTPFirewallPolicy) Reset() {
@@ -120,12 +121,19 @@ func (x *HTTPFirewallPolicy) GetOutboundJSON() []byte {
return nil return nil
} }
func (x *HTTPFirewallPolicy) GetServerId() int64 {
if x != nil {
return x.ServerId
}
return 0
}
var File_models_model_http_firewall_policy_proto protoreflect.FileDescriptor var File_models_model_http_firewall_policy_proto protoreflect.FileDescriptor
var file_models_model_http_firewall_policy_proto_rawDesc = []byte{ var file_models_model_http_firewall_policy_proto_rawDesc = []byte{
0x0a, 0x27, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x68, 0x0a, 0x27, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x68,
0x74, 0x74, 0x70, 0x5f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x74, 0x74, 0x70, 0x5f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c,
0x69, 0x63, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x22, 0xc8, 0x01, 0x69, 0x63, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x22, 0xe4, 0x01,
0x0a, 0x12, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x0a, 0x12, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f,
0x6c, 0x69, 0x63, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x6c, 0x69, 0x63, 0x79, 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, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01,
@@ -138,8 +146,10 @@ var file_models_model_http_firewall_policy_proto_rawDesc = []byte{
0x4e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x4e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64,
0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x22, 0x0a, 0x0c, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x22, 0x0a, 0x0c, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64,
0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x6f, 0x75, 0x74, 0x62, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x6f, 0x75, 0x74, 0x62,
0x6f, 0x75, 0x6e, 0x64, 0x4a, 0x53, 0x4f, 0x4e, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x72, 0x76,
0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x65, 0x72, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76,
0x65, 0x72, 0x49, 0x64, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x33,
} }
var ( var (
+206 -25
View File
@@ -40,7 +40,21 @@ type IPItem struct {
IsDeleted bool `protobuf:"varint,8,opt,name=isDeleted,proto3" json:"isDeleted,omitempty"` IsDeleted bool `protobuf:"varint,8,opt,name=isDeleted,proto3" json:"isDeleted,omitempty"`
Type string `protobuf:"bytes,9,opt,name=type,proto3" json:"type,omitempty"` Type string `protobuf:"bytes,9,opt,name=type,proto3" json:"type,omitempty"`
EventLevel string `protobuf:"bytes,10,opt,name=eventLevel,proto3" json:"eventLevel,omitempty"` // 级别 EventLevel string `protobuf:"bytes,10,opt,name=eventLevel,proto3" json:"eventLevel,omitempty"` // 级别
ListType string `protobuf:"bytes,11,opt,name=listType,proto3" json:"listType,omitempty"` // 所在名单类型,加此字段是为了快速定位IP的性质 ListType string `protobuf:"bytes,11,opt,name=listType,proto3" json:"listType,omitempty"` // 所在名单类型,来自名单
IsGlobal bool `protobuf:"varint,20,opt,name=isGlobal,proto3" json:"isGlobal,omitempty"` // 是否全局,来自名单
CreatedAt int64 `protobuf:"varint,12,opt,name=createdAt,proto3" json:"createdAt,omitempty"`
NodeId int64 `protobuf:"varint,13,opt,name=nodeId,proto3" json:"nodeId,omitempty"`
ServerId int64 `protobuf:"varint,14,opt,name=serverId,proto3" json:"serverId,omitempty"`
SourceNodeId int64 `protobuf:"varint,15,opt,name=sourceNodeId,proto3" json:"sourceNodeId,omitempty"`
SourceServerId int64 `protobuf:"varint,16,opt,name=sourceServerId,proto3" json:"sourceServerId,omitempty"`
SourceHTTPFirewallPolicyId int64 `protobuf:"varint,17,opt,name=sourceHTTPFirewallPolicyId,proto3" json:"sourceHTTPFirewallPolicyId,omitempty"`
SourceHTTPFirewallRuleGroupId int64 `protobuf:"varint,18,opt,name=sourceHTTPFirewallRuleGroupId,proto3" json:"sourceHTTPFirewallRuleGroupId,omitempty"`
SourceHTTPFirewallRuleSetId int64 `protobuf:"varint,19,opt,name=sourceHTTPFirewallRuleSetId,proto3" json:"sourceHTTPFirewallRuleSetId,omitempty"`
SourceServer *Server `protobuf:"bytes,30,opt,name=sourceServer,proto3" json:"sourceServer,omitempty"`
Server *Server `protobuf:"bytes,34,opt,name=server,proto3" json:"server,omitempty"`
SourceHTTPFirewallPolicy *HTTPFirewallPolicy `protobuf:"bytes,31,opt,name=sourceHTTPFirewallPolicy,proto3" json:"sourceHTTPFirewallPolicy,omitempty"`
SourceHTTPFirewallRuleGroup *HTTPFirewallRuleGroup `protobuf:"bytes,32,opt,name=sourceHTTPFirewallRuleGroup,proto3" json:"sourceHTTPFirewallRuleGroup,omitempty"`
SourceHTTPFirewallRuleSet *HTTPFirewallRuleSet `protobuf:"bytes,33,opt,name=sourceHTTPFirewallRuleSet,proto3" json:"sourceHTTPFirewallRuleSet,omitempty"`
} }
func (x *IPItem) Reset() { func (x *IPItem) Reset() {
@@ -152,30 +166,184 @@ func (x *IPItem) GetListType() string {
return "" return ""
} }
func (x *IPItem) GetIsGlobal() bool {
if x != nil {
return x.IsGlobal
}
return false
}
func (x *IPItem) GetCreatedAt() int64 {
if x != nil {
return x.CreatedAt
}
return 0
}
func (x *IPItem) GetNodeId() int64 {
if x != nil {
return x.NodeId
}
return 0
}
func (x *IPItem) GetServerId() int64 {
if x != nil {
return x.ServerId
}
return 0
}
func (x *IPItem) GetSourceNodeId() int64 {
if x != nil {
return x.SourceNodeId
}
return 0
}
func (x *IPItem) GetSourceServerId() int64 {
if x != nil {
return x.SourceServerId
}
return 0
}
func (x *IPItem) GetSourceHTTPFirewallPolicyId() int64 {
if x != nil {
return x.SourceHTTPFirewallPolicyId
}
return 0
}
func (x *IPItem) GetSourceHTTPFirewallRuleGroupId() int64 {
if x != nil {
return x.SourceHTTPFirewallRuleGroupId
}
return 0
}
func (x *IPItem) GetSourceHTTPFirewallRuleSetId() int64 {
if x != nil {
return x.SourceHTTPFirewallRuleSetId
}
return 0
}
func (x *IPItem) GetSourceServer() *Server {
if x != nil {
return x.SourceServer
}
return nil
}
func (x *IPItem) GetServer() *Server {
if x != nil {
return x.Server
}
return nil
}
func (x *IPItem) GetSourceHTTPFirewallPolicy() *HTTPFirewallPolicy {
if x != nil {
return x.SourceHTTPFirewallPolicy
}
return nil
}
func (x *IPItem) GetSourceHTTPFirewallRuleGroup() *HTTPFirewallRuleGroup {
if x != nil {
return x.SourceHTTPFirewallRuleGroup
}
return nil
}
func (x *IPItem) GetSourceHTTPFirewallRuleSet() *HTTPFirewallRuleSet {
if x != nil {
return x.SourceHTTPFirewallRuleSet
}
return nil
}
var File_models_model_ip_item_proto protoreflect.FileDescriptor var File_models_model_ip_item_proto protoreflect.FileDescriptor
var file_models_model_ip_item_proto_rawDesc = []byte{ var file_models_model_ip_item_proto_rawDesc = []byte{
0x0a, 0x1a, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x69, 0x0a, 0x1a, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x69,
0x70, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x70, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62,
0x22, 0x9a, 0x02, 0x0a, 0x06, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x1a, 0x27, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x68,
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x74, 0x74, 0x70, 0x5f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c,
0x70, 0x46, 0x72, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x70, 0x46, 0x69, 0x63, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2b, 0x6d, 0x6f, 0x64, 0x65, 0x6c,
0x72, 0x6f, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x70, 0x54, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x66, 0x69, 0x72,
0x09, 0x52, 0x04, 0x69, 0x70, 0x54, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70,
0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x29, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d,
0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x41, 0x74, 0x18, 0x05, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61,
0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x41, 0x74, 0x12, 0x6c, 0x6c, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x73, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x6f, 0x1a, 0x19, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f,
0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x69, 0x73, 0x74, 0x49, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf8, 0x07, 0x0a,
0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6c, 0x69, 0x73, 0x74, 0x49, 0x64, 0x12, 0x06, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20,
0x1c, 0x0a, 0x09, 0x69, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x08, 0x20, 0x01, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x70, 0x46, 0x72, 0x6f,
0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x12, 0x12, 0x0a, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x70, 0x46, 0x72, 0x6f, 0x6d, 0x12,
0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x12, 0x0a, 0x04, 0x69, 0x70, 0x54, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x69,
0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x70, 0x54, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04,
0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a,
0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x69, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0b, 0x20, 0x09, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x41, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03,
0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x69, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x42, 0x06, 0x5a, 0x52, 0x09, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x41, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72,
0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61,
0x73, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x69, 0x73, 0x74, 0x49, 0x64, 0x18, 0x07, 0x20,
0x01, 0x28, 0x03, 0x52, 0x06, 0x6c, 0x69, 0x73, 0x74, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x69,
0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09,
0x69, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70,
0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a,
0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28,
0x09, 0x52, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1a, 0x0a,
0x08, 0x6c, 0x69, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52,
0x08, 0x6c, 0x69, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x73, 0x47,
0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x18, 0x14, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x47,
0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64,
0x41, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65,
0x64, 0x41, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x18, 0x0d, 0x20,
0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x73,
0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x73,
0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63,
0x65, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x73,
0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x73,
0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x18, 0x10, 0x20,
0x01, 0x28, 0x03, 0x52, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65,
0x72, 0x49, 0x64, 0x12, 0x3e, 0x0a, 0x1a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x54, 0x54,
0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49,
0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48,
0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63,
0x79, 0x49, 0x64, 0x12, 0x44, 0x0a, 0x1d, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x54, 0x54,
0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x52, 0x75, 0x6c, 0x65, 0x47, 0x72, 0x6f,
0x75, 0x70, 0x49, 0x64, 0x18, 0x12, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1d, 0x73, 0x6f, 0x75, 0x72,
0x63, 0x65, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x52, 0x75,
0x6c, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x40, 0x0a, 0x1b, 0x73, 0x6f, 0x75,
0x72, 0x63, 0x65, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x52,
0x75, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x49, 0x64, 0x18, 0x13, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1b,
0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61,
0x6c, 0x6c, 0x52, 0x75, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x0c, 0x73,
0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x1e, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x0a, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x0c, 0x73,
0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x22, 0x0a, 0x06, 0x73,
0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x22, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x70, 0x62,
0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12,
0x52, 0x0a, 0x18, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72,
0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x1f, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x16, 0x2e, 0x70, 0x62, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77,
0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x18, 0x73, 0x6f, 0x75, 0x72, 0x63,
0x65, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c,
0x69, 0x63, 0x79, 0x12, 0x5b, 0x0a, 0x1b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x54, 0x54,
0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x52, 0x75, 0x6c, 0x65, 0x47, 0x72, 0x6f,
0x75, 0x70, 0x18, 0x20, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x48, 0x54,
0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x52, 0x75, 0x6c, 0x65, 0x47, 0x72,
0x6f, 0x75, 0x70, 0x52, 0x1b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x54, 0x54, 0x50, 0x46,
0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x52, 0x75, 0x6c, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70,
0x12, 0x55, 0x0a, 0x19, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69,
0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x52, 0x75, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x18, 0x21, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72,
0x65, 0x77, 0x61, 0x6c, 0x6c, 0x52, 0x75, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x52, 0x19, 0x73, 0x6f,
0x75, 0x72, 0x63, 0x65, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c,
0x52, 0x75, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62,
0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
} }
var ( var (
@@ -193,13 +361,22 @@ func file_models_model_ip_item_proto_rawDescGZIP() []byte {
var file_models_model_ip_item_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_models_model_ip_item_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
var file_models_model_ip_item_proto_goTypes = []interface{}{ var file_models_model_ip_item_proto_goTypes = []interface{}{
(*IPItem)(nil), // 0: pb.IPItem (*IPItem)(nil), // 0: pb.IPItem
(*Server)(nil), // 1: pb.Server
(*HTTPFirewallPolicy)(nil), // 2: pb.HTTPFirewallPolicy
(*HTTPFirewallRuleGroup)(nil), // 3: pb.HTTPFirewallRuleGroup
(*HTTPFirewallRuleSet)(nil), // 4: pb.HTTPFirewallRuleSet
} }
var file_models_model_ip_item_proto_depIdxs = []int32{ var file_models_model_ip_item_proto_depIdxs = []int32{
0, // [0:0] is the sub-list for method output_type 1, // 0: pb.IPItem.sourceServer:type_name -> pb.Server
0, // [0:0] is the sub-list for method input_type 1, // 1: pb.IPItem.server:type_name -> pb.Server
0, // [0:0] is the sub-list for extension type_name 2, // 2: pb.IPItem.sourceHTTPFirewallPolicy:type_name -> pb.HTTPFirewallPolicy
0, // [0:0] is the sub-list for extension extendee 3, // 3: pb.IPItem.sourceHTTPFirewallRuleGroup:type_name -> pb.HTTPFirewallRuleGroup
0, // [0:0] is the sub-list for field type_name 4, // 4: pb.IPItem.sourceHTTPFirewallRuleSet:type_name -> pb.HTTPFirewallRuleSet
5, // [5:5] is the sub-list for method output_type
5, // [5:5] is the sub-list for method input_type
5, // [5:5] is the sub-list for extension type_name
5, // [5:5] is the sub-list for extension extendee
0, // [0:5] is the sub-list for field type_name
} }
func init() { file_models_model_ip_item_proto_init() } func init() { file_models_model_ip_item_proto_init() }
@@ -207,6 +384,10 @@ func file_models_model_ip_item_proto_init() {
if File_models_model_ip_item_proto != nil { if File_models_model_ip_item_proto != nil {
return return
} }
file_models_model_http_firewall_policy_proto_init()
file_models_model_http_firewall_rule_group_proto_init()
file_models_model_http_firewall_rule_set_proto_init()
file_models_model_server_proto_init()
if !protoimpl.UnsafeEnabled { if !protoimpl.UnsafeEnabled {
file_models_model_ip_item_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { file_models_model_ip_item_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*IPItem); i { switch v := v.(*IPItem); i {
+13 -3
View File
@@ -38,6 +38,7 @@ type IPList struct {
TimeoutJSON []byte `protobuf:"bytes,6,opt,name=timeoutJSON,proto3" json:"timeoutJSON,omitempty"` TimeoutJSON []byte `protobuf:"bytes,6,opt,name=timeoutJSON,proto3" json:"timeoutJSON,omitempty"`
IsPublic bool `protobuf:"varint,7,opt,name=isPublic,proto3" json:"isPublic,omitempty"` IsPublic bool `protobuf:"varint,7,opt,name=isPublic,proto3" json:"isPublic,omitempty"`
Description string `protobuf:"bytes,8,opt,name=description,proto3" json:"description,omitempty"` Description string `protobuf:"bytes,8,opt,name=description,proto3" json:"description,omitempty"`
IsGlobal bool `protobuf:"varint,9,opt,name=isGlobal,proto3" json:"isGlobal,omitempty"`
} }
func (x *IPList) Reset() { func (x *IPList) Reset() {
@@ -128,12 +129,19 @@ func (x *IPList) GetDescription() string {
return "" return ""
} }
func (x *IPList) GetIsGlobal() bool {
if x != nil {
return x.IsGlobal
}
return false
}
var File_models_model_ip_list_proto protoreflect.FileDescriptor var File_models_model_ip_list_proto protoreflect.FileDescriptor
var file_models_model_ip_list_proto_rawDesc = []byte{ var file_models_model_ip_list_proto_rawDesc = []byte{
0x0a, 0x1a, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x69, 0x0a, 0x1a, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x69,
0x70, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x70, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62,
0x22, 0xc8, 0x01, 0x0a, 0x06, 0x49, 0x50, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x22, 0xe4, 0x01, 0x0a, 0x06, 0x49, 0x50, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69,
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x69,
0x73, 0x4f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x12, 0x73, 0x4f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x12,
0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74,
@@ -145,8 +153,10 @@ var file_models_model_ip_list_proto_rawDesc = []byte{
0x08, 0x69, 0x73, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52,
0x08, 0x69, 0x73, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x08, 0x69, 0x73, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73,
0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b,
0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x69,
0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x73, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69,
0x73, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62,
0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
} }
var ( var (
+12 -2
View File
@@ -37,6 +37,7 @@ type NodeGrant struct {
Password string `protobuf:"bytes,5,opt,name=password,proto3" json:"password,omitempty"` Password string `protobuf:"bytes,5,opt,name=password,proto3" json:"password,omitempty"`
Su bool `protobuf:"varint,6,opt,name=su,proto3" json:"su,omitempty"` Su bool `protobuf:"varint,6,opt,name=su,proto3" json:"su,omitempty"`
PrivateKey string `protobuf:"bytes,7,opt,name=privateKey,proto3" json:"privateKey,omitempty"` PrivateKey string `protobuf:"bytes,7,opt,name=privateKey,proto3" json:"privateKey,omitempty"`
Passphrase string `protobuf:"bytes,10,opt,name=passphrase,proto3" json:"passphrase,omitempty"`
Description string `protobuf:"bytes,8,opt,name=description,proto3" json:"description,omitempty"` Description string `protobuf:"bytes,8,opt,name=description,proto3" json:"description,omitempty"`
NodeId int64 `protobuf:"varint,9,opt,name=nodeId,proto3" json:"nodeId,omitempty"` NodeId int64 `protobuf:"varint,9,opt,name=nodeId,proto3" json:"nodeId,omitempty"`
} }
@@ -122,6 +123,13 @@ func (x *NodeGrant) GetPrivateKey() string {
return "" return ""
} }
func (x *NodeGrant) GetPassphrase() string {
if x != nil {
return x.Passphrase
}
return ""
}
func (x *NodeGrant) GetDescription() string { func (x *NodeGrant) GetDescription() string {
if x != nil { if x != nil {
return x.Description return x.Description
@@ -141,7 +149,7 @@ var File_models_model_node_grant_proto protoreflect.FileDescriptor
var file_models_model_node_grant_proto_rawDesc = []byte{ var file_models_model_node_grant_proto_rawDesc = []byte{
0x0a, 0x1d, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x6e, 0x0a, 0x1d, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x6e,
0x6f, 0x64, 0x65, 0x5f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x6f, 0x64, 0x65, 0x5f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
0x02, 0x70, 0x62, 0x22, 0xe9, 0x01, 0x0a, 0x09, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x02, 0x70, 0x62, 0x22, 0x89, 0x02, 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, 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, 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, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18,
@@ -152,7 +160,9 @@ var file_models_model_node_grant_proto_rawDesc = []byte{
0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x73, 0x75, 0x18, 0x06, 0x20, 0x01, 0x28, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x73, 0x75, 0x18, 0x06, 0x20, 0x01, 0x28,
0x08, 0x52, 0x02, 0x73, 0x75, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x08, 0x52, 0x02, 0x73, 0x75, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65,
0x4b, 0x65, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x69, 0x76, 0x61, 0x4b, 0x65, 0x79, 0x18, 0x07, 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, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x61, 0x73, 0x73, 0x70, 0x68, 0x72,
0x61, 0x73, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x61, 0x73, 0x73, 0x70,
0x68, 0x72, 0x61, 0x73, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70,
0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 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, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49,
0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x42, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x42,
+28 -8
View File
@@ -37,6 +37,8 @@ type NodeTask struct {
IsOk bool `protobuf:"varint,4,opt,name=isOk,proto3" json:"isOk,omitempty"` IsOk bool `protobuf:"varint,4,opt,name=isOk,proto3" json:"isOk,omitempty"`
Error string `protobuf:"bytes,5,opt,name=error,proto3" json:"error,omitempty"` Error string `protobuf:"bytes,5,opt,name=error,proto3" json:"error,omitempty"`
UpdatedAt int64 `protobuf:"varint,6,opt,name=updatedAt,proto3" json:"updatedAt,omitempty"` UpdatedAt int64 `protobuf:"varint,6,opt,name=updatedAt,proto3" json:"updatedAt,omitempty"`
Version int64 `protobuf:"varint,7,opt,name=version,proto3" json:"version,omitempty"`
IsPrimary bool `protobuf:"varint,8,opt,name=isPrimary,proto3" json:"isPrimary,omitempty"` // 是否为主节点,非主节点稍等再同步有利于提升同步速度
Node *Node `protobuf:"bytes,30,opt,name=node,proto3" json:"node,omitempty"` Node *Node `protobuf:"bytes,30,opt,name=node,proto3" json:"node,omitempty"`
NodeCluster *NodeCluster `protobuf:"bytes,31,opt,name=nodeCluster,proto3" json:"nodeCluster,omitempty"` NodeCluster *NodeCluster `protobuf:"bytes,31,opt,name=nodeCluster,proto3" json:"nodeCluster,omitempty"`
} }
@@ -115,6 +117,20 @@ func (x *NodeTask) GetUpdatedAt() int64 {
return 0 return 0
} }
func (x *NodeTask) GetVersion() int64 {
if x != nil {
return x.Version
}
return 0
}
func (x *NodeTask) GetIsPrimary() bool {
if x != nil {
return x.IsPrimary
}
return false
}
func (x *NodeTask) GetNode() *Node { func (x *NodeTask) GetNode() *Node {
if x != nil { if x != nil {
return x.Node return x.Node
@@ -137,7 +153,7 @@ var file_models_model_node_task_proto_rawDesc = []byte{
0x70, 0x62, 0x1a, 0x17, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x70, 0x62, 0x1a, 0x17, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c,
0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x6d, 0x6f, 0x64, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x6d, 0x6f, 0x64,
0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x63, 0x65, 0x6c, 0x73, 0x2f, 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, 0xdf, 0x01, 0x0a, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x97, 0x02, 0x0a,
0x08, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x08, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18,
0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70,
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a,
@@ -146,13 +162,17 @@ var file_models_model_node_task_proto_rawDesc = []byte{
0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x4f, 0x6b, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x4f, 0x6b, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72,
0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12,
0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x06, 0x20, 0x01, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x06, 0x20, 0x01,
0x28, 0x03, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x28, 0x03, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x18, 0x0a,
0x04, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x70, 0x62, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07,
0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x12, 0x31, 0x0a, 0x0b, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x50, 0x72, 0x69,
0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0b, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x50, 0x72,
0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x1c, 0x0a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x1e, 0x20,
0x72, 0x52, 0x0b, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x42, 0x06, 0x01, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6e,
0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x6f, 0x64, 0x65, 0x12, 0x31, 0x0a, 0x0b, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74,
0x65, 0x72, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f,
0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x0b, 0x6e, 0x6f, 0x64, 0x65, 0x43,
0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
} }
var ( var (
+26 -26
View File
@@ -34,10 +34,10 @@ type Plan struct {
IsOn bool `protobuf:"varint,2,opt,name=isOn,proto3" json:"isOn,omitempty"` IsOn bool `protobuf:"varint,2,opt,name=isOn,proto3" json:"isOn,omitempty"`
Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
ClusterId int64 `protobuf:"varint,4,opt,name=clusterId,proto3" json:"clusterId,omitempty"` ClusterId int64 `protobuf:"varint,4,opt,name=clusterId,proto3" json:"clusterId,omitempty"`
BandwidthLimitJSON []byte `protobuf:"bytes,5,opt,name=bandwidthLimitJSON,proto3" json:"bandwidthLimitJSON,omitempty"` TrafficLimitJSON []byte `protobuf:"bytes,5,opt,name=trafficLimitJSON,proto3" json:"trafficLimitJSON,omitempty"`
FeaturesJSON []byte `protobuf:"bytes,6,opt,name=featuresJSON,proto3" json:"featuresJSON,omitempty"` FeaturesJSON []byte `protobuf:"bytes,6,opt,name=featuresJSON,proto3" json:"featuresJSON,omitempty"`
PriceType string `protobuf:"bytes,7,opt,name=priceType,proto3" json:"priceType,omitempty"` PriceType string `protobuf:"bytes,7,opt,name=priceType,proto3" json:"priceType,omitempty"`
BandwidthPriceJSON []byte `protobuf:"bytes,8,opt,name=bandwidthPriceJSON,proto3" json:"bandwidthPriceJSON,omitempty"` TrafficPriceJSON []byte `protobuf:"bytes,8,opt,name=trafficPriceJSON,proto3" json:"trafficPriceJSON,omitempty"`
MonthlyPrice float32 `protobuf:"fixed32,9,opt,name=monthlyPrice,proto3" json:"monthlyPrice,omitempty"` MonthlyPrice float32 `protobuf:"fixed32,9,opt,name=monthlyPrice,proto3" json:"monthlyPrice,omitempty"`
SeasonallyPrice float32 `protobuf:"fixed32,10,opt,name=seasonallyPrice,proto3" json:"seasonallyPrice,omitempty"` SeasonallyPrice float32 `protobuf:"fixed32,10,opt,name=seasonallyPrice,proto3" json:"seasonallyPrice,omitempty"`
YearlyPrice float32 `protobuf:"fixed32,11,opt,name=yearlyPrice,proto3" json:"yearlyPrice,omitempty"` YearlyPrice float32 `protobuf:"fixed32,11,opt,name=yearlyPrice,proto3" json:"yearlyPrice,omitempty"`
@@ -103,9 +103,9 @@ func (x *Plan) GetClusterId() int64 {
return 0 return 0
} }
func (x *Plan) GetBandwidthLimitJSON() []byte { func (x *Plan) GetTrafficLimitJSON() []byte {
if x != nil { if x != nil {
return x.BandwidthLimitJSON return x.TrafficLimitJSON
} }
return nil return nil
} }
@@ -124,9 +124,9 @@ func (x *Plan) GetPriceType() string {
return "" return ""
} }
func (x *Plan) GetBandwidthPriceJSON() []byte { func (x *Plan) GetTrafficPriceJSON() []byte {
if x != nil { if x != nil {
return x.BandwidthPriceJSON return x.TrafficPriceJSON
} }
return nil return nil
} }
@@ -156,31 +156,31 @@ var File_models_model_plan_proto protoreflect.FileDescriptor
var file_models_model_plan_proto_rawDesc = []byte{ var file_models_model_plan_proto_rawDesc = []byte{
0x0a, 0x17, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x70, 0x0a, 0x17, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x70,
0x6c, 0x61, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x22, 0xee, 0x02, 0x6c, 0x61, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x22, 0xe6, 0x02,
0x0a, 0x04, 0x50, 0x6c, 0x61, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x0a, 0x04, 0x50, 0x6c, 0x61, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x18, 0x02, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x18, 0x02,
0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61,
0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c,
0x0a, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0a, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28,
0x03, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x12, 0x03, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x10,
0x62, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4a, 0x53, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4a, 0x53, 0x4f, 0x4e,
0x4f, 0x4e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x12, 0x62, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x10, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x4c,
0x64, 0x74, 0x68, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x6d, 0x69, 0x74, 0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x22, 0x0a, 0x0c, 0x66, 0x65, 0x61, 0x74,
0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x06, 0x20, 0x01, 0x75, 0x72, 0x65, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c,
0x28, 0x0c, 0x52, 0x0c, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x1c, 0x0a, 0x09,
0x12, 0x1c, 0x0a, 0x09, 0x70, 0x72, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x70, 0x72, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52,
0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2e, 0x09, 0x70, 0x72, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x74, 0x72,
0x0a, 0x12, 0x62, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x50, 0x72, 0x69, 0x63, 0x65, 0x61, 0x66, 0x66, 0x69, 0x63, 0x50, 0x72, 0x69, 0x63, 0x65, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x08,
0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x12, 0x62, 0x61, 0x6e, 0x64, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x10, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x50, 0x72, 0x69,
0x77, 0x69, 0x64, 0x74, 0x68, 0x50, 0x72, 0x69, 0x63, 0x65, 0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x22, 0x63, 0x65, 0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x22, 0x0a, 0x0c, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x6c,
0x0a, 0x0c, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x09, 0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x6d, 0x6f,
0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x50, 0x72, 0x69, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x73, 0x65,
0x63, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x73, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x6c, 0x79, 0x61, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x6c, 0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x0a, 0x20,
0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0f, 0x73, 0x65, 0x61, 0x01, 0x28, 0x02, 0x52, 0x0f, 0x73, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x6c, 0x79, 0x50,
0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x6c, 0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x72, 0x69, 0x63, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x79, 0x65, 0x61, 0x72, 0x6c, 0x79, 0x50, 0x72,
0x79, 0x65, 0x61, 0x72, 0x6c, 0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x69, 0x63, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, 0x79, 0x65, 0x61, 0x72, 0x6c,
0x02, 0x52, 0x0b, 0x79, 0x65, 0x61, 0x72, 0x6c, 0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x42, 0x06, 0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06,
0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
} }
var ( var (
+12 -2
View File
@@ -40,6 +40,7 @@ type Server struct {
CreatedAt int64 `protobuf:"varint,7,opt,name=createdAt,proto3" json:"createdAt,omitempty"` CreatedAt int64 `protobuf:"varint,7,opt,name=createdAt,proto3" json:"createdAt,omitempty"`
DnsName string `protobuf:"bytes,19,opt,name=dnsName,proto3" json:"dnsName,omitempty"` DnsName string `protobuf:"bytes,19,opt,name=dnsName,proto3" json:"dnsName,omitempty"`
SupportCNAME bool `protobuf:"varint,23,opt,name=supportCNAME,proto3" json:"supportCNAME,omitempty"` SupportCNAME bool `protobuf:"varint,23,opt,name=supportCNAME,proto3" json:"supportCNAME,omitempty"`
UserPlanId int64 `protobuf:"varint,24,opt,name=userPlanId,proto3" json:"userPlanId,omitempty"`
// 配置相关 // 配置相关
Config []byte `protobuf:"bytes,17,opt,name=config,proto3" json:"config,omitempty"` Config []byte `protobuf:"bytes,17,opt,name=config,proto3" json:"config,omitempty"`
ServerNamesJSON []byte `protobuf:"bytes,8,opt,name=serverNamesJSON,proto3" json:"serverNamesJSON,omitempty"` ServerNamesJSON []byte `protobuf:"bytes,8,opt,name=serverNamesJSON,proto3" json:"serverNamesJSON,omitempty"`
@@ -161,6 +162,13 @@ func (x *Server) GetSupportCNAME() bool {
return false return false
} }
func (x *Server) GetUserPlanId() int64 {
if x != nil {
return x.UserPlanId
}
return 0
}
func (x *Server) GetConfig() []byte { func (x *Server) GetConfig() []byte {
if x != nil { if x != nil {
return x.Config return x.Config
@@ -286,7 +294,7 @@ var file_models_model_server_proto_rawDesc = []byte{
0x75, 0x73, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2e, 0x6d, 0x6f, 0x64, 0x65,
0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f,
0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x61, 0x75, 0x64, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x61, 0x75, 0x64, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65,
0x73, 0x75, 0x6c, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe8, 0x06, 0x0a, 0x06, 0x53, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x88, 0x07, 0x0a, 0x06, 0x53,
0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x18, 0x12, 0x20, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x18, 0x12, 0x20,
0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70,
@@ -304,7 +312,9 @@ var file_models_model_server_proto_rawDesc = []byte{
0x4e, 0x61, 0x6d, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x64, 0x6e, 0x73, 0x4e, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x64, 0x6e, 0x73, 0x4e,
0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x4e,
0x41, 0x4d, 0x45, 0x18, 0x17, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x41, 0x4d, 0x45, 0x18, 0x17, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x73, 0x75, 0x70, 0x70, 0x6f,
0x72, 0x74, 0x43, 0x4e, 0x41, 0x4d, 0x45, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x74, 0x43, 0x4e, 0x41, 0x4d, 0x45, 0x12, 0x1e, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x50,
0x6c, 0x61, 0x6e, 0x49, 0x64, 0x18, 0x18, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x75, 0x73, 0x65,
0x72, 0x50, 0x6c, 0x61, 0x6e, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69,
0x67, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x67, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12,
0x28, 0x0a, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x4a, 0x53, 0x28, 0x0a, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x4a, 0x53,
0x4f, 0x4e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4f, 0x4e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72,
+24 -3
View File
@@ -40,6 +40,8 @@ type ServerDailyStat struct {
CreatedAt int64 `protobuf:"varint,4,opt,name=createdAt,proto3" json:"createdAt,omitempty"` CreatedAt int64 `protobuf:"varint,4,opt,name=createdAt,proto3" json:"createdAt,omitempty"`
CountAttackRequests int64 `protobuf:"varint,8,opt,name=countAttackRequests,proto3" json:"countAttackRequests,omitempty"` CountAttackRequests int64 `protobuf:"varint,8,opt,name=countAttackRequests,proto3" json:"countAttackRequests,omitempty"`
AttackBytes int64 `protobuf:"varint,9,opt,name=attackBytes,proto3" json:"attackBytes,omitempty"` AttackBytes int64 `protobuf:"varint,9,opt,name=attackBytes,proto3" json:"attackBytes,omitempty"`
CheckTrafficLimiting bool `protobuf:"varint,10,opt,name=checkTrafficLimiting,proto3" json:"checkTrafficLimiting,omitempty"`
PlanId int64 `protobuf:"varint,11,opt,name=planId,proto3" json:"planId,omitempty"`
} }
func (x *ServerDailyStat) Reset() { func (x *ServerDailyStat) Reset() {
@@ -137,12 +139,26 @@ func (x *ServerDailyStat) GetAttackBytes() int64 {
return 0 return 0
} }
func (x *ServerDailyStat) GetCheckTrafficLimiting() bool {
if x != nil {
return x.CheckTrafficLimiting
}
return false
}
func (x *ServerDailyStat) GetPlanId() int64 {
if x != nil {
return x.PlanId
}
return 0
}
var File_models_model_server_daily_stat_proto protoreflect.FileDescriptor var File_models_model_server_daily_stat_proto protoreflect.FileDescriptor
var file_models_model_server_daily_stat_proto_rawDesc = []byte{ var file_models_model_server_daily_stat_proto_rawDesc = []byte{
0x0a, 0x24, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x73, 0x0a, 0x24, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x73,
0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x64, 0x61, 0x69, 0x6c, 0x79, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x64, 0x61, 0x69, 0x6c, 0x79, 0x5f, 0x73, 0x74, 0x61, 0x74,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x22, 0xcb, 0x02, 0x0a, 0x0f, 0x53, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x22, 0x97, 0x03, 0x0a, 0x0f, 0x53,
0x65, 0x72, 0x76, 0x65, 0x72, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x74, 0x12, 0x1a, 0x65, 0x72, 0x76, 0x65, 0x72, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x74, 0x12, 0x1a,
0x0a, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 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, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65,
@@ -163,8 +179,13 @@ var file_models_model_server_daily_stat_proto_rawDesc = []byte{
0x03, 0x52, 0x13, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x03, 0x52, 0x13, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b,
0x42, 0x79, 0x74, 0x65, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x61, 0x74, 0x74, 0x42, 0x79, 0x74, 0x65, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x61, 0x74, 0x74,
0x61, 0x63, 0x6b, 0x42, 0x79, 0x74, 0x65, 0x73, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x61, 0x63, 0x6b, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x32, 0x0a, 0x14, 0x63, 0x68, 0x65, 0x63,
0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x6b, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x69, 0x6e, 0x67,
0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x54, 0x72, 0x61,
0x66, 0x66, 0x69, 0x63, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x16, 0x0a, 0x06,
0x70, 0x6c, 0x61, 0x6e, 0x49, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x70, 0x6c,
0x61, 0x6e, 0x49, 0x64, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x33,
} }
var ( var (
+190
View File
@@ -0,0 +1,190 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.25.0
// protoc v3.12.3
// source: models/model_user_account.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 UserAccount struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
UserId int64 `protobuf:"varint,2,opt,name=userId,proto3" json:"userId,omitempty"`
Total float32 `protobuf:"fixed32,3,opt,name=total,proto3" json:"total,omitempty"`
TotalFrozen float32 `protobuf:"fixed32,4,opt,name=totalFrozen,proto3" json:"totalFrozen,omitempty"`
User *User `protobuf:"bytes,30,opt,name=user,proto3" json:"user,omitempty"`
}
func (x *UserAccount) Reset() {
*x = UserAccount{}
if protoimpl.UnsafeEnabled {
mi := &file_models_model_user_account_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UserAccount) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UserAccount) ProtoMessage() {}
func (x *UserAccount) ProtoReflect() protoreflect.Message {
mi := &file_models_model_user_account_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 UserAccount.ProtoReflect.Descriptor instead.
func (*UserAccount) Descriptor() ([]byte, []int) {
return file_models_model_user_account_proto_rawDescGZIP(), []int{0}
}
func (x *UserAccount) GetId() int64 {
if x != nil {
return x.Id
}
return 0
}
func (x *UserAccount) GetUserId() int64 {
if x != nil {
return x.UserId
}
return 0
}
func (x *UserAccount) GetTotal() float32 {
if x != nil {
return x.Total
}
return 0
}
func (x *UserAccount) GetTotalFrozen() float32 {
if x != nil {
return x.TotalFrozen
}
return 0
}
func (x *UserAccount) GetUser() *User {
if x != nil {
return x.User
}
return nil
}
var File_models_model_user_account_proto protoreflect.FileDescriptor
var file_models_model_user_account_proto_rawDesc = []byte{
0x0a, 0x1f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x75,
0x73, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x12, 0x02, 0x70, 0x62, 0x1a, 0x17, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f,
0x64, 0x65, 0x6c, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8b,
0x01, 0x0a, 0x0b, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x0e,
0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16,
0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06,
0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18,
0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x20, 0x0a, 0x0b,
0x74, 0x6f, 0x74, 0x61, 0x6c, 0x46, 0x72, 0x6f, 0x7a, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28,
0x02, 0x52, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x46, 0x72, 0x6f, 0x7a, 0x65, 0x6e, 0x12, 0x1c,
0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x70,
0x62, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x42, 0x06, 0x5a, 0x04,
0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_models_model_user_account_proto_rawDescOnce sync.Once
file_models_model_user_account_proto_rawDescData = file_models_model_user_account_proto_rawDesc
)
func file_models_model_user_account_proto_rawDescGZIP() []byte {
file_models_model_user_account_proto_rawDescOnce.Do(func() {
file_models_model_user_account_proto_rawDescData = protoimpl.X.CompressGZIP(file_models_model_user_account_proto_rawDescData)
})
return file_models_model_user_account_proto_rawDescData
}
var file_models_model_user_account_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
var file_models_model_user_account_proto_goTypes = []interface{}{
(*UserAccount)(nil), // 0: pb.UserAccount
(*User)(nil), // 1: pb.User
}
var file_models_model_user_account_proto_depIdxs = []int32{
1, // 0: pb.UserAccount.user:type_name -> pb.User
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_models_model_user_account_proto_init() }
func file_models_model_user_account_proto_init() {
if File_models_model_user_account_proto != nil {
return
}
file_models_model_user_proto_init()
if !protoimpl.UnsafeEnabled {
file_models_model_user_account_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UserAccount); 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_models_model_user_account_proto_rawDesc,
NumEnums: 0,
NumMessages: 1,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_models_model_user_account_proto_goTypes,
DependencyIndexes: file_models_model_user_account_proto_depIdxs,
MessageInfos: file_models_model_user_account_proto_msgTypes,
}.Build()
File_models_model_user_account_proto = out.File
file_models_model_user_account_proto_rawDesc = nil
file_models_model_user_account_proto_goTypes = nil
file_models_model_user_account_proto_depIdxs = nil
}
@@ -0,0 +1,186 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.25.0
// protoc v3.12.3
// source: models/model_user_account_daily_stat.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 UserAccountDailyStat struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
Day string `protobuf:"bytes,2,opt,name=day,proto3" json:"day,omitempty"`
Month string `protobuf:"bytes,3,opt,name=month,proto3" json:"month,omitempty"`
Income float32 `protobuf:"fixed32,4,opt,name=income,proto3" json:"income,omitempty"`
Expense float32 `protobuf:"fixed32,5,opt,name=expense,proto3" json:"expense,omitempty"`
}
func (x *UserAccountDailyStat) Reset() {
*x = UserAccountDailyStat{}
if protoimpl.UnsafeEnabled {
mi := &file_models_model_user_account_daily_stat_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UserAccountDailyStat) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UserAccountDailyStat) ProtoMessage() {}
func (x *UserAccountDailyStat) ProtoReflect() protoreflect.Message {
mi := &file_models_model_user_account_daily_stat_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 UserAccountDailyStat.ProtoReflect.Descriptor instead.
func (*UserAccountDailyStat) Descriptor() ([]byte, []int) {
return file_models_model_user_account_daily_stat_proto_rawDescGZIP(), []int{0}
}
func (x *UserAccountDailyStat) GetId() int64 {
if x != nil {
return x.Id
}
return 0
}
func (x *UserAccountDailyStat) GetDay() string {
if x != nil {
return x.Day
}
return ""
}
func (x *UserAccountDailyStat) GetMonth() string {
if x != nil {
return x.Month
}
return ""
}
func (x *UserAccountDailyStat) GetIncome() float32 {
if x != nil {
return x.Income
}
return 0
}
func (x *UserAccountDailyStat) GetExpense() float32 {
if x != nil {
return x.Expense
}
return 0
}
var File_models_model_user_account_daily_stat_proto protoreflect.FileDescriptor
var file_models_model_user_account_daily_stat_proto_rawDesc = []byte{
0x0a, 0x2a, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x75,
0x73, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x64, 0x61, 0x69, 0x6c,
0x79, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62,
0x22, 0x80, 0x01, 0x0a, 0x14, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74,
0x44, 0x61, 0x69, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18,
0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x64, 0x61, 0x79,
0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x64, 0x61, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x6d,
0x6f, 0x6e, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6d, 0x6f, 0x6e, 0x74,
0x68, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28,
0x02, 0x52, 0x06, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x78, 0x70,
0x65, 0x6e, 0x73, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 0x52, 0x07, 0x65, 0x78, 0x70, 0x65,
0x6e, 0x73, 0x65, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x33,
}
var (
file_models_model_user_account_daily_stat_proto_rawDescOnce sync.Once
file_models_model_user_account_daily_stat_proto_rawDescData = file_models_model_user_account_daily_stat_proto_rawDesc
)
func file_models_model_user_account_daily_stat_proto_rawDescGZIP() []byte {
file_models_model_user_account_daily_stat_proto_rawDescOnce.Do(func() {
file_models_model_user_account_daily_stat_proto_rawDescData = protoimpl.X.CompressGZIP(file_models_model_user_account_daily_stat_proto_rawDescData)
})
return file_models_model_user_account_daily_stat_proto_rawDescData
}
var file_models_model_user_account_daily_stat_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
var file_models_model_user_account_daily_stat_proto_goTypes = []interface{}{
(*UserAccountDailyStat)(nil), // 0: pb.UserAccountDailyStat
}
var file_models_model_user_account_daily_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_models_model_user_account_daily_stat_proto_init() }
func file_models_model_user_account_daily_stat_proto_init() {
if File_models_model_user_account_daily_stat_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_models_model_user_account_daily_stat_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UserAccountDailyStat); 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_models_model_user_account_daily_stat_proto_rawDesc,
NumEnums: 0,
NumMessages: 1,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_models_model_user_account_daily_stat_proto_goTypes,
DependencyIndexes: file_models_model_user_account_daily_stat_proto_depIdxs,
MessageInfos: file_models_model_user_account_daily_stat_proto_msgTypes,
}.Build()
File_models_model_user_account_daily_stat_proto = out.File
file_models_model_user_account_daily_stat_proto_rawDesc = nil
file_models_model_user_account_daily_stat_proto_goTypes = nil
file_models_model_user_account_daily_stat_proto_depIdxs = nil
}
+277
View File
@@ -0,0 +1,277 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.25.0
// protoc v3.12.3
// source: models/model_user_account_log.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 UserAccountLog struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
UserId int64 `protobuf:"varint,2,opt,name=userId,proto3" json:"userId,omitempty"`
UserAccountId int64 `protobuf:"varint,3,opt,name=userAccountId,proto3" json:"userAccountId,omitempty"`
Delta float32 `protobuf:"fixed32,4,opt,name=delta,proto3" json:"delta,omitempty"`
DeltaFrozen float32 `protobuf:"fixed32,5,opt,name=deltaFrozen,proto3" json:"deltaFrozen,omitempty"`
Total float32 `protobuf:"fixed32,6,opt,name=total,proto3" json:"total,omitempty"`
TotalFrozen float32 `protobuf:"fixed32,7,opt,name=totalFrozen,proto3" json:"totalFrozen,omitempty"`
EventType string `protobuf:"bytes,8,opt,name=eventType,proto3" json:"eventType,omitempty"`
Description string `protobuf:"bytes,9,opt,name=description,proto3" json:"description,omitempty"`
CreatedAt int64 `protobuf:"varint,10,opt,name=createdAt,proto3" json:"createdAt,omitempty"`
ParamsJSON []byte `protobuf:"bytes,11,opt,name=paramsJSON,proto3" json:"paramsJSON,omitempty"`
User *User `protobuf:"bytes,30,opt,name=user,proto3" json:"user,omitempty"`
UserAccount *UserAccount `protobuf:"bytes,31,opt,name=userAccount,proto3" json:"userAccount,omitempty"`
}
func (x *UserAccountLog) Reset() {
*x = UserAccountLog{}
if protoimpl.UnsafeEnabled {
mi := &file_models_model_user_account_log_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UserAccountLog) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UserAccountLog) ProtoMessage() {}
func (x *UserAccountLog) ProtoReflect() protoreflect.Message {
mi := &file_models_model_user_account_log_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 UserAccountLog.ProtoReflect.Descriptor instead.
func (*UserAccountLog) Descriptor() ([]byte, []int) {
return file_models_model_user_account_log_proto_rawDescGZIP(), []int{0}
}
func (x *UserAccountLog) GetId() int64 {
if x != nil {
return x.Id
}
return 0
}
func (x *UserAccountLog) GetUserId() int64 {
if x != nil {
return x.UserId
}
return 0
}
func (x *UserAccountLog) GetUserAccountId() int64 {
if x != nil {
return x.UserAccountId
}
return 0
}
func (x *UserAccountLog) GetDelta() float32 {
if x != nil {
return x.Delta
}
return 0
}
func (x *UserAccountLog) GetDeltaFrozen() float32 {
if x != nil {
return x.DeltaFrozen
}
return 0
}
func (x *UserAccountLog) GetTotal() float32 {
if x != nil {
return x.Total
}
return 0
}
func (x *UserAccountLog) GetTotalFrozen() float32 {
if x != nil {
return x.TotalFrozen
}
return 0
}
func (x *UserAccountLog) GetEventType() string {
if x != nil {
return x.EventType
}
return ""
}
func (x *UserAccountLog) GetDescription() string {
if x != nil {
return x.Description
}
return ""
}
func (x *UserAccountLog) GetCreatedAt() int64 {
if x != nil {
return x.CreatedAt
}
return 0
}
func (x *UserAccountLog) GetParamsJSON() []byte {
if x != nil {
return x.ParamsJSON
}
return nil
}
func (x *UserAccountLog) GetUser() *User {
if x != nil {
return x.User
}
return nil
}
func (x *UserAccountLog) GetUserAccount() *UserAccount {
if x != nil {
return x.UserAccount
}
return nil
}
var File_models_model_user_account_log_proto protoreflect.FileDescriptor
var file_models_model_user_account_log_proto_rawDesc = []byte{
0x0a, 0x23, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x75,
0x73, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6c, 0x6f, 0x67, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x1a, 0x17, 0x6d, 0x6f, 0x64, 0x65, 0x6c,
0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x1a, 0x1f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c,
0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x22, 0x9d, 0x03, 0x0a, 0x0e, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f,
0x75, 0x6e, 0x74, 0x4c, 0x6f, 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64,
0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x24,
0x0a, 0x0d, 0x75, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x18,
0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x75, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75,
0x6e, 0x74, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x18, 0x04, 0x20,
0x01, 0x28, 0x02, 0x52, 0x05, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65,
0x6c, 0x74, 0x61, 0x46, 0x72, 0x6f, 0x7a, 0x65, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 0x52,
0x0b, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x46, 0x72, 0x6f, 0x7a, 0x65, 0x6e, 0x12, 0x14, 0x0a, 0x05,
0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x74, 0x6f, 0x74,
0x61, 0x6c, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x46, 0x72, 0x6f, 0x7a, 0x65,
0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x46, 0x72,
0x6f, 0x7a, 0x65, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70,
0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79,
0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f,
0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70,
0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41,
0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64,
0x41, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x4a, 0x53, 0x4f, 0x4e,
0x18, 0x0b, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x4a, 0x53,
0x4f, 0x4e, 0x12, 0x1c, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x08, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72,
0x12, 0x31, 0x0a, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18,
0x1f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x41,
0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f,
0x75, 0x6e, 0x74, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x33,
}
var (
file_models_model_user_account_log_proto_rawDescOnce sync.Once
file_models_model_user_account_log_proto_rawDescData = file_models_model_user_account_log_proto_rawDesc
)
func file_models_model_user_account_log_proto_rawDescGZIP() []byte {
file_models_model_user_account_log_proto_rawDescOnce.Do(func() {
file_models_model_user_account_log_proto_rawDescData = protoimpl.X.CompressGZIP(file_models_model_user_account_log_proto_rawDescData)
})
return file_models_model_user_account_log_proto_rawDescData
}
var file_models_model_user_account_log_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
var file_models_model_user_account_log_proto_goTypes = []interface{}{
(*UserAccountLog)(nil), // 0: pb.UserAccountLog
(*User)(nil), // 1: pb.User
(*UserAccount)(nil), // 2: pb.UserAccount
}
var file_models_model_user_account_log_proto_depIdxs = []int32{
1, // 0: pb.UserAccountLog.user:type_name -> pb.User
2, // 1: pb.UserAccountLog.userAccount:type_name -> pb.UserAccount
2, // [2:2] is the sub-list for method output_type
2, // [2:2] 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
}
func init() { file_models_model_user_account_log_proto_init() }
func file_models_model_user_account_log_proto_init() {
if File_models_model_user_account_log_proto != nil {
return
}
file_models_model_user_proto_init()
file_models_model_user_account_proto_init()
if !protoimpl.UnsafeEnabled {
file_models_model_user_account_log_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UserAccountLog); 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_models_model_user_account_log_proto_rawDesc,
NumEnums: 0,
NumMessages: 1,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_models_model_user_account_log_proto_goTypes,
DependencyIndexes: file_models_model_user_account_log_proto_depIdxs,
MessageInfos: file_models_model_user_account_log_proto_msgTypes,
}.Build()
File_models_model_user_account_log_proto = out.File
file_models_model_user_account_log_proto_rawDesc = nil
file_models_model_user_account_log_proto_goTypes = nil
file_models_model_user_account_log_proto_depIdxs = nil
}
+12 -3
View File
@@ -39,6 +39,7 @@ type UserBill struct {
Month string `protobuf:"bytes,7,opt,name=month,proto3" json:"month,omitempty"` Month string `protobuf:"bytes,7,opt,name=month,proto3" json:"month,omitempty"`
IsPaid bool `protobuf:"varint,8,opt,name=isPaid,proto3" json:"isPaid,omitempty"` IsPaid bool `protobuf:"varint,8,opt,name=isPaid,proto3" json:"isPaid,omitempty"`
PaidAt int64 `protobuf:"varint,9,opt,name=paidAt,proto3" json:"paidAt,omitempty"` PaidAt int64 `protobuf:"varint,9,opt,name=paidAt,proto3" json:"paidAt,omitempty"`
Code string `protobuf:"bytes,10,opt,name=code,proto3" json:"code,omitempty"`
} }
func (x *UserBill) Reset() { func (x *UserBill) Reset() {
@@ -136,13 +137,20 @@ func (x *UserBill) GetPaidAt() int64 {
return 0 return 0
} }
func (x *UserBill) GetCode() string {
if x != nil {
return x.Code
}
return ""
}
var File_models_model_user_bill_proto protoreflect.FileDescriptor var File_models_model_user_bill_proto protoreflect.FileDescriptor
var file_models_model_user_bill_proto_rawDesc = []byte{ var file_models_model_user_bill_proto_rawDesc = []byte{
0x0a, 0x1c, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x75, 0x0a, 0x1c, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x75,
0x73, 0x65, 0x72, 0x5f, 0x62, 0x69, 0x6c, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x73, 0x65, 0x72, 0x5f, 0x62, 0x69, 0x6c, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02,
0x70, 0x62, 0x1a, 0x17, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x70, 0x62, 0x1a, 0x17, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c,
0x5f, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe8, 0x01, 0x0a, 0x08, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xfc, 0x01, 0x0a, 0x08,
0x55, 0x73, 0x65, 0x72, 0x42, 0x69, 0x6c, 0x6c, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x55, 0x73, 0x65, 0x72, 0x42, 0x69, 0x6c, 0x6c, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01,
0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72,
0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x73, 0x65, 0x72,
@@ -157,8 +165,9 @@ var file_models_model_user_bill_proto_rawDesc = []byte{
0x05, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x50, 0x61, 0x69, 0x64, 0x05, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x50, 0x61, 0x69, 0x64,
0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x50, 0x61, 0x69, 0x64, 0x12, 0x16, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x50, 0x61, 0x69, 0x64, 0x12, 0x16,
0x0a, 0x06, 0x70, 0x61, 0x69, 0x64, 0x41, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x0a, 0x06, 0x70, 0x61, 0x69, 0x64, 0x41, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06,
0x70, 0x61, 0x69, 0x64, 0x41, 0x74, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x61, 0x69, 0x64, 0x41, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0a,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f,
0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
} }
var ( var (
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+110 -100
View File
@@ -41,6 +41,7 @@ type CreateIPListRequest struct {
TimeoutJSON []byte `protobuf:"bytes,4,opt,name=timeoutJSON,proto3" json:"timeoutJSON,omitempty"` TimeoutJSON []byte `protobuf:"bytes,4,opt,name=timeoutJSON,proto3" json:"timeoutJSON,omitempty"`
IsPublic bool `protobuf:"varint,5,opt,name=isPublic,proto3" json:"isPublic,omitempty"` IsPublic bool `protobuf:"varint,5,opt,name=isPublic,proto3" json:"isPublic,omitempty"`
Description string `protobuf:"bytes,6,opt,name=description,proto3" json:"description,omitempty"` Description string `protobuf:"bytes,6,opt,name=description,proto3" json:"description,omitempty"`
IsGlobal bool `protobuf:"varint,7,opt,name=isGlobal,proto3" json:"isGlobal,omitempty"`
} }
func (x *CreateIPListRequest) Reset() { func (x *CreateIPListRequest) Reset() {
@@ -117,6 +118,13 @@ func (x *CreateIPListRequest) GetDescription() string {
return "" return ""
} }
func (x *CreateIPListRequest) GetIsGlobal() bool {
if x != nil {
return x.IsGlobal
}
return false
}
type CreateIPListResponse struct { type CreateIPListResponse struct {
state protoimpl.MessageState state protoimpl.MessageState
sizeCache protoimpl.SizeCache sizeCache protoimpl.SizeCache
@@ -776,7 +784,7 @@ var file_service_ip_list_proto_rawDesc = []byte{
0x65, 0x6c, 0x73, 0x2f, 0x72, 0x70, 0x63, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x65, 0x6c, 0x73, 0x2f, 0x72, 0x70, 0x63, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d,
0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x69, 0x70, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x69, 0x70, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x22, 0xb1, 0x01, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x50, 0x4c, 0x74, 0x6f, 0x22, 0xcd, 0x01, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x50, 0x4c,
0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79,
0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x12, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x12,
0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61,
@@ -787,108 +795,110 @@ var file_service_ip_list_proto_rawDesc = []byte{
0x62, 0x6c, 0x69, 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x50, 0x75,
0x62, 0x6c, 0x69, 0x63, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x62, 0x6c, 0x69, 0x63, 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, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72,
0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x32, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x73, 0x47, 0x6c, 0x6f, 0x62,
0x49, 0x50, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x61, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x47, 0x6c, 0x6f, 0x62,
0x61, 0x6c, 0x22, 0x32, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x50, 0x4c, 0x69,
0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x70,
0x4c, 0x69, 0x73, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x69, 0x70,
0x4c, 0x69, 0x73, 0x74, 0x49, 0x64, 0x22, 0x9d, 0x01, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74,
0x65, 0x49, 0x50, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a,
0x0a, 0x08, 0x69, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x0a, 0x08, 0x69, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03,
0x52, 0x08, 0x69, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x64, 0x22, 0x9d, 0x01, 0x0a, 0x13, 0x55, 0x52, 0x08, 0x69, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61,
0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x50, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12,
0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f,
0x64, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x4a, 0x53, 0x4f,
0x4e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74,
0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,
0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72,
0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x36, 0x0a, 0x18, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e,
0x61, 0x62, 0x6c, 0x65, 0x64, 0x49, 0x50, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x64, 0x18, 0x01, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x64, 0x18, 0x01,
0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x69, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x64, 0x12, 0x12, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x69, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x64, 0x22, 0x3f,
0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x0a, 0x19, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x49, 0x50, 0x4c,
0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x22, 0x0a, 0x06, 0x69,
0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x70, 0x62,
0x74, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x74, 0x69, 0x6d, 0x2e, 0x49, 0x50, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x06, 0x69, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x22,
0x65, 0x6f, 0x75, 0x74, 0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x69, 0x0a, 0x1d, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c,
0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x64, 0x49, 0x50, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x36, 0x0a, 0x18, 0x46, 0x69, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x49, 0x50, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x73, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63,
0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x69, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28,
0x49, 0x64, 0x22, 0x3f, 0x0a, 0x19, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x09, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x22, 0x91, 0x01, 0x0a, 0x19, 0x4c,
0x64, 0x49, 0x50, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x49, 0x50, 0x4c, 0x69, 0x73, 0x74,
0x22, 0x0a, 0x06, 0x69, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65,
0x0a, 0x2e, 0x70, 0x62, 0x2e, 0x49, 0x50, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x06, 0x69, 0x70, 0x4c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08,
0x69, 0x73, 0x74, 0x22, 0x69, 0x0a, 0x1d, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x69, 0x73, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08,
0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x49, 0x50, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x52, 0x65, 0x71, 0x69, 0x73, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x12, 0x18, 0x0a, 0x07, 0x6b, 0x65, 0x79, 0x77,
0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x6f, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f,
0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x73, 0x50, 0x75, 0x72, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01,
0x62, 0x6c, 0x69, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x50, 0x75, 0x28, 0x03, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69,
0x62, 0x6c, 0x69, 0x63, 0x12, 0x18, 0x0a, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x7a, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x22, 0x42,
0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x22, 0x91, 0x0a, 0x1a, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x49, 0x50, 0x4c,
0x01, 0x0a, 0x19, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x49, 0x50, 0x69, 0x73, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x0a, 0x07,
0x4c, 0x69, 0x73, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e,
0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x70, 0x62, 0x2e, 0x49, 0x50, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x07, 0x69, 0x70, 0x4c, 0x69, 0x73,
0x12, 0x1a, 0x0a, 0x08, 0x69, 0x73, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x18, 0x02, 0x20, 0x01, 0x74, 0x73, 0x22, 0x31, 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x50, 0x4c, 0x69,
0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x70, 0x4c,
0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6b, 0x69, 0x73, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x69, 0x70, 0x4c,
0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x69, 0x73, 0x74, 0x49, 0x64, 0x22, 0x38, 0x0a, 0x1a, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x45,
0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x12, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x49, 0x50, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75,
0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x64, 0x18,
0x7a, 0x65, 0x22, 0x42, 0x0a, 0x1a, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x69, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x64, 0x22,
0x64, 0x49, 0x50, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x35, 0x0a, 0x1b, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
0x12, 0x24, 0x0a, 0x07, 0x69, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x49, 0x50, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16,
0x0b, 0x32, 0x0a, 0x2e, 0x70, 0x62, 0x2e, 0x49, 0x50, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x07, 0x69, 0x0a, 0x06, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06,
0x70, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x22, 0x31, 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x22, 0x34, 0x0a, 0x22, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e,
0x49, 0x50, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a,
0x08, 0x69, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52,
0x08, 0x69, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x64, 0x22, 0x38, 0x0a, 0x1a, 0x45, 0x78, 0x69,
0x73, 0x74, 0x73, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x49, 0x50, 0x4c, 0x69, 0x73, 0x74,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x70, 0x4c, 0x69, 0x73,
0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x69, 0x70, 0x4c, 0x69, 0x73,
0x74, 0x49, 0x64, 0x22, 0x35, 0x0a, 0x1b, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x45, 0x6e, 0x61,
0x62, 0x6c, 0x65, 0x64, 0x49, 0x50, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01,
0x28, 0x08, 0x52, 0x06, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x22, 0x34, 0x0a, 0x22, 0x46, 0x69,
0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x49, 0x50, 0x4c, 0x69, 0x73, 0x74, 0x43,
0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x49, 0x50, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x12, 0x0e, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x70,
0x22, 0x4b, 0x0a, 0x23, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x49,
0x50, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x49, 0x50, 0x52,
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x0a, 0x07, 0x69, 0x70, 0x4c, 0x69, 0x73,
0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x70, 0x62, 0x2e, 0x49, 0x50,
0x4c, 0x69, 0x73, 0x74, 0x52, 0x07, 0x69, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x32, 0x86, 0x05,
0x0a, 0x0d, 0x49, 0x50, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12,
0x41, 0x0a, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x50, 0x4c, 0x69, 0x73, 0x74, 0x12,
0x17, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x50, 0x4c, 0x69, 0x73,
0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72,
0x65, 0x61, 0x74, 0x65, 0x49, 0x50, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
0x73, 0x65, 0x12, 0x37, 0x0a, 0x0c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x50, 0x4c, 0x69,
0x73, 0x74, 0x12, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x50,
0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62,
0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x50, 0x0a, 0x11, 0x66,
0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x49, 0x50, 0x4c, 0x69, 0x73, 0x74,
0x12, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65,
0x64, 0x49, 0x50, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d,
0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x49,
0x50, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a,
0x16, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
0x49, 0x50, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x12, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75,
0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x49, 0x50, 0x4c, 0x69,
0x73, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e,
0x52, 0x50, 0x43, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
0x12, 0x53, 0x0a, 0x12, 0x6c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x49,
0x50, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x12, 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74,
0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x49, 0x50, 0x4c, 0x69, 0x73, 0x74, 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, 0x49, 0x50, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x52, 0x65, 0x73,
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x0c, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49,
0x50, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74,
0x65, 0x49, 0x50, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e,
0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x56,
0x0a, 0x13, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x49,
0x50, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1e, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x78, 0x69, 0x73, 0x74,
0x73, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x49, 0x50, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x78, 0x69, 0x73, 0x74,
0x73, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x49, 0x50, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65,
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6e, 0x0a, 0x1b, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e,
0x61, 0x62, 0x6c, 0x65, 0x64, 0x49, 0x50, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x49, 0x50, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x61,
0x69, 0x6e, 0x73, 0x49, 0x50, 0x12, 0x26, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x69, 0x6e, 0x73, 0x49, 0x50, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02,
0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x49, 0x50, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x69, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x70, 0x22, 0x4b, 0x0a, 0x23,
0x61, 0x69, 0x6e, 0x73, 0x49, 0x50, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x49, 0x50, 0x4c, 0x69, 0x73,
0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x49, 0x50, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x49, 0x50, 0x52, 0x65, 0x73, 0x70, 0x6f,
0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x49, 0x50, 0x52, 0x65, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x0a, 0x07, 0x69, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x18, 0x01,
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x70, 0x62, 0x2e, 0x49, 0x50, 0x4c, 0x69, 0x73, 0x74,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x52, 0x07, 0x69, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x32, 0x86, 0x05, 0x0a, 0x0d, 0x49, 0x50,
0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x41, 0x0a, 0x0c, 0x63,
0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x50, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x17, 0x2e, 0x70, 0x62,
0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x50, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65,
0x49, 0x50, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37,
0x0a, 0x0c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x50, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x17,
0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x50, 0x4c, 0x69, 0x73, 0x74,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43,
0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x50, 0x0a, 0x11, 0x66, 0x69, 0x6e, 0x64, 0x45,
0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x49, 0x50, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1c, 0x2e, 0x70,
0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x49, 0x50, 0x4c,
0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x70, 0x62, 0x2e,
0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x49, 0x50, 0x4c, 0x69, 0x73,
0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, 0x16, 0x63, 0x6f, 0x75,
0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x49, 0x50, 0x4c, 0x69,
0x73, 0x74, 0x73, 0x12, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c,
0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x49, 0x50, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x43,
0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x12,
0x6c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x49, 0x50, 0x4c, 0x69, 0x73,
0x74, 0x73, 0x12, 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62,
0x6c, 0x65, 0x64, 0x49, 0x50, 0x4c, 0x69, 0x73, 0x74, 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, 0x49, 0x50, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
0x65, 0x12, 0x37, 0x0a, 0x0c, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x50, 0x4c, 0x69, 0x73,
0x74, 0x12, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x50, 0x4c,
0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e,
0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x56, 0x0a, 0x13, 0x65, 0x78,
0x69, 0x73, 0x74, 0x73, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x49, 0x50, 0x4c, 0x69, 0x73,
0x74, 0x12, 0x1e, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x45, 0x6e, 0x61,
0x62, 0x6c, 0x65, 0x64, 0x49, 0x50, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x1a, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x45, 0x6e, 0x61,
0x62, 0x6c, 0x65, 0x64, 0x49, 0x50, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
0x73, 0x65, 0x12, 0x6e, 0x0a, 0x1b, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65,
0x64, 0x49, 0x50, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x49,
0x50, 0x12, 0x26, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c,
0x65, 0x64, 0x49, 0x50, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73,
0x49, 0x50, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x70, 0x62, 0x2e, 0x46,
0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x49, 0x50, 0x4c, 0x69, 0x73, 0x74,
0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x49, 0x50, 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 ( var (
File diff suppressed because it is too large Load Diff
+24 -4
View File
@@ -40,6 +40,7 @@ type CreateNodeGrantRequest struct {
Username string `protobuf:"bytes,3,opt,name=username,proto3" json:"username,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"` Password string `protobuf:"bytes,4,opt,name=password,proto3" json:"password,omitempty"`
PrivateKey string `protobuf:"bytes,5,opt,name=privateKey,proto3" json:"privateKey,omitempty"` PrivateKey string `protobuf:"bytes,5,opt,name=privateKey,proto3" json:"privateKey,omitempty"`
Passphrase string `protobuf:"bytes,8,opt,name=passphrase,proto3" json:"passphrase,omitempty"`
Description string `protobuf:"bytes,6,opt,name=description,proto3" json:"description,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"` NodeId int64 `protobuf:"varint,7,opt,name=nodeId,proto3" json:"nodeId,omitempty"`
} }
@@ -111,6 +112,13 @@ func (x *CreateNodeGrantRequest) GetPrivateKey() string {
return "" return ""
} }
func (x *CreateNodeGrantRequest) GetPassphrase() string {
if x != nil {
return x.Passphrase
}
return ""
}
func (x *CreateNodeGrantRequest) GetDescription() string { func (x *CreateNodeGrantRequest) GetDescription() string {
if x != nil { if x != nil {
return x.Description return x.Description
@@ -184,6 +192,7 @@ type UpdateNodeGrantRequest struct {
Username string `protobuf:"bytes,3,opt,name=username,proto3" json:"username,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"` Password string `protobuf:"bytes,4,opt,name=password,proto3" json:"password,omitempty"`
PrivateKey string `protobuf:"bytes,5,opt,name=privateKey,proto3" json:"privateKey,omitempty"` PrivateKey string `protobuf:"bytes,5,opt,name=privateKey,proto3" json:"privateKey,omitempty"`
Passphrase string `protobuf:"bytes,9,opt,name=passphrase,proto3" json:"passphrase,omitempty"`
Description string `protobuf:"bytes,6,opt,name=description,proto3" json:"description,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"` NodeId int64 `protobuf:"varint,7,opt,name=nodeId,proto3" json:"nodeId,omitempty"`
} }
@@ -262,6 +271,13 @@ func (x *UpdateNodeGrantRequest) GetPrivateKey() string {
return "" return ""
} }
func (x *UpdateNodeGrantRequest) GetPassphrase() string {
if x != nil {
return x.Passphrase
}
return ""
}
func (x *UpdateNodeGrantRequest) GetDescription() string { func (x *UpdateNodeGrantRequest) GetDescription() string {
if x != nil { if x != nil {
return x.Description return x.Description
@@ -932,7 +948,7 @@ var file_service_node_grant_proto_rawDesc = []byte{
0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x6e, 0x6f, 0x64, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x6e, 0x6f, 0x64,
0x65, 0x5f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x6d, 0x65, 0x5f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x6d,
0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x72, 0x70, 0x63, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x72, 0x70, 0x63, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67,
0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd6, 0x01, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf6, 0x01, 0x0a, 0x16, 0x43, 0x72, 0x65,
0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 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, 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, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f,
@@ -942,15 +958,17 @@ var file_service_node_grant_proto_rawDesc = []byte{
0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 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, 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, 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, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x61, 0x73, 0x73, 0x70,
0x68, 0x72, 0x61, 0x73, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x61, 0x73,
0x73, 0x70, 0x68, 0x72, 0x61, 0x73, 0x65, 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, 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, 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, 0x65, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49,
0x64, 0x22, 0x3b, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x64, 0x22, 0x3b, 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, 0x20, 0x0a, 0x0b, 0x72, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x20, 0x0a, 0x0b,
0x6e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x6e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
0x03, 0x52, 0x0b, 0x6e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x22, 0xf8, 0x03, 0x52, 0x0b, 0x6e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x98,
0x01, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x02, 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, 0x20, 0x0a, 0x0b, 0x6e, 0x6f, 0x64, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x6e, 0x6f, 0x64,
0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b,
0x6e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x6e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e,
@@ -962,6 +980,8 @@ var file_service_node_grant_proto_rawDesc = []byte{
0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 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, 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, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x12,
0x1e, 0x0a, 0x0a, 0x70, 0x61, 0x73, 0x73, 0x70, 0x68, 0x72, 0x61, 0x73, 0x65, 0x18, 0x09, 0x20,
0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x61, 0x73, 0x73, 0x70, 0x68, 0x72, 0x61, 0x73, 0x65, 0x12,
0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 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, 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, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28,
+118 -19
View File
@@ -553,6 +553,45 @@ func (x *UpdateNodeLogsReadRequest) GetNodeLogIds() []int64 {
return nil return nil
} }
// 设置所有日志未已读
type UpdateAllNodeLogsReadRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *UpdateAllNodeLogsReadRequest) Reset() {
*x = UpdateAllNodeLogsReadRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_service_node_log_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UpdateAllNodeLogsReadRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UpdateAllNodeLogsReadRequest) ProtoMessage() {}
func (x *UpdateAllNodeLogsReadRequest) ProtoReflect() protoreflect.Message {
mi := &file_service_node_log_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 UpdateAllNodeLogsReadRequest.ProtoReflect.Descriptor instead.
func (*UpdateAllNodeLogsReadRequest) Descriptor() ([]byte, []int) {
return file_service_node_log_proto_rawDescGZIP(), []int{8}
}
var File_service_node_log_proto protoreflect.FileDescriptor var File_service_node_log_proto protoreflect.FileDescriptor
var file_service_node_log_proto_rawDesc = []byte{ var file_service_node_log_proto_rawDesc = []byte{
@@ -617,8 +656,10 @@ var file_service_node_log_proto_rawDesc = []byte{
0x73, 0x74, 0x22, 0x3b, 0x0a, 0x19, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x74, 0x22, 0x3b, 0x0a, 0x19, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65,
0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
0x1e, 0x0a, 0x0a, 0x6e, 0x6f, 0x64, 0x65, 0x4c, 0x6f, 0x67, 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, 0x1e, 0x0a, 0x0a, 0x6e, 0x6f, 0x64, 0x65, 0x4c, 0x6f, 0x67, 0x49, 0x64, 0x73, 0x18, 0x01, 0x20,
0x03, 0x28, 0x03, 0x52, 0x0a, 0x6e, 0x6f, 0x64, 0x65, 0x4c, 0x6f, 0x67, 0x49, 0x64, 0x73, 0x32, 0x03, 0x28, 0x03, 0x52, 0x0a, 0x6e, 0x6f, 0x64, 0x65, 0x4c, 0x6f, 0x67, 0x49, 0x64, 0x73, 0x22,
0xaa, 0x03, 0x0a, 0x0e, 0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x6f, 0x67, 0x53, 0x65, 0x72, 0x76, 0x69, 0x1e, 0x0a, 0x1c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x6c, 0x6c, 0x4e, 0x6f, 0x64, 0x65,
0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x32,
0xf5, 0x03, 0x0a, 0x0e, 0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x6f, 0x67, 0x53, 0x65, 0x72, 0x76, 0x69,
0x63, 0x65, 0x12, 0x47, 0x0a, 0x0e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x63, 0x65, 0x12, 0x47, 0x0a, 0x0e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65,
0x4c, 0x6f, 0x67, 0x73, 0x12, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4c, 0x6f, 0x67, 0x73, 0x12, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65,
0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
@@ -644,8 +685,13 @@ var file_service_node_log_proto_rawDesc = []byte{
0x65, 0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x61, 0x64, 0x12, 0x1d, 0x2e, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x61, 0x64, 0x12, 0x1d, 0x2e,
0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x6f, 0x67, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x6f, 0x67,
0x73, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x73, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70,
0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x06, 0x5a, 0x04, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x49, 0x0a, 0x15,
0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x6c, 0x6c, 0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x6f, 0x67,
0x73, 0x52, 0x65, 0x61, 0x64, 0x12, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74,
0x65, 0x41, 0x6c, 0x6c, 0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x61, 0x64,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43,
0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62,
0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
} }
var ( var (
@@ -660,7 +706,7 @@ func file_service_node_log_proto_rawDescGZIP() []byte {
return file_service_node_log_proto_rawDescData return file_service_node_log_proto_rawDescData
} }
var file_service_node_log_proto_msgTypes = make([]protoimpl.MessageInfo, 8) var file_service_node_log_proto_msgTypes = make([]protoimpl.MessageInfo, 9)
var file_service_node_log_proto_goTypes = []interface{}{ var file_service_node_log_proto_goTypes = []interface{}{
(*CreateNodeLogsRequest)(nil), // 0: pb.CreateNodeLogsRequest (*CreateNodeLogsRequest)(nil), // 0: pb.CreateNodeLogsRequest
(*CreateNodeLogsResponse)(nil), // 1: pb.CreateNodeLogsResponse (*CreateNodeLogsResponse)(nil), // 1: pb.CreateNodeLogsResponse
@@ -670,27 +716,30 @@ var file_service_node_log_proto_goTypes = []interface{}{
(*FixNodeLogRequest)(nil), // 5: pb.FixNodeLogRequest (*FixNodeLogRequest)(nil), // 5: pb.FixNodeLogRequest
(*CountAllUnreadNodeLogsRequest)(nil), // 6: pb.CountAllUnreadNodeLogsRequest (*CountAllUnreadNodeLogsRequest)(nil), // 6: pb.CountAllUnreadNodeLogsRequest
(*UpdateNodeLogsReadRequest)(nil), // 7: pb.UpdateNodeLogsReadRequest (*UpdateNodeLogsReadRequest)(nil), // 7: pb.UpdateNodeLogsReadRequest
(*NodeLog)(nil), // 8: pb.NodeLog (*UpdateAllNodeLogsReadRequest)(nil), // 8: pb.UpdateAllNodeLogsReadRequest
(*RPCCountResponse)(nil), // 9: pb.RPCCountResponse (*NodeLog)(nil), // 9: pb.NodeLog
(*RPCSuccess)(nil), // 10: pb.RPCSuccess (*RPCCountResponse)(nil), // 10: pb.RPCCountResponse
(*RPCSuccess)(nil), // 11: pb.RPCSuccess
} }
var file_service_node_log_proto_depIdxs = []int32{ var file_service_node_log_proto_depIdxs = []int32{
8, // 0: pb.CreateNodeLogsRequest.nodeLogs:type_name -> pb.NodeLog 9, // 0: pb.CreateNodeLogsRequest.nodeLogs:type_name -> pb.NodeLog
8, // 1: pb.ListNodeLogsResponse.nodeLogs:type_name -> pb.NodeLog 9, // 1: pb.ListNodeLogsResponse.nodeLogs:type_name -> pb.NodeLog
0, // 2: pb.NodeLogService.createNodeLogs:input_type -> pb.CreateNodeLogsRequest 0, // 2: pb.NodeLogService.createNodeLogs:input_type -> pb.CreateNodeLogsRequest
2, // 3: pb.NodeLogService.countNodeLogs:input_type -> pb.CountNodeLogsRequest 2, // 3: pb.NodeLogService.countNodeLogs:input_type -> pb.CountNodeLogsRequest
3, // 4: pb.NodeLogService.listNodeLogs:input_type -> pb.ListNodeLogsRequest 3, // 4: pb.NodeLogService.listNodeLogs:input_type -> pb.ListNodeLogsRequest
5, // 5: pb.NodeLogService.fixNodeLog:input_type -> pb.FixNodeLogRequest 5, // 5: pb.NodeLogService.fixNodeLog:input_type -> pb.FixNodeLogRequest
6, // 6: pb.NodeLogService.countAllUnreadNodeLogs:input_type -> pb.CountAllUnreadNodeLogsRequest 6, // 6: pb.NodeLogService.countAllUnreadNodeLogs:input_type -> pb.CountAllUnreadNodeLogsRequest
7, // 7: pb.NodeLogService.updateNodeLogsRead:input_type -> pb.UpdateNodeLogsReadRequest 7, // 7: pb.NodeLogService.updateNodeLogsRead:input_type -> pb.UpdateNodeLogsReadRequest
1, // 8: pb.NodeLogService.createNodeLogs:output_type -> pb.CreateNodeLogsResponse 8, // 8: pb.NodeLogService.updateAllNodeLogsRead:input_type -> pb.UpdateAllNodeLogsReadRequest
9, // 9: pb.NodeLogService.countNodeLogs:output_type -> pb.RPCCountResponse 1, // 9: pb.NodeLogService.createNodeLogs:output_type -> pb.CreateNodeLogsResponse
4, // 10: pb.NodeLogService.listNodeLogs:output_type -> pb.ListNodeLogsResponse 10, // 10: pb.NodeLogService.countNodeLogs:output_type -> pb.RPCCountResponse
10, // 11: pb.NodeLogService.fixNodeLog:output_type -> pb.RPCSuccess 4, // 11: pb.NodeLogService.listNodeLogs:output_type -> pb.ListNodeLogsResponse
9, // 12: pb.NodeLogService.countAllUnreadNodeLogs:output_type -> pb.RPCCountResponse 11, // 12: pb.NodeLogService.fixNodeLog:output_type -> pb.RPCSuccess
10, // 13: pb.NodeLogService.updateNodeLogsRead:output_type -> pb.RPCSuccess 10, // 13: pb.NodeLogService.countAllUnreadNodeLogs:output_type -> pb.RPCCountResponse
8, // [8:14] is the sub-list for method output_type 11, // 14: pb.NodeLogService.updateNodeLogsRead:output_type -> pb.RPCSuccess
2, // [2:8] is the sub-list for method input_type 11, // 15: pb.NodeLogService.updateAllNodeLogsRead:output_type -> pb.RPCSuccess
9, // [9:16] is the sub-list for method output_type
2, // [2:9] 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 type_name
2, // [2:2] is the sub-list for extension extendee 2, // [2:2] is the sub-list for extension extendee
0, // [0:2] is the sub-list for field type_name 0, // [0:2] is the sub-list for field type_name
@@ -800,6 +849,18 @@ func file_service_node_log_proto_init() {
return nil return nil
} }
} }
file_service_node_log_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UpdateAllNodeLogsReadRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
} }
type x struct{} type x struct{}
out := protoimpl.TypeBuilder{ out := protoimpl.TypeBuilder{
@@ -807,7 +868,7 @@ func file_service_node_log_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(), GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_service_node_log_proto_rawDesc, RawDescriptor: file_service_node_log_proto_rawDesc,
NumEnums: 0, NumEnums: 0,
NumMessages: 8, NumMessages: 9,
NumExtensions: 0, NumExtensions: 0,
NumServices: 1, NumServices: 1,
}, },
@@ -845,6 +906,8 @@ type NodeLogServiceClient interface {
CountAllUnreadNodeLogs(ctx context.Context, in *CountAllUnreadNodeLogsRequest, opts ...grpc.CallOption) (*RPCCountResponse, error) CountAllUnreadNodeLogs(ctx context.Context, in *CountAllUnreadNodeLogsRequest, opts ...grpc.CallOption) (*RPCCountResponse, error)
// 设置日志为已读 // 设置日志为已读
UpdateNodeLogsRead(ctx context.Context, in *UpdateNodeLogsReadRequest, opts ...grpc.CallOption) (*RPCSuccess, error) UpdateNodeLogsRead(ctx context.Context, in *UpdateNodeLogsReadRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
// 设置所有日志未已读
UpdateAllNodeLogsRead(ctx context.Context, in *UpdateAllNodeLogsReadRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
} }
type nodeLogServiceClient struct { type nodeLogServiceClient struct {
@@ -909,6 +972,15 @@ func (c *nodeLogServiceClient) UpdateNodeLogsRead(ctx context.Context, in *Updat
return out, nil return out, nil
} }
func (c *nodeLogServiceClient) UpdateAllNodeLogsRead(ctx context.Context, in *UpdateAllNodeLogsReadRequest, opts ...grpc.CallOption) (*RPCSuccess, error) {
out := new(RPCSuccess)
err := c.cc.Invoke(ctx, "/pb.NodeLogService/updateAllNodeLogsRead", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// NodeLogServiceServer is the server API for NodeLogService service. // NodeLogServiceServer is the server API for NodeLogService service.
type NodeLogServiceServer interface { type NodeLogServiceServer interface {
// 创建日志 // 创建日志
@@ -923,6 +995,8 @@ type NodeLogServiceServer interface {
CountAllUnreadNodeLogs(context.Context, *CountAllUnreadNodeLogsRequest) (*RPCCountResponse, error) CountAllUnreadNodeLogs(context.Context, *CountAllUnreadNodeLogsRequest) (*RPCCountResponse, error)
// 设置日志为已读 // 设置日志为已读
UpdateNodeLogsRead(context.Context, *UpdateNodeLogsReadRequest) (*RPCSuccess, error) UpdateNodeLogsRead(context.Context, *UpdateNodeLogsReadRequest) (*RPCSuccess, error)
// 设置所有日志未已读
UpdateAllNodeLogsRead(context.Context, *UpdateAllNodeLogsReadRequest) (*RPCSuccess, error)
} }
// UnimplementedNodeLogServiceServer can be embedded to have forward compatible implementations. // UnimplementedNodeLogServiceServer can be embedded to have forward compatible implementations.
@@ -947,6 +1021,9 @@ func (*UnimplementedNodeLogServiceServer) CountAllUnreadNodeLogs(context.Context
func (*UnimplementedNodeLogServiceServer) UpdateNodeLogsRead(context.Context, *UpdateNodeLogsReadRequest) (*RPCSuccess, error) { func (*UnimplementedNodeLogServiceServer) UpdateNodeLogsRead(context.Context, *UpdateNodeLogsReadRequest) (*RPCSuccess, error) {
return nil, status.Errorf(codes.Unimplemented, "method UpdateNodeLogsRead not implemented") return nil, status.Errorf(codes.Unimplemented, "method UpdateNodeLogsRead not implemented")
} }
func (*UnimplementedNodeLogServiceServer) UpdateAllNodeLogsRead(context.Context, *UpdateAllNodeLogsReadRequest) (*RPCSuccess, error) {
return nil, status.Errorf(codes.Unimplemented, "method UpdateAllNodeLogsRead not implemented")
}
func RegisterNodeLogServiceServer(s *grpc.Server, srv NodeLogServiceServer) { func RegisterNodeLogServiceServer(s *grpc.Server, srv NodeLogServiceServer) {
s.RegisterService(&_NodeLogService_serviceDesc, srv) s.RegisterService(&_NodeLogService_serviceDesc, srv)
@@ -1060,6 +1137,24 @@ func _NodeLogService_UpdateNodeLogsRead_Handler(srv interface{}, ctx context.Con
return interceptor(ctx, in, info, handler) return interceptor(ctx, in, info, handler)
} }
func _NodeLogService_UpdateAllNodeLogsRead_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(UpdateAllNodeLogsReadRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(NodeLogServiceServer).UpdateAllNodeLogsRead(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/pb.NodeLogService/UpdateAllNodeLogsRead",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(NodeLogServiceServer).UpdateAllNodeLogsRead(ctx, req.(*UpdateAllNodeLogsReadRequest))
}
return interceptor(ctx, in, info, handler)
}
var _NodeLogService_serviceDesc = grpc.ServiceDesc{ var _NodeLogService_serviceDesc = grpc.ServiceDesc{
ServiceName: "pb.NodeLogService", ServiceName: "pb.NodeLogService",
HandlerType: (*NodeLogServiceServer)(nil), HandlerType: (*NodeLogServiceServer)(nil),
@@ -1088,6 +1183,10 @@ var _NodeLogService_serviceDesc = grpc.ServiceDesc{
MethodName: "updateNodeLogsRead", MethodName: "updateNodeLogsRead",
Handler: _NodeLogService_UpdateNodeLogsRead_Handler, Handler: _NodeLogService_UpdateNodeLogsRead_Handler,
}, },
{
MethodName: "updateAllNodeLogsRead",
Handler: _NodeLogService_UpdateAllNodeLogsRead_Handler,
},
}, },
Streams: []grpc.StreamDesc{}, Streams: []grpc.StreamDesc{},
Metadata: "service_node_log.proto", Metadata: "service_node_log.proto",
+50 -51
View File
@@ -37,10 +37,10 @@ type CreatePlanRequest struct {
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,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"` ClusterId int64 `protobuf:"varint,2,opt,name=clusterId,proto3" json:"clusterId,omitempty"`
BandwidthLimitJSON []byte `protobuf:"bytes,3,opt,name=bandwidthLimitJSON,proto3" json:"bandwidthLimitJSON,omitempty"` TrafficLimitJSON []byte `protobuf:"bytes,3,opt,name=trafficLimitJSON,proto3" json:"trafficLimitJSON,omitempty"`
FeaturesJSON []byte `protobuf:"bytes,4,opt,name=featuresJSON,proto3" json:"featuresJSON,omitempty"` FeaturesJSON []byte `protobuf:"bytes,4,opt,name=featuresJSON,proto3" json:"featuresJSON,omitempty"`
PriceType string `protobuf:"bytes,5,opt,name=priceType,proto3" json:"priceType,omitempty"` PriceType string `protobuf:"bytes,5,opt,name=priceType,proto3" json:"priceType,omitempty"`
BandwidthPriceJSON []byte `protobuf:"bytes,6,opt,name=bandwidthPriceJSON,proto3" json:"bandwidthPriceJSON,omitempty"` TrafficPriceJSON []byte `protobuf:"bytes,6,opt,name=trafficPriceJSON,proto3" json:"trafficPriceJSON,omitempty"`
MonthlyPrice float32 `protobuf:"fixed32,7,opt,name=monthlyPrice,proto3" json:"monthlyPrice,omitempty"` MonthlyPrice float32 `protobuf:"fixed32,7,opt,name=monthlyPrice,proto3" json:"monthlyPrice,omitempty"`
SeasonallyPrice float32 `protobuf:"fixed32,8,opt,name=seasonallyPrice,proto3" json:"seasonallyPrice,omitempty"` SeasonallyPrice float32 `protobuf:"fixed32,8,opt,name=seasonallyPrice,proto3" json:"seasonallyPrice,omitempty"`
YearlyPrice float32 `protobuf:"fixed32,9,opt,name=yearlyPrice,proto3" json:"yearlyPrice,omitempty"` YearlyPrice float32 `protobuf:"fixed32,9,opt,name=yearlyPrice,proto3" json:"yearlyPrice,omitempty"`
@@ -92,9 +92,9 @@ func (x *CreatePlanRequest) GetClusterId() int64 {
return 0 return 0
} }
func (x *CreatePlanRequest) GetBandwidthLimitJSON() []byte { func (x *CreatePlanRequest) GetTrafficLimitJSON() []byte {
if x != nil { if x != nil {
return x.BandwidthLimitJSON return x.TrafficLimitJSON
} }
return nil return nil
} }
@@ -113,9 +113,9 @@ func (x *CreatePlanRequest) GetPriceType() string {
return "" return ""
} }
func (x *CreatePlanRequest) GetBandwidthPriceJSON() []byte { func (x *CreatePlanRequest) GetTrafficPriceJSON() []byte {
if x != nil { if x != nil {
return x.BandwidthPriceJSON return x.TrafficPriceJSON
} }
return nil return nil
} }
@@ -198,10 +198,10 @@ type UpdatePlanRequest struct {
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
IsOn bool `protobuf:"varint,3,opt,name=isOn,proto3" json:"isOn,omitempty"` IsOn bool `protobuf:"varint,3,opt,name=isOn,proto3" json:"isOn,omitempty"`
ClusterId int64 `protobuf:"varint,4,opt,name=clusterId,proto3" json:"clusterId,omitempty"` ClusterId int64 `protobuf:"varint,4,opt,name=clusterId,proto3" json:"clusterId,omitempty"`
BandwidthLimitJSON []byte `protobuf:"bytes,5,opt,name=bandwidthLimitJSON,proto3" json:"bandwidthLimitJSON,omitempty"` TrafficLimitJSON []byte `protobuf:"bytes,5,opt,name=trafficLimitJSON,proto3" json:"trafficLimitJSON,omitempty"`
FeaturesJSON []byte `protobuf:"bytes,6,opt,name=featuresJSON,proto3" json:"featuresJSON,omitempty"` FeaturesJSON []byte `protobuf:"bytes,6,opt,name=featuresJSON,proto3" json:"featuresJSON,omitempty"`
PriceType string `protobuf:"bytes,7,opt,name=priceType,proto3" json:"priceType,omitempty"` PriceType string `protobuf:"bytes,7,opt,name=priceType,proto3" json:"priceType,omitempty"`
BandwidthPriceJSON []byte `protobuf:"bytes,8,opt,name=bandwidthPriceJSON,proto3" json:"bandwidthPriceJSON,omitempty"` TrafficPriceJSON []byte `protobuf:"bytes,8,opt,name=trafficPriceJSON,proto3" json:"trafficPriceJSON,omitempty"`
MonthlyPrice float32 `protobuf:"fixed32,9,opt,name=monthlyPrice,proto3" json:"monthlyPrice,omitempty"` MonthlyPrice float32 `protobuf:"fixed32,9,opt,name=monthlyPrice,proto3" json:"monthlyPrice,omitempty"`
SeasonallyPrice float32 `protobuf:"fixed32,10,opt,name=seasonallyPrice,proto3" json:"seasonallyPrice,omitempty"` SeasonallyPrice float32 `protobuf:"fixed32,10,opt,name=seasonallyPrice,proto3" json:"seasonallyPrice,omitempty"`
YearlyPrice float32 `protobuf:"fixed32,11,opt,name=yearlyPrice,proto3" json:"yearlyPrice,omitempty"` YearlyPrice float32 `protobuf:"fixed32,11,opt,name=yearlyPrice,proto3" json:"yearlyPrice,omitempty"`
@@ -267,9 +267,9 @@ func (x *UpdatePlanRequest) GetClusterId() int64 {
return 0 return 0
} }
func (x *UpdatePlanRequest) GetBandwidthLimitJSON() []byte { func (x *UpdatePlanRequest) GetTrafficLimitJSON() []byte {
if x != nil { if x != nil {
return x.BandwidthLimitJSON return x.TrafficLimitJSON
} }
return nil return nil
} }
@@ -288,9 +288,9 @@ func (x *UpdatePlanRequest) GetPriceType() string {
return "" return ""
} }
func (x *UpdatePlanRequest) GetBandwidthPriceJSON() []byte { func (x *UpdatePlanRequest) GetTrafficPriceJSON() []byte {
if x != nil { if x != nil {
return x.BandwidthPriceJSON return x.TrafficPriceJSON
} }
return nil return nil
} }
@@ -656,49 +656,48 @@ var file_service_plan_proto_rawDesc = []byte{
0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x1a, 0x17, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x1a, 0x17, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73,
0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x1a, 0x19, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x72, 0x70, 0x63, 0x5f, 0x6d, 0x65, 0x6f, 0x1a, 0x19, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x72, 0x70, 0x63, 0x5f, 0x6d, 0x65,
0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd7, 0x02, 0x0a, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xcf, 0x02, 0x0a,
0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 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, 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, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74,
0x65, 0x72, 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x12, 0x62, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x10, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x4c,
0x68, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x69, 0x6d, 0x69, 0x74, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x10,
0x52, 0x12, 0x62, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4a, 0x53, 0x4f, 0x4e,
0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x22, 0x0a, 0x0c, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x4a, 0x53, 0x4f, 0x4e,
0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x66, 0x65, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73,
0x75, 0x72, 0x65, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x72, 0x69, 0x63, 0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x72, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70,
0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x69, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x69, 0x63, 0x65, 0x54, 0x79,
0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2e, 0x0a, 0x12, 0x62, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x70, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x50, 0x72, 0x69,
0x64, 0x74, 0x68, 0x50, 0x72, 0x69, 0x63, 0x65, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x06, 0x20, 0x01, 0x63, 0x65, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x10, 0x74, 0x72,
0x28, 0x0c, 0x52, 0x12, 0x62, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x50, 0x72, 0x69, 0x61, 0x66, 0x66, 0x69, 0x63, 0x50, 0x72, 0x69, 0x63, 0x65, 0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x22,
0x63, 0x65, 0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x22, 0x0a, 0x0c, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x0a, 0x0c, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x07,
0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x6d, 0x6f, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x50, 0x72, 0x69,
0x6e, 0x74, 0x68, 0x6c, 0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x73, 0x65, 0x63, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x73, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x6c, 0x79,
0x61, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x6c, 0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x08, 0x20, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0f, 0x73, 0x65, 0x61,
0x01, 0x28, 0x02, 0x52, 0x0f, 0x73, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x6c, 0x79, 0x50, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x6c, 0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x20, 0x0a, 0x0b,
0x72, 0x69, 0x63, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x79, 0x65, 0x61, 0x72, 0x6c, 0x79, 0x50, 0x72, 0x79, 0x65, 0x61, 0x72, 0x6c, 0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28,
0x69, 0x63, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, 0x79, 0x65, 0x61, 0x72, 0x6c, 0x02, 0x52, 0x0b, 0x79, 0x65, 0x61, 0x72, 0x6c, 0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x22, 0x2c,
0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x22, 0x2c, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x52, 0x65, 0x73, 0x70,
0x50, 0x6c, 0x61, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6c, 0x61, 0x6e, 0x49, 0x64, 0x18, 0x01,
0x70, 0x6c, 0x61, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x70, 0x6c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x70, 0x6c, 0x61, 0x6e, 0x49, 0x64, 0x22, 0xfb, 0x02, 0x0a,
0x61, 0x6e, 0x49, 0x64, 0x22, 0x83, 0x03, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65,
0x6c, 0x61, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6c, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6c, 0x61, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01,
0x61, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x70, 0x6c, 0x61, 0x6e, 0x28, 0x03, 0x52, 0x06, 0x70, 0x6c, 0x61, 0x6e, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61,
0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12,
0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x18, 0x03, 0x0a, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73,
0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6c, 0x4f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18,
0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64,
0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x12, 0x62, 0x61, 0x6e, 0x64, 0x12, 0x2a, 0x0a, 0x10, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x4c, 0x69, 0x6d, 0x69, 0x74,
0x77, 0x69, 0x64, 0x74, 0x68, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x05, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x10, 0x74, 0x72, 0x61, 0x66,
0x20, 0x01, 0x28, 0x0c, 0x52, 0x12, 0x62, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x4c, 0x66, 0x69, 0x63, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x22, 0x0a, 0x0c,
0x69, 0x6d, 0x69, 0x74, 0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x22, 0x0a, 0x0c, 0x66, 0x65, 0x61, 0x74, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x06, 0x20, 0x01,
0x75, 0x72, 0x65, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x28, 0x0c, 0x52, 0x0c, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x4a, 0x53, 0x4f, 0x4e,
0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x1c, 0x0a, 0x09, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x72, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20,
0x70, 0x72, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2a,
0x09, 0x70, 0x72, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2e, 0x0a, 0x12, 0x62, 0x61, 0x0a, 0x10, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x50, 0x72, 0x69, 0x63, 0x65, 0x4a, 0x53,
0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x50, 0x72, 0x69, 0x63, 0x65, 0x4a, 0x53, 0x4f, 0x4e, 0x4f, 0x4e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x10, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69,
0x18, 0x08, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x12, 0x62, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x63, 0x50, 0x72, 0x69, 0x63, 0x65, 0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x22, 0x0a, 0x0c, 0x6d, 0x6f,
0x68, 0x50, 0x72, 0x69, 0x63, 0x65, 0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x22, 0x0a, 0x0c, 0x6d, 0x6f,
0x6e, 0x74, 0x68, 0x6c, 0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x02, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x02,
0x52, 0x0c, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x28, 0x52, 0x0c, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x28,
0x0a, 0x0f, 0x73, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x6c, 0x79, 0x50, 0x72, 0x69, 0x63, 0x0a, 0x0f, 0x73, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x6c, 0x79, 0x50, 0x72, 0x69, 0x63,
File diff suppressed because it is too large Load Diff
+952
View File
@@ -0,0 +1,952 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.25.0
// protoc v3.12.3
// source: service_user_account.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 CountUserAccountsRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Keyword string `protobuf:"bytes,1,opt,name=keyword,proto3" json:"keyword,omitempty"`
}
func (x *CountUserAccountsRequest) Reset() {
*x = CountUserAccountsRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_service_user_account_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CountUserAccountsRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CountUserAccountsRequest) ProtoMessage() {}
func (x *CountUserAccountsRequest) ProtoReflect() protoreflect.Message {
mi := &file_service_user_account_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 CountUserAccountsRequest.ProtoReflect.Descriptor instead.
func (*CountUserAccountsRequest) Descriptor() ([]byte, []int) {
return file_service_user_account_proto_rawDescGZIP(), []int{0}
}
func (x *CountUserAccountsRequest) GetKeyword() string {
if x != nil {
return x.Keyword
}
return ""
}
// 列出单页账户
type ListUserAccountsRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Keyword string `protobuf:"bytes,1,opt,name=keyword,proto3" json:"keyword,omitempty"`
Offset int64 `protobuf:"varint,2,opt,name=offset,proto3" json:"offset,omitempty"`
Size int64 `protobuf:"varint,3,opt,name=size,proto3" json:"size,omitempty"`
}
func (x *ListUserAccountsRequest) Reset() {
*x = ListUserAccountsRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_service_user_account_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListUserAccountsRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListUserAccountsRequest) ProtoMessage() {}
func (x *ListUserAccountsRequest) ProtoReflect() protoreflect.Message {
mi := &file_service_user_account_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 ListUserAccountsRequest.ProtoReflect.Descriptor instead.
func (*ListUserAccountsRequest) Descriptor() ([]byte, []int) {
return file_service_user_account_proto_rawDescGZIP(), []int{1}
}
func (x *ListUserAccountsRequest) GetKeyword() string {
if x != nil {
return x.Keyword
}
return ""
}
func (x *ListUserAccountsRequest) GetOffset() int64 {
if x != nil {
return x.Offset
}
return 0
}
func (x *ListUserAccountsRequest) GetSize() int64 {
if x != nil {
return x.Size
}
return 0
}
type ListUserAccountsResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
UserAccounts []*UserAccount `protobuf:"bytes,1,rep,name=userAccounts,proto3" json:"userAccounts,omitempty"`
}
func (x *ListUserAccountsResponse) Reset() {
*x = ListUserAccountsResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_service_user_account_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListUserAccountsResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListUserAccountsResponse) ProtoMessage() {}
func (x *ListUserAccountsResponse) ProtoReflect() protoreflect.Message {
mi := &file_service_user_account_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 ListUserAccountsResponse.ProtoReflect.Descriptor instead.
func (*ListUserAccountsResponse) Descriptor() ([]byte, []int) {
return file_service_user_account_proto_rawDescGZIP(), []int{2}
}
func (x *ListUserAccountsResponse) GetUserAccounts() []*UserAccount {
if x != nil {
return x.UserAccounts
}
return nil
}
// 根据用户ID查找单个账户
type FindEnabledUserAccountWithUserIdRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
UserId int64 `protobuf:"varint,1,opt,name=userId,proto3" json:"userId,omitempty"`
}
func (x *FindEnabledUserAccountWithUserIdRequest) Reset() {
*x = FindEnabledUserAccountWithUserIdRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_service_user_account_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FindEnabledUserAccountWithUserIdRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FindEnabledUserAccountWithUserIdRequest) ProtoMessage() {}
func (x *FindEnabledUserAccountWithUserIdRequest) ProtoReflect() protoreflect.Message {
mi := &file_service_user_account_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 FindEnabledUserAccountWithUserIdRequest.ProtoReflect.Descriptor instead.
func (*FindEnabledUserAccountWithUserIdRequest) Descriptor() ([]byte, []int) {
return file_service_user_account_proto_rawDescGZIP(), []int{3}
}
func (x *FindEnabledUserAccountWithUserIdRequest) GetUserId() int64 {
if x != nil {
return x.UserId
}
return 0
}
type FindEnabledUserAccountWithUserIdResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
UserAccount *UserAccount `protobuf:"bytes,1,opt,name=userAccount,proto3" json:"userAccount,omitempty"`
}
func (x *FindEnabledUserAccountWithUserIdResponse) Reset() {
*x = FindEnabledUserAccountWithUserIdResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_service_user_account_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FindEnabledUserAccountWithUserIdResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FindEnabledUserAccountWithUserIdResponse) ProtoMessage() {}
func (x *FindEnabledUserAccountWithUserIdResponse) ProtoReflect() protoreflect.Message {
mi := &file_service_user_account_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 FindEnabledUserAccountWithUserIdResponse.ProtoReflect.Descriptor instead.
func (*FindEnabledUserAccountWithUserIdResponse) Descriptor() ([]byte, []int) {
return file_service_user_account_proto_rawDescGZIP(), []int{4}
}
func (x *FindEnabledUserAccountWithUserIdResponse) GetUserAccount() *UserAccount {
if x != nil {
return x.UserAccount
}
return nil
}
// 查找单个账户
type FindEnabledUserAccountRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
UserAccountId int64 `protobuf:"varint,1,opt,name=userAccountId,proto3" json:"userAccountId,omitempty"`
}
func (x *FindEnabledUserAccountRequest) Reset() {
*x = FindEnabledUserAccountRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_service_user_account_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FindEnabledUserAccountRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FindEnabledUserAccountRequest) ProtoMessage() {}
func (x *FindEnabledUserAccountRequest) ProtoReflect() protoreflect.Message {
mi := &file_service_user_account_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 FindEnabledUserAccountRequest.ProtoReflect.Descriptor instead.
func (*FindEnabledUserAccountRequest) Descriptor() ([]byte, []int) {
return file_service_user_account_proto_rawDescGZIP(), []int{5}
}
func (x *FindEnabledUserAccountRequest) GetUserAccountId() int64 {
if x != nil {
return x.UserAccountId
}
return 0
}
type FindEnabledUserAccountResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
UserAccount *UserAccount `protobuf:"bytes,1,opt,name=userAccount,proto3" json:"userAccount,omitempty"`
}
func (x *FindEnabledUserAccountResponse) Reset() {
*x = FindEnabledUserAccountResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_service_user_account_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FindEnabledUserAccountResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FindEnabledUserAccountResponse) ProtoMessage() {}
func (x *FindEnabledUserAccountResponse) ProtoReflect() protoreflect.Message {
mi := &file_service_user_account_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 FindEnabledUserAccountResponse.ProtoReflect.Descriptor instead.
func (*FindEnabledUserAccountResponse) Descriptor() ([]byte, []int) {
return file_service_user_account_proto_rawDescGZIP(), []int{6}
}
func (x *FindEnabledUserAccountResponse) GetUserAccount() *UserAccount {
if x != nil {
return x.UserAccount
}
return nil
}
// 修改用户账户
type UpdateUserAccountRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
UserAccountId int64 `protobuf:"varint,1,opt,name=userAccountId,proto3" json:"userAccountId,omitempty"`
Delta float32 `protobuf:"fixed32,2,opt,name=delta,proto3" json:"delta,omitempty"`
EventType string `protobuf:"bytes,3,opt,name=eventType,proto3" json:"eventType,omitempty"`
Description string `protobuf:"bytes,4,opt,name=description,proto3" json:"description,omitempty"`
ParamsJSON []byte `protobuf:"bytes,5,opt,name=paramsJSON,proto3" json:"paramsJSON,omitempty"`
}
func (x *UpdateUserAccountRequest) Reset() {
*x = UpdateUserAccountRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_service_user_account_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UpdateUserAccountRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UpdateUserAccountRequest) ProtoMessage() {}
func (x *UpdateUserAccountRequest) ProtoReflect() protoreflect.Message {
mi := &file_service_user_account_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 UpdateUserAccountRequest.ProtoReflect.Descriptor instead.
func (*UpdateUserAccountRequest) Descriptor() ([]byte, []int) {
return file_service_user_account_proto_rawDescGZIP(), []int{7}
}
func (x *UpdateUserAccountRequest) GetUserAccountId() int64 {
if x != nil {
return x.UserAccountId
}
return 0
}
func (x *UpdateUserAccountRequest) GetDelta() float32 {
if x != nil {
return x.Delta
}
return 0
}
func (x *UpdateUserAccountRequest) GetEventType() string {
if x != nil {
return x.EventType
}
return ""
}
func (x *UpdateUserAccountRequest) GetDescription() string {
if x != nil {
return x.Description
}
return ""
}
func (x *UpdateUserAccountRequest) GetParamsJSON() []byte {
if x != nil {
return x.ParamsJSON
}
return nil
}
var File_service_user_account_proto protoreflect.FileDescriptor
var file_service_user_account_proto_rawDesc = []byte{
0x0a, 0x1a, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61,
0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62,
0x1a, 0x1f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x75,
0x73, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x1a, 0x19, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x72, 0x70, 0x63, 0x5f, 0x6d, 0x65,
0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x34, 0x0a, 0x18,
0x43, 0x6f, 0x75, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74,
0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6b, 0x65, 0x79, 0x77,
0x6f, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f,
0x72, 0x64, 0x22, 0x5f, 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63,
0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a,
0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07,
0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65,
0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12,
0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73,
0x69, 0x7a, 0x65, 0x22, 0x4f, 0x0a, 0x18, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41,
0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
0x33, 0x0a, 0x0c, 0x75, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18,
0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x41,
0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0c, 0x75, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f,
0x75, 0x6e, 0x74, 0x73, 0x22, 0x41, 0x0a, 0x27, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62,
0x6c, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x57, 0x69,
0x74, 0x68, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 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, 0x22, 0x5d, 0x0a, 0x28, 0x46, 0x69, 0x6e, 0x64, 0x45,
0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e,
0x74, 0x57, 0x69, 0x74, 0x68, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f,
0x6e, 0x73, 0x65, 0x12, 0x31, 0x0a, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75,
0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x73,
0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x41,
0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x45, 0x0a, 0x1d, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e,
0x61, 0x62, 0x6c, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x75, 0x73, 0x65, 0x72, 0x41,
0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d,
0x75, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x53, 0x0a,
0x1e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72,
0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
0x31, 0x0a, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63,
0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75,
0x6e, 0x74, 0x22, 0xb6, 0x01, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65,
0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
0x24, 0x0a, 0x0d, 0x75, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64,
0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x75, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f,
0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x18, 0x02,
0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x12, 0x1c, 0x0a, 0x09, 0x65,
0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09,
0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73,
0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b,
0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x70,
0x61, 0x72, 0x61, 0x6d, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52,
0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x32, 0xcf, 0x03, 0x0a, 0x12,
0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69,
0x63, 0x65, 0x12, 0x47, 0x0a, 0x11, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41,
0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75,
0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x43, 0x6f,
0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x10, 0x6c,
0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12,
0x1b, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63,
0x6f, 0x75, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x70,
0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e,
0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7d, 0x0a, 0x20, 0x66, 0x69,
0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63,
0x6f, 0x75, 0x6e, 0x74, 0x57, 0x69, 0x74, 0x68, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x2b,
0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x55,
0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x57, 0x69, 0x74, 0x68, 0x55, 0x73,
0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x70, 0x62,
0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72,
0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x57, 0x69, 0x74, 0x68, 0x55, 0x73, 0x65, 0x72, 0x49,
0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x16, 0x66, 0x69, 0x6e,
0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f,
0x75, 0x6e, 0x74, 0x12, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61,
0x62, 0x6c, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64,
0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75,
0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x11, 0x75, 0x70,
0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12,
0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41,
0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e,
0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x06, 0x5a,
0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_service_user_account_proto_rawDescOnce sync.Once
file_service_user_account_proto_rawDescData = file_service_user_account_proto_rawDesc
)
func file_service_user_account_proto_rawDescGZIP() []byte {
file_service_user_account_proto_rawDescOnce.Do(func() {
file_service_user_account_proto_rawDescData = protoimpl.X.CompressGZIP(file_service_user_account_proto_rawDescData)
})
return file_service_user_account_proto_rawDescData
}
var file_service_user_account_proto_msgTypes = make([]protoimpl.MessageInfo, 8)
var file_service_user_account_proto_goTypes = []interface{}{
(*CountUserAccountsRequest)(nil), // 0: pb.CountUserAccountsRequest
(*ListUserAccountsRequest)(nil), // 1: pb.ListUserAccountsRequest
(*ListUserAccountsResponse)(nil), // 2: pb.ListUserAccountsResponse
(*FindEnabledUserAccountWithUserIdRequest)(nil), // 3: pb.FindEnabledUserAccountWithUserIdRequest
(*FindEnabledUserAccountWithUserIdResponse)(nil), // 4: pb.FindEnabledUserAccountWithUserIdResponse
(*FindEnabledUserAccountRequest)(nil), // 5: pb.FindEnabledUserAccountRequest
(*FindEnabledUserAccountResponse)(nil), // 6: pb.FindEnabledUserAccountResponse
(*UpdateUserAccountRequest)(nil), // 7: pb.UpdateUserAccountRequest
(*UserAccount)(nil), // 8: pb.UserAccount
(*RPCCountResponse)(nil), // 9: pb.RPCCountResponse
(*RPCSuccess)(nil), // 10: pb.RPCSuccess
}
var file_service_user_account_proto_depIdxs = []int32{
8, // 0: pb.ListUserAccountsResponse.userAccounts:type_name -> pb.UserAccount
8, // 1: pb.FindEnabledUserAccountWithUserIdResponse.userAccount:type_name -> pb.UserAccount
8, // 2: pb.FindEnabledUserAccountResponse.userAccount:type_name -> pb.UserAccount
0, // 3: pb.UserAccountService.countUserAccounts:input_type -> pb.CountUserAccountsRequest
1, // 4: pb.UserAccountService.listUserAccounts:input_type -> pb.ListUserAccountsRequest
3, // 5: pb.UserAccountService.findEnabledUserAccountWithUserId:input_type -> pb.FindEnabledUserAccountWithUserIdRequest
5, // 6: pb.UserAccountService.findEnabledUserAccount:input_type -> pb.FindEnabledUserAccountRequest
7, // 7: pb.UserAccountService.updateUserAccount:input_type -> pb.UpdateUserAccountRequest
9, // 8: pb.UserAccountService.countUserAccounts:output_type -> pb.RPCCountResponse
2, // 9: pb.UserAccountService.listUserAccounts:output_type -> pb.ListUserAccountsResponse
4, // 10: pb.UserAccountService.findEnabledUserAccountWithUserId:output_type -> pb.FindEnabledUserAccountWithUserIdResponse
6, // 11: pb.UserAccountService.findEnabledUserAccount:output_type -> pb.FindEnabledUserAccountResponse
10, // 12: pb.UserAccountService.updateUserAccount:output_type -> pb.RPCSuccess
8, // [8:13] is the sub-list for method output_type
3, // [3:8] is the sub-list for method input_type
3, // [3:3] is the sub-list for extension type_name
3, // [3:3] is the sub-list for extension extendee
0, // [0:3] is the sub-list for field type_name
}
func init() { file_service_user_account_proto_init() }
func file_service_user_account_proto_init() {
if File_service_user_account_proto != nil {
return
}
file_models_model_user_account_proto_init()
file_models_rpc_messages_proto_init()
if !protoimpl.UnsafeEnabled {
file_service_user_account_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CountUserAccountsRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_user_account_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListUserAccountsRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_user_account_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListUserAccountsResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_user_account_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FindEnabledUserAccountWithUserIdRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_user_account_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FindEnabledUserAccountWithUserIdResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_user_account_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FindEnabledUserAccountRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_user_account_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FindEnabledUserAccountResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_user_account_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UpdateUserAccountRequest); 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_user_account_proto_rawDesc,
NumEnums: 0,
NumMessages: 8,
NumExtensions: 0,
NumServices: 1,
},
GoTypes: file_service_user_account_proto_goTypes,
DependencyIndexes: file_service_user_account_proto_depIdxs,
MessageInfos: file_service_user_account_proto_msgTypes,
}.Build()
File_service_user_account_proto = out.File
file_service_user_account_proto_rawDesc = nil
file_service_user_account_proto_goTypes = nil
file_service_user_account_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
// UserAccountServiceClient is the client API for UserAccountService service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type UserAccountServiceClient interface {
// 计算账户数量
CountUserAccounts(ctx context.Context, in *CountUserAccountsRequest, opts ...grpc.CallOption) (*RPCCountResponse, error)
// 列出单页账户
ListUserAccounts(ctx context.Context, in *ListUserAccountsRequest, opts ...grpc.CallOption) (*ListUserAccountsResponse, error)
// 根据用户ID查找单个账户
FindEnabledUserAccountWithUserId(ctx context.Context, in *FindEnabledUserAccountWithUserIdRequest, opts ...grpc.CallOption) (*FindEnabledUserAccountWithUserIdResponse, error)
// 查找单个账户
FindEnabledUserAccount(ctx context.Context, in *FindEnabledUserAccountRequest, opts ...grpc.CallOption) (*FindEnabledUserAccountResponse, error)
// 修改用户账户
UpdateUserAccount(ctx context.Context, in *UpdateUserAccountRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
}
type userAccountServiceClient struct {
cc grpc.ClientConnInterface
}
func NewUserAccountServiceClient(cc grpc.ClientConnInterface) UserAccountServiceClient {
return &userAccountServiceClient{cc}
}
func (c *userAccountServiceClient) CountUserAccounts(ctx context.Context, in *CountUserAccountsRequest, opts ...grpc.CallOption) (*RPCCountResponse, error) {
out := new(RPCCountResponse)
err := c.cc.Invoke(ctx, "/pb.UserAccountService/countUserAccounts", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *userAccountServiceClient) ListUserAccounts(ctx context.Context, in *ListUserAccountsRequest, opts ...grpc.CallOption) (*ListUserAccountsResponse, error) {
out := new(ListUserAccountsResponse)
err := c.cc.Invoke(ctx, "/pb.UserAccountService/listUserAccounts", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *userAccountServiceClient) FindEnabledUserAccountWithUserId(ctx context.Context, in *FindEnabledUserAccountWithUserIdRequest, opts ...grpc.CallOption) (*FindEnabledUserAccountWithUserIdResponse, error) {
out := new(FindEnabledUserAccountWithUserIdResponse)
err := c.cc.Invoke(ctx, "/pb.UserAccountService/findEnabledUserAccountWithUserId", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *userAccountServiceClient) FindEnabledUserAccount(ctx context.Context, in *FindEnabledUserAccountRequest, opts ...grpc.CallOption) (*FindEnabledUserAccountResponse, error) {
out := new(FindEnabledUserAccountResponse)
err := c.cc.Invoke(ctx, "/pb.UserAccountService/findEnabledUserAccount", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *userAccountServiceClient) UpdateUserAccount(ctx context.Context, in *UpdateUserAccountRequest, opts ...grpc.CallOption) (*RPCSuccess, error) {
out := new(RPCSuccess)
err := c.cc.Invoke(ctx, "/pb.UserAccountService/updateUserAccount", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// UserAccountServiceServer is the server API for UserAccountService service.
type UserAccountServiceServer interface {
// 计算账户数量
CountUserAccounts(context.Context, *CountUserAccountsRequest) (*RPCCountResponse, error)
// 列出单页账户
ListUserAccounts(context.Context, *ListUserAccountsRequest) (*ListUserAccountsResponse, error)
// 根据用户ID查找单个账户
FindEnabledUserAccountWithUserId(context.Context, *FindEnabledUserAccountWithUserIdRequest) (*FindEnabledUserAccountWithUserIdResponse, error)
// 查找单个账户
FindEnabledUserAccount(context.Context, *FindEnabledUserAccountRequest) (*FindEnabledUserAccountResponse, error)
// 修改用户账户
UpdateUserAccount(context.Context, *UpdateUserAccountRequest) (*RPCSuccess, error)
}
// UnimplementedUserAccountServiceServer can be embedded to have forward compatible implementations.
type UnimplementedUserAccountServiceServer struct {
}
func (*UnimplementedUserAccountServiceServer) CountUserAccounts(context.Context, *CountUserAccountsRequest) (*RPCCountResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method CountUserAccounts not implemented")
}
func (*UnimplementedUserAccountServiceServer) ListUserAccounts(context.Context, *ListUserAccountsRequest) (*ListUserAccountsResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method ListUserAccounts not implemented")
}
func (*UnimplementedUserAccountServiceServer) FindEnabledUserAccountWithUserId(context.Context, *FindEnabledUserAccountWithUserIdRequest) (*FindEnabledUserAccountWithUserIdResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method FindEnabledUserAccountWithUserId not implemented")
}
func (*UnimplementedUserAccountServiceServer) FindEnabledUserAccount(context.Context, *FindEnabledUserAccountRequest) (*FindEnabledUserAccountResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method FindEnabledUserAccount not implemented")
}
func (*UnimplementedUserAccountServiceServer) UpdateUserAccount(context.Context, *UpdateUserAccountRequest) (*RPCSuccess, error) {
return nil, status.Errorf(codes.Unimplemented, "method UpdateUserAccount not implemented")
}
func RegisterUserAccountServiceServer(s *grpc.Server, srv UserAccountServiceServer) {
s.RegisterService(&_UserAccountService_serviceDesc, srv)
}
func _UserAccountService_CountUserAccounts_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(CountUserAccountsRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(UserAccountServiceServer).CountUserAccounts(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/pb.UserAccountService/CountUserAccounts",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(UserAccountServiceServer).CountUserAccounts(ctx, req.(*CountUserAccountsRequest))
}
return interceptor(ctx, in, info, handler)
}
func _UserAccountService_ListUserAccounts_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ListUserAccountsRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(UserAccountServiceServer).ListUserAccounts(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/pb.UserAccountService/ListUserAccounts",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(UserAccountServiceServer).ListUserAccounts(ctx, req.(*ListUserAccountsRequest))
}
return interceptor(ctx, in, info, handler)
}
func _UserAccountService_FindEnabledUserAccountWithUserId_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(FindEnabledUserAccountWithUserIdRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(UserAccountServiceServer).FindEnabledUserAccountWithUserId(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/pb.UserAccountService/FindEnabledUserAccountWithUserId",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(UserAccountServiceServer).FindEnabledUserAccountWithUserId(ctx, req.(*FindEnabledUserAccountWithUserIdRequest))
}
return interceptor(ctx, in, info, handler)
}
func _UserAccountService_FindEnabledUserAccount_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(FindEnabledUserAccountRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(UserAccountServiceServer).FindEnabledUserAccount(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/pb.UserAccountService/FindEnabledUserAccount",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(UserAccountServiceServer).FindEnabledUserAccount(ctx, req.(*FindEnabledUserAccountRequest))
}
return interceptor(ctx, in, info, handler)
}
func _UserAccountService_UpdateUserAccount_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(UpdateUserAccountRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(UserAccountServiceServer).UpdateUserAccount(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/pb.UserAccountService/UpdateUserAccount",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(UserAccountServiceServer).UpdateUserAccount(ctx, req.(*UpdateUserAccountRequest))
}
return interceptor(ctx, in, info, handler)
}
var _UserAccountService_serviceDesc = grpc.ServiceDesc{
ServiceName: "pb.UserAccountService",
HandlerType: (*UserAccountServiceServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "countUserAccounts",
Handler: _UserAccountService_CountUserAccounts_Handler,
},
{
MethodName: "listUserAccounts",
Handler: _UserAccountService_ListUserAccounts_Handler,
},
{
MethodName: "findEnabledUserAccountWithUserId",
Handler: _UserAccountService_FindEnabledUserAccountWithUserId_Handler,
},
{
MethodName: "findEnabledUserAccount",
Handler: _UserAccountService_FindEnabledUserAccount_Handler,
},
{
MethodName: "updateUserAccount",
Handler: _UserAccountService_UpdateUserAccount_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "service_user_account.proto",
}
@@ -0,0 +1,674 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.25.0
// protoc v3.12.3
// source: service_user_account_daily_stat.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 ListUserAccountDailyStatsRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
DayFrom string `protobuf:"bytes,1,opt,name=dayFrom,proto3" json:"dayFrom,omitempty"`
DayTo string `protobuf:"bytes,2,opt,name=dayTo,proto3" json:"dayTo,omitempty"`
}
func (x *ListUserAccountDailyStatsRequest) Reset() {
*x = ListUserAccountDailyStatsRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_service_user_account_daily_stat_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListUserAccountDailyStatsRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListUserAccountDailyStatsRequest) ProtoMessage() {}
func (x *ListUserAccountDailyStatsRequest) ProtoReflect() protoreflect.Message {
mi := &file_service_user_account_daily_stat_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 ListUserAccountDailyStatsRequest.ProtoReflect.Descriptor instead.
func (*ListUserAccountDailyStatsRequest) Descriptor() ([]byte, []int) {
return file_service_user_account_daily_stat_proto_rawDescGZIP(), []int{0}
}
func (x *ListUserAccountDailyStatsRequest) GetDayFrom() string {
if x != nil {
return x.DayFrom
}
return ""
}
func (x *ListUserAccountDailyStatsRequest) GetDayTo() string {
if x != nil {
return x.DayTo
}
return ""
}
type ListUserAccountDailyStatsResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Stats []*ListUserAccountDailyStatsResponse_Stat `protobuf:"bytes,1,rep,name=stats,proto3" json:"stats,omitempty"`
}
func (x *ListUserAccountDailyStatsResponse) Reset() {
*x = ListUserAccountDailyStatsResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_service_user_account_daily_stat_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListUserAccountDailyStatsResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListUserAccountDailyStatsResponse) ProtoMessage() {}
func (x *ListUserAccountDailyStatsResponse) ProtoReflect() protoreflect.Message {
mi := &file_service_user_account_daily_stat_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 ListUserAccountDailyStatsResponse.ProtoReflect.Descriptor instead.
func (*ListUserAccountDailyStatsResponse) Descriptor() ([]byte, []int) {
return file_service_user_account_daily_stat_proto_rawDescGZIP(), []int{1}
}
func (x *ListUserAccountDailyStatsResponse) GetStats() []*ListUserAccountDailyStatsResponse_Stat {
if x != nil {
return x.Stats
}
return nil
}
// 列出按月统计
type ListUserAccountMonthlyStatsRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
DayFrom string `protobuf:"bytes,1,opt,name=dayFrom,proto3" json:"dayFrom,omitempty"`
DayTo string `protobuf:"bytes,2,opt,name=dayTo,proto3" json:"dayTo,omitempty"`
}
func (x *ListUserAccountMonthlyStatsRequest) Reset() {
*x = ListUserAccountMonthlyStatsRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_service_user_account_daily_stat_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListUserAccountMonthlyStatsRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListUserAccountMonthlyStatsRequest) ProtoMessage() {}
func (x *ListUserAccountMonthlyStatsRequest) ProtoReflect() protoreflect.Message {
mi := &file_service_user_account_daily_stat_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 ListUserAccountMonthlyStatsRequest.ProtoReflect.Descriptor instead.
func (*ListUserAccountMonthlyStatsRequest) Descriptor() ([]byte, []int) {
return file_service_user_account_daily_stat_proto_rawDescGZIP(), []int{2}
}
func (x *ListUserAccountMonthlyStatsRequest) GetDayFrom() string {
if x != nil {
return x.DayFrom
}
return ""
}
func (x *ListUserAccountMonthlyStatsRequest) GetDayTo() string {
if x != nil {
return x.DayTo
}
return ""
}
type ListUserAccountMonthlyStatsResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Stats []*ListUserAccountMonthlyStatsResponse_Stat `protobuf:"bytes,1,rep,name=stats,proto3" json:"stats,omitempty"`
}
func (x *ListUserAccountMonthlyStatsResponse) Reset() {
*x = ListUserAccountMonthlyStatsResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_service_user_account_daily_stat_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListUserAccountMonthlyStatsResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListUserAccountMonthlyStatsResponse) ProtoMessage() {}
func (x *ListUserAccountMonthlyStatsResponse) ProtoReflect() protoreflect.Message {
mi := &file_service_user_account_daily_stat_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 ListUserAccountMonthlyStatsResponse.ProtoReflect.Descriptor instead.
func (*ListUserAccountMonthlyStatsResponse) Descriptor() ([]byte, []int) {
return file_service_user_account_daily_stat_proto_rawDescGZIP(), []int{3}
}
func (x *ListUserAccountMonthlyStatsResponse) GetStats() []*ListUserAccountMonthlyStatsResponse_Stat {
if x != nil {
return x.Stats
}
return nil
}
type ListUserAccountDailyStatsResponse_Stat struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Day string `protobuf:"bytes,1,opt,name=day,proto3" json:"day,omitempty"` // YYYYMMDD
Income float32 `protobuf:"fixed32,2,opt,name=income,proto3" json:"income,omitempty"`
Expense float32 `protobuf:"fixed32,3,opt,name=expense,proto3" json:"expense,omitempty"`
}
func (x *ListUserAccountDailyStatsResponse_Stat) Reset() {
*x = ListUserAccountDailyStatsResponse_Stat{}
if protoimpl.UnsafeEnabled {
mi := &file_service_user_account_daily_stat_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListUserAccountDailyStatsResponse_Stat) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListUserAccountDailyStatsResponse_Stat) ProtoMessage() {}
func (x *ListUserAccountDailyStatsResponse_Stat) ProtoReflect() protoreflect.Message {
mi := &file_service_user_account_daily_stat_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 ListUserAccountDailyStatsResponse_Stat.ProtoReflect.Descriptor instead.
func (*ListUserAccountDailyStatsResponse_Stat) Descriptor() ([]byte, []int) {
return file_service_user_account_daily_stat_proto_rawDescGZIP(), []int{1, 0}
}
func (x *ListUserAccountDailyStatsResponse_Stat) GetDay() string {
if x != nil {
return x.Day
}
return ""
}
func (x *ListUserAccountDailyStatsResponse_Stat) GetIncome() float32 {
if x != nil {
return x.Income
}
return 0
}
func (x *ListUserAccountDailyStatsResponse_Stat) GetExpense() float32 {
if x != nil {
return x.Expense
}
return 0
}
type ListUserAccountMonthlyStatsResponse_Stat struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Month string `protobuf:"bytes,1,opt,name=month,proto3" json:"month,omitempty"` // YYYYMM
Income float32 `protobuf:"fixed32,2,opt,name=income,proto3" json:"income,omitempty"`
Expense float32 `protobuf:"fixed32,3,opt,name=expense,proto3" json:"expense,omitempty"`
}
func (x *ListUserAccountMonthlyStatsResponse_Stat) Reset() {
*x = ListUserAccountMonthlyStatsResponse_Stat{}
if protoimpl.UnsafeEnabled {
mi := &file_service_user_account_daily_stat_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListUserAccountMonthlyStatsResponse_Stat) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListUserAccountMonthlyStatsResponse_Stat) ProtoMessage() {}
func (x *ListUserAccountMonthlyStatsResponse_Stat) ProtoReflect() protoreflect.Message {
mi := &file_service_user_account_daily_stat_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 ListUserAccountMonthlyStatsResponse_Stat.ProtoReflect.Descriptor instead.
func (*ListUserAccountMonthlyStatsResponse_Stat) Descriptor() ([]byte, []int) {
return file_service_user_account_daily_stat_proto_rawDescGZIP(), []int{3, 0}
}
func (x *ListUserAccountMonthlyStatsResponse_Stat) GetMonth() string {
if x != nil {
return x.Month
}
return ""
}
func (x *ListUserAccountMonthlyStatsResponse_Stat) GetIncome() float32 {
if x != nil {
return x.Income
}
return 0
}
func (x *ListUserAccountMonthlyStatsResponse_Stat) GetExpense() float32 {
if x != nil {
return x.Expense
}
return 0
}
var File_service_user_account_daily_stat_proto protoreflect.FileDescriptor
var file_service_user_account_daily_stat_proto_rawDesc = []byte{
0x0a, 0x25, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61,
0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x64, 0x61, 0x69, 0x6c, 0x79, 0x5f, 0x73, 0x74, 0x61,
0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x22, 0x52, 0x0a, 0x20, 0x4c,
0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x44, 0x61,
0x69, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
0x18, 0x0a, 0x07, 0x64, 0x61, 0x79, 0x46, 0x72, 0x6f, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
0x52, 0x07, 0x64, 0x61, 0x79, 0x46, 0x72, 0x6f, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x61, 0x79,
0x54, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x64, 0x61, 0x79, 0x54, 0x6f, 0x22,
0xb1, 0x01, 0x0a, 0x21, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f,
0x75, 0x6e, 0x74, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73,
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x40, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x01,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73,
0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x53, 0x74,
0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74,
0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x1a, 0x4a, 0x0a, 0x04, 0x53, 0x74, 0x61, 0x74, 0x12,
0x10, 0x0a, 0x03, 0x64, 0x61, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x64, 0x61,
0x79, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
0x02, 0x52, 0x06, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x78, 0x70,
0x65, 0x6e, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x07, 0x65, 0x78, 0x70, 0x65,
0x6e, 0x73, 0x65, 0x22, 0x54, 0x0a, 0x22, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41,
0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x53, 0x74, 0x61,
0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x61, 0x79,
0x46, 0x72, 0x6f, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x64, 0x61, 0x79, 0x46,
0x72, 0x6f, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x61, 0x79, 0x54, 0x6f, 0x18, 0x02, 0x20, 0x01,
0x28, 0x09, 0x52, 0x05, 0x64, 0x61, 0x79, 0x54, 0x6f, 0x22, 0xb9, 0x01, 0x0a, 0x23, 0x4c, 0x69,
0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x6f, 0x6e,
0x74, 0x68, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
0x65, 0x12, 0x42, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x2c, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63,
0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x74,
0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x52, 0x05,
0x73, 0x74, 0x61, 0x74, 0x73, 0x1a, 0x4e, 0x0a, 0x04, 0x53, 0x74, 0x61, 0x74, 0x12, 0x14, 0x0a,
0x05, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6d, 0x6f,
0x6e, 0x74, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x18, 0x02, 0x20,
0x01, 0x28, 0x02, 0x52, 0x06, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65,
0x78, 0x70, 0x65, 0x6e, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x07, 0x65, 0x78,
0x70, 0x65, 0x6e, 0x73, 0x65, 0x32, 0xf7, 0x01, 0x0a, 0x1b, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63,
0x63, 0x6f, 0x75, 0x6e, 0x74, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x74, 0x53, 0x65,
0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x68, 0x0a, 0x19, 0x6c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65,
0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x53, 0x74, 0x61,
0x74, 0x73, 0x12, 0x24, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72,
0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x74,
0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69,
0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x44, 0x61, 0x69,
0x6c, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
0x6e, 0x0a, 0x1b, 0x6c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75,
0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x26,
0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f,
0x75, 0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74,
0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x74, 0x68,
0x6c, 0x79, 0x53, 0x74, 0x61, 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_user_account_daily_stat_proto_rawDescOnce sync.Once
file_service_user_account_daily_stat_proto_rawDescData = file_service_user_account_daily_stat_proto_rawDesc
)
func file_service_user_account_daily_stat_proto_rawDescGZIP() []byte {
file_service_user_account_daily_stat_proto_rawDescOnce.Do(func() {
file_service_user_account_daily_stat_proto_rawDescData = protoimpl.X.CompressGZIP(file_service_user_account_daily_stat_proto_rawDescData)
})
return file_service_user_account_daily_stat_proto_rawDescData
}
var file_service_user_account_daily_stat_proto_msgTypes = make([]protoimpl.MessageInfo, 6)
var file_service_user_account_daily_stat_proto_goTypes = []interface{}{
(*ListUserAccountDailyStatsRequest)(nil), // 0: pb.ListUserAccountDailyStatsRequest
(*ListUserAccountDailyStatsResponse)(nil), // 1: pb.ListUserAccountDailyStatsResponse
(*ListUserAccountMonthlyStatsRequest)(nil), // 2: pb.ListUserAccountMonthlyStatsRequest
(*ListUserAccountMonthlyStatsResponse)(nil), // 3: pb.ListUserAccountMonthlyStatsResponse
(*ListUserAccountDailyStatsResponse_Stat)(nil), // 4: pb.ListUserAccountDailyStatsResponse.Stat
(*ListUserAccountMonthlyStatsResponse_Stat)(nil), // 5: pb.ListUserAccountMonthlyStatsResponse.Stat
}
var file_service_user_account_daily_stat_proto_depIdxs = []int32{
4, // 0: pb.ListUserAccountDailyStatsResponse.stats:type_name -> pb.ListUserAccountDailyStatsResponse.Stat
5, // 1: pb.ListUserAccountMonthlyStatsResponse.stats:type_name -> pb.ListUserAccountMonthlyStatsResponse.Stat
0, // 2: pb.UserAccountDailyStatService.listUserAccountDailyStats:input_type -> pb.ListUserAccountDailyStatsRequest
2, // 3: pb.UserAccountDailyStatService.listUserAccountMonthlyStats:input_type -> pb.ListUserAccountMonthlyStatsRequest
1, // 4: pb.UserAccountDailyStatService.listUserAccountDailyStats:output_type -> pb.ListUserAccountDailyStatsResponse
3, // 5: pb.UserAccountDailyStatService.listUserAccountMonthlyStats:output_type -> pb.ListUserAccountMonthlyStatsResponse
4, // [4:6] is the sub-list for method output_type
2, // [2:4] 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
}
func init() { file_service_user_account_daily_stat_proto_init() }
func file_service_user_account_daily_stat_proto_init() {
if File_service_user_account_daily_stat_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_service_user_account_daily_stat_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListUserAccountDailyStatsRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_user_account_daily_stat_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListUserAccountDailyStatsResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_user_account_daily_stat_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListUserAccountMonthlyStatsRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_user_account_daily_stat_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListUserAccountMonthlyStatsResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_user_account_daily_stat_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListUserAccountDailyStatsResponse_Stat); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_user_account_daily_stat_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListUserAccountMonthlyStatsResponse_Stat); 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_user_account_daily_stat_proto_rawDesc,
NumEnums: 0,
NumMessages: 6,
NumExtensions: 0,
NumServices: 1,
},
GoTypes: file_service_user_account_daily_stat_proto_goTypes,
DependencyIndexes: file_service_user_account_daily_stat_proto_depIdxs,
MessageInfos: file_service_user_account_daily_stat_proto_msgTypes,
}.Build()
File_service_user_account_daily_stat_proto = out.File
file_service_user_account_daily_stat_proto_rawDesc = nil
file_service_user_account_daily_stat_proto_goTypes = nil
file_service_user_account_daily_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
// UserAccountDailyStatServiceClient is the client API for UserAccountDailyStatService service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type UserAccountDailyStatServiceClient interface {
// 列出按天统计
ListUserAccountDailyStats(ctx context.Context, in *ListUserAccountDailyStatsRequest, opts ...grpc.CallOption) (*ListUserAccountDailyStatsResponse, error)
// 列出按月统计
ListUserAccountMonthlyStats(ctx context.Context, in *ListUserAccountMonthlyStatsRequest, opts ...grpc.CallOption) (*ListUserAccountMonthlyStatsResponse, error)
}
type userAccountDailyStatServiceClient struct {
cc grpc.ClientConnInterface
}
func NewUserAccountDailyStatServiceClient(cc grpc.ClientConnInterface) UserAccountDailyStatServiceClient {
return &userAccountDailyStatServiceClient{cc}
}
func (c *userAccountDailyStatServiceClient) ListUserAccountDailyStats(ctx context.Context, in *ListUserAccountDailyStatsRequest, opts ...grpc.CallOption) (*ListUserAccountDailyStatsResponse, error) {
out := new(ListUserAccountDailyStatsResponse)
err := c.cc.Invoke(ctx, "/pb.UserAccountDailyStatService/listUserAccountDailyStats", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *userAccountDailyStatServiceClient) ListUserAccountMonthlyStats(ctx context.Context, in *ListUserAccountMonthlyStatsRequest, opts ...grpc.CallOption) (*ListUserAccountMonthlyStatsResponse, error) {
out := new(ListUserAccountMonthlyStatsResponse)
err := c.cc.Invoke(ctx, "/pb.UserAccountDailyStatService/listUserAccountMonthlyStats", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// UserAccountDailyStatServiceServer is the server API for UserAccountDailyStatService service.
type UserAccountDailyStatServiceServer interface {
// 列出按天统计
ListUserAccountDailyStats(context.Context, *ListUserAccountDailyStatsRequest) (*ListUserAccountDailyStatsResponse, error)
// 列出按月统计
ListUserAccountMonthlyStats(context.Context, *ListUserAccountMonthlyStatsRequest) (*ListUserAccountMonthlyStatsResponse, error)
}
// UnimplementedUserAccountDailyStatServiceServer can be embedded to have forward compatible implementations.
type UnimplementedUserAccountDailyStatServiceServer struct {
}
func (*UnimplementedUserAccountDailyStatServiceServer) ListUserAccountDailyStats(context.Context, *ListUserAccountDailyStatsRequest) (*ListUserAccountDailyStatsResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method ListUserAccountDailyStats not implemented")
}
func (*UnimplementedUserAccountDailyStatServiceServer) ListUserAccountMonthlyStats(context.Context, *ListUserAccountMonthlyStatsRequest) (*ListUserAccountMonthlyStatsResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method ListUserAccountMonthlyStats not implemented")
}
func RegisterUserAccountDailyStatServiceServer(s *grpc.Server, srv UserAccountDailyStatServiceServer) {
s.RegisterService(&_UserAccountDailyStatService_serviceDesc, srv)
}
func _UserAccountDailyStatService_ListUserAccountDailyStats_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ListUserAccountDailyStatsRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(UserAccountDailyStatServiceServer).ListUserAccountDailyStats(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/pb.UserAccountDailyStatService/ListUserAccountDailyStats",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(UserAccountDailyStatServiceServer).ListUserAccountDailyStats(ctx, req.(*ListUserAccountDailyStatsRequest))
}
return interceptor(ctx, in, info, handler)
}
func _UserAccountDailyStatService_ListUserAccountMonthlyStats_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ListUserAccountMonthlyStatsRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(UserAccountDailyStatServiceServer).ListUserAccountMonthlyStats(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/pb.UserAccountDailyStatService/ListUserAccountMonthlyStats",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(UserAccountDailyStatServiceServer).ListUserAccountMonthlyStats(ctx, req.(*ListUserAccountMonthlyStatsRequest))
}
return interceptor(ctx, in, info, handler)
}
var _UserAccountDailyStatService_serviceDesc = grpc.ServiceDesc{
ServiceName: "pb.UserAccountDailyStatService",
HandlerType: (*UserAccountDailyStatServiceServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "listUserAccountDailyStats",
Handler: _UserAccountDailyStatService_ListUserAccountDailyStats_Handler,
},
{
MethodName: "listUserAccountMonthlyStats",
Handler: _UserAccountDailyStatService_ListUserAccountMonthlyStats_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "service_user_account_daily_stat.proto",
}
+488
View File
@@ -0,0 +1,488 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.25.0
// protoc v3.12.3
// source: service_user_account_log.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 CountUserAccountLogsRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
UserAccountId int64 `protobuf:"varint,1,opt,name=userAccountId,proto3" json:"userAccountId,omitempty"`
Keyword string `protobuf:"bytes,2,opt,name=keyword,proto3" json:"keyword,omitempty"`
EventType string `protobuf:"bytes,3,opt,name=eventType,proto3" json:"eventType,omitempty"`
}
func (x *CountUserAccountLogsRequest) Reset() {
*x = CountUserAccountLogsRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_service_user_account_log_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CountUserAccountLogsRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CountUserAccountLogsRequest) ProtoMessage() {}
func (x *CountUserAccountLogsRequest) ProtoReflect() protoreflect.Message {
mi := &file_service_user_account_log_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 CountUserAccountLogsRequest.ProtoReflect.Descriptor instead.
func (*CountUserAccountLogsRequest) Descriptor() ([]byte, []int) {
return file_service_user_account_log_proto_rawDescGZIP(), []int{0}
}
func (x *CountUserAccountLogsRequest) GetUserAccountId() int64 {
if x != nil {
return x.UserAccountId
}
return 0
}
func (x *CountUserAccountLogsRequest) GetKeyword() string {
if x != nil {
return x.Keyword
}
return ""
}
func (x *CountUserAccountLogsRequest) GetEventType() string {
if x != nil {
return x.EventType
}
return ""
}
// 列出单页日志
type ListUserAccountLogsRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
UserAccountId int64 `protobuf:"varint,1,opt,name=userAccountId,proto3" json:"userAccountId,omitempty"`
Keyword string `protobuf:"bytes,2,opt,name=keyword,proto3" json:"keyword,omitempty"`
EventType string `protobuf:"bytes,3,opt,name=eventType,proto3" json:"eventType,omitempty"`
Offset int64 `protobuf:"varint,4,opt,name=offset,proto3" json:"offset,omitempty"`
Size int64 `protobuf:"varint,5,opt,name=size,proto3" json:"size,omitempty"`
}
func (x *ListUserAccountLogsRequest) Reset() {
*x = ListUserAccountLogsRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_service_user_account_log_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListUserAccountLogsRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListUserAccountLogsRequest) ProtoMessage() {}
func (x *ListUserAccountLogsRequest) ProtoReflect() protoreflect.Message {
mi := &file_service_user_account_log_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 ListUserAccountLogsRequest.ProtoReflect.Descriptor instead.
func (*ListUserAccountLogsRequest) Descriptor() ([]byte, []int) {
return file_service_user_account_log_proto_rawDescGZIP(), []int{1}
}
func (x *ListUserAccountLogsRequest) GetUserAccountId() int64 {
if x != nil {
return x.UserAccountId
}
return 0
}
func (x *ListUserAccountLogsRequest) GetKeyword() string {
if x != nil {
return x.Keyword
}
return ""
}
func (x *ListUserAccountLogsRequest) GetEventType() string {
if x != nil {
return x.EventType
}
return ""
}
func (x *ListUserAccountLogsRequest) GetOffset() int64 {
if x != nil {
return x.Offset
}
return 0
}
func (x *ListUserAccountLogsRequest) GetSize() int64 {
if x != nil {
return x.Size
}
return 0
}
type ListUserAccountLogsResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
UserAccountLogs []*UserAccountLog `protobuf:"bytes,1,rep,name=userAccountLogs,proto3" json:"userAccountLogs,omitempty"`
}
func (x *ListUserAccountLogsResponse) Reset() {
*x = ListUserAccountLogsResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_service_user_account_log_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListUserAccountLogsResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListUserAccountLogsResponse) ProtoMessage() {}
func (x *ListUserAccountLogsResponse) ProtoReflect() protoreflect.Message {
mi := &file_service_user_account_log_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 ListUserAccountLogsResponse.ProtoReflect.Descriptor instead.
func (*ListUserAccountLogsResponse) Descriptor() ([]byte, []int) {
return file_service_user_account_log_proto_rawDescGZIP(), []int{2}
}
func (x *ListUserAccountLogsResponse) GetUserAccountLogs() []*UserAccountLog {
if x != nil {
return x.UserAccountLogs
}
return nil
}
var File_service_user_account_log_proto protoreflect.FileDescriptor
var file_service_user_account_log_proto_rawDesc = []byte{
0x0a, 0x1e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61,
0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6c, 0x6f, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x12, 0x02, 0x70, 0x62, 0x1a, 0x23, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64,
0x65, 0x6c, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f,
0x6c, 0x6f, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x6d, 0x6f, 0x64, 0x65, 0x6c,
0x73, 0x2f, 0x72, 0x70, 0x63, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x22, 0x7b, 0x0a, 0x1b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x55, 0x73, 0x65,
0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x75, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75,
0x6e, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x75, 0x73, 0x65, 0x72,
0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x6b, 0x65, 0x79,
0x77, 0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x77,
0x6f, 0x72, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65,
0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70,
0x65, 0x22, 0xa6, 0x01, 0x0a, 0x1a, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63,
0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x12, 0x24, 0x0a, 0x0d, 0x75, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49,
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x75, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63,
0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72,
0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64,
0x12, 0x1c, 0x0a, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20,
0x01, 0x28, 0x09, 0x52, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16,
0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06,
0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x05,
0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x22, 0x5b, 0x0a, 0x1b, 0x4c, 0x69,
0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x6f, 0x67,
0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x0f, 0x75, 0x73, 0x65,
0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x6f, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f,
0x75, 0x6e, 0x74, 0x4c, 0x6f, 0x67, 0x52, 0x0f, 0x75, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f,
0x75, 0x6e, 0x74, 0x4c, 0x6f, 0x67, 0x73, 0x32, 0xbe, 0x01, 0x0a, 0x15, 0x55, 0x73, 0x65, 0x72,
0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x6f, 0x67, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63,
0x65, 0x12, 0x4d, 0x0a, 0x14, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63,
0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x6f, 0x67, 0x73, 0x12, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x43,
0x6f, 0x75, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4c,
0x6f, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e,
0x52, 0x50, 0x43, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
0x12, 0x56, 0x0a, 0x13, 0x6c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f,
0x75, 0x6e, 0x74, 0x4c, 0x6f, 0x67, 0x73, 0x12, 0x1e, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73,
0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x6f, 0x67, 0x73,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73,
0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x6f, 0x67, 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_user_account_log_proto_rawDescOnce sync.Once
file_service_user_account_log_proto_rawDescData = file_service_user_account_log_proto_rawDesc
)
func file_service_user_account_log_proto_rawDescGZIP() []byte {
file_service_user_account_log_proto_rawDescOnce.Do(func() {
file_service_user_account_log_proto_rawDescData = protoimpl.X.CompressGZIP(file_service_user_account_log_proto_rawDescData)
})
return file_service_user_account_log_proto_rawDescData
}
var file_service_user_account_log_proto_msgTypes = make([]protoimpl.MessageInfo, 3)
var file_service_user_account_log_proto_goTypes = []interface{}{
(*CountUserAccountLogsRequest)(nil), // 0: pb.CountUserAccountLogsRequest
(*ListUserAccountLogsRequest)(nil), // 1: pb.ListUserAccountLogsRequest
(*ListUserAccountLogsResponse)(nil), // 2: pb.ListUserAccountLogsResponse
(*UserAccountLog)(nil), // 3: pb.UserAccountLog
(*RPCCountResponse)(nil), // 4: pb.RPCCountResponse
}
var file_service_user_account_log_proto_depIdxs = []int32{
3, // 0: pb.ListUserAccountLogsResponse.userAccountLogs:type_name -> pb.UserAccountLog
0, // 1: pb.UserAccountLogService.countUserAccountLogs:input_type -> pb.CountUserAccountLogsRequest
1, // 2: pb.UserAccountLogService.listUserAccountLogs:input_type -> pb.ListUserAccountLogsRequest
4, // 3: pb.UserAccountLogService.countUserAccountLogs:output_type -> pb.RPCCountResponse
2, // 4: pb.UserAccountLogService.listUserAccountLogs:output_type -> pb.ListUserAccountLogsResponse
3, // [3:5] is the sub-list for method output_type
1, // [1:3] 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_user_account_log_proto_init() }
func file_service_user_account_log_proto_init() {
if File_service_user_account_log_proto != nil {
return
}
file_models_model_user_account_log_proto_init()
file_models_rpc_messages_proto_init()
if !protoimpl.UnsafeEnabled {
file_service_user_account_log_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CountUserAccountLogsRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_user_account_log_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListUserAccountLogsRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_user_account_log_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListUserAccountLogsResponse); 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_user_account_log_proto_rawDesc,
NumEnums: 0,
NumMessages: 3,
NumExtensions: 0,
NumServices: 1,
},
GoTypes: file_service_user_account_log_proto_goTypes,
DependencyIndexes: file_service_user_account_log_proto_depIdxs,
MessageInfos: file_service_user_account_log_proto_msgTypes,
}.Build()
File_service_user_account_log_proto = out.File
file_service_user_account_log_proto_rawDesc = nil
file_service_user_account_log_proto_goTypes = nil
file_service_user_account_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
// UserAccountLogServiceClient is the client API for UserAccountLogService service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type UserAccountLogServiceClient interface {
// 计算日志数量
CountUserAccountLogs(ctx context.Context, in *CountUserAccountLogsRequest, opts ...grpc.CallOption) (*RPCCountResponse, error)
// 列出单页日志
ListUserAccountLogs(ctx context.Context, in *ListUserAccountLogsRequest, opts ...grpc.CallOption) (*ListUserAccountLogsResponse, error)
}
type userAccountLogServiceClient struct {
cc grpc.ClientConnInterface
}
func NewUserAccountLogServiceClient(cc grpc.ClientConnInterface) UserAccountLogServiceClient {
return &userAccountLogServiceClient{cc}
}
func (c *userAccountLogServiceClient) CountUserAccountLogs(ctx context.Context, in *CountUserAccountLogsRequest, opts ...grpc.CallOption) (*RPCCountResponse, error) {
out := new(RPCCountResponse)
err := c.cc.Invoke(ctx, "/pb.UserAccountLogService/countUserAccountLogs", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *userAccountLogServiceClient) ListUserAccountLogs(ctx context.Context, in *ListUserAccountLogsRequest, opts ...grpc.CallOption) (*ListUserAccountLogsResponse, error) {
out := new(ListUserAccountLogsResponse)
err := c.cc.Invoke(ctx, "/pb.UserAccountLogService/listUserAccountLogs", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// UserAccountLogServiceServer is the server API for UserAccountLogService service.
type UserAccountLogServiceServer interface {
// 计算日志数量
CountUserAccountLogs(context.Context, *CountUserAccountLogsRequest) (*RPCCountResponse, error)
// 列出单页日志
ListUserAccountLogs(context.Context, *ListUserAccountLogsRequest) (*ListUserAccountLogsResponse, error)
}
// UnimplementedUserAccountLogServiceServer can be embedded to have forward compatible implementations.
type UnimplementedUserAccountLogServiceServer struct {
}
func (*UnimplementedUserAccountLogServiceServer) CountUserAccountLogs(context.Context, *CountUserAccountLogsRequest) (*RPCCountResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method CountUserAccountLogs not implemented")
}
func (*UnimplementedUserAccountLogServiceServer) ListUserAccountLogs(context.Context, *ListUserAccountLogsRequest) (*ListUserAccountLogsResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method ListUserAccountLogs not implemented")
}
func RegisterUserAccountLogServiceServer(s *grpc.Server, srv UserAccountLogServiceServer) {
s.RegisterService(&_UserAccountLogService_serviceDesc, srv)
}
func _UserAccountLogService_CountUserAccountLogs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(CountUserAccountLogsRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(UserAccountLogServiceServer).CountUserAccountLogs(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/pb.UserAccountLogService/CountUserAccountLogs",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(UserAccountLogServiceServer).CountUserAccountLogs(ctx, req.(*CountUserAccountLogsRequest))
}
return interceptor(ctx, in, info, handler)
}
func _UserAccountLogService_ListUserAccountLogs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ListUserAccountLogsRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(UserAccountLogServiceServer).ListUserAccountLogs(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/pb.UserAccountLogService/ListUserAccountLogs",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(UserAccountLogServiceServer).ListUserAccountLogs(ctx, req.(*ListUserAccountLogsRequest))
}
return interceptor(ctx, in, info, handler)
}
var _UserAccountLogService_serviceDesc = grpc.ServiceDesc{
ServiceName: "pb.UserAccountLogService",
HandlerType: (*UserAccountLogServiceServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "countUserAccountLogs",
Handler: _UserAccountLogService_CountUserAccountLogs_Handler,
},
{
MethodName: "listUserAccountLogs",
Handler: _UserAccountLogService_ListUserAccountLogs_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "service_user_account_log.proto",
}
+247 -129
View File
@@ -122,7 +122,7 @@ type CreateUserNodeResponse struct {
sizeCache protoimpl.SizeCache sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields unknownFields protoimpl.UnknownFields
NodeId int64 `protobuf:"varint,1,opt,name=nodeId,proto3" json:"nodeId,omitempty"` UserNodeId int64 `protobuf:"varint,1,opt,name=userNodeId,proto3" json:"userNodeId,omitempty"`
} }
func (x *CreateUserNodeResponse) Reset() { func (x *CreateUserNodeResponse) Reset() {
@@ -157,9 +157,9 @@ func (*CreateUserNodeResponse) Descriptor() ([]byte, []int) {
return file_service_user_node_proto_rawDescGZIP(), []int{1} return file_service_user_node_proto_rawDescGZIP(), []int{1}
} }
func (x *CreateUserNodeResponse) GetNodeId() int64 { func (x *CreateUserNodeResponse) GetUserNodeId() int64 {
if x != nil { if x != nil {
return x.NodeId return x.UserNodeId
} }
return 0 return 0
} }
@@ -170,7 +170,7 @@ type UpdateUserNodeRequest struct {
sizeCache protoimpl.SizeCache sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields unknownFields protoimpl.UnknownFields
NodeId int64 `protobuf:"varint,1,opt,name=nodeId,proto3" json:"nodeId,omitempty"` UserNodeId int64 `protobuf:"varint,1,opt,name=userNodeId,proto3" json:"userNodeId,omitempty"`
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
HttpJSON []byte `protobuf:"bytes,4,opt,name=httpJSON,proto3" json:"httpJSON,omitempty"` HttpJSON []byte `protobuf:"bytes,4,opt,name=httpJSON,proto3" json:"httpJSON,omitempty"`
@@ -211,9 +211,9 @@ func (*UpdateUserNodeRequest) Descriptor() ([]byte, []int) {
return file_service_user_node_proto_rawDescGZIP(), []int{2} return file_service_user_node_proto_rawDescGZIP(), []int{2}
} }
func (x *UpdateUserNodeRequest) GetNodeId() int64 { func (x *UpdateUserNodeRequest) GetUserNodeId() int64 {
if x != nil { if x != nil {
return x.NodeId return x.UserNodeId
} }
return 0 return 0
} }
@@ -266,7 +266,7 @@ type DeleteUserNodeRequest struct {
sizeCache protoimpl.SizeCache sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields unknownFields protoimpl.UnknownFields
NodeId int64 `protobuf:"varint,1,opt,name=nodeId,proto3" json:"nodeId,omitempty"` UserNodeId int64 `protobuf:"varint,1,opt,name=userNodeId,proto3" json:"userNodeId,omitempty"`
} }
func (x *DeleteUserNodeRequest) Reset() { func (x *DeleteUserNodeRequest) Reset() {
@@ -301,9 +301,9 @@ func (*DeleteUserNodeRequest) Descriptor() ([]byte, []int) {
return file_service_user_node_proto_rawDescGZIP(), []int{3} return file_service_user_node_proto_rawDescGZIP(), []int{3}
} }
func (x *DeleteUserNodeRequest) GetNodeId() int64 { func (x *DeleteUserNodeRequest) GetUserNodeId() int64 {
if x != nil { if x != nil {
return x.NodeId return x.UserNodeId
} }
return 0 return 0
} }
@@ -352,7 +352,7 @@ type FindAllEnabledUserNodesResponse struct {
sizeCache protoimpl.SizeCache sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields unknownFields protoimpl.UnknownFields
Nodes []*UserNode `protobuf:"bytes,1,rep,name=nodes,proto3" json:"nodes,omitempty"` UserNodes []*UserNode `protobuf:"bytes,1,rep,name=userNodes,proto3" json:"userNodes,omitempty"`
} }
func (x *FindAllEnabledUserNodesResponse) Reset() { func (x *FindAllEnabledUserNodesResponse) Reset() {
@@ -387,9 +387,9 @@ func (*FindAllEnabledUserNodesResponse) Descriptor() ([]byte, []int) {
return file_service_user_node_proto_rawDescGZIP(), []int{5} return file_service_user_node_proto_rawDescGZIP(), []int{5}
} }
func (x *FindAllEnabledUserNodesResponse) GetNodes() []*UserNode { func (x *FindAllEnabledUserNodesResponse) GetUserNodes() []*UserNode {
if x != nil { if x != nil {
return x.Nodes return x.UserNodes
} }
return nil return nil
} }
@@ -494,7 +494,7 @@ type ListEnabledUserNodesResponse struct {
sizeCache protoimpl.SizeCache sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields unknownFields protoimpl.UnknownFields
Nodes []*UserNode `protobuf:"bytes,1,rep,name=nodes,proto3" json:"nodes,omitempty"` UserNodes []*UserNode `protobuf:"bytes,1,rep,name=userNodes,proto3" json:"userNodes,omitempty"`
} }
func (x *ListEnabledUserNodesResponse) Reset() { func (x *ListEnabledUserNodesResponse) Reset() {
@@ -529,9 +529,9 @@ func (*ListEnabledUserNodesResponse) Descriptor() ([]byte, []int) {
return file_service_user_node_proto_rawDescGZIP(), []int{8} return file_service_user_node_proto_rawDescGZIP(), []int{8}
} }
func (x *ListEnabledUserNodesResponse) GetNodes() []*UserNode { func (x *ListEnabledUserNodesResponse) GetUserNodes() []*UserNode {
if x != nil { if x != nil {
return x.Nodes return x.UserNodes
} }
return nil return nil
} }
@@ -542,7 +542,7 @@ type FindEnabledUserNodeRequest struct {
sizeCache protoimpl.SizeCache sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields unknownFields protoimpl.UnknownFields
NodeId int64 `protobuf:"varint,1,opt,name=nodeId,proto3" json:"nodeId,omitempty"` UserNodeId int64 `protobuf:"varint,1,opt,name=userNodeId,proto3" json:"userNodeId,omitempty"`
} }
func (x *FindEnabledUserNodeRequest) Reset() { func (x *FindEnabledUserNodeRequest) Reset() {
@@ -577,9 +577,9 @@ func (*FindEnabledUserNodeRequest) Descriptor() ([]byte, []int) {
return file_service_user_node_proto_rawDescGZIP(), []int{9} return file_service_user_node_proto_rawDescGZIP(), []int{9}
} }
func (x *FindEnabledUserNodeRequest) GetNodeId() int64 { func (x *FindEnabledUserNodeRequest) GetUserNodeId() int64 {
if x != nil { if x != nil {
return x.NodeId return x.UserNodeId
} }
return 0 return 0
} }
@@ -589,7 +589,7 @@ type FindEnabledUserNodeResponse struct {
sizeCache protoimpl.SizeCache sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields unknownFields protoimpl.UnknownFields
Node *UserNode `protobuf:"bytes,1,opt,name=node,proto3" json:"node,omitempty"` UserNode *UserNode `protobuf:"bytes,1,opt,name=userNode,proto3" json:"userNode,omitempty"`
} }
func (x *FindEnabledUserNodeResponse) Reset() { func (x *FindEnabledUserNodeResponse) Reset() {
@@ -624,9 +624,9 @@ func (*FindEnabledUserNodeResponse) Descriptor() ([]byte, []int) {
return file_service_user_node_proto_rawDescGZIP(), []int{10} return file_service_user_node_proto_rawDescGZIP(), []int{10}
} }
func (x *FindEnabledUserNodeResponse) GetNode() *UserNode { func (x *FindEnabledUserNodeResponse) GetUserNode() *UserNode {
if x != nil { if x != nil {
return x.Node return x.UserNode
} }
return nil return nil
} }
@@ -675,7 +675,7 @@ type FindCurrentUserNodeResponse struct {
sizeCache protoimpl.SizeCache sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields unknownFields protoimpl.UnknownFields
Node *UserNode `protobuf:"bytes,1,opt,name=node,proto3" json:"node,omitempty"` UserNode *UserNode `protobuf:"bytes,1,opt,name=userNode,proto3" json:"userNode,omitempty"`
} }
func (x *FindCurrentUserNodeResponse) Reset() { func (x *FindCurrentUserNodeResponse) Reset() {
@@ -710,9 +710,9 @@ func (*FindCurrentUserNodeResponse) Descriptor() ([]byte, []int) {
return file_service_user_node_proto_rawDescGZIP(), []int{12} return file_service_user_node_proto_rawDescGZIP(), []int{12}
} }
func (x *FindCurrentUserNodeResponse) GetNode() *UserNode { func (x *FindCurrentUserNodeResponse) GetUserNode() *UserNode {
if x != nil { if x != nil {
return x.Node return x.UserNode
} }
return nil return nil
} }
@@ -723,7 +723,7 @@ type UpdateUserNodeStatusRequest struct {
sizeCache protoimpl.SizeCache sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields unknownFields protoimpl.UnknownFields
NodeId int64 `protobuf:"varint,1,opt,name=nodeId,proto3" json:"nodeId,omitempty"` UserNodeId int64 `protobuf:"varint,1,opt,name=userNodeId,proto3" json:"userNodeId,omitempty"`
StatusJSON []byte `protobuf:"bytes,2,opt,name=statusJSON,proto3" json:"statusJSON,omitempty"` StatusJSON []byte `protobuf:"bytes,2,opt,name=statusJSON,proto3" json:"statusJSON,omitempty"`
} }
@@ -759,9 +759,9 @@ func (*UpdateUserNodeStatusRequest) Descriptor() ([]byte, []int) {
return file_service_user_node_proto_rawDescGZIP(), []int{13} return file_service_user_node_proto_rawDescGZIP(), []int{13}
} }
func (x *UpdateUserNodeStatusRequest) GetNodeId() int64 { func (x *UpdateUserNodeStatusRequest) GetUserNodeId() int64 {
if x != nil { if x != nil {
return x.NodeId return x.UserNodeId
} }
return 0 return 0
} }
@@ -773,6 +773,54 @@ func (x *UpdateUserNodeStatusRequest) GetStatusJSON() []byte {
return nil return nil
} }
// 计算使用某个SSL证书的用户节点数量
type CountAllEnabledUserNodesWithSSLCertIdRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
SslCertId int64 `protobuf:"varint,1,opt,name=sslCertId,proto3" json:"sslCertId,omitempty"`
}
func (x *CountAllEnabledUserNodesWithSSLCertIdRequest) Reset() {
*x = CountAllEnabledUserNodesWithSSLCertIdRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_service_user_node_proto_msgTypes[14]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CountAllEnabledUserNodesWithSSLCertIdRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CountAllEnabledUserNodesWithSSLCertIdRequest) ProtoMessage() {}
func (x *CountAllEnabledUserNodesWithSSLCertIdRequest) ProtoReflect() protoreflect.Message {
mi := &file_service_user_node_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 CountAllEnabledUserNodesWithSSLCertIdRequest.ProtoReflect.Descriptor instead.
func (*CountAllEnabledUserNodesWithSSLCertIdRequest) Descriptor() ([]byte, []int) {
return file_service_user_node_proto_rawDescGZIP(), []int{14}
}
func (x *CountAllEnabledUserNodesWithSSLCertIdRequest) GetSslCertId() int64 {
if x != nil {
return x.SslCertId
}
return 0
}
var File_service_user_node_proto protoreflect.FileDescriptor var File_service_user_node_proto protoreflect.FileDescriptor
var file_service_user_node_proto_rawDesc = []byte{ var file_service_user_node_proto_rawDesc = []byte{
@@ -793,13 +841,14 @@ var file_service_user_node_proto_rawDesc = []byte{
0x12, 0x28, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x41, 0x64, 0x64, 0x72, 0x73, 0x4a, 0x12, 0x28, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x41, 0x64, 0x64, 0x72, 0x73, 0x4a,
0x53, 0x4f, 0x4e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x53, 0x4f, 0x4e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0f, 0x61, 0x63, 0x63, 0x65, 0x73,
0x73, 0x41, 0x64, 0x64, 0x72, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x73, 0x73, 0x41, 0x64, 0x64, 0x72, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x73,
0x4f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x22, 0x30, 0x4f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x22, 0x38,
0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65,
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72,
0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x75, 0x73,
0x22, 0xdd, 0x01, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x22, 0xe5, 0x01, 0x0a, 0x15, 0x55, 0x70, 0x64,
0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65,
0x64, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64,
0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65,
0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69,
0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73,
@@ -811,93 +860,109 @@ var file_service_user_node_proto_rawDesc = []byte{
0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0f, 0x61, 0x63, 0x63, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0f, 0x61, 0x63, 0x63,
0x65, 0x73, 0x73, 0x41, 0x64, 0x64, 0x72, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x73, 0x73, 0x41, 0x64, 0x64, 0x72, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x12, 0x0a, 0x04,
0x69, 0x73, 0x4f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x69, 0x73, 0x4f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x4f, 0x6e,
0x22, 0x2f, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x22, 0x37, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x6f,
0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x64, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x75, 0x73, 0x65,
0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x75,
0x64, 0x22, 0x20, 0x0a, 0x1e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x22, 0x20, 0x0a, 0x1e, 0x46, 0x69, 0x6e,
0x6c, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x4e,
0x65, 0x73, 0x74, 0x22, 0x45, 0x0a, 0x1f, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x4d, 0x0a, 0x1f, 0x46,
0x61, 0x62, 0x6c, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x55, 0x73, 0x65,
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x22, 0x0a, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a,
0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
0x6f, 0x64, 0x65, 0x52, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x22, 0x21, 0x0a, 0x1f, 0x43, 0x6f, 0x0b, 0x32, 0x0c, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x52,
0x09, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x22, 0x21, 0x0a, 0x1f, 0x43, 0x6f,
0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x55, 0x73, 0x65, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x55, 0x73, 0x65,
0x72, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x49, 0x0a, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x49, 0x0a,
0x1b, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72,
0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 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, 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, 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, 0x1c, 0x4c, 0x69, 0x73, 0x74, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x22, 0x4a, 0x0a, 0x1c, 0x4c, 0x69, 0x73, 0x74,
0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x73,
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x22, 0x0a, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72,
0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x73, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x70, 0x62,
0x72, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x22, 0x34, 0x0a, 0x1a, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x4e,
0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x22, 0x3c, 0x0a, 0x1a, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62,
0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x6c, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65,
0x64, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64,
0x49, 0x64, 0x22, 0x3f, 0x0a, 0x1b, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65,
0x49, 0x64, 0x22, 0x47, 0x0a, 0x1b, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65,
0x64, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x64, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
0x65, 0x12, 0x20, 0x0a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x65, 0x12, 0x28, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20,
0x0c, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6e, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x64,
0x6f, 0x64, 0x65, 0x22, 0x1c, 0x0a, 0x1a, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x75, 0x72, 0x72, 0x65, 0x65, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x22, 0x1c, 0x0a, 0x1a, 0x46,
0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x69, 0x6e, 0x64, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x6f,
0x74, 0x22, 0x3f, 0x0a, 0x1b, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x47, 0x0a, 0x1b, 0x46, 0x69, 0x6e,
0x55, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x64, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65,
0x12, 0x20, 0x0a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72,
0x2e, 0x70, 0x62, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6e, 0x6f, 0x4e, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x70, 0x62, 0x2e,
0x64, 0x65, 0x22, 0x55, 0x0a, 0x1b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x6f,
0x64, 0x65, 0x22, 0x5d, 0x0a, 0x1b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72,
0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x18,
0x03, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x49,
0x74, 0x75, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x73, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x18,
0x74, 0x61, 0x74, 0x75, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x32, 0xe3, 0x05, 0x0a, 0x0f, 0x55, 0x73, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4a, 0x53, 0x4f,
0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x47, 0x0a, 0x4e, 0x22, 0x4c, 0x0a, 0x2c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61,
0x0e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x62, 0x6c, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74,
0x19, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x68, 0x53, 0x53, 0x4c, 0x43, 0x65, 0x72, 0x74, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x49, 0x64, 0x18, 0x01,
0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x73, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x49, 0x64, 0x32,
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x0e, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0xd4, 0x06, 0x0a, 0x0f, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x65, 0x72, 0x76,
0x55, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x69, 0x63, 0x65, 0x12, 0x47, 0x0a, 0x0e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65,
0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74,
0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63,
0x65, 0x73, 0x73, 0x12, 0x3b, 0x0a, 0x0e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65,
0x72, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74,
0x65, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x1a, 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72,
0x12, 0x62, 0x0a, 0x17, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x0e,
0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x22, 0x2e, 0x70, 0x62, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x19,
0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x55,
0x73, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
0x23, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62,
0x6c, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70,
0x6f, 0x6e, 0x73, 0x65, 0x12, 0x55, 0x0a, 0x18, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c,
0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x73,
0x12, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e,
0x61, 0x62, 0x6c, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x43, 0x6f,
0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x14, 0x6c,
0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x6f,
0x64, 0x65, 0x73, 0x12, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61,
0x62, 0x6c, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e,
0x61, 0x62, 0x6c, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65,
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x13, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e,
0x61, 0x62, 0x6c, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x1e, 0x2e,
0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x55, 0x73,
0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e,
0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x55, 0x73,
0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56,
0x0a, 0x13, 0x66, 0x69, 0x6e, 0x64, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x55, 0x73, 0x65,
0x72, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x1e, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x43,
0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x43,
0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65,
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x14, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65,
0x55, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1f,
0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x6f,
0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52,
0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x3b, 0x0a, 0x0e, 0x64, 0x65, 0x6c,
0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x19, 0x2e, 0x70, 0x62,
0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53,
0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x62, 0x0a, 0x17, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c,
0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65,
0x73, 0x12, 0x22, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e,
0x61, 0x62, 0x6c, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41,
0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x64,
0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x55, 0x0a, 0x18, 0x63, 0x6f,
0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x55, 0x73, 0x65,
0x72, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e,
0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x4e,
0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62,
0x2e, 0x52, 0x50, 0x43, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
0x65, 0x12, 0x59, 0x0a, 0x14, 0x6c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
0x55, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x4c,
0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x6f,
0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x70, 0x62, 0x2e,
0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x4e,
0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x13,
0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x4e,
0x6f, 0x64, 0x65, 0x12, 0x1e, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61,
0x62, 0x6c, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61,
0x62, 0x6c, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70,
0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x13, 0x66, 0x69, 0x6e, 0x64, 0x43, 0x75, 0x72, 0x72,
0x65, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x1e, 0x2e, 0x70, 0x62,
0x2e, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72,
0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x70, 0x62,
0x2e, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72,
0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x14,
0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74,
0x61, 0x74, 0x75, 0x73, 0x12, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
0x55, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75,
0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x6f, 0x0a, 0x25, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c,
0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65,
0x73, 0x57, 0x69, 0x74, 0x68, 0x53, 0x53, 0x4c, 0x43, 0x65, 0x72, 0x74, 0x49, 0x64, 0x12, 0x30,
0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62,
0x6c, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68,
0x53, 0x53, 0x4c, 0x43, 0x65, 0x72, 0x74, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x43, 0x6f, 0x75, 0x6e, 0x74, 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 ( var (
@@ -912,7 +977,7 @@ func file_service_user_node_proto_rawDescGZIP() []byte {
return file_service_user_node_proto_rawDescData return file_service_user_node_proto_rawDescData
} }
var file_service_user_node_proto_msgTypes = make([]protoimpl.MessageInfo, 14) var file_service_user_node_proto_msgTypes = make([]protoimpl.MessageInfo, 15)
var file_service_user_node_proto_goTypes = []interface{}{ var file_service_user_node_proto_goTypes = []interface{}{
(*CreateUserNodeRequest)(nil), // 0: pb.CreateUserNodeRequest (*CreateUserNodeRequest)(nil), // 0: pb.CreateUserNodeRequest
(*CreateUserNodeResponse)(nil), // 1: pb.CreateUserNodeResponse (*CreateUserNodeResponse)(nil), // 1: pb.CreateUserNodeResponse
@@ -928,15 +993,16 @@ var file_service_user_node_proto_goTypes = []interface{}{
(*FindCurrentUserNodeRequest)(nil), // 11: pb.FindCurrentUserNodeRequest (*FindCurrentUserNodeRequest)(nil), // 11: pb.FindCurrentUserNodeRequest
(*FindCurrentUserNodeResponse)(nil), // 12: pb.FindCurrentUserNodeResponse (*FindCurrentUserNodeResponse)(nil), // 12: pb.FindCurrentUserNodeResponse
(*UpdateUserNodeStatusRequest)(nil), // 13: pb.UpdateUserNodeStatusRequest (*UpdateUserNodeStatusRequest)(nil), // 13: pb.UpdateUserNodeStatusRequest
(*UserNode)(nil), // 14: pb.UserNode (*CountAllEnabledUserNodesWithSSLCertIdRequest)(nil), // 14: pb.CountAllEnabledUserNodesWithSSLCertIdRequest
(*RPCSuccess)(nil), // 15: pb.RPCSuccess (*UserNode)(nil), // 15: pb.UserNode
(*RPCCountResponse)(nil), // 16: pb.RPCCountResponse (*RPCSuccess)(nil), // 16: pb.RPCSuccess
(*RPCCountResponse)(nil), // 17: pb.RPCCountResponse
} }
var file_service_user_node_proto_depIdxs = []int32{ var file_service_user_node_proto_depIdxs = []int32{
14, // 0: pb.FindAllEnabledUserNodesResponse.nodes:type_name -> pb.UserNode 15, // 0: pb.FindAllEnabledUserNodesResponse.userNodes:type_name -> pb.UserNode
14, // 1: pb.ListEnabledUserNodesResponse.nodes:type_name -> pb.UserNode 15, // 1: pb.ListEnabledUserNodesResponse.userNodes:type_name -> pb.UserNode
14, // 2: pb.FindEnabledUserNodeResponse.node:type_name -> pb.UserNode 15, // 2: pb.FindEnabledUserNodeResponse.userNode:type_name -> pb.UserNode
14, // 3: pb.FindCurrentUserNodeResponse.node:type_name -> pb.UserNode 15, // 3: pb.FindCurrentUserNodeResponse.userNode:type_name -> pb.UserNode
0, // 4: pb.UserNodeService.createUserNode:input_type -> pb.CreateUserNodeRequest 0, // 4: pb.UserNodeService.createUserNode:input_type -> pb.CreateUserNodeRequest
2, // 5: pb.UserNodeService.updateUserNode:input_type -> pb.UpdateUserNodeRequest 2, // 5: pb.UserNodeService.updateUserNode:input_type -> pb.UpdateUserNodeRequest
3, // 6: pb.UserNodeService.deleteUserNode:input_type -> pb.DeleteUserNodeRequest 3, // 6: pb.UserNodeService.deleteUserNode:input_type -> pb.DeleteUserNodeRequest
@@ -946,17 +1012,19 @@ var file_service_user_node_proto_depIdxs = []int32{
9, // 10: pb.UserNodeService.findEnabledUserNode:input_type -> pb.FindEnabledUserNodeRequest 9, // 10: pb.UserNodeService.findEnabledUserNode:input_type -> pb.FindEnabledUserNodeRequest
11, // 11: pb.UserNodeService.findCurrentUserNode:input_type -> pb.FindCurrentUserNodeRequest 11, // 11: pb.UserNodeService.findCurrentUserNode:input_type -> pb.FindCurrentUserNodeRequest
13, // 12: pb.UserNodeService.updateUserNodeStatus:input_type -> pb.UpdateUserNodeStatusRequest 13, // 12: pb.UserNodeService.updateUserNodeStatus:input_type -> pb.UpdateUserNodeStatusRequest
1, // 13: pb.UserNodeService.createUserNode:output_type -> pb.CreateUserNodeResponse 14, // 13: pb.UserNodeService.countAllEnabledUserNodesWithSSLCertId:input_type -> pb.CountAllEnabledUserNodesWithSSLCertIdRequest
15, // 14: pb.UserNodeService.updateUserNode:output_type -> pb.RPCSuccess 1, // 14: pb.UserNodeService.createUserNode:output_type -> pb.CreateUserNodeResponse
15, // 15: pb.UserNodeService.deleteUserNode:output_type -> pb.RPCSuccess 16, // 15: pb.UserNodeService.updateUserNode:output_type -> pb.RPCSuccess
5, // 16: pb.UserNodeService.findAllEnabledUserNodes:output_type -> pb.FindAllEnabledUserNodesResponse 16, // 16: pb.UserNodeService.deleteUserNode:output_type -> pb.RPCSuccess
16, // 17: pb.UserNodeService.countAllEnabledUserNodes:output_type -> pb.RPCCountResponse 5, // 17: pb.UserNodeService.findAllEnabledUserNodes:output_type -> pb.FindAllEnabledUserNodesResponse
8, // 18: pb.UserNodeService.listEnabledUserNodes:output_type -> pb.ListEnabledUserNodesResponse 17, // 18: pb.UserNodeService.countAllEnabledUserNodes:output_type -> pb.RPCCountResponse
10, // 19: pb.UserNodeService.findEnabledUserNode:output_type -> pb.FindEnabledUserNodeResponse 8, // 19: pb.UserNodeService.listEnabledUserNodes:output_type -> pb.ListEnabledUserNodesResponse
12, // 20: pb.UserNodeService.findCurrentUserNode:output_type -> pb.FindCurrentUserNodeResponse 10, // 20: pb.UserNodeService.findEnabledUserNode:output_type -> pb.FindEnabledUserNodeResponse
15, // 21: pb.UserNodeService.updateUserNodeStatus:output_type -> pb.RPCSuccess 12, // 21: pb.UserNodeService.findCurrentUserNode:output_type -> pb.FindCurrentUserNodeResponse
13, // [13:22] is the sub-list for method output_type 16, // 22: pb.UserNodeService.updateUserNodeStatus:output_type -> pb.RPCSuccess
4, // [4:13] is the sub-list for method input_type 17, // 23: pb.UserNodeService.countAllEnabledUserNodesWithSSLCertId:output_type -> pb.RPCCountResponse
14, // [14:24] is the sub-list for method output_type
4, // [4:14] is the sub-list for method input_type
4, // [4:4] is the sub-list for extension type_name 4, // [4:4] is the sub-list for extension type_name
4, // [4:4] is the sub-list for extension extendee 4, // [4:4] is the sub-list for extension extendee
0, // [0:4] is the sub-list for field type_name 0, // [0:4] is the sub-list for field type_name
@@ -1138,6 +1206,18 @@ func file_service_user_node_proto_init() {
return nil return nil
} }
} }
file_service_user_node_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CountAllEnabledUserNodesWithSSLCertIdRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
} }
type x struct{} type x struct{}
out := protoimpl.TypeBuilder{ out := protoimpl.TypeBuilder{
@@ -1145,7 +1225,7 @@ func file_service_user_node_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(), GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_service_user_node_proto_rawDesc, RawDescriptor: file_service_user_node_proto_rawDesc,
NumEnums: 0, NumEnums: 0,
NumMessages: 14, NumMessages: 15,
NumExtensions: 0, NumExtensions: 0,
NumServices: 1, NumServices: 1,
}, },
@@ -1189,6 +1269,8 @@ type UserNodeServiceClient interface {
FindCurrentUserNode(ctx context.Context, in *FindCurrentUserNodeRequest, opts ...grpc.CallOption) (*FindCurrentUserNodeResponse, error) FindCurrentUserNode(ctx context.Context, in *FindCurrentUserNodeRequest, opts ...grpc.CallOption) (*FindCurrentUserNodeResponse, error)
// 更新节点状态 // 更新节点状态
UpdateUserNodeStatus(ctx context.Context, in *UpdateUserNodeStatusRequest, opts ...grpc.CallOption) (*RPCSuccess, error) UpdateUserNodeStatus(ctx context.Context, in *UpdateUserNodeStatusRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
// 计算使用某个SSL证书的用户节点数量
CountAllEnabledUserNodesWithSSLCertId(ctx context.Context, in *CountAllEnabledUserNodesWithSSLCertIdRequest, opts ...grpc.CallOption) (*RPCCountResponse, error)
} }
type userNodeServiceClient struct { type userNodeServiceClient struct {
@@ -1280,6 +1362,15 @@ func (c *userNodeServiceClient) UpdateUserNodeStatus(ctx context.Context, in *Up
return out, nil return out, nil
} }
func (c *userNodeServiceClient) CountAllEnabledUserNodesWithSSLCertId(ctx context.Context, in *CountAllEnabledUserNodesWithSSLCertIdRequest, opts ...grpc.CallOption) (*RPCCountResponse, error) {
out := new(RPCCountResponse)
err := c.cc.Invoke(ctx, "/pb.UserNodeService/countAllEnabledUserNodesWithSSLCertId", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// UserNodeServiceServer is the server API for UserNodeService service. // UserNodeServiceServer is the server API for UserNodeService service.
type UserNodeServiceServer interface { type UserNodeServiceServer interface {
// 创建用户节点 // 创建用户节点
@@ -1300,6 +1391,8 @@ type UserNodeServiceServer interface {
FindCurrentUserNode(context.Context, *FindCurrentUserNodeRequest) (*FindCurrentUserNodeResponse, error) FindCurrentUserNode(context.Context, *FindCurrentUserNodeRequest) (*FindCurrentUserNodeResponse, error)
// 更新节点状态 // 更新节点状态
UpdateUserNodeStatus(context.Context, *UpdateUserNodeStatusRequest) (*RPCSuccess, error) UpdateUserNodeStatus(context.Context, *UpdateUserNodeStatusRequest) (*RPCSuccess, error)
// 计算使用某个SSL证书的用户节点数量
CountAllEnabledUserNodesWithSSLCertId(context.Context, *CountAllEnabledUserNodesWithSSLCertIdRequest) (*RPCCountResponse, error)
} }
// UnimplementedUserNodeServiceServer can be embedded to have forward compatible implementations. // UnimplementedUserNodeServiceServer can be embedded to have forward compatible implementations.
@@ -1333,6 +1426,9 @@ func (*UnimplementedUserNodeServiceServer) FindCurrentUserNode(context.Context,
func (*UnimplementedUserNodeServiceServer) UpdateUserNodeStatus(context.Context, *UpdateUserNodeStatusRequest) (*RPCSuccess, error) { func (*UnimplementedUserNodeServiceServer) UpdateUserNodeStatus(context.Context, *UpdateUserNodeStatusRequest) (*RPCSuccess, error) {
return nil, status.Errorf(codes.Unimplemented, "method UpdateUserNodeStatus not implemented") return nil, status.Errorf(codes.Unimplemented, "method UpdateUserNodeStatus not implemented")
} }
func (*UnimplementedUserNodeServiceServer) CountAllEnabledUserNodesWithSSLCertId(context.Context, *CountAllEnabledUserNodesWithSSLCertIdRequest) (*RPCCountResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method CountAllEnabledUserNodesWithSSLCertId not implemented")
}
func RegisterUserNodeServiceServer(s *grpc.Server, srv UserNodeServiceServer) { func RegisterUserNodeServiceServer(s *grpc.Server, srv UserNodeServiceServer) {
s.RegisterService(&_UserNodeService_serviceDesc, srv) s.RegisterService(&_UserNodeService_serviceDesc, srv)
@@ -1500,6 +1596,24 @@ func _UserNodeService_UpdateUserNodeStatus_Handler(srv interface{}, ctx context.
return interceptor(ctx, in, info, handler) return interceptor(ctx, in, info, handler)
} }
func _UserNodeService_CountAllEnabledUserNodesWithSSLCertId_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(CountAllEnabledUserNodesWithSSLCertIdRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(UserNodeServiceServer).CountAllEnabledUserNodesWithSSLCertId(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/pb.UserNodeService/CountAllEnabledUserNodesWithSSLCertId",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(UserNodeServiceServer).CountAllEnabledUserNodesWithSSLCertId(ctx, req.(*CountAllEnabledUserNodesWithSSLCertIdRequest))
}
return interceptor(ctx, in, info, handler)
}
var _UserNodeService_serviceDesc = grpc.ServiceDesc{ var _UserNodeService_serviceDesc = grpc.ServiceDesc{
ServiceName: "pb.UserNodeService", ServiceName: "pb.UserNodeService",
HandlerType: (*UserNodeServiceServer)(nil), HandlerType: (*UserNodeServiceServer)(nil),
@@ -1540,6 +1654,10 @@ var _UserNodeService_serviceDesc = grpc.ServiceDesc{
MethodName: "updateUserNodeStatus", MethodName: "updateUserNodeStatus",
Handler: _UserNodeService_UpdateUserNodeStatus_Handler, Handler: _UserNodeService_UpdateUserNodeStatus_Handler,
}, },
{
MethodName: "countAllEnabledUserNodesWithSSLCertId",
Handler: _UserNodeService_CountAllEnabledUserNodesWithSSLCertId_Handler,
},
}, },
Streams: []grpc.StreamDesc{}, Streams: []grpc.StreamDesc{},
Metadata: "service_user_node.proto", Metadata: "service_user_node.proto",
File diff suppressed because it is too large Load Diff
@@ -21,4 +21,5 @@ message DNSDomain {
int64 providerId = 11; int64 providerId = 11;
int64 countNodeClusters = 12; int64 countNodeClusters = 12;
bool isUp = 15; bool isUp = 15;
bool isDeleted = 16;
} }
@@ -11,4 +11,5 @@ message HTTPFirewallPolicy {
string description = 4; string description = 4;
bytes inboundJSON = 5; bytes inboundJSON = 5;
bytes outboundJSON = 6; bytes outboundJSON = 6;
int64 serverId = 8;
} }
+23 -1
View File
@@ -3,6 +3,11 @@ option go_package = "./pb";
package pb; package pb;
import "models/model_http_firewall_policy.proto";
import "models/model_http_firewall_rule_group.proto";
import "models/model_http_firewall_rule_set.proto";
import "models/model_server.proto";
message IPItem { message IPItem {
int64 id = 1; int64 id = 1;
string ipFrom = 2; string ipFrom = 2;
@@ -14,5 +19,22 @@ message IPItem {
bool isDeleted = 8; bool isDeleted = 8;
string type = 9; string type = 9;
string eventLevel = 10; // string eventLevel = 10; //
string listType = 11; // IP的性质 string listType = 11; //
bool isGlobal = 20; //
int64 createdAt = 12;
int64 nodeId = 13;
int64 serverId = 14;
int64 sourceNodeId = 15;
int64 sourceServerId = 16;
int64 sourceHTTPFirewallPolicyId = 17;
int64 sourceHTTPFirewallRuleGroupId = 18;
int64 sourceHTTPFirewallRuleSetId = 19;
Server sourceServer = 30;
Server server = 34;
HTTPFirewallPolicy sourceHTTPFirewallPolicy = 31;
HTTPFirewallRuleGroup sourceHTTPFirewallRuleGroup = 32;
HTTPFirewallRuleSet sourceHTTPFirewallRuleSet = 33;
} }
@@ -12,4 +12,5 @@ message IPList {
bytes timeoutJSON = 6; bytes timeoutJSON = 6;
bool isPublic = 7; bool isPublic = 7;
string description = 8; string description = 8;
bool isGlobal = 9;
} }
@@ -11,6 +11,7 @@ message NodeGrant {
string password = 5; string password = 5;
bool su = 6; bool su = 6;
string privateKey = 7; string privateKey = 7;
string passphrase = 10;
string description = 8; string description = 8;
int64 nodeId = 9; int64 nodeId = 9;
} }
@@ -14,6 +14,8 @@ message NodeTask {
bool isOk = 4; bool isOk = 4;
string error = 5; string error = 5;
int64 updatedAt = 6; int64 updatedAt = 6;
int64 version = 7;
bool isPrimary = 8; //
Node node = 30; Node node = 30;
NodeCluster nodeCluster = 31; NodeCluster nodeCluster = 31;
+2 -2
View File
@@ -8,10 +8,10 @@ message Plan {
bool isOn = 2; bool isOn = 2;
string name = 3; string name = 3;
int64 clusterId = 4; int64 clusterId = 4;
bytes bandwidthLimitJSON = 5; bytes trafficLimitJSON = 5;
bytes featuresJSON = 6; bytes featuresJSON = 6;
string priceType = 7; string priceType = 7;
bytes bandwidthPriceJSON = 8; bytes trafficPriceJSON = 8;
float monthlyPrice = 9; float monthlyPrice = 9;
float seasonallyPrice = 10; float seasonallyPrice = 10;
float yearlyPrice = 11; float yearlyPrice = 11;
+1
View File
@@ -19,6 +19,7 @@ message Server {
int64 createdAt = 7; int64 createdAt = 7;
string dnsName = 19; string dnsName = 19;
bool supportCNAME = 23; bool supportCNAME = 23;
int64 userPlanId = 24;
// //
bytes config = 17; bytes config = 17;
@@ -14,4 +14,6 @@ message ServerDailyStat {
int64 createdAt = 4; int64 createdAt = 4;
int64 countAttackRequests = 8; int64 countAttackRequests = 8;
int64 attackBytes = 9; int64 attackBytes = 9;
bool checkTrafficLimiting = 10;
int64 planId = 11;
} }
@@ -0,0 +1,15 @@
syntax = "proto3";
option go_package = "./pb";
package pb;
import "models/model_user.proto";
message UserAccount {
int64 id = 1;
int64 userId = 2;
float total = 3;
float totalFrozen = 4;
User user = 30;
}
@@ -0,0 +1,12 @@
syntax = "proto3";
option go_package = "./pb";
package pb;
message UserAccountDailyStat {
int64 id = 1;
string day = 2;
string month = 3;
float income = 4;
float expense = 5;
}
@@ -0,0 +1,24 @@
syntax = "proto3";
option go_package = "./pb";
package pb;
import "models/model_user.proto";
import "models/model_user_account.proto";
message UserAccountLog {
int64 id = 1;
int64 userId = 2;
int64 userAccountId = 3;
float delta = 4;
float deltaFrozen = 5;
float total = 6;
float totalFrozen = 7;
string eventType = 8;
string description = 9;
int64 createdAt = 10;
bytes paramsJSON = 11;
User user = 30;
UserAccount userAccount = 31;
}
@@ -15,4 +15,5 @@ message UserBill {
string month = 7; string month = 7;
bool isPaid = 8; bool isPaid = 8;
int64 paidAt = 9; int64 paidAt = 9;
string code = 10;
} }
+34 -7
View File
@@ -21,6 +21,9 @@ service APINodeService {
// API节点数量 // API节点数量
rpc countAllEnabledAPINodes (CountAllEnabledAPINodesRequest) returns (RPCCountResponse); rpc countAllEnabledAPINodes (CountAllEnabledAPINodesRequest) returns (RPCCountResponse);
// API节点数量
rpc countAllEnabledAndOnAPINodes (CountAllEnabledAndOnAPINodesRequest) returns (RPCCountResponse);
// API节点 // API节点
rpc listEnabledAPINodes (ListEnabledAPINodesRequest) returns (ListEnabledAPINodesResponse); rpc listEnabledAPINodes (ListEnabledAPINodesRequest) returns (ListEnabledAPINodesResponse);
@@ -29,6 +32,12 @@ service APINodeService {
// API节点的版本 // API节点的版本
rpc findCurrentAPINodeVersion (FindCurrentAPINodeVersionRequest) returns (FindCurrentAPINodeVersionResponse); rpc findCurrentAPINodeVersion (FindCurrentAPINodeVersionRequest) returns (FindCurrentAPINodeVersionResponse);
// API节点的信息
rpc findCurrentAPINode(FindCurrentAPINodeRequest) returns (FindCurrentAPINodeResponse);
// 使SSL证书的API节点数量
rpc countAllEnabledAPINodesWithSSLCertId (CountAllEnabledAPINodesWithSSLCertIdRequest) returns (RPCCountResponse);
} }
// API节点 // API节点
@@ -45,12 +54,12 @@ message CreateAPINodeRequest {
} }
message CreateAPINodeResponse { message CreateAPINodeResponse {
int64 nodeId = 1; int64 apiNodeId = 1;
} }
// API节点 // API节点
message UpdateAPINodeRequest { message UpdateAPINodeRequest {
int64 nodeId = 1; int64 apiNodeId = 1;
string name = 2; string name = 2;
string description = 3; string description = 3;
bytes httpJSON = 4; bytes httpJSON = 4;
@@ -64,7 +73,7 @@ message UpdateAPINodeRequest {
// API节点 // API节点
message DeleteAPINodeRequest { message DeleteAPINodeRequest {
int64 nodeId = 1; int64 apiNodeId = 1;
} }
// API节点 // API节点
@@ -73,7 +82,7 @@ message FindAllEnabledAPINodesRequest {
} }
message FindAllEnabledAPINodesResponse { message FindAllEnabledAPINodesResponse {
repeated APINode nodes = 1; repeated APINode apiNodes = 1;
} }
// API节点数量 // API节点数量
@@ -81,6 +90,11 @@ message CountAllEnabledAPINodesRequest {
} }
// API节点数量
message CountAllEnabledAndOnAPINodesRequest {
}
// API节点 // API节点
message ListEnabledAPINodesRequest { message ListEnabledAPINodesRequest {
int64 offset = 1; int64 offset = 1;
@@ -88,16 +102,16 @@ message ListEnabledAPINodesRequest {
} }
message ListEnabledAPINodesResponse { message ListEnabledAPINodesResponse {
repeated APINode nodes = 1; repeated APINode apiNodes = 1;
} }
// ID查找节点 // ID查找节点
message FindEnabledAPINodeRequest { message FindEnabledAPINodeRequest {
int64 nodeId = 1; int64 apiNodeId = 1;
} }
message FindEnabledAPINodeResponse { message FindEnabledAPINodeResponse {
APINode node = 1; APINode apiNode = 1;
} }
// API节点的版本 // API节点的版本
@@ -108,3 +122,16 @@ message FindCurrentAPINodeVersionRequest {
message FindCurrentAPINodeVersionResponse { message FindCurrentAPINodeVersionResponse {
string version = 1; string version = 1;
} }
// API节点的信息
message FindCurrentAPINodeRequest {
}
message FindCurrentAPINodeResponse {
APINode apiNode = 1;
}
// 使SSL证书的API节点数量
message CountAllEnabledAPINodesWithSSLCertIdRequest {
int64 sslCertId = 1;
}
+8
View File
@@ -18,6 +18,9 @@ service DNSDomainService {
// //
rpc deleteDNSDomain (DeleteDNSDomainRequest) returns (RPCSuccess); rpc deleteDNSDomain (DeleteDNSDomainRequest) returns (RPCSuccess);
//
rpc recoverDNSDomain (RecoverDNSDomainRequest) returns (RPCSuccess);
// //
rpc findEnabledDNSDomain (FindEnabledDNSDomainRequest) returns (FindEnabledDNSDomainResponse); rpc findEnabledDNSDomain (FindEnabledDNSDomainRequest) returns (FindEnabledDNSDomainResponse);
@@ -71,6 +74,11 @@ message DeleteDNSDomainRequest {
int64 dnsDomainId = 1; int64 dnsDomainId = 1;
} }
//
message RecoverDNSDomainRequest {
int64 dnsDomainId = 1;
}
// //
message FindEnabledDNSDomainRequest { message FindEnabledDNSDomainRequest {
int64 dnsDomainId = 1; int64 dnsDomainId = 1;
+51
View File
@@ -5,6 +5,9 @@ package pb;
import "models/rpc_messages.proto"; import "models/rpc_messages.proto";
import "models/model_ip_item.proto"; import "models/model_ip_item.proto";
import "models/model_ip_list.proto";
import "models/model_server.proto";
import "models/model_http_firewall_policy.proto";
// IP条目管理 // IP条目管理
service IPItemService { service IPItemService {
@@ -17,6 +20,9 @@ service IPItemService {
// IP // IP
rpc deleteIPItem (DeleteIPItemRequest) returns (RPCSuccess); rpc deleteIPItem (DeleteIPItemRequest) returns (RPCSuccess);
// IP
rpc deleteIPItems(DeleteIPItemsRequest) returns (RPCSuccess);
// IP数量 // IP数量
rpc countIPItemsWithListId (CountIPItemsWithListIdRequest) returns (RPCCountResponse); rpc countIPItemsWithListId (CountIPItemsWithListIdRequest) returns (RPCCountResponse);
@@ -34,6 +40,12 @@ service IPItemService {
// IP是否存在 // IP是否存在
rpc existsEnabledIPItem (ExistsEnabledIPItemRequest) returns (ExistsEnabledIPItemResponse); rpc existsEnabledIPItem (ExistsEnabledIPItemRequest) returns (ExistsEnabledIPItemResponse);
// IP数量
rpc countAllEnabledIPItems(CountAllEnabledIPItemsRequest) returns (RPCCountResponse);
// IP
rpc listAllEnabledIPItems(ListAllEnabledIPItemsRequest) returns (ListAllEnabledIPItemsResponse);
} }
// IP // IP
@@ -45,6 +57,15 @@ message CreateIPItemRequest {
string reason = 5; // string reason = 5; //
string type = 6; // string type = 6; //
string eventLevel = 7; // string eventLevel = 7; //
int64 nodeId = 8; // ID
int64 serverId = 9; // ID
int64 sourceNodeId = 10;
int64 sourceServerId = 11;
int64 sourceHTTPFirewallPolicyId = 12;
int64 sourceHTTPFirewallRuleGroupId = 13;
int64 sourceHTTPFirewallRuleSetId = 14;
} }
message CreateIPItemResponse { message CreateIPItemResponse {
@@ -67,6 +88,11 @@ message DeleteIPItemRequest {
int64 ipItemId = 1; // IP条目的ID int64 ipItemId = 1; // IP条目的ID
} }
// IP
message DeleteIPItemsRequest {
repeated int64 ipItemIds = 1;
}
// IP数量 // IP数量
message CountIPItemsWithListIdRequest { message CountIPItemsWithListIdRequest {
int64 ipListId = 1; int64 ipListId = 1;
@@ -130,3 +156,28 @@ message ExistsEnabledIPItemRequest {
message ExistsEnabledIPItemResponse { message ExistsEnabledIPItemResponse {
bool exists = 1; bool exists = 1;
} }
// IP数量
message CountAllEnabledIPItemsRequest {
string ip = 1;
bool globalOnly = 2;
}
// IP
message ListAllEnabledIPItemsRequest {
string ip = 1;
bool globalOnly = 2;
int64 offset = 3;
int64 size = 4;
}
message ListAllEnabledIPItemsResponse {
repeated Result results = 1;
message Result {
IPList ipList = 1; //
IPItem ipItem = 2; // IP信息
Server server = 3; //
HTTPFirewallPolicy httpFirewallPolicy = 4; // WAF策略
}
}
+1
View File
@@ -41,6 +41,7 @@ message CreateIPListRequest {
bytes timeoutJSON = 4; bytes timeoutJSON = 4;
bool isPublic = 5; bool isPublic = 5;
string description = 6; string description = 6;
bool isGlobal = 7;
} }
message CreateIPListResponse { message CreateIPListResponse {
+4
View File
@@ -241,11 +241,15 @@ message FindEnabledBasicNodeResponse {
message FindCurrentNodeConfigRequest { message FindCurrentNodeConfigRequest {
// nodeId // nodeId
int64 version = 1; int64 version = 1;
bool compress = 2; //
int64 nodeTaskVersion = 3; //
} }
message FindCurrentNodeConfigResponse { message FindCurrentNodeConfigResponse {
bytes nodeJSON = 1; bytes nodeJSON = 1;
bool isChanged = 2; bool isChanged = 2;
bool isCompressed = 3;
int64 dataSize = 4;
} }
// stream // stream
+2
View File
@@ -41,6 +41,7 @@ message CreateNodeGrantRequest {
string username = 3; string username = 3;
string password = 4; string password = 4;
string privateKey = 5; string privateKey = 5;
string passphrase = 8;
string description = 6; string description = 6;
int64 nodeId = 7; int64 nodeId = 7;
} }
@@ -57,6 +58,7 @@ message UpdateNodeGrantRequest {
string username = 3; string username = 3;
string password = 4; string password = 4;
string privateKey = 5; string privateKey = 5;
string passphrase = 9;
string description = 6; string description = 6;
int64 nodeId = 7; int64 nodeId = 7;
} }
+8
View File
@@ -25,6 +25,9 @@ service NodeLogService {
// //
rpc updateNodeLogsRead(UpdateNodeLogsReadRequest) returns (RPCSuccess); rpc updateNodeLogsRead(UpdateNodeLogsReadRequest) returns (RPCSuccess);
//
rpc updateAllNodeLogsRead(UpdateAllNodeLogsReadRequest) returns (RPCSuccess);
} }
// //
@@ -84,3 +87,8 @@ message CountAllUnreadNodeLogsRequest {
message UpdateNodeLogsReadRequest { message UpdateNodeLogsReadRequest {
repeated int64 nodeLogIds = 1; repeated int64 nodeLogIds = 1;
} }
//
message UpdateAllNodeLogsReadRequest {
}
+4 -4
View File
@@ -34,10 +34,10 @@ service PlanService {
message CreatePlanRequest { message CreatePlanRequest {
string name = 1; string name = 1;
int64 clusterId = 2; int64 clusterId = 2;
bytes bandwidthLimitJSON = 3; bytes trafficLimitJSON = 3;
bytes featuresJSON = 4; bytes featuresJSON = 4;
string priceType = 5; string priceType = 5;
bytes bandwidthPriceJSON = 6; bytes trafficPriceJSON = 6;
float monthlyPrice = 7; float monthlyPrice = 7;
float seasonallyPrice = 8; float seasonallyPrice = 8;
float yearlyPrice = 9; float yearlyPrice = 9;
@@ -53,10 +53,10 @@ message UpdatePlanRequest {
string name = 2; string name = 2;
bool isOn = 3; bool isOn = 3;
int64 clusterId = 4; int64 clusterId = 4;
bytes bandwidthLimitJSON = 5; bytes trafficLimitJSON = 5;
bytes featuresJSON = 6; bytes featuresJSON = 6;
string priceType = 7; string priceType = 7;
bytes bandwidthPriceJSON = 8; bytes trafficPriceJSON = 8;
float monthlyPrice = 9; float monthlyPrice = 9;
float seasonallyPrice = 10; float seasonallyPrice = 10;
float yearlyPrice = 11; float yearlyPrice = 11;
+21 -11
View File
@@ -129,11 +129,14 @@ service ServerService {
// //
rpc purgeServerCache(PurgeServerCacheRequest) returns (PurgeServerCacheResponse); rpc purgeServerCache(PurgeServerCacheRequest) returns (PurgeServerCacheResponse);
// //
rpc findEnabledServerBandwidthLimit(FindEnabledServerBandwidthLimitRequest) returns (FindEnabledServerBandwidthLimitResponse); rpc findEnabledServerTrafficLimit(FindEnabledServerTrafficLimitRequest) returns (FindEnabledServerTrafficLimitResponse);
// //
rpc updateServerBandwidthLimit(UpdateServerBandwidthLimitRequest) returns (RPCSuccess); rpc updateServerTrafficLimit(UpdateServerTrafficLimitRequest) returns (RPCSuccess);
//
rpc updateServerUserPlan(UpdateServerUserPlanRequest) returns (RPCSuccess);
} }
// //
@@ -155,6 +158,7 @@ message CreateServerRequest {
int64 webId = 15; int64 webId = 15;
bytes reverseProxyJSON = 16; bytes reverseProxyJSON = 16;
repeated int64 serverGroupIds = 17; repeated int64 serverGroupIds = 17;
int64 userPlanId = 18;
int64 nodeClusterId = 30; int64 nodeClusterId = 30;
bytes includeNodesJSON = 31; bytes includeNodesJSON = 31;
@@ -516,17 +520,23 @@ message PurgeServerCacheResponse {
string message = 2; string message = 2;
} }
// //
message FindEnabledServerBandwidthLimitRequest { message FindEnabledServerTrafficLimitRequest {
int64 serverId = 1; int64 serverId = 1;
} }
message FindEnabledServerBandwidthLimitResponse { message FindEnabledServerTrafficLimitResponse {
bytes bandwidthLimitJSON = 1; bytes trafficLimitJSON = 1;
} }
// //
message UpdateServerBandwidthLimitRequest { message UpdateServerTrafficLimitRequest {
int64 serverId = 1; int64 serverId = 1;
bytes bandwidthLimitJSON = 2; bytes trafficLimitJSON = 2;
}
//
message UpdateServerUserPlanRequest {
int64 serverId = 1;
int64 userPlanId = 2;
} }
+68
View File
@@ -0,0 +1,68 @@
syntax = "proto3";
option go_package = "./pb";
package pb;
import "models/model_user_account.proto";
import "models/rpc_messages.proto";
//
service UserAccountService {
//
rpc countUserAccounts(CountUserAccountsRequest) returns (RPCCountResponse);
//
rpc listUserAccounts(ListUserAccountsRequest) returns (ListUserAccountsResponse);
// ID查找单个账户
rpc findEnabledUserAccountWithUserId(FindEnabledUserAccountWithUserIdRequest) returns (FindEnabledUserAccountWithUserIdResponse);
//
rpc findEnabledUserAccount(FindEnabledUserAccountRequest) returns (FindEnabledUserAccountResponse);
//
rpc updateUserAccount(UpdateUserAccountRequest) returns (RPCSuccess);
}
//
message CountUserAccountsRequest {
string keyword = 1;
}
//
message ListUserAccountsRequest {
string keyword = 1;
int64 offset = 2;
int64 size = 3;
}
message ListUserAccountsResponse {
repeated UserAccount userAccounts = 1;
}
// ID查找单个账户
message FindEnabledUserAccountWithUserIdRequest {
int64 userId = 1;
}
message FindEnabledUserAccountWithUserIdResponse {
UserAccount userAccount = 1;
}
//
message FindEnabledUserAccountRequest {
int64 userAccountId = 1;
}
message FindEnabledUserAccountResponse {
UserAccount userAccount = 1;
}
//
message UpdateUserAccountRequest {
int64 userAccountId = 1;
float delta = 2;
string eventType = 3;
string description = 4;
bytes paramsJSON = 5;
}
@@ -0,0 +1,45 @@
syntax = "proto3";
option go_package = "./pb";
package pb;
//
service UserAccountDailyStatService {
//
rpc listUserAccountDailyStats(ListUserAccountDailyStatsRequest) returns (ListUserAccountDailyStatsResponse);
//
rpc listUserAccountMonthlyStats(ListUserAccountMonthlyStatsRequest) returns (ListUserAccountMonthlyStatsResponse);
}
//
message ListUserAccountDailyStatsRequest {
string dayFrom = 1;
string dayTo = 2;
}
message ListUserAccountDailyStatsResponse {
repeated Stat stats = 1;
message Stat {
string day = 1; // YYYYMMDD
float income = 2;
float expense = 3;
}
}
//
message ListUserAccountMonthlyStatsRequest {
string dayFrom = 1;
string dayTo = 2;
}
message ListUserAccountMonthlyStatsResponse {
repeated Stat stats = 1;
message Stat {
string month = 1; // YYYYMM
float income = 2;
float expense = 3;
}
}
@@ -0,0 +1,37 @@
syntax = "proto3";
option go_package = "./pb";
package pb;
import "models/model_user_account_log.proto";
import "models/rpc_messages.proto";
//
service UserAccountLogService {
//
rpc countUserAccountLogs(CountUserAccountLogsRequest) returns (RPCCountResponse);
//
rpc listUserAccountLogs(ListUserAccountLogsRequest) returns (ListUserAccountLogsResponse);
}
//
message CountUserAccountLogsRequest {
int64 userAccountId = 1;
string keyword = 2;
string eventType = 3;
}
//
message ListUserAccountLogsRequest {
int64 userAccountId = 1;
string keyword = 2;
string eventType = 3;
int64 offset = 4;
int64 size = 5;
}
message ListUserAccountLogsResponse {
repeated UserAccountLog userAccountLogs = 1;
}
+17 -9
View File
@@ -32,6 +32,9 @@ service UserNodeService {
// //
rpc updateUserNodeStatus (UpdateUserNodeStatusRequest) returns (RPCSuccess); rpc updateUserNodeStatus (UpdateUserNodeStatusRequest) returns (RPCSuccess);
// 使SSL证书的用户节点数量
rpc countAllEnabledUserNodesWithSSLCertId (CountAllEnabledUserNodesWithSSLCertIdRequest) returns (RPCCountResponse);
} }
// //
@@ -45,12 +48,12 @@ message CreateUserNodeRequest {
} }
message CreateUserNodeResponse { message CreateUserNodeResponse {
int64 nodeId = 1; int64 userNodeId = 1;
} }
// //
message UpdateUserNodeRequest { message UpdateUserNodeRequest {
int64 nodeId = 1; int64 userNodeId = 1;
string name = 2; string name = 2;
string description = 3; string description = 3;
bytes httpJSON = 4; bytes httpJSON = 4;
@@ -61,7 +64,7 @@ message UpdateUserNodeRequest {
// //
message DeleteUserNodeRequest { message DeleteUserNodeRequest {
int64 nodeId = 1; int64 userNodeId = 1;
} }
// //
@@ -70,7 +73,7 @@ message FindAllEnabledUserNodesRequest {
} }
message FindAllEnabledUserNodesResponse { message FindAllEnabledUserNodesResponse {
repeated UserNode nodes = 1; repeated UserNode userNodes = 1;
} }
// //
@@ -85,16 +88,16 @@ message ListEnabledUserNodesRequest {
} }
message ListEnabledUserNodesResponse { message ListEnabledUserNodesResponse {
repeated UserNode nodes = 1; repeated UserNode userNodes = 1;
} }
// ID查找节点 // ID查找节点
message FindEnabledUserNodeRequest { message FindEnabledUserNodeRequest {
int64 nodeId = 1; int64 userNodeId = 1;
} }
message FindEnabledUserNodeResponse { message FindEnabledUserNodeResponse {
UserNode node = 1; UserNode userNode = 1;
} }
// //
@@ -103,11 +106,16 @@ message FindCurrentUserNodeRequest {
} }
message FindCurrentUserNodeResponse { message FindCurrentUserNodeResponse {
UserNode node = 1; UserNode userNode = 1;
} }
// //
message UpdateUserNodeStatusRequest { message UpdateUserNodeStatusRequest {
int64 nodeId = 1; int64 userNodeId = 1;
bytes statusJSON = 2; bytes statusJSON = 2;
} }
// 使SSL证书的用户节点数量
message CountAllEnabledUserNodesWithSSLCertIdRequest {
int64 sslCertId = 1;
}
+30 -4
View File
@@ -8,8 +8,11 @@ import "models/model_user_plan.proto";
// //
service UserPlanService { service UserPlanService {
// //
rpc createUserPlan(CreateUserPlanRequest) returns (CreateUserPlanResponse); rpc buyUserPlan(BuyUserPlanRequest) returns (BuyUserPlanResponse);
//
rpc renewUserPlan(RenewUserPlanRequest) returns (RPCSuccess);
// //
rpc findEnabledUserPlan(FindEnabledUserPlanRequest) returns (FindEnabledUserPlanResponse); rpc findEnabledUserPlan(FindEnabledUserPlanRequest) returns (FindEnabledUserPlanResponse);
@@ -25,19 +28,32 @@ service UserPlanService {
// //
rpc listEnabledUserPlans(ListEnabledUserPlansRequest) returns (ListEnabledUserPlansResponse); rpc listEnabledUserPlans(ListEnabledUserPlansRequest) returns (ListEnabledUserPlansResponse);
//
rpc findAllEnabledUserPlansForServer(FindAllEnabledUserPlansForServerRequest) returns (FindAllEnabledUserPlansForServerResponse);
} }
// //
message CreateUserPlanRequest{ message BuyUserPlanRequest{
int64 userId = 1; int64 userId = 1;
int64 planId = 2; int64 planId = 2;
string dayTo = 3; string dayTo = 3;
string period = 4;
int32 countPeriod = 5;
} }
message CreateUserPlanResponse { message BuyUserPlanResponse {
int64 userPlanId = 1; int64 userPlanId = 1;
} }
//
message RenewUserPlanRequest {
int64 userPlanId = 1;
string dayTo = 3;
string period = 4;
int32 countPeriod = 5;
}
// //
message FindEnabledUserPlanRequest { message FindEnabledUserPlanRequest {
int64 userPlanId = 1; int64 userPlanId = 1;
@@ -81,3 +97,13 @@ message ListEnabledUserPlansRequest {
message ListEnabledUserPlansResponse { message ListEnabledUserPlansResponse {
repeated UserPlan userPlans = 1; repeated UserPlan userPlans = 1;
} }
//
message FindAllEnabledUserPlansForServerRequest {
int64 userId = 1;
int64 serverId = 2;
}
message FindAllEnabledUserPlansForServerResponse {
repeated UserPlan userPlans = 1;
}
@@ -0,0 +1,8 @@
// Copyright 2021 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
package firewallconfigs
const (
GlobalListId int64 = 2_000_000_000
DefaultEventLevel = "critical"
)
+10
View File
@@ -23,6 +23,16 @@ type HTTPCachePolicy struct {
CacheRefs []*HTTPCacheRef `yaml:"cacheRefs" json:"cacheRefs"` // 缓存配置 CacheRefs []*HTTPCacheRef `yaml:"cacheRefs" json:"cacheRefs"` // 缓存配置
PersistenceAutoPurgeCount int `yaml:"persistenceAutoPurgeCount" json:"persistenceAutoPurgeCount"` // 每次自动清理的条数 TODO 需要实现
PersistenceAutoPurgeInterval int `yaml:"persistenceAutoPurgeInterval" json:"persistenceAutoPurgeInterval"` // 自动清理的时间间隔(秒) TODO 需要实现
PersistenceLFUFreePercent float32 `yaml:"persistenceLFUFreePercent" json:"persistenceLFUFreePercent"` // LFU算法执行阈值,剩余空间比例,使用百分比,比如20 TODO 需要实现
PersistenceHitSampleRate int `yaml:"persistenceHitSampleRate" json:"persistenceHitSampleRate"` // 热点数据采样比例 TODO 需要实现
MemoryAutoPurgeCount int `yaml:"memoryAutoPurgeCount" json:"memoryAutoPurgeCount"` // 每次自动清理的条数 TODO 需要实现
MemoryAutoPurgeInterval int `yaml:"memoryAutoPurgeInterval" json:"memoryAutoPurgeInterval"` // 自动清理的时间间隔(秒) TODO 需要实现
MemoryLFUFreePercent float32 `yaml:"memoryLFUFreePercent" json:"memoryLFUFreePercent"` // LFU算法执行阈值,剩余空间比例,使用百分比,比如20 TODO 需要实现
MemoryAutoFlushQueueSize int `yaml:"memoryAutoFlushQueueSize" json:"memoryAutoFlushQueueSize"` // 自动刷新到持久层队列尺寸 TODO 需要实现
capacity int64 capacity int64
maxSize int64 maxSize int64
} }
+11
View File
@@ -0,0 +1,11 @@
// Copyright 2021 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
package serverconfigs
type PlanConfig struct {
Id int64 `yaml:"id" json:"id"`
}
func (this *PlanConfig) Init() error {
return nil
}
+3 -3
View File
@@ -5,13 +5,13 @@ package serverconfigs
type PlanPriceType = string type PlanPriceType = string
const ( const (
PlanPriceTypeBandwidth PlanPriceType = "bandwidth" PlanPriceTypeTraffic PlanPriceType = "traffic"
PlanPriceTypePeriod PlanPriceType = "period" PlanPriceTypePeriod PlanPriceType = "period"
) )
func FindPlanPriceTypeName(priceType PlanPriceType) string { func FindPlanPriceTypeName(priceType PlanPriceType) string {
switch priceType { switch priceType {
case PlanPriceTypeBandwidth: case PlanPriceTypeTraffic:
return "带宽用量" return "带宽用量"
case PlanPriceTypePeriod: case PlanPriceTypePeriod:
return "时间周期" return "时间周期"
@@ -19,6 +19,6 @@ func FindPlanPriceTypeName(priceType PlanPriceType) string {
return "" return ""
} }
type PlanBandwidthPrice struct { type PlanTrafficPrice struct {
Base float32 `yaml:"base" json:"base"` // 基础价格,单位是 元/GB Base float32 `yaml:"base" json:"base"` // 基础价格,单位是 元/GB
} }
+139 -6
View File
@@ -1,19 +1,71 @@
package serverconfigs package serverconfigs
import "strings" import (
"github.com/TeaOSLab/EdgeCommon/pkg/configutils"
"strings"
"sync"
)
type ServerAddressGroup struct { type ServerAddressGroup struct {
fullAddr string fullAddr string
Servers []*ServerConfig servers []*ServerConfig
// 域名和服务映射
strictDomainMap map[string]map[string]*ServerConfig // domain[:2] => {domain => *ServerConfig}
fuzzyDomainMap map[string]*ServerConfig // special domain => *ServerConfig
cacheLocker sync.RWMutex
cacheDomainMap map[string]map[string]*ServerConfig // domain[:2] => {domain => *ServerConfig}
countCacheDomains int
// 支持CNAME的服务
cnameDomainMap map[string]map[string]*ServerConfig // domain[:2] => {domain => *ServerConfig}
// 第一个TLS Server
firstTLSServer *ServerConfig
} }
func NewServerAddressGroup(fullAddr string) *ServerAddressGroup { func NewServerAddressGroup(fullAddr string) *ServerAddressGroup {
return &ServerAddressGroup{fullAddr: fullAddr} return &ServerAddressGroup{
fullAddr: fullAddr,
strictDomainMap: map[string]map[string]*ServerConfig{},
fuzzyDomainMap: map[string]*ServerConfig{},
cacheDomainMap: map[string]map[string]*ServerConfig{},
cnameDomainMap: map[string]map[string]*ServerConfig{},
}
} }
// Add 添加服务 // Add 添加服务
func (this *ServerAddressGroup) Add(server *ServerConfig) { func (this *ServerAddressGroup) Add(server *ServerConfig) {
this.Servers = append(this.Servers, server) for _, serverName := range server.AllStrictNames() {
var prefix = this.domainPrefix(serverName)
domainsMap, ok := this.strictDomainMap[prefix]
if ok {
domainsMap[serverName] = server
} else {
this.strictDomainMap[prefix] = map[string]*ServerConfig{serverName: server}
}
// CNAME
if server.SupportCNAME {
cnameDomainsMap, ok := this.cnameDomainMap[prefix]
if ok {
cnameDomainsMap[serverName] = server
} else {
this.cnameDomainMap[prefix] = map[string]*ServerConfig{serverName: server}
}
}
}
for _, serverName := range server.AllFuzzyNames() {
this.fuzzyDomainMap[serverName] = server
}
this.servers = append(this.servers, server)
// 第一个TLS Server
if this.firstTLSServer == nil && server.SSLPolicy() != nil && server.SSLPolicy().IsOn {
this.firstTLSServer = server
}
} }
// FullAddr 获取完整的地址 // FullAddr 获取完整的地址
@@ -40,6 +92,11 @@ func (this *ServerAddressGroup) Addr() string {
return strings.TrimPrefix(this.fullAddr, protocol.String()+"://") return strings.TrimPrefix(this.fullAddr, protocol.String()+"://")
} }
// Servers 读取所有服务
func (this *ServerAddressGroup) Servers() []*ServerConfig {
return this.servers
}
// IsHTTP 判断当前分组是否为HTTP // IsHTTP 判断当前分组是否为HTTP
func (this *ServerAddressGroup) IsHTTP() bool { func (this *ServerAddressGroup) IsHTTP() bool {
p := this.Protocol() p := this.Protocol()
@@ -78,8 +135,84 @@ func (this *ServerAddressGroup) IsUDP() bool {
// FirstServer 获取第一个Server // FirstServer 获取第一个Server
func (this *ServerAddressGroup) FirstServer() *ServerConfig { func (this *ServerAddressGroup) FirstServer() *ServerConfig {
if len(this.Servers) > 0 { if len(this.servers) > 0 {
return this.Servers[0] return this.servers[0]
} }
return nil return nil
} }
// FirstTLSServer 获取第一个TLS Server
func (this *ServerAddressGroup) FirstTLSServer() *ServerConfig {
return this.firstTLSServer
}
// MatchServerName 使用域名查找服务
func (this *ServerAddressGroup) MatchServerName(serverName string) *ServerConfig {
var prefix = this.domainPrefix(serverName)
// 试图从缓存中读取
this.cacheLocker.RLock()
if len(this.cacheDomainMap) > 0 {
domainMap, ok := this.cacheDomainMap[prefix]
if ok {
server, ok := domainMap[serverName]
if ok {
this.cacheLocker.RUnlock()
return server
}
}
}
this.cacheLocker.RUnlock()
domainMap, ok := this.strictDomainMap[prefix]
if ok {
server, ok := domainMap[serverName]
if ok {
return server
}
}
for pattern, server := range this.fuzzyDomainMap {
if configutils.MatchDomain(pattern, serverName) {
// 加入到缓存
this.cacheLocker.Lock()
// 限制缓存的最大尺寸,防止内存耗尽
// TODO 清理20%比较老的数据
if this.countCacheDomains < 1_000_000 {
domainMap, ok := this.cacheDomainMap[prefix]
if ok {
domainMap[serverName] = server
} else {
this.cacheDomainMap[prefix] = map[string]*ServerConfig{serverName: server}
}
this.countCacheDomains++
}
this.cacheLocker.Unlock()
return server
}
}
return nil
}
// MatchServerCNAME 使用CNAME查找服务
func (this *ServerAddressGroup) MatchServerCNAME(serverName string) *ServerConfig {
var prefix = this.domainPrefix(serverName)
domainMap, ok := this.cnameDomainMap[prefix]
if ok {
server, ok := domainMap[serverName]
if ok {
return server
}
}
return nil
}
func (this *ServerAddressGroup) domainPrefix(domain string) string {
if len(domain) < 2 {
return domain
}
return domain[:2]
}
@@ -2,7 +2,9 @@ package serverconfigs
import ( import (
"github.com/iwind/TeaGo/assert" "github.com/iwind/TeaGo/assert"
"github.com/iwind/TeaGo/types"
"testing" "testing"
"time"
) )
func TestServerAddressGroup_Protocol(t *testing.T) { func TestServerAddressGroup_Protocol(t *testing.T) {
@@ -32,3 +34,83 @@ func TestServerAddressGroup_Protocol(t *testing.T) {
a.IsTrue(group.Addr() == "/tmp/my.sock") a.IsTrue(group.Addr() == "/tmp/my.sock")
} }
} }
func TestServerAddressGroup_MatchServerName(t *testing.T) {
var group = NewServerAddressGroup("")
for i := 0; i < 1_000_000; i++ {
group.Add(&ServerConfig{
ServerNames: []*ServerNameConfig{
{
Name: "hello" + types.String(i) + ".com",
SubNames: []string{},
},
},
})
}
group.Add(&ServerConfig{
ServerNames: []*ServerNameConfig{
{
Name: "hello.com",
SubNames: []string{},
},
},
})
group.Add(&ServerConfig{
ServerNames: []*ServerNameConfig{
{
Name: "*.hello.com",
SubNames: []string{},
},
},
})
var before = time.Now()
defer func() {
t.Log(time.Since(before).Seconds()*1000, "ms")
}()
t.Log(group.MatchServerName("hello99999.com").AllStrictNames())
t.Log(group.MatchServerName("hello.com").AllStrictNames())
t.Log(group.MatchServerName("world.hello.com").AllFuzzyNames())
for i := 0; i < 100_000; i++ {
_ = group.MatchServerName("world.hello.com")
}
// 检查死锁问题
group.MatchServerName("world2.hello.com")
}
func TestServerAddressGroup_MatchServerCNAME(t *testing.T) {
var group = NewServerAddressGroup("")
group.Add(&ServerConfig{
ServerNames: []*ServerNameConfig{
{
Name: "hello.com",
SubNames: []string{},
},
},
SupportCNAME: true,
})
group.Add(&ServerConfig{
ServerNames: []*ServerNameConfig{
{
Name: "*.hello.com",
SubNames: []string{},
},
},
})
var before = time.Now()
defer func() {
t.Log(time.Since(before).Seconds()*1000, "ms")
}()
server := group.MatchServerCNAME("hello.com")
if server != nil {
t.Log(server.AllStrictNames())
} else {
t.Log(server)
}
t.Log(group.MatchServerCNAME("world.hello.com"))
}
+72 -20
View File
@@ -42,14 +42,19 @@ type ServerConfig struct {
HTTPCachePolicyId int64 `yaml:"httpCachePolicyId" json:"httpCachePolicyId"` HTTPCachePolicyId int64 `yaml:"httpCachePolicyId" json:"httpCachePolicyId"`
HTTPCachePolicy *HTTPCachePolicy `yaml:"httpCachePolicy" json:"httpCachePolicy"` // 通过 HTTPCachePolicyId 获取 HTTPCachePolicy *HTTPCachePolicy `yaml:"httpCachePolicy" json:"httpCachePolicy"` // 通过 HTTPCachePolicyId 获取
// 带宽限制 // 流量限制
BandwidthLimit *BandwidthLimitConfig `yaml:"bandwidthLimit" json:"bandwidthLimit"` TrafficLimit *TrafficLimitConfig `yaml:"trafficLimit" json:"trafficLimit"`
BandwidthLimitStatus *BandwidthLimitStatus `yaml:"bandwidthLimitStatus" json:"bandwidthLimitStatus"` TrafficLimitStatus *TrafficLimitStatus `yaml:"trafficLimitStatus" json:"trafficLimitStatus"`
// 套餐
UserPlan *UserPlanConfig `yaml:"userPlan" json:"userPlan"`
// 分组 // 分组
Group *ServerGroupConfig `yaml:"group" json:"group"` Group *ServerGroupConfig `yaml:"group" json:"group"`
isOk bool isOk bool
planId int64
} }
// NewServerConfigFromJSON 从JSON中解析Server配置 // NewServerConfigFromJSON 从JSON中解析Server配置
@@ -221,6 +226,18 @@ func (this *ServerConfig) Init() error {
} }
} }
// 套餐
if this.UserPlan != nil {
err := this.UserPlan.Init()
if err != nil {
return err
}
if this.UserPlan.Plan != nil {
this.planId = this.UserPlan.Plan.Id
}
}
this.isOk = true this.isOk = true
return nil return nil
@@ -298,35 +315,60 @@ func (this *ServerConfig) IsUDPFamily() bool {
return this.UDP != nil return this.UDP != nil
} }
// MatchName 判断是否和域名匹配 // AllStrictNames 所有严格域名
func (this *ServerConfig) MatchName(name string) bool { func (this *ServerConfig) AllStrictNames() []string {
if len(name) == 0 { var result = []string{}
return false for _, name := range this.AliasServerNames {
if len(name) > 0 {
if !configutils.IsFuzzyDomain(name) {
result = append(result, name)
}
} }
if len(this.AliasServerNames) > 0 && configutils.MatchDomains(this.AliasServerNames, name) {
return true
} }
for _, serverName := range this.ServerNames { for _, serverName := range this.ServerNames {
if serverName.Match(name) { var name = serverName.Name
return true if len(name) > 0 {
if !configutils.IsFuzzyDomain(name) {
result = append(result, name)
} }
} }
return false for _, name := range serverName.SubNames {
if len(name) > 0 {
if !configutils.IsFuzzyDomain(name) {
result = append(result, name)
}
}
}
}
return result
} }
// MatchNameStrictly 判断是否严格匹配 // AllFuzzyNames 所有模糊域名
func (this *ServerConfig) MatchNameStrictly(name string) bool { func (this *ServerConfig) AllFuzzyNames() []string {
for _, serverName := range this.AliasServerNames { var result = []string{}
if serverName == name { for _, name := range this.AliasServerNames {
return true if len(name) > 0 {
if configutils.IsFuzzyDomain(name) {
result = append(result, name)
}
} }
} }
for _, serverName := range this.ServerNames { for _, serverName := range this.ServerNames {
if serverName.Name == name { var name = serverName.Name
return true if len(name) > 0 {
if configutils.IsFuzzyDomain(name) {
result = append(result, name)
} }
} }
return false for _, name := range serverName.SubNames {
if len(name) > 0 {
if configutils.IsFuzzyDomain(name) {
result = append(result, name)
}
}
}
}
return result
} }
// SSLPolicy SSL信息 // SSLPolicy SSL信息
@@ -352,3 +394,13 @@ func (this *ServerConfig) FindAndCheckReverseProxy(dataType string) (*ReversePro
return nil, errors.New("invalid data type:'" + dataType + "'") return nil, errors.New("invalid data type:'" + dataType + "'")
} }
} }
// ShouldCheckTrafficLimit 检查是否需要检查流量限制
func (this *ServerConfig) ShouldCheckTrafficLimit() bool {
return this.TrafficLimit != nil && !this.TrafficLimit.IsEmpty()
}
// PlanId 套餐ID
func (this *ServerConfig) PlanId() int64 {
return this.planId
}
+19
View File
@@ -72,3 +72,22 @@ func TestServerConfig_Protocols(t *testing.T) {
t.Log(server.FullAddresses()) t.Log(server.FullAddresses())
} }
} }
func TestServerConfig_AllStrictNames(t *testing.T) {
var config = &ServerConfig{
AliasServerNames: []string{"hello.com", ".hello.com"},
ServerNames: []*ServerNameConfig{
{
Name: "hello2.com",
},
{
SubNames: []string{"hello3.com", "hello4.com", "*.hello5.com"},
},
{
Name: "~hello.com",
},
},
}
t.Log(config.AllStrictNames())
t.Log(config.AllFuzzyNames())
}
@@ -4,20 +4,20 @@ package serverconfigs
import "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/shared" import "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/shared"
// DefaultBandwidthLimitNoticePageBody 达到带宽限制时默认提示内容 // DefaultTrafficLimitNoticePageBody 达到流量限制时默认提示内容
const DefaultBandwidthLimitNoticePageBody = `<!DOCTYPE html> const DefaultTrafficLimitNoticePageBody = `<!DOCTYPE html>
<html> <html>
<head> <head>
<title>Bandwidth Limit Exceeded Warning/title> <title>Traffic Limit Exceeded Warning/title>
<body> <body>
The site bandwidth has exceeded the limit. Please contact with the site administrator. The site traffic has exceeded the limit. Please contact with the site administrator.
</body> </body>
</html>` </html>`
// BandwidthLimitConfig 带宽限制 // TrafficLimitConfig 流量限制
type BandwidthLimitConfig struct { type TrafficLimitConfig struct {
IsOn bool `yaml:"isOn" json:"isOn"` // 是否启用 IsOn bool `yaml:"isOn" json:"isOn"` // 是否启用
DailySize *shared.SizeCapacity `yaml:"dailySize" json:"dailySize"` // 每日限制 DailySize *shared.SizeCapacity `yaml:"dailySize" json:"dailySize"` // 每日限制
@@ -29,7 +29,7 @@ type BandwidthLimitConfig struct {
// DailyBytes 每天限制 // DailyBytes 每天限制
// 不使用Init()来初始化数据,是为了让其他地方不经过Init()也能得到计算值 // 不使用Init()来初始化数据,是为了让其他地方不经过Init()也能得到计算值
func (this *BandwidthLimitConfig) DailyBytes() int64 { func (this *TrafficLimitConfig) DailyBytes() int64 {
if this.DailySize != nil { if this.DailySize != nil {
return this.DailySize.Bytes() return this.DailySize.Bytes()
} }
@@ -37,7 +37,7 @@ func (this *BandwidthLimitConfig) DailyBytes() int64 {
} }
// MonthlyBytes 每月限制 // MonthlyBytes 每月限制
func (this *BandwidthLimitConfig) MonthlyBytes() int64 { func (this *TrafficLimitConfig) MonthlyBytes() int64 {
if this.MonthlySize != nil { if this.MonthlySize != nil {
return this.MonthlySize.Bytes() return this.MonthlySize.Bytes()
} }
@@ -45,7 +45,7 @@ func (this *BandwidthLimitConfig) MonthlyBytes() int64 {
} }
// TotalBytes 总限制 // TotalBytes 总限制
func (this *BandwidthLimitConfig) TotalBytes() int64 { func (this *TrafficLimitConfig) TotalBytes() int64 {
if this.TotalSize != nil { if this.TotalSize != nil {
return this.TotalSize.Bytes() return this.TotalSize.Bytes()
} }
@@ -53,6 +53,6 @@ func (this *BandwidthLimitConfig) TotalBytes() int64 {
} }
// IsEmpty 检查是否有限制值 // IsEmpty 检查是否有限制值
func (this *BandwidthLimitConfig) IsEmpty() bool { func (this *TrafficLimitConfig) IsEmpty() bool {
return !this.IsOn || (this.DailyBytes() <= 0 && this.MonthlyBytes() <= 0 && this.TotalBytes() <= 0) return !this.IsOn || (this.DailyBytes() <= 0 && this.MonthlyBytes() <= 0 && this.TotalBytes() <= 0)
} }
@@ -4,12 +4,12 @@ package serverconfigs
import timeutil "github.com/iwind/TeaGo/utils/time" import timeutil "github.com/iwind/TeaGo/utils/time"
// BandwidthLimitStatus 带宽限制状态 // TrafficLimitStatus 流量限制状态
type BandwidthLimitStatus struct { type TrafficLimitStatus struct {
UntilDay string `yaml:"untilDay" json:"untilDay"` // 有效日期,格式YYYYMMDD UntilDay string `yaml:"untilDay" json:"untilDay"` // 有效日期,格式YYYYMMDD
} }
func (this *BandwidthLimitStatus) IsValid() bool { func (this *TrafficLimitStatus) IsValid() bool {
if len(this.UntilDay) == 0 { if len(this.UntilDay) == 0 {
return false return false
} }
+42
View File
@@ -0,0 +1,42 @@
// Copyright 2021 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
package serverconfigs
import timeutil "github.com/iwind/TeaGo/utils/time"
// DefaultPlanExpireNoticePageBody 套餐过期时提示
const DefaultPlanExpireNoticePageBody = `<!DOCTYPE html>
<html>
<head>
<title>套餐已过期</title>
<body>
<p>套餐已过期请及时续费</p>
<p>Your server plan has been expired, please renew the plan.</p>
</body>
</html>`
// UserPlanConfig 用户套餐配置
type UserPlanConfig struct {
DayTo string `yaml:"dayTo" json:"dayTo"` // 有效期
Plan *PlanConfig `yaml:"plan" json:"plan"`
}
// Init 初始化
func (this *UserPlanConfig) Init() error {
if this.Plan != nil {
err := this.Plan.Init()
if err != nil {
return err
}
}
return nil
}
// IsAvailable 是否有效
func (this *UserPlanConfig) IsAvailable() bool {
return this.DayTo >= timeutil.Format("Y-m-d")
}
+78
View File
@@ -0,0 +1,78 @@
// Copyright 2021 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
package userconfigs
// 所有账户相关的事件类型
type AccountEventType = string
const (
AccountEventTypeCharge AccountEventType = "charge" // 充值
AccountEventTypeAward AccountEventType = "award" // 赠送
AccountEventTypeBuyPlan AccountEventType = "buyPlan" // 购买套餐
AccountEventTypePayBill AccountEventType = "payBill" // 支付账单
AccountEventTypeRefund AccountEventType = "refund" // 退款
AccountEventTypeWithdraw AccountEventType = "withdraw" // 提现
)
type AccountEvent struct {
Name string `json:"name"` // 名称
Code AccountEventType `json:"code"` // 代号
Description string `json:"description"` // 描述
IsPositive bool `json:"isPositive"` // 是否为正向
}
var AccountIncomeEventTypes = []AccountEventType{AccountEventTypeCharge} // 收入
var AccountExpenseEventTypes = []AccountEventType{AccountEventTypeWithdraw} // 支出
// FindAllAccountEventTypes 查找所有的事件类型
func FindAllAccountEventTypes() []*AccountEvent {
return []*AccountEvent{
{
Name: "充值",
Code: AccountEventTypeCharge,
Description: "为用户账户充值。",
IsPositive: true,
},
{
Name: "赠送",
Code: AccountEventTypeAward,
Description: "为用户账户赠送余额。",
IsPositive: true,
},
{
Name: "购买套餐",
Code: AccountEventTypeBuyPlan,
Description: "购买套餐支出。",
IsPositive: false,
},
{
Name: "支付账单",
Code: AccountEventTypePayBill,
Description: "支付账单支出。",
IsPositive: false,
},
{
Name: "退款",
Code: AccountEventTypeRefund,
Description: "退款到用户账户。",
IsPositive: true,
},
{
Name: "提现",
Code: AccountEventTypeWithdraw,
Description: "用户从账户提现。",
IsPositive: false,
},
}
}
// FindAccountEvent 根据事件类型查找事件定义
func FindAccountEvent(eventType AccountEventType) *AccountEvent {
for _, e := range FindAllAccountEventTypes() {
if e.Code == eventType {
return e
}
}
return nil
}