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

View File

@@ -9,6 +9,7 @@ pkg/
serverconfigs - 网站服务相关配置
systemconfigs - 系统全局配置
reporterconfigs - 区域监控终端配置
userconfigs - 用户相关配置
configutils/ - 配置公共函数等
errors/ - 错误处理

View File

@@ -27,6 +27,10 @@ func MatchDomain(pattern string, domain string) (isMatched bool) {
return
}
if pattern == domain {
return true
}
if pattern == "*" {
return true
}
@@ -61,3 +65,19 @@ func MatchDomain(pattern string, domain string) (isMatched bool) {
}
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
}

View File

@@ -81,3 +81,14 @@ func TestMatchDomain(t *testing.T) {
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"))
}

View File

@@ -11,15 +11,16 @@ const (
MessageCodeCleanCache MessageCode = "cleanCache" // 清理缓存
MessageCodePreheatCache MessageCode = "preheatCache" // 预热缓存
MessageCodeCheckSystemdService MessageCode = "checkSystemdService" // 检查Systemd服务
MessageCodeNewNodeTask MessageCode = "NewNodeTask" // 有新的节点任务产生
MessageCodeNewNodeTask MessageCode = "newNodeTask" // 有新的节点任务产生
MessageCodeChangeAPINode MessageCode = "changeAPINode" // 改变新的API节点
)
// 连接API节点成功
// ConnectedAPINodeMessage 连接API节点成功
type ConnectedAPINodeMessage struct {
APINodeId int64 `json:"apiNodeId"`
}
// 写入缓存
// WriteCacheMessage 写入缓存
type WriteCacheMessage struct {
CachePolicyJSON []byte `json:"cachePolicyJSON"`
Key string `json:"key"`
@@ -27,13 +28,13 @@ type WriteCacheMessage struct {
LifeSeconds int64 `json:"lifeSeconds"`
}
// 读取缓存
// ReadCacheMessage 读取缓存
type ReadCacheMessage struct {
CachePolicyJSON []byte `json:"cachePolicyJSON"`
Key string `json:"key"`
}
// 统计缓存
// StatCacheMessage 统计缓存
type StatCacheMessage struct {
CachePolicyJSON []byte `json:"cachePolicyJSON"`
}
@@ -44,7 +45,7 @@ type CleanCacheMessage struct {
CachePolicyJSON []byte `json:"cachePolicyJSON"`
}
// 删除缓存
// PurgeCacheMessageType 删除缓存
type PurgeCacheMessageType = string
const (
@@ -58,16 +59,21 @@ type PurgeCacheMessage struct {
Type PurgeCacheMessageType `json:"type"` // 清理类型
}
// 预热缓存
// PreheatCacheMessage 预热缓存
type PreheatCacheMessage struct {
CachePolicyJSON []byte `json:"cachePolicyJSON"`
Keys []string `json:"keys"`
}
// Systemd服务
// CheckSystemdServiceMessage Systemd服务
type CheckSystemdServiceMessage struct {
}
// 有新的节点任务
// NewNodeTaskMessage 有新的节点任务
type NewNodeTaskMessage struct {
}
// ChangeAPINodeMessage 修改API地址
type ChangeAPINodeMessage struct {
Addr string `json:"addr"`
}

View File

@@ -10,6 +10,7 @@ const (
IPAddressThresholdItemNodeAvgRequests IPAddressThresholdItem = "nodeAvgRequests" // 个
IPAddressThresholdItemNodeAvgTrafficOut IPAddressThresholdItem = "nodeAvgTrafficOut" // 节点下行流量 M
IPAddressThresholdItemNodeAvgTrafficIn IPAddressThresholdItem = "nodeAvgTrafficIn" // 节点上行流量 M
IPAddressThresholdItemNodeHealthCheck IPAddressThresholdItem = "nodeHealthCheck" // 节点健康检查结果
IPAddressThresholdItemGroupAvgRequests IPAddressThresholdItem = "groupAvgRequests" // 个
IPAddressThresholdItemGroupAvgTrafficIn IPAddressThresholdItem = "groupAvgTrafficIn" // 分组上行流量 M
IPAddressThresholdItemGroupAvgTrafficOut IPAddressThresholdItem = "groupAvgTrafficOut" // 分组下行流量 M
@@ -40,6 +41,12 @@ func FindAllIPAddressThresholdItems() []maps.Map {
"description": "当前节点在单位时间内接收的上行流量。",
"unit": "M",
},
{
"name": "节点健康检查结果",
"code": IPAddressThresholdItemNodeHealthCheck,
"description": "当前节点健康检查结果。",
"unit": "",
},
{
"name": "IP连通性",

View File

@@ -25,7 +25,7 @@ func HumanError(err error) error {
case codes.Unimplemented:
return errors.New("请求的RPC服务或方法不存在可能是没有升级API节点或者当前节点没有升级" + err.Error())
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

View File

@@ -45,6 +45,7 @@ type DNSDomain struct {
ProviderId int64 `protobuf:"varint,11,opt,name=providerId,proto3" json:"providerId,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"`
IsDeleted bool `protobuf:"varint,16,opt,name=isDeleted,proto3" json:"isDeleted,omitempty"`
}
func (x *DNSDomain) Reset() {
@@ -184,6 +185,13 @@ func (x *DNSDomain) GetIsUp() bool {
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_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,
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,
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,
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,
@@ -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,
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,
0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x55, 0x70, 0x42, 0x06, 0x5a, 0x04, 0x2e,
0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x55, 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x69,
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 (

View File

@@ -37,6 +37,7 @@ type HTTPFirewallPolicy struct {
Description string `protobuf:"bytes,4,opt,name=description,proto3" json:"description,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"`
ServerId int64 `protobuf:"varint,8,opt,name=serverId,proto3" json:"serverId,omitempty"`
}
func (x *HTTPFirewallPolicy) Reset() {
@@ -120,12 +121,19 @@ func (x *HTTPFirewallPolicy) GetOutboundJSON() []byte {
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_rawDesc = []byte{
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,
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,
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,
@@ -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,
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,
0x6f, 0x75, 0x6e, 0x64, 0x4a, 0x53, 0x4f, 0x4e, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62,
0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
0x6f, 0x75, 0x6e, 0x64, 0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x72, 0x76,
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 (

View File

@@ -30,17 +30,31 @@ type IPItem struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
IpFrom string `protobuf:"bytes,2,opt,name=ipFrom,proto3" json:"ipFrom,omitempty"`
IpTo string `protobuf:"bytes,3,opt,name=ipTo,proto3" json:"ipTo,omitempty"`
Version int64 `protobuf:"varint,4,opt,name=version,proto3" json:"version,omitempty"`
ExpiredAt int64 `protobuf:"varint,5,opt,name=expiredAt,proto3" json:"expiredAt,omitempty"`
Reason string `protobuf:"bytes,6,opt,name=reason,proto3" json:"reason,omitempty"`
ListId int64 `protobuf:"varint,7,opt,name=listId,proto3" json:"listId,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"`
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的性质
Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
IpFrom string `protobuf:"bytes,2,opt,name=ipFrom,proto3" json:"ipFrom,omitempty"`
IpTo string `protobuf:"bytes,3,opt,name=ipTo,proto3" json:"ipTo,omitempty"`
Version int64 `protobuf:"varint,4,opt,name=version,proto3" json:"version,omitempty"`
ExpiredAt int64 `protobuf:"varint,5,opt,name=expiredAt,proto3" json:"expiredAt,omitempty"`
Reason string `protobuf:"bytes,6,opt,name=reason,proto3" json:"reason,omitempty"`
ListId int64 `protobuf:"varint,7,opt,name=listId,proto3" json:"listId,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"`
EventLevel string `protobuf:"bytes,10,opt,name=eventLevel,proto3" json:"eventLevel,omitempty"` // 级别
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() {
@@ -152,30 +166,184 @@ func (x *IPItem) GetListType() string {
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_rawDesc = []byte{
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,
0x22, 0x9a, 0x02, 0x0a, 0x06, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x69,
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x69,
0x70, 0x46, 0x72, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x70, 0x46,
0x72, 0x6f, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x70, 0x54, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28,
0x09, 0x52, 0x04, 0x69, 0x70, 0x54, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69,
0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f,
0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x41, 0x74, 0x18, 0x05,
0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x41, 0x74, 0x12,
0x16, 0x0a, 0x06, 0x72, 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, 0x42, 0x06, 0x5a,
0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
0x1a, 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,
0x69, 0x63, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2b, 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, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x29, 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, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x73, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x1a, 0x19, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f,
0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf8, 0x07, 0x0a,
0x06, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20,
0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x70, 0x46, 0x72, 0x6f,
0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x70, 0x46, 0x72, 0x6f, 0x6d, 0x12,
0x12, 0x0a, 0x04, 0x69, 0x70, 0x54, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x69,
0x70, 0x54, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04,
0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a,
0x09, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x41, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03,
0x52, 0x09, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x41, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72,
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 (
@@ -192,14 +360,23 @@ 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_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{
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
1, // 0: pb.IPItem.sourceServer:type_name -> pb.Server
1, // 1: pb.IPItem.server:type_name -> pb.Server
2, // 2: pb.IPItem.sourceHTTPFirewallPolicy:type_name -> pb.HTTPFirewallPolicy
3, // 3: pb.IPItem.sourceHTTPFirewallRuleGroup:type_name -> pb.HTTPFirewallRuleGroup
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() }
@@ -207,6 +384,10 @@ func file_models_model_ip_item_proto_init() {
if File_models_model_ip_item_proto != nil {
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 {
file_models_model_ip_item_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*IPItem); i {

View File

@@ -38,6 +38,7 @@ type IPList struct {
TimeoutJSON []byte `protobuf:"bytes,6,opt,name=timeoutJSON,proto3" json:"timeoutJSON,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"`
IsGlobal bool `protobuf:"varint,9,opt,name=isGlobal,proto3" json:"isGlobal,omitempty"`
}
func (x *IPList) Reset() {
@@ -128,12 +129,19 @@ func (x *IPList) GetDescription() string {
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_rawDesc = []byte{
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,
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,
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,
@@ -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, 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, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x06, 0x5a, 0x04, 0x2e,
0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x69,
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 (

View File

@@ -37,6 +37,7 @@ type NodeGrant struct {
Password string `protobuf:"bytes,5,opt,name=password,proto3" json:"password,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"`
Passphrase string `protobuf:"bytes,10,opt,name=passphrase,proto3" json:"passphrase,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"`
}
@@ -122,6 +123,13 @@ func (x *NodeGrant) GetPrivateKey() string {
return ""
}
func (x *NodeGrant) GetPassphrase() string {
if x != nil {
return x.Passphrase
}
return ""
}
func (x *NodeGrant) GetDescription() string {
if x != nil {
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{
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,
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,
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,
@@ -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,
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,
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,
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,

View File

@@ -37,6 +37,8 @@ type NodeTask struct {
IsOk bool `protobuf:"varint,4,opt,name=isOk,proto3" json:"isOk,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"`
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"`
NodeCluster *NodeCluster `protobuf:"bytes,31,opt,name=nodeCluster,proto3" json:"nodeCluster,omitempty"`
}
@@ -115,6 +117,20 @@ func (x *NodeTask) GetUpdatedAt() int64 {
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 {
if x != nil {
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,
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,
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,
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,
@@ -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,
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,
0x28, 0x03, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a,
0x04, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x70, 0x62,
0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6e, 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,
0x28, 0x03, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x18, 0x0a,
0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07,
0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x50, 0x72, 0x69,
0x6d, 0x61, 0x72, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x50, 0x72,
0x69, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x1c, 0x0a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x1e, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6e,
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 (

View File

@@ -30,17 +30,17 @@ type Plan struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,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"`
ClusterId int64 `protobuf:"varint,4,opt,name=clusterId,proto3" json:"clusterId,omitempty"`
BandwidthLimitJSON []byte `protobuf:"bytes,5,opt,name=bandwidthLimitJSON,proto3" json:"bandwidthLimitJSON,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"`
BandwidthPriceJSON []byte `protobuf:"bytes,8,opt,name=bandwidthPriceJSON,proto3" json:"bandwidthPriceJSON,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"`
YearlyPrice float32 `protobuf:"fixed32,11,opt,name=yearlyPrice,proto3" json:"yearlyPrice,omitempty"`
Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,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"`
ClusterId int64 `protobuf:"varint,4,opt,name=clusterId,proto3" json:"clusterId,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"`
PriceType string `protobuf:"bytes,7,opt,name=priceType,proto3" json:"priceType,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"`
SeasonallyPrice float32 `protobuf:"fixed32,10,opt,name=seasonallyPrice,proto3" json:"seasonallyPrice,omitempty"`
YearlyPrice float32 `protobuf:"fixed32,11,opt,name=yearlyPrice,proto3" json:"yearlyPrice,omitempty"`
}
func (x *Plan) Reset() {
@@ -103,9 +103,9 @@ func (x *Plan) GetClusterId() int64 {
return 0
}
func (x *Plan) GetBandwidthLimitJSON() []byte {
func (x *Plan) GetTrafficLimitJSON() []byte {
if x != nil {
return x.BandwidthLimitJSON
return x.TrafficLimitJSON
}
return nil
}
@@ -124,9 +124,9 @@ func (x *Plan) GetPriceType() string {
return ""
}
func (x *Plan) GetBandwidthPriceJSON() []byte {
func (x *Plan) GetTrafficPriceJSON() []byte {
if x != nil {
return x.BandwidthPriceJSON
return x.TrafficPriceJSON
}
return nil
}
@@ -156,31 +156,31 @@ var File_models_model_plan_proto protoreflect.FileDescriptor
var file_models_model_plan_proto_rawDesc = []byte{
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,
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,
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,
0x03, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x12,
0x62, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4a, 0x53,
0x4f, 0x4e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x12, 0x62, 0x61, 0x6e, 0x64, 0x77, 0x69,
0x64, 0x74, 0x68, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x22, 0x0a, 0x0c,
0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x06, 0x20, 0x01,
0x28, 0x0c, 0x52, 0x0c, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x4a, 0x53, 0x4f, 0x4e,
0x12, 0x1c, 0x0a, 0x09, 0x70, 0x72, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20,
0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2e,
0x0a, 0x12, 0x62, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x50, 0x72, 0x69, 0x63, 0x65,
0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x12, 0x62, 0x61, 0x6e, 0x64,
0x77, 0x69, 0x64, 0x74, 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, 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, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0f, 0x73, 0x65, 0x61,
0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x6c, 0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x20, 0x0a, 0x0b,
0x79, 0x65, 0x61, 0x72, 0x6c, 0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28,
0x02, 0x52, 0x0b, 0x79, 0x65, 0x61, 0x72, 0x6c, 0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x42, 0x06,
0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
0x03, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x10,
0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4a, 0x53, 0x4f, 0x4e,
0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x10, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x4c,
0x69, 0x6d, 0x69, 0x74, 0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x22, 0x0a, 0x0c, 0x66, 0x65, 0x61, 0x74,
0x75, 0x72, 0x65, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c,
0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x1c, 0x0a, 0x09,
0x70, 0x72, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52,
0x09, 0x70, 0x72, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x74, 0x72,
0x61, 0x66, 0x66, 0x69, 0x63, 0x50, 0x72, 0x69, 0x63, 0x65, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x08,
0x20, 0x01, 0x28, 0x0c, 0x52, 0x10, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 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, 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, 0x65, 0x18, 0x0a, 0x20,
0x01, 0x28, 0x02, 0x52, 0x0f, 0x73, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x6c, 0x79, 0x50,
0x72, 0x69, 0x63, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x79, 0x65, 0x61, 0x72, 0x6c, 0x79, 0x50, 0x72,
0x69, 0x63, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, 0x79, 0x65, 0x61, 0x72, 0x6c,
0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (

View File

@@ -40,6 +40,7 @@ type Server struct {
CreatedAt int64 `protobuf:"varint,7,opt,name=createdAt,proto3" json:"createdAt,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"`
UserPlanId int64 `protobuf:"varint,24,opt,name=userPlanId,proto3" json:"userPlanId,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"`
@@ -161,6 +162,13 @@ func (x *Server) GetSupportCNAME() bool {
return false
}
func (x *Server) GetUserPlanId() int64 {
if x != nil {
return x.UserPlanId
}
return 0
}
func (x *Server) GetConfig() []byte {
if x != nil {
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,
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,
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,
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,
@@ -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,
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,
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,
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,

View File

@@ -31,15 +31,17 @@ type ServerDailyStat struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ServerId int64 `protobuf:"varint,1,opt,name=serverId,proto3" json:"serverId,omitempty"`
RegionId int64 `protobuf:"varint,2,opt,name=regionId,proto3" json:"regionId,omitempty"`
Bytes int64 `protobuf:"varint,3,opt,name=bytes,proto3" json:"bytes,omitempty"`
CachedBytes int64 `protobuf:"varint,5,opt,name=cachedBytes,proto3" json:"cachedBytes,omitempty"`
CountRequests int64 `protobuf:"varint,6,opt,name=countRequests,proto3" json:"countRequests,omitempty"`
CountCachedRequests int64 `protobuf:"varint,7,opt,name=countCachedRequests,proto3" json:"countCachedRequests,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"`
AttackBytes int64 `protobuf:"varint,9,opt,name=attackBytes,proto3" json:"attackBytes,omitempty"`
ServerId int64 `protobuf:"varint,1,opt,name=serverId,proto3" json:"serverId,omitempty"`
RegionId int64 `protobuf:"varint,2,opt,name=regionId,proto3" json:"regionId,omitempty"`
Bytes int64 `protobuf:"varint,3,opt,name=bytes,proto3" json:"bytes,omitempty"`
CachedBytes int64 `protobuf:"varint,5,opt,name=cachedBytes,proto3" json:"cachedBytes,omitempty"`
CountRequests int64 `protobuf:"varint,6,opt,name=countRequests,proto3" json:"countRequests,omitempty"`
CountCachedRequests int64 `protobuf:"varint,7,opt,name=countCachedRequests,proto3" json:"countCachedRequests,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"`
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() {
@@ -137,12 +139,26 @@ func (x *ServerDailyStat) GetAttackBytes() int64 {
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_rawDesc = []byte{
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,
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,
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,
@@ -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,
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,
0x61, 0x63, 0x6b, 0x42, 0x79, 0x74, 0x65, 0x73, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62,
0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
0x61, 0x63, 0x6b, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x32, 0x0a, 0x14, 0x63, 0x68, 0x65, 0x63,
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 (

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
}

View File

@@ -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
}

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
}

View File

@@ -39,6 +39,7 @@ type UserBill struct {
Month string `protobuf:"bytes,7,opt,name=month,proto3" json:"month,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"`
Code string `protobuf:"bytes,10,opt,name=code,proto3" json:"code,omitempty"`
}
func (x *UserBill) Reset() {
@@ -136,13 +137,20 @@ func (x *UserBill) GetPaidAt() int64 {
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_rawDesc = []byte{
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,
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,
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,
@@ -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,
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,
0x70, 0x61, 0x69, 0x64, 0x41, 0x74, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
0x70, 0x61, 0x69, 0x64, 0x41, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0a,
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 (

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

View File

@@ -41,6 +41,7 @@ type CreateIPListRequest struct {
TimeoutJSON []byte `protobuf:"bytes,4,opt,name=timeoutJSON,proto3" json:"timeoutJSON,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"`
IsGlobal bool `protobuf:"varint,7,opt,name=isGlobal,proto3" json:"isGlobal,omitempty"`
}
func (x *CreateIPListRequest) Reset() {
@@ -117,6 +118,13 @@ func (x *CreateIPListRequest) GetDescription() string {
return ""
}
func (x *CreateIPListRequest) GetIsGlobal() bool {
if x != nil {
return x.IsGlobal
}
return false
}
type CreateIPListResponse struct {
state protoimpl.MessageState
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,
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,
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,
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,
@@ -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, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,
0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72,
0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 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,
0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x73, 0x47, 0x6c, 0x6f, 0x62,
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,
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,
0x52, 0x08, 0x69, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61,
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,
0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x69, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x64, 0x12, 0x12,
0x0a, 0x04, 0x6e, 0x61, 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, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x69, 0x70, 0x4c, 0x69, 0x73, 0x74,
0x49, 0x64, 0x22, 0x3f, 0x0a, 0x19, 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,
0x22, 0x0a, 0x06, 0x69, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x0a, 0x2e, 0x70, 0x62, 0x2e, 0x49, 0x50, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x06, 0x69, 0x70, 0x4c,
0x69, 0x73, 0x74, 0x22, 0x69, 0x0a, 0x1d, 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, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01,
0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x73, 0x50, 0x75,
0x62, 0x6c, 0x69, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x50, 0x75,
0x62, 0x6c, 0x69, 0x63, 0x12, 0x18, 0x0a, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x18,
0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x22, 0x91,
0x01, 0x0a, 0x19, 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, 0x12, 0x12, 0x0a, 0x04,
0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65,
0x12, 0x1a, 0x0a, 0x08, 0x69, 0x73, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x18, 0x02, 0x20, 0x01,
0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x12, 0x18, 0x0a, 0x07,
0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6b,
0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 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, 0x42, 0x0a, 0x1a, 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, 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, 0x22, 0x31, 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, 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, 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,
0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x69, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x64, 0x22, 0x3f,
0x0a, 0x19, 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, 0x22, 0x0a, 0x06, 0x69,
0x70, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x70, 0x62,
0x2e, 0x49, 0x50, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x06, 0x69, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x22,
0x69, 0x0a, 0x1d, 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,
0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
0x74, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x73, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63,
0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63,
0x12, 0x18, 0x0a, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28,
0x09, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x22, 0x91, 0x01, 0x0a, 0x19, 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, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65,
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08,
0x69, 0x73, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08,
0x69, 0x73, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x12, 0x18, 0x0a, 0x07, 0x6b, 0x65, 0x79, 0x77,
0x6f, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f,
0x72, 0x64, 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, 0x42,
0x0a, 0x1a, 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, 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, 0x22, 0x31, 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, 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, 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, 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,
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, 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 (

File diff suppressed because it is too large Load Diff

View File

@@ -40,6 +40,7 @@ type CreateNodeGrantRequest struct {
Username string `protobuf:"bytes,3,opt,name=username,proto3" json:"username,omitempty"`
Password string `protobuf:"bytes,4,opt,name=password,proto3" json:"password,omitempty"`
PrivateKey string `protobuf:"bytes,5,opt,name=privateKey,proto3" json:"privateKey,omitempty"`
Passphrase string `protobuf:"bytes,8,opt,name=passphrase,proto3" json:"passphrase,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"`
}
@@ -111,6 +112,13 @@ func (x *CreateNodeGrantRequest) GetPrivateKey() string {
return ""
}
func (x *CreateNodeGrantRequest) GetPassphrase() string {
if x != nil {
return x.Passphrase
}
return ""
}
func (x *CreateNodeGrantRequest) GetDescription() string {
if x != nil {
return x.Description
@@ -184,6 +192,7 @@ type UpdateNodeGrantRequest struct {
Username string `protobuf:"bytes,3,opt,name=username,proto3" json:"username,omitempty"`
Password string `protobuf:"bytes,4,opt,name=password,proto3" json:"password,omitempty"`
PrivateKey string `protobuf:"bytes,5,opt,name=privateKey,proto3" json:"privateKey,omitempty"`
Passphrase string `protobuf:"bytes,9,opt,name=passphrase,proto3" json:"passphrase,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"`
}
@@ -262,6 +271,13 @@ func (x *UpdateNodeGrantRequest) GetPrivateKey() string {
return ""
}
func (x *UpdateNodeGrantRequest) GetPassphrase() string {
if x != nil {
return x.Passphrase
}
return ""
}
func (x *UpdateNodeGrantRequest) GetDescription() string {
if x != nil {
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,
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,
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,
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,
@@ -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, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x69, 0x76, 0x61,
0x74, 0x65, 0x4b, 0x65, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x69,
0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72,
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,
0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x64,
0x65, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49,
0x64, 0x22, 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,
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,
0x01, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61,
0x03, 0x52, 0x0b, 0x6e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x98,
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,
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,
@@ -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,
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,
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, 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,

View File

@@ -553,6 +553,45 @@ func (x *UpdateNodeLogsReadRequest) GetNodeLogIds() []int64 {
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_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,
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,
0x03, 0x28, 0x03, 0x52, 0x0a, 0x6e, 0x6f, 0x64, 0x65, 0x4c, 0x6f, 0x67, 0x49, 0x64, 0x73, 0x32,
0xaa, 0x03, 0x0a, 0x0e, 0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x6f, 0x67, 0x53, 0x65, 0x72, 0x76, 0x69,
0x03, 0x28, 0x03, 0x52, 0x0a, 0x6e, 0x6f, 0x64, 0x65, 0x4c, 0x6f, 0x67, 0x49, 0x64, 0x73, 0x22,
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,
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,
@@ -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,
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,
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,
0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x49, 0x0a, 0x15,
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 (
@@ -660,7 +706,7 @@ func file_service_node_log_proto_rawDescGZIP() []byte {
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{}{
(*CreateNodeLogsRequest)(nil), // 0: pb.CreateNodeLogsRequest
(*CreateNodeLogsResponse)(nil), // 1: pb.CreateNodeLogsResponse
@@ -670,27 +716,30 @@ var file_service_node_log_proto_goTypes = []interface{}{
(*FixNodeLogRequest)(nil), // 5: pb.FixNodeLogRequest
(*CountAllUnreadNodeLogsRequest)(nil), // 6: pb.CountAllUnreadNodeLogsRequest
(*UpdateNodeLogsReadRequest)(nil), // 7: pb.UpdateNodeLogsReadRequest
(*NodeLog)(nil), // 8: pb.NodeLog
(*RPCCountResponse)(nil), // 9: pb.RPCCountResponse
(*RPCSuccess)(nil), // 10: pb.RPCSuccess
(*UpdateAllNodeLogsReadRequest)(nil), // 8: pb.UpdateAllNodeLogsReadRequest
(*NodeLog)(nil), // 9: pb.NodeLog
(*RPCCountResponse)(nil), // 10: pb.RPCCountResponse
(*RPCSuccess)(nil), // 11: pb.RPCSuccess
}
var file_service_node_log_proto_depIdxs = []int32{
8, // 0: pb.CreateNodeLogsRequest.nodeLogs:type_name -> pb.NodeLog
8, // 1: pb.ListNodeLogsResponse.nodeLogs:type_name -> pb.NodeLog
9, // 0: pb.CreateNodeLogsRequest.nodeLogs:type_name -> pb.NodeLog
9, // 1: pb.ListNodeLogsResponse.nodeLogs:type_name -> pb.NodeLog
0, // 2: pb.NodeLogService.createNodeLogs:input_type -> pb.CreateNodeLogsRequest
2, // 3: pb.NodeLogService.countNodeLogs:input_type -> pb.CountNodeLogsRequest
3, // 4: pb.NodeLogService.listNodeLogs:input_type -> pb.ListNodeLogsRequest
5, // 5: pb.NodeLogService.fixNodeLog:input_type -> pb.FixNodeLogRequest
6, // 6: pb.NodeLogService.countAllUnreadNodeLogs:input_type -> pb.CountAllUnreadNodeLogsRequest
7, // 7: pb.NodeLogService.updateNodeLogsRead:input_type -> pb.UpdateNodeLogsReadRequest
1, // 8: pb.NodeLogService.createNodeLogs:output_type -> pb.CreateNodeLogsResponse
9, // 9: pb.NodeLogService.countNodeLogs:output_type -> pb.RPCCountResponse
4, // 10: pb.NodeLogService.listNodeLogs:output_type -> pb.ListNodeLogsResponse
10, // 11: pb.NodeLogService.fixNodeLog:output_type -> pb.RPCSuccess
9, // 12: pb.NodeLogService.countAllUnreadNodeLogs:output_type -> pb.RPCCountResponse
10, // 13: pb.NodeLogService.updateNodeLogsRead:output_type -> pb.RPCSuccess
8, // [8:14] is the sub-list for method output_type
2, // [2:8] is the sub-list for method input_type
8, // 8: pb.NodeLogService.updateAllNodeLogsRead:input_type -> pb.UpdateAllNodeLogsReadRequest
1, // 9: pb.NodeLogService.createNodeLogs:output_type -> pb.CreateNodeLogsResponse
10, // 10: pb.NodeLogService.countNodeLogs:output_type -> pb.RPCCountResponse
4, // 11: pb.NodeLogService.listNodeLogs:output_type -> pb.ListNodeLogsResponse
11, // 12: pb.NodeLogService.fixNodeLog:output_type -> pb.RPCSuccess
10, // 13: pb.NodeLogService.countAllUnreadNodeLogs:output_type -> pb.RPCCountResponse
11, // 14: pb.NodeLogService.updateNodeLogsRead:output_type -> pb.RPCSuccess
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 extendee
0, // [0:2] is the sub-list for field type_name
@@ -800,6 +849,18 @@ func file_service_node_log_proto_init() {
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{}
out := protoimpl.TypeBuilder{
@@ -807,7 +868,7 @@ func file_service_node_log_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_service_node_log_proto_rawDesc,
NumEnums: 0,
NumMessages: 8,
NumMessages: 9,
NumExtensions: 0,
NumServices: 1,
},
@@ -845,6 +906,8 @@ type NodeLogServiceClient interface {
CountAllUnreadNodeLogs(ctx context.Context, in *CountAllUnreadNodeLogsRequest, opts ...grpc.CallOption) (*RPCCountResponse, 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 {
@@ -909,6 +972,15 @@ func (c *nodeLogServiceClient) UpdateNodeLogsRead(ctx context.Context, in *Updat
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.
type NodeLogServiceServer interface {
// 创建日志
@@ -923,6 +995,8 @@ type NodeLogServiceServer interface {
CountAllUnreadNodeLogs(context.Context, *CountAllUnreadNodeLogsRequest) (*RPCCountResponse, error)
// 设置日志为已读
UpdateNodeLogsRead(context.Context, *UpdateNodeLogsReadRequest) (*RPCSuccess, error)
// 设置所有日志未已读
UpdateAllNodeLogsRead(context.Context, *UpdateAllNodeLogsReadRequest) (*RPCSuccess, error)
}
// 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) {
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) {
s.RegisterService(&_NodeLogService_serviceDesc, srv)
@@ -1060,6 +1137,24 @@ func _NodeLogService_UpdateNodeLogsRead_Handler(srv interface{}, ctx context.Con
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{
ServiceName: "pb.NodeLogService",
HandlerType: (*NodeLogServiceServer)(nil),
@@ -1088,6 +1183,10 @@ var _NodeLogService_serviceDesc = grpc.ServiceDesc{
MethodName: "updateNodeLogsRead",
Handler: _NodeLogService_UpdateNodeLogsRead_Handler,
},
{
MethodName: "updateAllNodeLogsRead",
Handler: _NodeLogService_UpdateAllNodeLogsRead_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "service_node_log.proto",

View File

@@ -35,15 +35,15 @@ type CreatePlanRequest struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
ClusterId int64 `protobuf:"varint,2,opt,name=clusterId,proto3" json:"clusterId,omitempty"`
BandwidthLimitJSON []byte `protobuf:"bytes,3,opt,name=bandwidthLimitJSON,proto3" json:"bandwidthLimitJSON,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"`
BandwidthPriceJSON []byte `protobuf:"bytes,6,opt,name=bandwidthPriceJSON,proto3" json:"bandwidthPriceJSON,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"`
YearlyPrice float32 `protobuf:"fixed32,9,opt,name=yearlyPrice,proto3" json:"yearlyPrice,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"`
TrafficLimitJSON []byte `protobuf:"bytes,3,opt,name=trafficLimitJSON,proto3" json:"trafficLimitJSON,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"`
TrafficPriceJSON []byte `protobuf:"bytes,6,opt,name=trafficPriceJSON,proto3" json:"trafficPriceJSON,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"`
YearlyPrice float32 `protobuf:"fixed32,9,opt,name=yearlyPrice,proto3" json:"yearlyPrice,omitempty"`
}
func (x *CreatePlanRequest) Reset() {
@@ -92,9 +92,9 @@ func (x *CreatePlanRequest) GetClusterId() int64 {
return 0
}
func (x *CreatePlanRequest) GetBandwidthLimitJSON() []byte {
func (x *CreatePlanRequest) GetTrafficLimitJSON() []byte {
if x != nil {
return x.BandwidthLimitJSON
return x.TrafficLimitJSON
}
return nil
}
@@ -113,9 +113,9 @@ func (x *CreatePlanRequest) GetPriceType() string {
return ""
}
func (x *CreatePlanRequest) GetBandwidthPriceJSON() []byte {
func (x *CreatePlanRequest) GetTrafficPriceJSON() []byte {
if x != nil {
return x.BandwidthPriceJSON
return x.TrafficPriceJSON
}
return nil
}
@@ -194,17 +194,17 @@ type UpdatePlanRequest struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
PlanId int64 `protobuf:"varint,1,opt,name=planId,proto3" json:"planId,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"`
ClusterId int64 `protobuf:"varint,4,opt,name=clusterId,proto3" json:"clusterId,omitempty"`
BandwidthLimitJSON []byte `protobuf:"bytes,5,opt,name=bandwidthLimitJSON,proto3" json:"bandwidthLimitJSON,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"`
BandwidthPriceJSON []byte `protobuf:"bytes,8,opt,name=bandwidthPriceJSON,proto3" json:"bandwidthPriceJSON,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"`
YearlyPrice float32 `protobuf:"fixed32,11,opt,name=yearlyPrice,proto3" json:"yearlyPrice,omitempty"`
PlanId int64 `protobuf:"varint,1,opt,name=planId,proto3" json:"planId,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"`
ClusterId int64 `protobuf:"varint,4,opt,name=clusterId,proto3" json:"clusterId,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"`
PriceType string `protobuf:"bytes,7,opt,name=priceType,proto3" json:"priceType,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"`
SeasonallyPrice float32 `protobuf:"fixed32,10,opt,name=seasonallyPrice,proto3" json:"seasonallyPrice,omitempty"`
YearlyPrice float32 `protobuf:"fixed32,11,opt,name=yearlyPrice,proto3" json:"yearlyPrice,omitempty"`
}
func (x *UpdatePlanRequest) Reset() {
@@ -267,9 +267,9 @@ func (x *UpdatePlanRequest) GetClusterId() int64 {
return 0
}
func (x *UpdatePlanRequest) GetBandwidthLimitJSON() []byte {
func (x *UpdatePlanRequest) GetTrafficLimitJSON() []byte {
if x != nil {
return x.BandwidthLimitJSON
return x.TrafficLimitJSON
}
return nil
}
@@ -288,9 +288,9 @@ func (x *UpdatePlanRequest) GetPriceType() string {
return ""
}
func (x *UpdatePlanRequest) GetBandwidthPriceJSON() []byte {
func (x *UpdatePlanRequest) GetTrafficPriceJSON() []byte {
if x != nil {
return x.BandwidthPriceJSON
return x.TrafficPriceJSON
}
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,
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,
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,
0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65,
0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74,
0x65, 0x72, 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x12, 0x62, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74,
0x68, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c,
0x52, 0x12, 0x62, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x4c, 0x69, 0x6d, 0x69, 0x74,
0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x22, 0x0a, 0x0c, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73,
0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x66, 0x65, 0x61, 0x74,
0x75, 0x72, 0x65, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x72, 0x69, 0x63,
0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x69,
0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2e, 0x0a, 0x12, 0x62, 0x61, 0x6e, 0x64, 0x77, 0x69,
0x64, 0x74, 0x68, 0x50, 0x72, 0x69, 0x63, 0x65, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x06, 0x20, 0x01,
0x28, 0x0c, 0x52, 0x12, 0x62, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 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, 0x07, 0x20, 0x01, 0x28, 0x02, 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, 0x65, 0x18, 0x08, 0x20,
0x01, 0x28, 0x02, 0x52, 0x0f, 0x73, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x6c, 0x79, 0x50,
0x72, 0x69, 0x63, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x79, 0x65, 0x61, 0x72, 0x6c, 0x79, 0x50, 0x72,
0x69, 0x63, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, 0x79, 0x65, 0x61, 0x72, 0x6c,
0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x22, 0x2c, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65,
0x50, 0x6c, 0x61, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06,
0x70, 0x6c, 0x61, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x70, 0x6c,
0x61, 0x6e, 0x49, 0x64, 0x22, 0x83, 0x03, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50,
0x6c, 0x61, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6c,
0x61, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x70, 0x6c, 0x61, 0x6e,
0x49, 0x64, 0x12, 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, 0x08, 0x52, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x12, 0x1c, 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, 0x62, 0x61, 0x6e, 0x64,
0x77, 0x69, 0x64, 0x74, 0x68, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x05,
0x20, 0x01, 0x28, 0x0c, 0x52, 0x12, 0x62, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x4c,
0x69, 0x6d, 0x69, 0x74, 0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x22, 0x0a, 0x0c, 0x66, 0x65, 0x61, 0x74,
0x75, 0x72, 0x65, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c,
0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x1c, 0x0a, 0x09,
0x70, 0x72, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52,
0x09, 0x70, 0x72, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2e, 0x0a, 0x12, 0x62, 0x61,
0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x50, 0x72, 0x69, 0x63, 0x65, 0x4a, 0x53, 0x4f, 0x4e,
0x18, 0x08, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x12, 0x62, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74,
0x68, 0x50, 0x72, 0x69, 0x63, 0x65, 0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x22, 0x0a, 0x0c, 0x6d, 0x6f,
0x65, 0x72, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x10, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x4c,
0x69, 0x6d, 0x69, 0x74, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x10,
0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4a, 0x53, 0x4f, 0x4e,
0x12, 0x22, 0x0a, 0x0c, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x4a, 0x53, 0x4f, 0x4e,
0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73,
0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x72, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70,
0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x69, 0x63, 0x65, 0x54, 0x79,
0x70, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x50, 0x72, 0x69,
0x63, 0x65, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x10, 0x74, 0x72,
0x61, 0x66, 0x66, 0x69, 0x63, 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, 0x07,
0x20, 0x01, 0x28, 0x02, 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, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0f, 0x73, 0x65, 0x61,
0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x6c, 0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x20, 0x0a, 0x0b,
0x79, 0x65, 0x61, 0x72, 0x6c, 0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28,
0x02, 0x52, 0x0b, 0x79, 0x65, 0x61, 0x72, 0x6c, 0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x22, 0x2c,
0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x52, 0x65, 0x73, 0x70,
0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6c, 0x61, 0x6e, 0x49, 0x64, 0x18, 0x01,
0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x70, 0x6c, 0x61, 0x6e, 0x49, 0x64, 0x22, 0xfb, 0x02, 0x0a,
0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6c, 0x61, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01,
0x28, 0x03, 0x52, 0x06, 0x70, 0x6c, 0x61, 0x6e, 0x49, 0x64, 0x12, 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, 0x08, 0x52, 0x04, 0x69, 0x73,
0x4f, 0x6e, 0x12, 0x1c, 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, 0x2a, 0x0a, 0x10, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x4c, 0x69, 0x6d, 0x69, 0x74,
0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x10, 0x74, 0x72, 0x61, 0x66,
0x66, 0x69, 0x63, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x22, 0x0a, 0x0c,
0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x06, 0x20, 0x01,
0x28, 0x0c, 0x52, 0x0c, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x4a, 0x53, 0x4f, 0x4e,
0x12, 0x1c, 0x0a, 0x09, 0x70, 0x72, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20,
0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2a,
0x0a, 0x10, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x50, 0x72, 0x69, 0x63, 0x65, 0x4a, 0x53,
0x4f, 0x4e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x10, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69,
0x63, 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,
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,

File diff suppressed because it is too large Load Diff

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",
}

View File

@@ -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",
}

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",
}

View File

@@ -122,7 +122,7 @@ type CreateUserNodeResponse struct {
sizeCache protoimpl.SizeCache
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() {
@@ -157,9 +157,9 @@ func (*CreateUserNodeResponse) Descriptor() ([]byte, []int) {
return file_service_user_node_proto_rawDescGZIP(), []int{1}
}
func (x *CreateUserNodeResponse) GetNodeId() int64 {
func (x *CreateUserNodeResponse) GetUserNodeId() int64 {
if x != nil {
return x.NodeId
return x.UserNodeId
}
return 0
}
@@ -170,7 +170,7 @@ type UpdateUserNodeRequest struct {
sizeCache protoimpl.SizeCache
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"`
Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,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}
}
func (x *UpdateUserNodeRequest) GetNodeId() int64 {
func (x *UpdateUserNodeRequest) GetUserNodeId() int64 {
if x != nil {
return x.NodeId
return x.UserNodeId
}
return 0
}
@@ -266,7 +266,7 @@ type DeleteUserNodeRequest struct {
sizeCache protoimpl.SizeCache
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() {
@@ -301,9 +301,9 @@ func (*DeleteUserNodeRequest) Descriptor() ([]byte, []int) {
return file_service_user_node_proto_rawDescGZIP(), []int{3}
}
func (x *DeleteUserNodeRequest) GetNodeId() int64 {
func (x *DeleteUserNodeRequest) GetUserNodeId() int64 {
if x != nil {
return x.NodeId
return x.UserNodeId
}
return 0
}
@@ -352,7 +352,7 @@ type FindAllEnabledUserNodesResponse struct {
sizeCache protoimpl.SizeCache
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() {
@@ -387,9 +387,9 @@ func (*FindAllEnabledUserNodesResponse) Descriptor() ([]byte, []int) {
return file_service_user_node_proto_rawDescGZIP(), []int{5}
}
func (x *FindAllEnabledUserNodesResponse) GetNodes() []*UserNode {
func (x *FindAllEnabledUserNodesResponse) GetUserNodes() []*UserNode {
if x != nil {
return x.Nodes
return x.UserNodes
}
return nil
}
@@ -494,7 +494,7 @@ type ListEnabledUserNodesResponse struct {
sizeCache protoimpl.SizeCache
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() {
@@ -529,9 +529,9 @@ func (*ListEnabledUserNodesResponse) Descriptor() ([]byte, []int) {
return file_service_user_node_proto_rawDescGZIP(), []int{8}
}
func (x *ListEnabledUserNodesResponse) GetNodes() []*UserNode {
func (x *ListEnabledUserNodesResponse) GetUserNodes() []*UserNode {
if x != nil {
return x.Nodes
return x.UserNodes
}
return nil
}
@@ -542,7 +542,7 @@ type FindEnabledUserNodeRequest struct {
sizeCache protoimpl.SizeCache
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() {
@@ -577,9 +577,9 @@ func (*FindEnabledUserNodeRequest) Descriptor() ([]byte, []int) {
return file_service_user_node_proto_rawDescGZIP(), []int{9}
}
func (x *FindEnabledUserNodeRequest) GetNodeId() int64 {
func (x *FindEnabledUserNodeRequest) GetUserNodeId() int64 {
if x != nil {
return x.NodeId
return x.UserNodeId
}
return 0
}
@@ -589,7 +589,7 @@ type FindEnabledUserNodeResponse struct {
sizeCache protoimpl.SizeCache
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() {
@@ -624,9 +624,9 @@ func (*FindEnabledUserNodeResponse) Descriptor() ([]byte, []int) {
return file_service_user_node_proto_rawDescGZIP(), []int{10}
}
func (x *FindEnabledUserNodeResponse) GetNode() *UserNode {
func (x *FindEnabledUserNodeResponse) GetUserNode() *UserNode {
if x != nil {
return x.Node
return x.UserNode
}
return nil
}
@@ -675,7 +675,7 @@ type FindCurrentUserNodeResponse struct {
sizeCache protoimpl.SizeCache
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() {
@@ -710,9 +710,9 @@ func (*FindCurrentUserNodeResponse) Descriptor() ([]byte, []int) {
return file_service_user_node_proto_rawDescGZIP(), []int{12}
}
func (x *FindCurrentUserNodeResponse) GetNode() *UserNode {
func (x *FindCurrentUserNodeResponse) GetUserNode() *UserNode {
if x != nil {
return x.Node
return x.UserNode
}
return nil
}
@@ -723,7 +723,7 @@ type UpdateUserNodeStatusRequest struct {
sizeCache protoimpl.SizeCache
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"`
}
@@ -759,9 +759,9 @@ func (*UpdateUserNodeStatusRequest) Descriptor() ([]byte, []int) {
return file_service_user_node_proto_rawDescGZIP(), []int{13}
}
func (x *UpdateUserNodeStatusRequest) GetNodeId() int64 {
func (x *UpdateUserNodeStatusRequest) GetUserNodeId() int64 {
if x != nil {
return x.NodeId
return x.UserNodeId
}
return 0
}
@@ -773,6 +773,54 @@ func (x *UpdateUserNodeStatusRequest) GetStatusJSON() []byte {
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_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,
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,
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,
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x64, 0x65,
0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64,
0x22, 0xdd, 0x01, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x4e,
0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f,
0x64, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65,
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 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, 0x22, 0xe5, 0x01, 0x0a, 0x15, 0x55, 0x70, 0x64,
0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 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,
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,
@@ -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,
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,
0x22, 0x2f, 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,
0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49,
0x64, 0x22, 0x20, 0x0a, 0x1e, 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, 0x22, 0x45, 0x0a, 0x1f, 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, 0x22, 0x0a, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x18,
0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x4e,
0x6f, 0x64, 0x65, 0x52, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x22, 0x21, 0x0a, 0x1f, 0x43, 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, 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, 0x22, 0x20, 0x0a, 0x1e, 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, 0x22, 0x4d, 0x0a, 0x1f, 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, 0x2a,
0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
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,
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,
0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06,
0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6f, 0x66,
0x66, 0x73, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01,
0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x22, 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,
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x22, 0x0a, 0x05, 0x6e, 0x6f, 0x64, 0x65,
0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x73, 0x65,
0x72, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x22, 0x34, 0x0a, 0x1a,
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, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f,
0x64, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65,
0x49, 0x64, 0x22, 0x3f, 0x0a, 0x1b, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65,
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72,
0x4e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 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, 0x3c, 0x0a, 0x1a, 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, 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, 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,
0x65, 0x12, 0x20, 0x0a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x0c, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6e,
0x6f, 0x64, 0x65, 0x22, 0x1c, 0x0a, 0x1a, 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, 0x22, 0x3f, 0x0a, 0x1b, 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, 0x20, 0x0a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c,
0x2e, 0x70, 0x62, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6e, 0x6f,
0x64, 0x65, 0x22, 0x55, 0x0a, 0x1b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72,
0x65, 0x12, 0x28, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x64,
0x65, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x22, 0x1c, 0x0a, 0x1a, 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, 0x22, 0x47, 0x0a, 0x1b, 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, 0x28, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72,
0x4e, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x70, 0x62, 0x2e,
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,
0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
0x03, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x74, 0x61,
0x74, 0x75, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x73,
0x74, 0x61, 0x74, 0x75, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x32, 0xe3, 0x05, 0x0a, 0x0f, 0x55, 0x73,
0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x47, 0x0a,
0x0e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x12,
0x19, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x4e,
0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x70, 0x62, 0x2e,
0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65,
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x0e, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65,
0x55, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70,
0x64, 0x61, 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, 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,
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, 0x1e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x18,
0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4a, 0x53, 0x4f,
0x4e, 0x22, 0x4c, 0x0a, 0x2c, 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, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x49, 0x64, 0x18, 0x01,
0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x73, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x49, 0x64, 0x32,
0xd4, 0x06, 0x0a, 0x0f, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x65, 0x72, 0x76,
0x69, 0x63, 0x65, 0x12, 0x47, 0x0a, 0x0e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65,
0x72, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 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,
0x1a, 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72,
0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x0e,
0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x19,
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, 0x42,
0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
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, 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, 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 (
@@ -912,31 +977,32 @@ func file_service_user_node_proto_rawDescGZIP() []byte {
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{}{
(*CreateUserNodeRequest)(nil), // 0: pb.CreateUserNodeRequest
(*CreateUserNodeResponse)(nil), // 1: pb.CreateUserNodeResponse
(*UpdateUserNodeRequest)(nil), // 2: pb.UpdateUserNodeRequest
(*DeleteUserNodeRequest)(nil), // 3: pb.DeleteUserNodeRequest
(*FindAllEnabledUserNodesRequest)(nil), // 4: pb.FindAllEnabledUserNodesRequest
(*FindAllEnabledUserNodesResponse)(nil), // 5: pb.FindAllEnabledUserNodesResponse
(*CountAllEnabledUserNodesRequest)(nil), // 6: pb.CountAllEnabledUserNodesRequest
(*ListEnabledUserNodesRequest)(nil), // 7: pb.ListEnabledUserNodesRequest
(*ListEnabledUserNodesResponse)(nil), // 8: pb.ListEnabledUserNodesResponse
(*FindEnabledUserNodeRequest)(nil), // 9: pb.FindEnabledUserNodeRequest
(*FindEnabledUserNodeResponse)(nil), // 10: pb.FindEnabledUserNodeResponse
(*FindCurrentUserNodeRequest)(nil), // 11: pb.FindCurrentUserNodeRequest
(*FindCurrentUserNodeResponse)(nil), // 12: pb.FindCurrentUserNodeResponse
(*UpdateUserNodeStatusRequest)(nil), // 13: pb.UpdateUserNodeStatusRequest
(*UserNode)(nil), // 14: pb.UserNode
(*RPCSuccess)(nil), // 15: pb.RPCSuccess
(*RPCCountResponse)(nil), // 16: pb.RPCCountResponse
(*CreateUserNodeRequest)(nil), // 0: pb.CreateUserNodeRequest
(*CreateUserNodeResponse)(nil), // 1: pb.CreateUserNodeResponse
(*UpdateUserNodeRequest)(nil), // 2: pb.UpdateUserNodeRequest
(*DeleteUserNodeRequest)(nil), // 3: pb.DeleteUserNodeRequest
(*FindAllEnabledUserNodesRequest)(nil), // 4: pb.FindAllEnabledUserNodesRequest
(*FindAllEnabledUserNodesResponse)(nil), // 5: pb.FindAllEnabledUserNodesResponse
(*CountAllEnabledUserNodesRequest)(nil), // 6: pb.CountAllEnabledUserNodesRequest
(*ListEnabledUserNodesRequest)(nil), // 7: pb.ListEnabledUserNodesRequest
(*ListEnabledUserNodesResponse)(nil), // 8: pb.ListEnabledUserNodesResponse
(*FindEnabledUserNodeRequest)(nil), // 9: pb.FindEnabledUserNodeRequest
(*FindEnabledUserNodeResponse)(nil), // 10: pb.FindEnabledUserNodeResponse
(*FindCurrentUserNodeRequest)(nil), // 11: pb.FindCurrentUserNodeRequest
(*FindCurrentUserNodeResponse)(nil), // 12: pb.FindCurrentUserNodeResponse
(*UpdateUserNodeStatusRequest)(nil), // 13: pb.UpdateUserNodeStatusRequest
(*CountAllEnabledUserNodesWithSSLCertIdRequest)(nil), // 14: pb.CountAllEnabledUserNodesWithSSLCertIdRequest
(*UserNode)(nil), // 15: pb.UserNode
(*RPCSuccess)(nil), // 16: pb.RPCSuccess
(*RPCCountResponse)(nil), // 17: pb.RPCCountResponse
}
var file_service_user_node_proto_depIdxs = []int32{
14, // 0: pb.FindAllEnabledUserNodesResponse.nodes:type_name -> pb.UserNode
14, // 1: pb.ListEnabledUserNodesResponse.nodes:type_name -> pb.UserNode
14, // 2: pb.FindEnabledUserNodeResponse.node:type_name -> pb.UserNode
14, // 3: pb.FindCurrentUserNodeResponse.node:type_name -> pb.UserNode
15, // 0: pb.FindAllEnabledUserNodesResponse.userNodes:type_name -> pb.UserNode
15, // 1: pb.ListEnabledUserNodesResponse.userNodes:type_name -> pb.UserNode
15, // 2: pb.FindEnabledUserNodeResponse.userNode:type_name -> pb.UserNode
15, // 3: pb.FindCurrentUserNodeResponse.userNode:type_name -> pb.UserNode
0, // 4: pb.UserNodeService.createUserNode:input_type -> pb.CreateUserNodeRequest
2, // 5: pb.UserNodeService.updateUserNode:input_type -> pb.UpdateUserNodeRequest
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
11, // 11: pb.UserNodeService.findCurrentUserNode:input_type -> pb.FindCurrentUserNodeRequest
13, // 12: pb.UserNodeService.updateUserNodeStatus:input_type -> pb.UpdateUserNodeStatusRequest
1, // 13: pb.UserNodeService.createUserNode:output_type -> pb.CreateUserNodeResponse
15, // 14: pb.UserNodeService.updateUserNode:output_type -> pb.RPCSuccess
15, // 15: pb.UserNodeService.deleteUserNode:output_type -> pb.RPCSuccess
5, // 16: pb.UserNodeService.findAllEnabledUserNodes:output_type -> pb.FindAllEnabledUserNodesResponse
16, // 17: pb.UserNodeService.countAllEnabledUserNodes:output_type -> pb.RPCCountResponse
8, // 18: pb.UserNodeService.listEnabledUserNodes:output_type -> pb.ListEnabledUserNodesResponse
10, // 19: pb.UserNodeService.findEnabledUserNode:output_type -> pb.FindEnabledUserNodeResponse
12, // 20: pb.UserNodeService.findCurrentUserNode:output_type -> pb.FindCurrentUserNodeResponse
15, // 21: pb.UserNodeService.updateUserNodeStatus:output_type -> pb.RPCSuccess
13, // [13:22] is the sub-list for method output_type
4, // [4:13] is the sub-list for method input_type
14, // 13: pb.UserNodeService.countAllEnabledUserNodesWithSSLCertId:input_type -> pb.CountAllEnabledUserNodesWithSSLCertIdRequest
1, // 14: pb.UserNodeService.createUserNode:output_type -> pb.CreateUserNodeResponse
16, // 15: pb.UserNodeService.updateUserNode:output_type -> pb.RPCSuccess
16, // 16: pb.UserNodeService.deleteUserNode:output_type -> pb.RPCSuccess
5, // 17: pb.UserNodeService.findAllEnabledUserNodes:output_type -> pb.FindAllEnabledUserNodesResponse
17, // 18: pb.UserNodeService.countAllEnabledUserNodes:output_type -> pb.RPCCountResponse
8, // 19: pb.UserNodeService.listEnabledUserNodes:output_type -> pb.ListEnabledUserNodesResponse
10, // 20: pb.UserNodeService.findEnabledUserNode:output_type -> pb.FindEnabledUserNodeResponse
12, // 21: pb.UserNodeService.findCurrentUserNode:output_type -> pb.FindCurrentUserNodeResponse
16, // 22: pb.UserNodeService.updateUserNodeStatus:output_type -> pb.RPCSuccess
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 extendee
0, // [0:4] is the sub-list for field type_name
@@ -1138,6 +1206,18 @@ func file_service_user_node_proto_init() {
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{}
out := protoimpl.TypeBuilder{
@@ -1145,7 +1225,7 @@ func file_service_user_node_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_service_user_node_proto_rawDesc,
NumEnums: 0,
NumMessages: 14,
NumMessages: 15,
NumExtensions: 0,
NumServices: 1,
},
@@ -1189,6 +1269,8 @@ type UserNodeServiceClient interface {
FindCurrentUserNode(ctx context.Context, in *FindCurrentUserNodeRequest, opts ...grpc.CallOption) (*FindCurrentUserNodeResponse, 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 {
@@ -1280,6 +1362,15 @@ func (c *userNodeServiceClient) UpdateUserNodeStatus(ctx context.Context, in *Up
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.
type UserNodeServiceServer interface {
// 创建用户节点
@@ -1300,6 +1391,8 @@ type UserNodeServiceServer interface {
FindCurrentUserNode(context.Context, *FindCurrentUserNodeRequest) (*FindCurrentUserNodeResponse, error)
// 更新节点状态
UpdateUserNodeStatus(context.Context, *UpdateUserNodeStatusRequest) (*RPCSuccess, error)
// 计算使用某个SSL证书的用户节点数量
CountAllEnabledUserNodesWithSSLCertId(context.Context, *CountAllEnabledUserNodesWithSSLCertIdRequest) (*RPCCountResponse, error)
}
// 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) {
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) {
s.RegisterService(&_UserNodeService_serviceDesc, srv)
@@ -1500,6 +1596,24 @@ func _UserNodeService_UpdateUserNodeStatus_Handler(srv interface{}, ctx context.
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{
ServiceName: "pb.UserNodeService",
HandlerType: (*UserNodeServiceServer)(nil),
@@ -1540,6 +1654,10 @@ var _UserNodeService_serviceDesc = grpc.ServiceDesc{
MethodName: "updateUserNodeStatus",
Handler: _UserNodeService_UpdateUserNodeStatus_Handler,
},
{
MethodName: "countAllEnabledUserNodesWithSSLCertId",
Handler: _UserNodeService_CountAllEnabledUserNodesWithSSLCertId_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "service_user_node.proto",

File diff suppressed because it is too large Load Diff

View File

@@ -21,4 +21,5 @@ message DNSDomain {
int64 providerId = 11;
int64 countNodeClusters = 12;
bool isUp = 15;
bool isDeleted = 16;
}

View File

@@ -11,4 +11,5 @@ message HTTPFirewallPolicy {
string description = 4;
bytes inboundJSON = 5;
bytes outboundJSON = 6;
int64 serverId = 8;
}

View File

@@ -3,6 +3,11 @@ option go_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 {
int64 id = 1;
string ipFrom = 2;
@@ -14,5 +19,22 @@ message IPItem {
bool isDeleted = 8;
string type = 9;
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;
}

View File

@@ -12,4 +12,5 @@ message IPList {
bytes timeoutJSON = 6;
bool isPublic = 7;
string description = 8;
bool isGlobal = 9;
}

View File

@@ -11,6 +11,7 @@ message NodeGrant {
string password = 5;
bool su = 6;
string privateKey = 7;
string passphrase = 10;
string description = 8;
int64 nodeId = 9;
}

View File

@@ -14,6 +14,8 @@ message NodeTask {
bool isOk = 4;
string error = 5;
int64 updatedAt = 6;
int64 version = 7;
bool isPrimary = 8; // 是否为主节点,非主节点稍等再同步有利于提升同步速度
Node node = 30;
NodeCluster nodeCluster = 31;

View File

@@ -8,10 +8,10 @@ message Plan {
bool isOn = 2;
string name = 3;
int64 clusterId = 4;
bytes bandwidthLimitJSON = 5;
bytes trafficLimitJSON = 5;
bytes featuresJSON = 6;
string priceType = 7;
bytes bandwidthPriceJSON = 8;
bytes trafficPriceJSON = 8;
float monthlyPrice = 9;
float seasonallyPrice = 10;
float yearlyPrice = 11;

View File

@@ -19,6 +19,7 @@ message Server {
int64 createdAt = 7;
string dnsName = 19;
bool supportCNAME = 23;
int64 userPlanId = 24;
// 配置相关
bytes config = 17;

View File

@@ -14,4 +14,6 @@ message ServerDailyStat {
int64 createdAt = 4;
int64 countAttackRequests = 8;
int64 attackBytes = 9;
bool checkTrafficLimiting = 10;
int64 planId = 11;
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -15,4 +15,5 @@ message UserBill {
string month = 7;
bool isPaid = 8;
int64 paidAt = 9;
string code = 10;
}

View File

@@ -21,6 +21,9 @@ service APINodeService {
// 计算API节点数量
rpc countAllEnabledAPINodes (CountAllEnabledAPINodesRequest) returns (RPCCountResponse);
// 计算启用的API节点数量
rpc countAllEnabledAndOnAPINodes (CountAllEnabledAndOnAPINodesRequest) returns (RPCCountResponse);
// 列出单页的API节点
rpc listEnabledAPINodes (ListEnabledAPINodesRequest) returns (ListEnabledAPINodesResponse);
@@ -29,6 +32,12 @@ service APINodeService {
// 获取当前API节点的版本
rpc findCurrentAPINodeVersion (FindCurrentAPINodeVersionRequest) returns (FindCurrentAPINodeVersionResponse);
// 获取当前API节点的信息
rpc findCurrentAPINode(FindCurrentAPINodeRequest) returns (FindCurrentAPINodeResponse);
// 计算使用某个SSL证书的API节点数量
rpc countAllEnabledAPINodesWithSSLCertId (CountAllEnabledAPINodesWithSSLCertIdRequest) returns (RPCCountResponse);
}
// 创建API节点
@@ -45,12 +54,12 @@ message CreateAPINodeRequest {
}
message CreateAPINodeResponse {
int64 nodeId = 1;
int64 apiNodeId = 1;
}
// 修改API节点
message UpdateAPINodeRequest {
int64 nodeId = 1;
int64 apiNodeId = 1;
string name = 2;
string description = 3;
bytes httpJSON = 4;
@@ -64,7 +73,7 @@ message UpdateAPINodeRequest {
// 删除API节点
message DeleteAPINodeRequest {
int64 nodeId = 1;
int64 apiNodeId = 1;
}
// 列出所有可用API节点
@@ -73,7 +82,7 @@ message FindAllEnabledAPINodesRequest {
}
message FindAllEnabledAPINodesResponse {
repeated APINode nodes = 1;
repeated APINode apiNodes = 1;
}
// 计算API节点数量
@@ -81,6 +90,11 @@ message CountAllEnabledAPINodesRequest {
}
// 计算启用的API节点数量
message CountAllEnabledAndOnAPINodesRequest {
}
// 列出单页的API节点
message ListEnabledAPINodesRequest {
int64 offset = 1;
@@ -88,16 +102,16 @@ message ListEnabledAPINodesRequest {
}
message ListEnabledAPINodesResponse {
repeated APINode nodes = 1;
repeated APINode apiNodes = 1;
}
// 根据ID查找节点
message FindEnabledAPINodeRequest {
int64 nodeId = 1;
int64 apiNodeId = 1;
}
message FindEnabledAPINodeResponse {
APINode node = 1;
APINode apiNode = 1;
}
// 获取当前API节点的版本
@@ -107,4 +121,17 @@ message FindCurrentAPINodeVersionRequest {
message FindCurrentAPINodeVersionResponse {
string version = 1;
}
}
// 获取当前API节点的信息
message FindCurrentAPINodeRequest {
}
message FindCurrentAPINodeResponse {
APINode apiNode = 1;
}
// 计算使用某个SSL证书的API节点数量
message CountAllEnabledAPINodesWithSSLCertIdRequest {
int64 sslCertId = 1;
}

View File

@@ -18,6 +18,9 @@ service DNSDomainService {
// 删除域名
rpc deleteDNSDomain (DeleteDNSDomainRequest) returns (RPCSuccess);
// 恢复删除的域名
rpc recoverDNSDomain (RecoverDNSDomainRequest) returns (RPCSuccess);
// 查询单个域名完整信息
rpc findEnabledDNSDomain (FindEnabledDNSDomainRequest) returns (FindEnabledDNSDomainResponse);
@@ -71,6 +74,11 @@ message DeleteDNSDomainRequest {
int64 dnsDomainId = 1;
}
// 恢复删除的域名
message RecoverDNSDomainRequest {
int64 dnsDomainId = 1;
}
// 查询单个域名信息
message FindEnabledDNSDomainRequest {
int64 dnsDomainId = 1;

View File

@@ -5,6 +5,9 @@ package pb;
import "models/rpc_messages.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条目管理
service IPItemService {
@@ -17,6 +20,9 @@ service IPItemService {
// 删除IP
rpc deleteIPItem (DeleteIPItemRequest) returns (RPCSuccess);
// 批量删除IP
rpc deleteIPItems(DeleteIPItemsRequest) returns (RPCSuccess);
// 计算IP数量
rpc countIPItemsWithListId (CountIPItemsWithListIdRequest) returns (RPCCountResponse);
@@ -34,6 +40,12 @@ service IPItemService {
// 检查IP是否存在
rpc existsEnabledIPItem (ExistsEnabledIPItemRequest) returns (ExistsEnabledIPItemResponse);
// 计算所有IP数量
rpc countAllEnabledIPItems(CountAllEnabledIPItemsRequest) returns (RPCCountResponse);
// 列出所有名单中的IP
rpc listAllEnabledIPItems(ListAllEnabledIPItemsRequest) returns (ListAllEnabledIPItemsResponse);
}
// 创建IP
@@ -45,6 +57,15 @@ message CreateIPItemRequest {
string reason = 5; // 加入理由(可选)
string type = 6; // 类型
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 {
@@ -67,6 +88,11 @@ message DeleteIPItemRequest {
int64 ipItemId = 1; // IP条目的ID
}
// 批量删除IP
message DeleteIPItemsRequest {
repeated int64 ipItemIds = 1;
}
// 计算IP数量
message CountIPItemsWithListIdRequest {
int64 ipListId = 1;
@@ -129,4 +155,29 @@ message ExistsEnabledIPItemRequest {
message ExistsEnabledIPItemResponse {
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策略
}
}

View File

@@ -41,6 +41,7 @@ message CreateIPListRequest {
bytes timeoutJSON = 4;
bool isPublic = 5;
string description = 6;
bool isGlobal = 7;
}
message CreateIPListResponse {

View File

@@ -241,11 +241,15 @@ message FindEnabledBasicNodeResponse {
message FindCurrentNodeConfigRequest {
// 由于登录信息中已经包含了节点信息所以这里不需要nodeId
int64 version = 1;
bool compress = 2; // 是否压缩
int64 nodeTaskVersion = 3; // 通知任务版本
}
message FindCurrentNodeConfigResponse {
bytes nodeJSON = 1;
bool isChanged = 2;
bool isCompressed = 3;
int64 dataSize = 4;
}
// 节点stream

View File

@@ -41,6 +41,7 @@ message CreateNodeGrantRequest {
string username = 3;
string password = 4;
string privateKey = 5;
string passphrase = 8;
string description = 6;
int64 nodeId = 7;
}
@@ -57,6 +58,7 @@ message UpdateNodeGrantRequest {
string username = 3;
string password = 4;
string privateKey = 5;
string passphrase = 9;
string description = 6;
int64 nodeId = 7;
}

View File

@@ -25,6 +25,9 @@ service NodeLogService {
// 设置日志为已读
rpc updateNodeLogsRead(UpdateNodeLogsReadRequest) returns (RPCSuccess);
// 设置所有日志未已读
rpc updateAllNodeLogsRead(UpdateAllNodeLogsReadRequest) returns (RPCSuccess);
}
// 创建日志
@@ -83,4 +86,9 @@ message CountAllUnreadNodeLogsRequest {
// 设置日志为已读
message UpdateNodeLogsReadRequest {
repeated int64 nodeLogIds = 1;
}
// 设置所有日志未已读
message UpdateAllNodeLogsReadRequest {
}

View File

@@ -34,10 +34,10 @@ service PlanService {
message CreatePlanRequest {
string name = 1;
int64 clusterId = 2;
bytes bandwidthLimitJSON = 3;
bytes trafficLimitJSON = 3;
bytes featuresJSON = 4;
string priceType = 5;
bytes bandwidthPriceJSON = 6;
bytes trafficPriceJSON = 6;
float monthlyPrice = 7;
float seasonallyPrice = 8;
float yearlyPrice = 9;
@@ -53,10 +53,10 @@ message UpdatePlanRequest {
string name = 2;
bool isOn = 3;
int64 clusterId = 4;
bytes bandwidthLimitJSON = 5;
bytes trafficLimitJSON = 5;
bytes featuresJSON = 6;
string priceType = 7;
bytes bandwidthPriceJSON = 8;
bytes trafficPriceJSON = 8;
float monthlyPrice = 9;
float seasonallyPrice = 10;
float yearlyPrice = 11;

View File

@@ -129,11 +129,14 @@ service ServerService {
// 清除缓存
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;
bytes reverseProxyJSON = 16;
repeated int64 serverGroupIds = 17;
int64 userPlanId = 18;
int64 nodeClusterId = 30;
bytes includeNodesJSON = 31;
@@ -516,17 +520,23 @@ message PurgeServerCacheResponse {
string message = 2;
}
// 查找带宽限制
message FindEnabledServerBandwidthLimitRequest {
// 查找流量限制
message FindEnabledServerTrafficLimitRequest {
int64 serverId = 1;
}
message FindEnabledServerBandwidthLimitResponse {
bytes bandwidthLimitJSON = 1;
message FindEnabledServerTrafficLimitResponse {
bytes trafficLimitJSON = 1;
}
// 设置带宽限制
message UpdateServerBandwidthLimitRequest {
// 设置流量限制
message UpdateServerTrafficLimitRequest {
int64 serverId = 1;
bytes bandwidthLimitJSON = 2;
bytes trafficLimitJSON = 2;
}
// 修改服务套餐
message UpdateServerUserPlanRequest {
int64 serverId = 1;
int64 userPlanId = 2;
}

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;
}

View File

@@ -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;
}
}

View File

@@ -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;
}

View File

@@ -32,6 +32,9 @@ service UserNodeService {
// 更新节点状态
rpc updateUserNodeStatus (UpdateUserNodeStatusRequest) returns (RPCSuccess);
// 计算使用某个SSL证书的用户节点数量
rpc countAllEnabledUserNodesWithSSLCertId (CountAllEnabledUserNodesWithSSLCertIdRequest) returns (RPCCountResponse);
}
// 创建用户节点
@@ -45,12 +48,12 @@ message CreateUserNodeRequest {
}
message CreateUserNodeResponse {
int64 nodeId = 1;
int64 userNodeId = 1;
}
// 修改用户节点
message UpdateUserNodeRequest {
int64 nodeId = 1;
int64 userNodeId = 1;
string name = 2;
string description = 3;
bytes httpJSON = 4;
@@ -61,7 +64,7 @@ message UpdateUserNodeRequest {
// 删除用户节点
message DeleteUserNodeRequest {
int64 nodeId = 1;
int64 userNodeId = 1;
}
// 列出所有可用用户节点
@@ -70,7 +73,7 @@ message FindAllEnabledUserNodesRequest {
}
message FindAllEnabledUserNodesResponse {
repeated UserNode nodes = 1;
repeated UserNode userNodes = 1;
}
// 计算用户节点数量
@@ -85,16 +88,16 @@ message ListEnabledUserNodesRequest {
}
message ListEnabledUserNodesResponse {
repeated UserNode nodes = 1;
repeated UserNode userNodes = 1;
}
// 根据ID查找节点
message FindEnabledUserNodeRequest {
int64 nodeId = 1;
int64 userNodeId = 1;
}
message FindEnabledUserNodeResponse {
UserNode node = 1;
UserNode userNode = 1;
}
// 获取当前用户节点
@@ -103,11 +106,16 @@ message FindCurrentUserNodeRequest {
}
message FindCurrentUserNodeResponse {
UserNode node = 1;
UserNode userNode = 1;
}
// 更新节点状态
message UpdateUserNodeStatusRequest {
int64 nodeId = 1;
int64 userNodeId = 1;
bytes statusJSON = 2;
}
// 计算使用某个SSL证书的用户节点数量
message CountAllEnabledUserNodesWithSSLCertIdRequest {
int64 sslCertId = 1;
}

View File

@@ -8,8 +8,11 @@ import "models/model_user_plan.proto";
// 用户购买的套餐
service UserPlanService {
// 添加已购套餐
rpc createUserPlan(CreateUserPlanRequest) returns (CreateUserPlanResponse);
// 购套餐
rpc buyUserPlan(BuyUserPlanRequest) returns (BuyUserPlanResponse);
// 续费套餐
rpc renewUserPlan(RenewUserPlanRequest) returns (RPCSuccess);
// 查找单个已购套餐信息
rpc findEnabledUserPlan(FindEnabledUserPlanRequest) returns (FindEnabledUserPlanResponse);
@@ -25,19 +28,32 @@ service UserPlanService {
// 列出单页已购套餐
rpc listEnabledUserPlans(ListEnabledUserPlansRequest) returns (ListEnabledUserPlansResponse);
// 查找所有服务可用的套餐
rpc findAllEnabledUserPlansForServer(FindAllEnabledUserPlansForServerRequest) returns (FindAllEnabledUserPlansForServerResponse);
}
// 添加已购套餐
message CreateUserPlanRequest{
message BuyUserPlanRequest{
int64 userId = 1;
int64 planId = 2;
string dayTo = 3;
string period = 4;
int32 countPeriod = 5;
}
message CreateUserPlanResponse {
message BuyUserPlanResponse {
int64 userPlanId = 1;
}
// 续费套餐
message RenewUserPlanRequest {
int64 userPlanId = 1;
string dayTo = 3;
string period = 4;
int32 countPeriod = 5;
}
// 查找单个已购套餐信息
message FindEnabledUserPlanRequest {
int64 userPlanId = 1;
@@ -80,4 +96,14 @@ message ListEnabledUserPlansRequest {
message ListEnabledUserPlansResponse {
repeated UserPlan userPlans = 1;
}
// 查找所有服务可用的套餐
message FindAllEnabledUserPlansForServerRequest {
int64 userId = 1;
int64 serverId = 2;
}
message FindAllEnabledUserPlansForServerResponse {
repeated UserPlan userPlans = 1;
}

View File

@@ -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"
)

View File

@@ -23,6 +23,16 @@ type HTTPCachePolicy struct {
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
maxSize int64
}

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
}

View File

@@ -5,13 +5,13 @@ package serverconfigs
type PlanPriceType = string
const (
PlanPriceTypeBandwidth PlanPriceType = "bandwidth"
PlanPriceTypePeriod PlanPriceType = "period"
PlanPriceTypeTraffic PlanPriceType = "traffic"
PlanPriceTypePeriod PlanPriceType = "period"
)
func FindPlanPriceTypeName(priceType PlanPriceType) string {
switch priceType {
case PlanPriceTypeBandwidth:
case PlanPriceTypeTraffic:
return "带宽用量"
case PlanPriceTypePeriod:
return "时间周期"
@@ -19,6 +19,6 @@ func FindPlanPriceTypeName(priceType PlanPriceType) string {
return ""
}
type PlanBandwidthPrice struct {
type PlanTrafficPrice struct {
Base float32 `yaml:"base" json:"base"` // 基础价格,单位是 元/GB
}

View File

@@ -1,19 +1,71 @@
package serverconfigs
import "strings"
import (
"github.com/TeaOSLab/EdgeCommon/pkg/configutils"
"strings"
"sync"
)
type ServerAddressGroup struct {
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 {
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 添加服务
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 获取完整的地址
@@ -40,6 +92,11 @@ func (this *ServerAddressGroup) Addr() string {
return strings.TrimPrefix(this.fullAddr, protocol.String()+"://")
}
// Servers 读取所有服务
func (this *ServerAddressGroup) Servers() []*ServerConfig {
return this.servers
}
// IsHTTP 判断当前分组是否为HTTP
func (this *ServerAddressGroup) IsHTTP() bool {
p := this.Protocol()
@@ -78,8 +135,84 @@ func (this *ServerAddressGroup) IsUDP() bool {
// FirstServer 获取第一个Server
func (this *ServerAddressGroup) FirstServer() *ServerConfig {
if len(this.Servers) > 0 {
return this.Servers[0]
if len(this.servers) > 0 {
return this.servers[0]
}
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]
}

View File

@@ -2,7 +2,9 @@ package serverconfigs
import (
"github.com/iwind/TeaGo/assert"
"github.com/iwind/TeaGo/types"
"testing"
"time"
)
func TestServerAddressGroup_Protocol(t *testing.T) {
@@ -32,3 +34,83 @@ func TestServerAddressGroup_Protocol(t *testing.T) {
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"))
}

View File

@@ -42,14 +42,19 @@ type ServerConfig struct {
HTTPCachePolicyId int64 `yaml:"httpCachePolicyId" json:"httpCachePolicyId"`
HTTPCachePolicy *HTTPCachePolicy `yaml:"httpCachePolicy" json:"httpCachePolicy"` // 通过 HTTPCachePolicyId 获取
// 带宽限制
BandwidthLimit *BandwidthLimitConfig `yaml:"bandwidthLimit" json:"bandwidthLimit"`
BandwidthLimitStatus *BandwidthLimitStatus `yaml:"bandwidthLimitStatus" json:"bandwidthLimitStatus"`
// 流量限制
TrafficLimit *TrafficLimitConfig `yaml:"trafficLimit" json:"trafficLimit"`
TrafficLimitStatus *TrafficLimitStatus `yaml:"trafficLimitStatus" json:"trafficLimitStatus"`
// 套餐
UserPlan *UserPlanConfig `yaml:"userPlan" json:"userPlan"`
// 分组
Group *ServerGroupConfig `yaml:"group" json:"group"`
isOk bool
planId int64
}
// 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
return nil
@@ -298,35 +315,60 @@ func (this *ServerConfig) IsUDPFamily() bool {
return this.UDP != nil
}
// MatchName 判断是否和域名匹配
func (this *ServerConfig) MatchName(name string) bool {
if len(name) == 0 {
return false
}
if len(this.AliasServerNames) > 0 && configutils.MatchDomains(this.AliasServerNames, name) {
return true
}
for _, serverName := range this.ServerNames {
if serverName.Match(name) {
return true
// AllStrictNames 所有严格域名
func (this *ServerConfig) AllStrictNames() []string {
var result = []string{}
for _, name := range this.AliasServerNames {
if len(name) > 0 {
if !configutils.IsFuzzyDomain(name) {
result = append(result, name)
}
}
}
return false
for _, serverName := range this.ServerNames {
var name = serverName.Name
if len(name) > 0 {
if !configutils.IsFuzzyDomain(name) {
result = append(result, name)
}
}
for _, name := range serverName.SubNames {
if len(name) > 0 {
if !configutils.IsFuzzyDomain(name) {
result = append(result, name)
}
}
}
}
return result
}
// MatchNameStrictly 判断是否严格匹配
func (this *ServerConfig) MatchNameStrictly(name string) bool {
for _, serverName := range this.AliasServerNames {
if serverName == name {
return true
// AllFuzzyNames 所有模糊域名
func (this *ServerConfig) AllFuzzyNames() []string {
var result = []string{}
for _, name := range this.AliasServerNames {
if len(name) > 0 {
if configutils.IsFuzzyDomain(name) {
result = append(result, name)
}
}
}
for _, serverName := range this.ServerNames {
if serverName.Name == name {
return true
var name = serverName.Name
if len(name) > 0 {
if configutils.IsFuzzyDomain(name) {
result = append(result, name)
}
}
for _, name := range serverName.SubNames {
if len(name) > 0 {
if configutils.IsFuzzyDomain(name) {
result = append(result, name)
}
}
}
}
return false
return result
}
// SSLPolicy SSL信息
@@ -352,3 +394,13 @@ func (this *ServerConfig) FindAndCheckReverseProxy(dataType string) (*ReversePro
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
}

View File

@@ -72,3 +72,22 @@ func TestServerConfig_Protocols(t *testing.T) {
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())
}

View File

@@ -4,20 +4,20 @@ package serverconfigs
import "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/shared"
// DefaultBandwidthLimitNoticePageBody 达到带宽限制时默认提示内容
const DefaultBandwidthLimitNoticePageBody = `<!DOCTYPE html>
// DefaultTrafficLimitNoticePageBody 达到流量限制时默认提示内容
const DefaultTrafficLimitNoticePageBody = `<!DOCTYPE html>
<html>
<head>
<title>Bandwidth Limit Exceeded Warning/title>
<title>Traffic Limit Exceeded Warning/title>
<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>
</html>`
// BandwidthLimitConfig 带宽限制
type BandwidthLimitConfig struct {
// TrafficLimitConfig 流量限制
type TrafficLimitConfig struct {
IsOn bool `yaml:"isOn" json:"isOn"` // 是否启用
DailySize *shared.SizeCapacity `yaml:"dailySize" json:"dailySize"` // 每日限制
@@ -29,7 +29,7 @@ type BandwidthLimitConfig struct {
// DailyBytes 每天限制
// 不使用Init()来初始化数据是为了让其他地方不经过Init()也能得到计算值
func (this *BandwidthLimitConfig) DailyBytes() int64 {
func (this *TrafficLimitConfig) DailyBytes() int64 {
if this.DailySize != nil {
return this.DailySize.Bytes()
}
@@ -37,7 +37,7 @@ func (this *BandwidthLimitConfig) DailyBytes() int64 {
}
// MonthlyBytes 每月限制
func (this *BandwidthLimitConfig) MonthlyBytes() int64 {
func (this *TrafficLimitConfig) MonthlyBytes() int64 {
if this.MonthlySize != nil {
return this.MonthlySize.Bytes()
}
@@ -45,7 +45,7 @@ func (this *BandwidthLimitConfig) MonthlyBytes() int64 {
}
// TotalBytes 总限制
func (this *BandwidthLimitConfig) TotalBytes() int64 {
func (this *TrafficLimitConfig) TotalBytes() int64 {
if this.TotalSize != nil {
return this.TotalSize.Bytes()
}
@@ -53,6 +53,6 @@ func (this *BandwidthLimitConfig) TotalBytes() int64 {
}
// IsEmpty 检查是否有限制值
func (this *BandwidthLimitConfig) IsEmpty() bool {
func (this *TrafficLimitConfig) IsEmpty() bool {
return !this.IsOn || (this.DailyBytes() <= 0 && this.MonthlyBytes() <= 0 && this.TotalBytes() <= 0)
}

View File

@@ -4,12 +4,12 @@ package serverconfigs
import timeutil "github.com/iwind/TeaGo/utils/time"
// BandwidthLimitStatus 带宽限制状态
type BandwidthLimitStatus struct {
// TrafficLimitStatus 流量限制状态
type TrafficLimitStatus struct {
UntilDay string `yaml:"untilDay" json:"untilDay"` // 有效日期格式YYYYMMDD
}
func (this *BandwidthLimitStatus) IsValid() bool {
func (this *TrafficLimitStatus) IsValid() bool {
if len(this.UntilDay) == 0 {
return false
}

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")
}

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
}