Compare commits

...

71 Commits

Author SHA1 Message Date
刘祥超
3945e94f71 DNS服务商中的密钥数据以掩码方式显示 2024-03-18 10:18:38 +08:00
刘祥超
9cd3618d9b 部分API文档 2024-03-18 09:29:54 +08:00
刘祥超
4389ffb397 集群设置--网站设置中“处理未绑定域名方式”支持跳转到网址 2024-03-16 08:59:37 +08:00
刘祥超
debb72c2d3 智能DNS中国家/地区线路下支持省/州的细分 2024-03-14 20:12:24 +08:00
刘祥超
b314f7e96c 优化“页面优化”功能相关代码 2024-03-14 14:24:22 +08:00
刘祥超
823e519d58 优化代码 2024-03-10 16:25:52 +08:00
刘祥超
5a54390f1d 在缓存任务键值中增加集群信息 2024-03-10 11:24:50 +08:00
刘祥超
704d3af982 增加单体应用初始化标识 2024-01-29 18:56:28 +08:00
刘祥超
96b48f2bbc 增加通过管理员用户名查找管理员信息的API 2024-01-29 18:55:23 +08:00
刘祥超
4a1c9be931 优化IP库加载速度 2024-01-23 10:04:01 +08:00
刘祥超
f0dc9e0577 增加修改节点停用/启用状态API 2024-01-21 17:43:28 +08:00
刘祥超
1cf38864de 查询集群列表API增加ID排序 2024-01-21 16:57:22 +08:00
刘祥超
5f9e7e981c 部分部分API文档 2024-01-21 14:40:07 +08:00
刘祥超
7073467128 WAF允许ALLOW动作增加有效范围 2024-01-20 21:26:21 +08:00
刘祥超
adc4b945e7 WAF策略增加显示页面动作默认设置 2024-01-20 16:18:49 +08:00
刘祥超
12f6a1e3ce 默认不支持${serverAddr}变量 2024-01-20 10:04:51 +08:00
刘祥超
4f89360902 优化HLS相关API角色 2024-01-20 10:03:51 +08:00
刘祥超
d422dc6b85 WAF操作符增加“包含SQL注入-严格模式” 2024-01-16 20:42:13 +08:00
刘祥超
0dc678e38a 配置代码增加多媒体 2024-01-14 21:10:52 +08:00
刘祥超
05de67318b 网站设置增加HLS加密功能(商业版本) 2024-01-14 20:32:30 +08:00
刘祥超
575e916088 套餐增加文件最大上传尺寸设置 2024-01-13 19:32:41 +08:00
刘祥超
489795dba0 字符编码设置增加“强制替换”选项 2024-01-13 16:28:45 +08:00
刘祥超
3e8fc126b8 5秒盾增加匹配条件 2024-01-12 17:13:34 +08:00
刘祥超
64c3d76fb2 添加快捷添加和删除网站源站API 2024-01-12 11:48:47 +08:00
刘祥超
3bd3ef5f78 套餐API增加查找套餐基本信息API 2024-01-11 18:41:17 +08:00
刘祥超
827eeeb506 实现批量删除网站功能 2024-01-11 18:41:04 +08:00
刘祥超
36cf357984 变量表达式支持修饰符 2024-01-11 16:41:08 +08:00
刘祥超
46140bbdb5 套餐可以设置带宽限制 2024-01-11 15:22:37 +08:00
刘祥超
6a671f67bc 增加用户系统门户页、文章相关管理 2024-01-09 10:20:29 +08:00
刘祥超
ea991f5a97 TLS选项中取出SSL3.0(golang已经不再支持) 2024-01-06 20:47:48 +08:00
刘祥超
5bcbf29fc6 WAF操作符增加“包含XSS注入-严格模式” 2024-01-04 14:52:47 +08:00
刘祥超
e70d6bb33b 增加列出IP名单中的IP ID列表的API 2023-12-24 10:51:03 +08:00
刘祥超
8a8803cee9 优化WAF“阻止”动作的文字提示 2023-12-24 10:13:37 +08:00
刘祥超
184fbd384e WAF参数中增加“请求来源” 2023-12-24 10:03:01 +08:00
刘祥超
fc3c607c8d 优化IP库GC性能 2023-12-24 09:24:37 +08:00
刘祥超
1760e8b9c8 增加请求脚本审核机制 2023-12-23 20:55:01 +08:00
刘祥超
deea02b1ab 优化编译脚本 2023-12-23 10:04:37 +08:00
刘祥超
7f0822000c 增加多语言编译说明 2023-12-23 09:59:29 +08:00
刘祥超
6a36625bc2 增加多处英文菜单 2023-12-23 09:42:24 +08:00
刘祥超
eca0b997f8 增加套餐相关API/给套餐相关API添加更多注释 2023-12-21 15:09:28 +08:00
刘祥超
8746107b73 增加若干功能代号 2023-12-20 17:35:07 +08:00
刘祥超
729311f605 增加若干API/增加多个网站功能项 2023-12-20 15:09:09 +08:00
刘祥超
99a2801591 修改套餐菜单名 2023-12-19 16:20:07 +08:00
刘祥超
8a045c77c9 套餐增加Websocket连接数限制 2023-12-19 14:57:03 +08:00
刘祥超
619ae043e2 修复多语言消息无法读取参数的问题 2023-12-19 08:29:41 +08:00
刘祥超
9ee5c896d1 缓存设置中可以设置缓存主域名,用来复用多域名下的缓存 2023-12-13 18:41:24 +08:00
刘祥超
4209969214 增加保存管理员语言选择的API 2023-12-12 22:40:16 +08:00
刘祥超
a59c84ef0d 增加多处英文翻译 2023-12-12 12:11:33 +08:00
刘祥超
988aca8d84 部分菜单实现中英文切换 2023-12-12 11:48:19 +08:00
刘祥超
310875f8ec WebP策略变化时只更新相关配置 2023-12-11 11:08:48 +08:00
刘祥超
615fdc24d8 WebP转换质量转移到WebP策略配置 2023-12-11 10:17:46 +08:00
刘祥超
acd78085fa 增加“修改用户界面设置”语言消息 2023-12-10 11:08:11 +08:00
刘祥超
0d90dde90b 用户系统界面设置增加“自定义客户端IP报头” 2023-12-10 10:59:51 +08:00
刘祥超
3996a051ff 修复一处消息提示参数 2023-12-10 10:59:16 +08:00
刘祥超
dd14b4ab3d 管理系统安全设置增加“自定义客户端IP报头” 2023-12-10 10:46:55 +08:00
刘祥超
e50bcdf181 WAF策略模板将部分拦截动作(block)改为显示网页(page) 2023-12-09 19:25:06 +08:00
刘祥超
a145b799a2 优化WAF规则模板 2023-12-09 18:15:27 +08:00
刘祥超
cad0fd5ff2 WAF规则模板中XSS注入检测规则使用“包含XSS注入”操作符替代以往的正则表达式 2023-12-09 17:02:01 +08:00
刘祥超
57c249b791 将WAF策略模板SQL注入默认动作修改为“显示页面” 2023-12-09 15:54:57 +08:00
刘祥超
7ee1cc9cf4 WAF规则模板中SQL注入规则使用“包含SQL注入”操作符替代以往的正则表达式 2023-12-09 15:28:55 +08:00
刘祥超
605b01db64 WAF检查项增加“所有报头名称” 2023-12-08 15:38:21 +08:00
刘祥超
bbe76743b1 将WAF checkpoint中名称和描述部分的Header改为“报头” 2023-12-08 15:15:46 +08:00
刘祥超
53563f040f 优化WAF checkpoint参数文字提示 2023-12-08 15:09:32 +08:00
刘祥超
9226001362 优化部分WAF操作符文字提示 2023-12-08 10:18:38 +08:00
刘祥超
4270c08ab7 WAF增加“包含XSS注入”操作符 2023-12-08 10:15:29 +08:00
刘祥超
671fd5dcc2 WAF增加“包含SQL注入”操作符 2023-12-07 20:24:55 +08:00
刘祥超
e8a3dfba71 修复一处单词拼写错误 2023-12-07 12:14:21 +08:00
刘祥超
ba41c16123 WAF操作符增加包含任一单词、包含所有单词、不包含任一单词 2023-12-07 11:43:34 +08:00
刘祥超
490a17558c 进一步缩短WAF Request Body检查尺寸 2023-12-05 16:53:43 +08:00
刘祥超
61f7a14428 页面优化增加例外URL和限制URL 2023-11-30 15:49:19 +08:00
刘祥超
a7336fafbf 增加“极验-行为验”验证码集成支持 2023-11-29 16:58:24 +08:00
142 changed files with 16146 additions and 5305 deletions

View File

@@ -2,27 +2,27 @@
echo "starting ..."
function assert() {
RESULT=$?
if [ "${RESULT}" != "0" ]; then
exit
fi
}
#rm -f ../pkg/rpc/pb/*.pb.go
protoc --go_out=../pkg/rpc --proto_path=../pkg/rpc/protos ../pkg/rpc/protos/*.proto
RESULT=$?
if [ "${RESULT}" != "0" ]; then
exit
fi
assert
protoc --go-grpc_out=../pkg/rpc --go-grpc_opt=require_unimplemented_servers=false --proto_path=../pkg/rpc/protos ../pkg/rpc/protos/*.proto
RESULT=$?
if [ "${RESULT}" != "0" ]; then
exit
fi
assert
protoc --go_out=../pkg/rpc --proto_path=../pkg/rpc/protos ../pkg/rpc/protos/models/*.proto
RESULT=$?
if [ "${RESULT}" != "0" ]; then
exit
fi
assert
# generate rpc.json
./proto-json.sh --quiet
assert
echo "ok"

File diff suppressed because it is too large Load Diff

View File

@@ -285,9 +285,9 @@ func init() {
}
}
messageMapJSON, err := json.Marshal(filteredMessages)
if err != nil {
fmt.Println("[ERROR]marshal message map failed: " + err.Error())
messageMapJSON, jsonErr := json.Marshal(filteredMessages)
if jsonErr != nil {
fmt.Println("[ERROR]marshal message map failed: " + jsonErr.Error())
return
}
err = os.WriteFile(targetFile, []byte(`// generated by 'langs generate'
@@ -296,6 +296,17 @@ window.LANG_MESSAGES = `+string(messageMapJSON)+";\n"), 0666)
fmt.Println("[ERROR]write file '" + targetFile + "' failed: " + err.Error())
return
}
// base.js
if lang == "zh-cn" {
var baseJSFile = filepath.Dir(targetFile) + "/base.js"
err = os.WriteFile(baseJSFile, []byte(`// generated by 'langs generate'
window.LANG_MESSAGES_BASE = `+string(messageMapJSON)+";\n"), 0666)
if err != nil {
fmt.Println("[ERROR]write file '" + baseJSFile + "' failed: " + err.Error())
return
}
}
}
}
}

View File

@@ -1,21 +1,30 @@
package configutils
import (
"crypto/sha1"
"crypto/sha256"
"encoding/base64"
"fmt"
stringutil "github.com/iwind/TeaGo/utils/string"
"net/url"
"regexp"
"strings"
"sync"
)
// VariableHolder 变量信息存储类型
type VariableHolder string
type VariableHolders = []interface{}
type VariableHolder struct {
Param string
Modifiers []string
}
type VariableHolders = []any
var variableMapping = map[string][]interface{}{} // source => [holder1, ...]
var variableLocker = sync.RWMutex{}
var regexpNamedVariable = regexp.MustCompile(`\${[@\w.-]+}`)
var variableMapping = map[string][]any{} // source => [holder1, ...]
var variableLocker = &sync.RWMutex{}
var regexpNamedVariable = regexp.MustCompile(`\${[@\w.|-]+}`)
var stringBuilderPool = sync.Pool{
New: func() interface{} {
New: func() any {
return &strings.Builder{}
},
}
@@ -46,7 +55,11 @@ func ParseVariables(source string, replacer func(varName string) (value string))
var h = holders[0]
holder, ok := h.(VariableHolder)
if ok {
return replacer(string(holder))
var value = replacer(holder.Param)
if holder.Modifiers != nil {
value = doStringModifiers(value, holder.Modifiers)
}
return replacer(value)
}
return source
}
@@ -58,7 +71,11 @@ func ParseVariables(source string, replacer func(varName string) (value string))
for _, h := range holders {
holder, ok := h.(VariableHolder)
if ok {
builder.WriteString(replacer(string(holder)))
var value = replacer(holder.Param)
if holder.Modifiers != nil {
value = doStringModifiers(value, holder.Modifiers)
}
builder.WriteString(value)
} else {
builder.Write(h.([]byte))
}
@@ -86,11 +103,15 @@ func ParseVariablesFromHolders(holders VariableHolders, replacer func(varName st
}
// replace
result := strings.Builder{}
var result = strings.Builder{}
for _, h := range holders {
holder, ok := h.(VariableHolder)
if ok {
result.WriteString(replacer(string(holder)))
var value = replacer(holder.Param)
if holder.Modifiers != nil {
value = doStringModifiers(value, holder.Modifiers)
}
result.WriteString(value)
} else {
result.Write(h.([]byte))
}
@@ -100,12 +121,24 @@ func ParseVariablesFromHolders(holders VariableHolders, replacer func(varName st
// ParseHolders 分析占位
func ParseHolders(source string) (holders VariableHolders) {
indexes := regexpNamedVariable.FindAllStringIndex(source, -1)
before := 0
var indexes = regexpNamedVariable.FindAllStringIndex(source, -1)
var before = 0
for _, loc := range indexes {
holders = append(holders, []byte(source[before:loc[0]]))
holder := source[loc[0]+2 : loc[1]-1]
holders = append(holders, VariableHolder(holder))
var holder = source[loc[0]+2 : loc[1]-1]
if strings.Contains(holder, "|") {
var holderPieces = strings.Split(holder, "|")
holders = append(holders, VariableHolder{
Param: holderPieces[0],
Modifiers: holderPieces[1:],
})
} else {
holders = append(holders, VariableHolder{
Param: holder,
Modifiers: nil,
})
}
before = loc[1]
}
if before < len(source) {
@@ -121,3 +154,36 @@ func HasVariables(source string) bool {
}
return regexpNamedVariable.MatchString(source)
}
// 执行变量后的修饰符
func doStringModifiers(value string, modifiers []string) string {
for _, modifier := range modifiers {
switch modifier {
case "urlEncode":
value = url.QueryEscape(value)
case "urlDecode":
value2, err := url.QueryUnescape(value)
if err == nil {
value = value2
}
case "base64Encode":
value = base64.StdEncoding.EncodeToString([]byte(value))
case "base64Decode":
value2, err := base64.StdEncoding.DecodeString(value)
if err == nil {
value = string(value2)
}
case "md5":
value = stringutil.Md5(value)
case "sha1":
value = fmt.Sprintf("%x", sha1.Sum([]byte(value)))
case "sha256":
value = fmt.Sprintf("%x", sha256.Sum256([]byte(value)))
case "toLowerCase":
value = strings.ToLower(value)
case "toUpperCase":
value = strings.ToUpper(value)
}
}
return value
}

View File

@@ -1,6 +1,8 @@
package configutils
package configutils_test
import (
"github.com/TeaOSLab/EdgeCommon/pkg/configutils"
"github.com/iwind/TeaGo/assert"
"github.com/iwind/TeaGo/types"
"runtime"
"strconv"
@@ -8,48 +10,128 @@ import (
)
func TestParseVariables(t *testing.T) {
var a = assert.NewAssertion(t)
{
v := ParseVariables("hello, ${name}, world", func(s string) string {
var v = configutils.ParseVariables("hello, ${name}, world", func(s string) string {
return "Lu"
})
t.Log(v)
a.IsTrue(v == "hello, Lu, world")
}
{
v := ParseVariables("hello, world", func(s string) string {
var v = configutils.ParseVariables("hello, world", func(s string) string {
return "Lu"
})
t.Log(v)
a.IsTrue(v == "hello, world")
}
{
v := ParseVariables("${name}", func(s string) string {
var v = configutils.ParseVariables("${name}", func(s string) string {
return "Lu"
})
t.Log(v)
a.IsTrue(v == "Lu")
}
}
func TestParseNoVariables(t *testing.T) {
for i := 0; i < 2; i++ {
v := ParseVariables("hello, world", func(s string) string {
var v = configutils.ParseVariables("hello, world", func(s string) string {
return "Lu"
})
t.Log(v)
}
}
func TestParseVariables_Modifier(t *testing.T) {
t.Log(configutils.ParseVariables("${url|urlEncode}", func(varName string) (value string) {
switch varName {
case "url":
return "/hello/world?a=1"
}
return "${" + varName + "}"
}))
t.Log(configutils.ParseVariables("${url|urlDecode}", func(varName string) (value string) {
switch varName {
case "url":
return "%2Fhello%2Fworld%3Fa%3D1"
}
return "${" + varName + "}"
}))
t.Log(configutils.ParseVariables("${url|urlDecode|urlEncode}", func(varName string) (value string) {
switch varName {
case "url":
return "%2Fhello%2Fworld%3Fa%3D1"
}
return "${" + varName + "}"
}))
t.Log(configutils.ParseVariables("${var|base64Encode}", func(varName string) (value string) {
switch varName {
case "var":
return "123456"
}
return "${" + varName + "}"
}))
t.Log(configutils.ParseVariables("${var|base64Encode|base64Decode}", func(varName string) (value string) {
switch varName {
case "var":
return "123456"
}
return "${" + varName + "}"
}))
t.Log(configutils.ParseVariables("${var|md5}", func(varName string) (value string) {
switch varName {
case "var":
return "123456"
}
return "${" + varName + "}"
}))
t.Log(configutils.ParseVariables("${var|sha1}", func(varName string) (value string) {
switch varName {
case "var":
return "123456"
}
return "${" + varName + "}"
}))
t.Log(configutils.ParseVariables("${var|sha256}", func(varName string) (value string) {
switch varName {
case "var":
return "123456"
}
return "${" + varName + "}"
}))
t.Log(configutils.ParseVariables("${var|toLowerCase}", func(varName string) (value string) {
switch varName {
case "var":
return "ABC"
}
return "${" + varName + "}"
}))
t.Log(configutils.ParseVariables("${var|toUpperCase}", func(varName string) (value string) {
switch varName {
case "var":
return "abc"
}
return "${" + varName + "}"
}))
}
func TestParseHolders(t *testing.T) {
var holders = ParseHolders("hello, ${name}, world")
var holders = configutils.ParseHolders("hello, ${name|urlencode}, world")
t.Log("===holders begin===")
for _, h := range holders {
t.Log(types.String(h))
}
t.Log("===holders end===")
t.Log("parse result:", ParseVariablesFromHolders(holders, func(s string) string {
t.Log("parse result:", configutils.ParseVariablesFromHolders(holders, func(s string) string {
return "[" + s + "]"
}))
}
func BenchmarkParseVariables(b *testing.B) {
_ = ParseVariables("hello, ${name}, ${age}, ${gender}, ${home}, world", func(s string) string {
_ = configutils.ParseVariables("hello, ${name}, ${age}, ${gender}, ${home}, world", func(s string) string {
return "Lu"
})
@@ -57,7 +139,7 @@ func BenchmarkParseVariables(b *testing.B) {
b.RunParallel(func(pb *testing.PB) {
for pb.Next() {
_ = ParseVariables("hello, ${name}, ${age}, ${gender}, ${home}, world", func(s string) string {
_ = configutils.ParseVariables("hello, ${name}, ${age}, ${gender}, ${home}, world", func(s string) string {
return "Lu"
})
}
@@ -65,10 +147,10 @@ func BenchmarkParseVariables(b *testing.B) {
}
func BenchmarkParseVariablesFromHolders(b *testing.B) {
var holders = ParseHolders("hello, ${name}, ${age}, ${gender}, ${home}, world")
var holders = configutils.ParseHolders("hello, ${name}, ${age}, ${gender}, ${home}, world")
for i := 0; i < b.N; i++ {
_ = ParseVariablesFromHolders(holders, func(s string) string {
_ = configutils.ParseVariablesFromHolders(holders, func(s string) string {
return "Lu"
})
}
@@ -76,7 +158,7 @@ func BenchmarkParseVariablesFromHolders(b *testing.B) {
func BenchmarkParseVariablesUnique(b *testing.B) {
for i := 0; i < b.N; i++ {
_ = ParseVariables("hello, ${name} "+strconv.Itoa(i), func(s string) string {
_ = configutils.ParseVariables("hello, ${name} "+strconv.Itoa(i%100_000), func(s string) string {
return "Lu"
})
}
@@ -86,7 +168,7 @@ func BenchmarkParseVariablesUnique_Single(b *testing.B) {
runtime.GOMAXPROCS(1)
for i := 0; i < b.N; i++ {
_ = ParseVariables("${name}", func(s string) string {
_ = configutils.ParseVariables("${name}", func(s string) string {
return "Lu"
})
}
@@ -94,7 +176,7 @@ func BenchmarkParseVariablesUnique_Single(b *testing.B) {
func BenchmarkParseNoVariables(b *testing.B) {
for i := 0; i < b.N; i++ {
_ = ParseVariables("hello, world", func(s string) string {
_ = configutils.ParseVariables("hello, world", func(s string) string {
return "Lu"
})
}
@@ -102,7 +184,7 @@ func BenchmarkParseNoVariables(b *testing.B) {
func BenchmarkParseEmpty(b *testing.B) {
for i := 0; i < b.N; i++ {
_ = ParseVariables("", func(s string) string {
_ = configutils.ParseVariables("", func(s string) string {
return "Lu"
})
}

View File

@@ -9,6 +9,7 @@ import (
"github.com/TeaOSLab/EdgeCommon/pkg/configutils"
"io"
"net"
"runtime"
"sort"
"strconv"
"strings"
@@ -20,8 +21,8 @@ type Reader struct {
regionMap map[string]*ipRegion // 缓存重复的区域用来节约内存
ipV4Items []*ipv4Item
ipV6Items []*ipv6Item
ipV4Items []ipv4Item
ipV6Items []ipv6Item
lastIPFrom uint64
lastCountryId uint16
@@ -36,6 +37,13 @@ func NewReader(reader io.Reader) (*Reader, error) {
var libReader = &Reader{
regionMap: map[string]*ipRegion{},
}
if runtime.NumCPU() >= 4 /** CPU数量较多的通常有着大内存 **/ {
libReader.ipV4Items = make([]ipv4Item, 0, 6_000_000)
} else {
libReader.ipV4Items = make([]ipv4Item, 0, 600_000)
}
err := libReader.load(reader)
if err != nil {
return nil, err
@@ -162,11 +170,11 @@ func (this *Reader) Meta() *Meta {
return this.meta
}
func (this *Reader) IPv4Items() []*ipv4Item {
func (this *Reader) IPv4Items() []ipv4Item {
return this.ipV4Items
}
func (this *Reader) IPv6Items() []*ipv6Item {
func (this *Reader) IPv6Items() []ipv6Item {
return this.ipV6Items
}
@@ -296,13 +304,13 @@ func (this *Reader) parseLine(line []byte) error {
}
if version == "4" {
this.ipV4Items = append(this.ipV4Items, &ipv4Item{
this.ipV4Items = append(this.ipV4Items, ipv4Item{
IPFrom: uint32(ipFrom),
IPTo: uint32(ipTo),
Region: region,
})
} else {
this.ipV6Items = append(this.ipV6Items, &ipv6Item{
this.ipV6Items = append(this.ipV6Items, ipv6Item{
IPFrom: ipFrom,
IPTo: ipTo,
Region: region,

View File

@@ -215,8 +215,12 @@ func (this *QueryResult) realCountryId() uint16 {
switch item := this.item.(type) {
case *ipv4Item:
return item.Region.CountryId
case ipv4Item:
return item.Region.CountryId
case *ipv6Item:
return item.Region.CountryId
case ipv6Item:
return item.Region.CountryId
}
}
@@ -228,8 +232,12 @@ func (this *QueryResult) realProvinceId() uint16 {
switch item := this.item.(type) {
case *ipv4Item:
return item.Region.ProvinceId
case ipv4Item:
return item.Region.ProvinceId
case *ipv6Item:
return item.Region.ProvinceId
case ipv6Item:
return item.Region.ProvinceId
}
}
@@ -241,8 +249,12 @@ func (this *QueryResult) realCityId() uint32 {
switch item := this.item.(type) {
case *ipv4Item:
return item.Region.CityId
case ipv4Item:
return item.Region.CityId
case *ipv6Item:
return item.Region.CityId
case ipv6Item:
return item.Region.CityId
}
}
@@ -254,8 +266,12 @@ func (this *QueryResult) realTownId() uint32 {
switch item := this.item.(type) {
case *ipv4Item:
return item.Region.TownId
case ipv4Item:
return item.Region.TownId
case *ipv6Item:
return item.Region.TownId
case ipv6Item:
return item.Region.TownId
}
}
@@ -267,8 +283,12 @@ func (this *QueryResult) realProviderId() uint16 {
switch item := this.item.(type) {
case *ipv4Item:
return item.Region.ProviderId
case ipv4Item:
return item.Region.ProviderId
case *ipv6Item:
return item.Region.ProviderId
case ipv6Item:
return item.Region.ProviderId
}
}

View File

@@ -46,6 +46,7 @@ const (
AdminCommon_MenuSettingSecurityPolicy langs.MessageCode = "admin_common@menu_setting_security_policy" // 网络安全
AdminCommon_MenuSettingWAFPolicy langs.MessageCode = "admin_common@menu_setting_waf_policy" // WAF策略
AdminCommon_MenuSettingWebP langs.MessageCode = "admin_common@menu_setting_webp" // WebP
AdminCommon_MenuSettingWebPPolicy langs.MessageCode = "admin_common@menu_setting_webp_policy" // WebP策略
AdminCommon_ServerError langs.MessageCode = "admin_common@server_error" // 服务器出了点小问题,请联系技术人员处理。
AdminCommon_System langs.MessageCode = "admin_common@system" // 系统
AdminDashboard_DiskUsageWarning langs.MessageCode = "admin_dashboard@disk_usage_warning" // 当前服务器磁盘空间不足,请立即扩充容量,文件路径:%s已使用%dG已使用比例%.2f%%,仅剩余空间:%.2f%%。<br/>如果是因为本机数据库数据过多,你可以:<a href="/settings/database/clean">[清理访问日志]</a> &nbsp; &nbsp; <a href="https://goedge.cn/docs/APINode/QA.md" target="_blank">[调整数据库binlog设置]</a>
@@ -95,6 +96,7 @@ const (
AdminMenu_NSRoutes langs.MessageCode = "admin_menu@ns_routes" // 线路管理
AdminMenu_NSSettings langs.MessageCode = "admin_menu@ns_settings" // 全局配置
AdminMenu_NSUserPlans langs.MessageCode = "admin_menu@ns_user_plans" // 用户套餐
AdminMenu_PlanList langs.MessageCode = "admin_menu@plan_list" // 套餐列表
AdminMenu_PlanUserPlans langs.MessageCode = "admin_menu@plan_user_plans" // 已购套餐
AdminMenu_Plans langs.MessageCode = "admin_menu@plans" // 套餐管理
AdminMenu_ServerAccessLogPolicies langs.MessageCode = "admin_menu@server_access_log_policies" // 日志策略
@@ -117,6 +119,7 @@ const (
AdminMenu_TicketCategory langs.MessageCode = "admin_menu@ticket_category" // 分类
AdminMenu_Tickets langs.MessageCode = "admin_menu@tickets" // 工单系统
AdminMenu_UserList langs.MessageCode = "admin_menu@user_list" // 用户列表
AdminMenu_UserScripts langs.MessageCode = "admin_menu@user_scripts" // 用户脚本
AdminMenu_UserSettings langs.MessageCode = "admin_menu@user_settings" // 用户设置
AdminMenu_Users langs.MessageCode = "admin_menu@users" // 平台用户
AdminProfile_LogUpdateProfile langs.MessageCode = "admin_profile@log_update_profile" // 修改个人资料
@@ -147,6 +150,7 @@ const (
AdminUpdate_LogIgnoreVersion langs.MessageCode = "admin_update@log_ignore_version" // 忽略升级版本 %s
AdminUpdate_LogResetIgnoreVersion langs.MessageCode = "admin_update@log_reset_ignore_version" // 重置忽略升级版本
AdminUpdate_LogUpdateCheckSettings langs.MessageCode = "admin_update@log_update_check_settings" // 修改检查更新设置
AdminUserUI_LogUpdateUISettings langs.MessageCode = "admin_user_ui@log_update_ui_settings" // 修改用户界面设置
APINode_LogCreateAPINode langs.MessageCode = "api_node@log_create_api_node" // 创建API节点 %d
APINode_LogDeleteAPINode langs.MessageCode = "api_node@log_delete_api_node" // 删除API节点 %d
APINode_LogUpdateAPINode langs.MessageCode = "api_node@log_update_api_node" // 修改API节点 %d
@@ -265,6 +269,8 @@ const (
Node_LogUpNode langs.MessageCode = "node@log_up_node" // 手动上线节点 %d
Node_LogUpdateNode langs.MessageCode = "node@log_update_node" // 修改节点 %d 基本信息
Node_LogUpdateNodeInstallationStatus langs.MessageCode = "node@log_update_node_installation_status" // 修改节点安装状态 %d
Node_LogUpdateNodeOff langs.MessageCode = "node@log_update_node_off" // 停用节点 %d
Node_LogUpdateNodeOn langs.MessageCode = "node@log_update_node_on" // 启用节点 %d
Node_LogUpgradeNodeRemotely langs.MessageCode = "node@log_upgrade_node_remotely" // 远程升级节点 %d
Node_UngroupedLabel langs.MessageCode = "node@ungrouped_label" // 未分组
NodeAction_LogCopyNodeActionsToCluster langs.MessageCode = "node_action@log_copy_node_actions_to_cluster" // 复制节点 %d 调度动作到集群
@@ -300,7 +306,7 @@ const (
NodeClusterMenu_SettingUAM langs.MessageCode = "node_cluster_menu@setting_uam" // 5秒盾
NodeClusterMenu_SettingWAFActions langs.MessageCode = "node_cluster_menu@setting_waf_actions" // WAF动作
NodeClusterMenu_SettingWAFPolicy langs.MessageCode = "node_cluster_menu@setting_waf_policy" // WAF策略
NodeClusterMenu_SettingWebP langs.MessageCode = "node_cluster_menu@setting_webp" // WebP
NodeClusterMenu_SettingWebP langs.MessageCode = "node_cluster_menu@setting_webp" // WebP策略
NodeClusterMenu_TabClusterDashboard langs.MessageCode = "node_cluster_menu@tab_cluster_dashboard" // 集群看板
NodeClusterMenu_TabClusterDelete langs.MessageCode = "node_cluster_menu@tab_cluster_delete" // 删除集群
NodeClusterMenu_TabClusterNodes langs.MessageCode = "node_cluster_menu@tab_cluster_nodes" // 节点列表
@@ -445,6 +451,11 @@ const (
Plan_LogDeletePlan langs.MessageCode = "plan@log_delete_plan" // 删除套餐 %d
Plan_LogSortPlans langs.MessageCode = "plan@log_sort_plans" // 对套餐进行排序
Plan_LogUpdatePlan langs.MessageCode = "plan@log_update_plan" // 修改套餐 %d
Post_LogCreatePost langs.MessageCode = "post@log_create_post" // 创建文章 %d
Post_LogDeletePost langs.MessageCode = "post@log_delete_post" // 删除文章 %d
Post_LogPublishPost langs.MessageCode = "post@log_publish_post" // 发布文章 %d
Post_LogUpdatePost langs.MessageCode = "post@log_update_post" // 修改文章 %d
Post_ProductGlobal langs.MessageCode = "post@product_global" // 全站
RegionCity_LogAddRegionCityCode langs.MessageCode = "region_city@log_add_region_city_code" // 添加城市/市 %d 别名 %s
RegionCity_LogUpdateRegionCityCustom langs.MessageCode = "region_city@log_update_region_city_custom" // 定制城市 %d 信息
RegionCountry_LogAddRegionCountryCode langs.MessageCode = "region_country@log_add_region_country_code" // 添加国家/地区 %d 别名 %s
@@ -482,6 +493,7 @@ const (
Server_LogCopyServerConfigs langs.MessageCode = "server@log_copy_server_configs" // 从网站 %d 中同步配置 %s
Server_LogCreateServer langs.MessageCode = "server@log_create_server" // 创建网站 %d
Server_LogDeleteServer langs.MessageCode = "server@log_delete_server" // 删除网站 %d
Server_LogDeleteServers langs.MessageCode = "server@log_delete_servers" // 批量删除网站
Server_LogDisableServer langs.MessageCode = "server@log_disable_server" // 停用网站 %d
Server_LogEnableServer langs.MessageCode = "server@log_enable_server" // 启用网站 %d
Server_LogSubmitAuditingServer langs.MessageCode = "server@log_submit_auditing_server" // 提交网站 %d 域名审核
@@ -489,7 +501,7 @@ const (
Server_LogUpdateServerBasic langs.MessageCode = "server@log_update_server_basic" // 修改网站 %d 基本信息
Server_LogUpdateServerGroups langs.MessageCode = "server@log_update_server_groups" // 修改网站 %d 所属分组
Server_LogUpdateServerIsOn langs.MessageCode = "server@log_update_server_is_on" // 修改网站 %d 启用状态
Server_LogUpdateServerName langs.MessageCode = "server@log_update_server_name" // 修改网站名称
Server_LogUpdateServerName langs.MessageCode = "server@log_update_server_name" // 修改网站 %d 名称
Server_MenuAccesslogHistory langs.MessageCode = "server@menu_accesslog_history" // 历史
Server_MenuAccesslogRealtime langs.MessageCode = "server@menu_accesslog_realtime" // 实时
Server_MenuAccesslogToday langs.MessageCode = "server@menu_accesslog_today" // 今天
@@ -512,6 +524,7 @@ const (
Server_MenuSettingHTTPProxy langs.MessageCode = "server@menu_setting_http_proxy" // HTTP代理
Server_MenuSettingHTTPS langs.MessageCode = "server@menu_setting_https" // HTTPS
Server_MenuSettingLocations langs.MessageCode = "server@menu_setting_locations" // 路由规则
Server_MenuSettingMultimedia langs.MessageCode = "server@menu_setting_multimedia" // 音视频设置
Server_MenuSettingOptimization langs.MessageCode = "server@menu_setting_optimization" // 页面优化
Server_MenuSettingOrigins langs.MessageCode = "server@menu_setting_origins" // 源站
Server_MenuSettingOthers langs.MessageCode = "server@menu_setting_others" // 其他设置
@@ -577,6 +590,7 @@ const (
ServerGroup_LogDeleteServerGroup langs.MessageCode = "server_group@log_delete_server_group" // 删除网站分组 %d
ServerGroup_LogSortServerGroups langs.MessageCode = "server_group@log_sort_server_groups" // 修改网站分组排序
ServerGroup_LogUpdateServerGroup langs.MessageCode = "server_group@log_update_server_group" // 修改网站分组 %d
ServerHls_LogUpdateHls langs.MessageCode = "server_hls@log_update_hls" // 修改Web %d 的HLS设置
ServerHTTP3_LogUpdateClusterHTTP3Policy langs.MessageCode = "server_http3@log_update_cluster_http3_policy" // 修改集群 %d 的HTTP3策略设置
ServerHTTP_LogUpdateHTTPSettings langs.MessageCode = "server_http@log_update_http_settings" // 修改网站 %d 的HTTP设置
ServerHTTPHeader_LogCreateDeletingHeader langs.MessageCode = "server_http_header@log_create_deleting_header" // 添加删除的报头 HeaderPolicyId: %d, Name: %s
@@ -615,6 +629,8 @@ const (
ServerUAM_LogUpdateUAMSettings langs.MessageCode = "server_uam@log_update_uam_settings" // 修改Web %d 全站防护模式
ServerUDP_LogUpdateUDPSettings langs.MessageCode = "server_udp@log_update_udp_settings" // 修改网站 %d UDP设置
ServerUserAgent_LogUpdateUserAgents langs.MessageCode = "server_user_agent@log_update_user_agents" // 修改Web %d User-Agent设置
ServerUserScript_LogPassUserScript langs.MessageCode = "server_user_script@log_pass_user_script" // 通过用户脚本 %d
ServerUserScript_LogRejectUserScript langs.MessageCode = "server_user_script@log_reject_user_script" // 驳回用户脚本 %d
ServerWAF_LogUpdateWAFSettings langs.MessageCode = "server_waf@log_update_waf_settings" // 修改Web %d 的WAF设置
ServerWebP_LogUpdateClusterWebPPolicy langs.MessageCode = "server_webp@log_update_cluster_webp_policy" // 修改集群 %d 的WebP设置
ServerWebsocket_LogUpdateWebsocketSettings langs.MessageCode = "server_websocket@log_update_websocket_settings" // 修改Web %d 的Websocket设置

View File

@@ -90,7 +90,12 @@ func (this *Manager) GetMessage(langCode string, messageCode MessageCode, args .
if lang.code != this.defaultLangCode {
var defaultLang = this.langMap[this.defaultLangCode]
if defaultLang != nil {
return defaultLang.Get(messageCode)
message = defaultLang.Get(messageCode)
if len(args) == 0 {
return message
}
return fmt.Sprintf(message, args...)
}
}

View File

@@ -0,0 +1,734 @@
// generated by run 'langs generate'
package messages
import (
"github.com/TeaOSLab/EdgeCommon/pkg/langs"
)
func init() {
langs.Load("en-us", map[langs.MessageCode]string{
"acme_provider_account@log_create_acme_provider_account": "",
"acme_provider_account@log_delete_acme_provider_account": "",
"acme_provider_account@log_update_acme_provider_account": "",
"acme_task@log_create_acme_task": "",
"acme_task@log_delete_acme_task": "",
"acme_task@log_run_acme_task": "",
"acme_task@log_update_acme_task": "",
"acme_user@log_create_acme_user": "",
"acme_user@log_delete_acme_user": "",
"acme_user@log_update_acme_user": "",
"ad_network@log_create_ad_network": "",
"ad_network@log_delete_ad_network": "",
"ad_network@log_update_ad_network": "",
"ad_package@log_create_ad_package": "",
"ad_package@log_delete_ad_package": "",
"ad_package@log_update_ad_package": "",
"ad_package_instance@log_create_ad_package_instance": "",
"ad_package_instance@log_delete_ad_package_instance": "",
"ad_package_instance@log_update_ad_package_instance": "",
"ad_package_period@log_create_ad_package_period": "",
"ad_package_period@log_delete_ad_package_period": "",
"ad_package_period@log_update_ad_package_period": "",
"ad_package_price@log_create_ad_package_price": "",
"ad_package_price@log_update_ad_package_price": "",
"admin@log_create_admin": "",
"admin@log_delete_admin": "",
"admin@log_update_admin": "",
"admin_common@canceled": "Canceled",
"admin_common@log_system_error": "system error: %s",
"admin_common@menu_setting_basic": "Basic Settings",
"admin_common@menu_setting_cache": "Cache Settings",
"admin_common@menu_setting_cache_policy": "Cache Policy",
"admin_common@menu_setting_ddos_protection": "DDoS Protection",
"admin_common@menu_setting_dns": "DNS Settings",
"admin_common@menu_setting_health_check": "Health Check",
"admin_common@menu_setting_metrics": "Metrics",
"admin_common@menu_setting_security_policy": "Networking Security",
"admin_common@menu_setting_waf_policy": "WAF Policy",
"admin_common@menu_setting_webp": "WebP",
"admin_common@menu_setting_webp_policy": "WebP Policy",
"admin_common@server_error": "There is a internal error, please report to administrator.",
"admin_common@system": "System",
"admin_dashboard@disk_usage_warning": "当前服务器磁盘空间不足,请立即扩充容量,文件路径:%s已使用%dG已使用比例%.2f%%,仅剩余空间:%.2f%%。<br/>如果是因为本机数据库数据过多,你可以:<a href=\"/settings/database/clean\">[清理访问日志]</a> &nbsp; &nbsp; <a href=\"https://goedge.cn/docs/APINode/QA.md\" target=\"_blank\">[调整数据库binlog设置]</a>",
"admin_dashboard@ui_dns": "DNS",
"admin_dashboard@ui_events": "Events",
"admin_dashboard@ui_overview": "Overview",
"admin_dashboard@ui_user": "Users",
"admin_dashboard@ui_waf": "WAF",
"admin_login@log_failed": "",
"admin_login@log_otp_verified_success": "",
"admin_login@log_success": "",
"admin_login@log_system_error": "",
"admin_login@log_update_login": "",
"admin_menu@admin_recipients": "Notification Medias",
"admin_menu@admins": "System Users",
"admin_menu@dashboard": "Dashboard",
"admin_menu@dns": "DNS Service",
"admin_menu@dns_clusters": "Clusters",
"admin_menu@dns_issues": "Issues",
"admin_menu@dns_providers": "DNS Providers",
"admin_menu@finance": "Finance",
"admin_menu@finance_accounts": "Accounts",
"admin_menu@finance_bills": "Bills",
"admin_menu@finance_fee": "Fee Settings",
"admin_menu@finance_income": "Reports",
"admin_menu@finance_logs": "Logs",
"admin_menu@finance_orders": "Orders",
"admin_menu@finance_packages": "Traffic Packages",
"admin_menu@logs": "Audit Logs",
"admin_menu@node_anti_ddos_products": "Anti-DDoS Product",
"admin_menu@node_clusters": "Clusters",
"admin_menu@node_distributed_monitors": "Distributed Monitors",
"admin_menu@node_ip_list": "Node IPs",
"admin_menu@node_logs": "Node Logs",
"admin_menu@node_regions": "Regions",
"admin_menu@node_ssh_grants": "SSH Grants",
"admin_menu@nodes": "Edge Nodes",
"admin_menu@ns": "Edge DNS",
"admin_menu@ns_access_logs": "Access Logs",
"admin_menu@ns_clusters": "Clusters",
"admin_menu@ns_domain_batch_operations": "Batch",
"admin_menu@ns_domain_groups": "Domain Groups",
"admin_menu@ns_domains": "Domains",
"admin_menu@ns_node_logs": "Node Logs",
"admin_menu@ns_plans": "Plans",
"admin_menu@ns_resolve_test": "Testing",
"admin_menu@ns_routes": "Routes",
"admin_menu@ns_settings": "Settings",
"admin_menu@ns_user_plans": "User Plans",
"admin_menu@plan_list": "Plans",
"admin_menu@plan_user_plans": "User Plans",
"admin_menu@plans": "Plans",
"admin_menu@server_access_log_policies": "Access Log Policies",
"admin_menu@server_access_logs": "Access Logs",
"admin_menu@server_cache_policies": "Cache Policies",
"admin_menu@server_certs": "Certificates",
"admin_menu@server_global_settings": "Global Settings",
"admin_menu@server_groups": "Site Groups",
"admin_menu@server_ip_lists": "IP List",
"admin_menu@server_metrics": "Metrics",
"admin_menu@server_purge_fetch_caches": "Cache Management",
"admin_menu@server_scripts": "Script Libraries",
"admin_menu@server_traffic_stats": "Traffic Statistics",
"admin_menu@server_waf_policies": "WAF Policies",
"admin_menu@servers": "Sites",
"admin_menu@setting_advanced_settings": "Advanced Settings",
"admin_menu@setting_authority": "Commercial Authority",
"admin_menu@setting_basic_settings": "Basic Settings",
"admin_menu@settings": "Settings",
"admin_menu@ticket_category": "Categories",
"admin_menu@tickets": "Tickets",
"admin_menu@user_list": "Users",
"admin_menu@user_scripts": "User Scripts",
"admin_menu@user_settings": "User Settings",
"admin_menu@users": "Users",
"admin_profile@log_update_profile": "",
"admin_security@log_update_security_settings": "",
"admin_server@log_update_server_http_settings": "",
"admin_server@log_update_server_https_settings": "",
"admin_setting@tab_access_log_databases": "Log Databases",
"admin_setting@tab_admin_security_settings": "Security Settings",
"admin_setting@tab_admin_server": "Admin Server Settings",
"admin_setting@tab_admin_ui": "Admin System UI",
"admin_setting@tab_api_nodes": "API Nodes",
"admin_setting@tab_authority": "Commercial Authority",
"admin_setting@tab_backup": "Backup",
"admin_setting@tab_client_browsers": "Browser Management",
"admin_setting@tab_client_operation_systems": "OS Management",
"admin_setting@tab_database": "Database",
"admin_setting@tab_ip_library": "IP Library",
"admin_setting@tab_login": "My Login",
"admin_setting@tab_monitor_nodes": "Monitor Nodes",
"admin_setting@tab_profile": "My Profile",
"admin_setting@tab_transfer": "Transfer",
"admin_setting@tab_updates": "Updates",
"admin_setting@tab_user_nodes": "User Nodes",
"admin_setting@tab_user_ui": "User System UI",
"admin_ui@default_product_name": "",
"admin_ui@default_system_name": "",
"admin_ui@log_update_ui_settings": "",
"admin_update@log_ignore_version": "",
"admin_update@log_reset_ignore_version": "",
"admin_update@log_update_check_settings": "",
"admin_user_ui@log_update_ui_settings": "",
"api_node@log_create_api_node": "",
"api_node@log_delete_api_node": "",
"api_node@log_update_api_node": "",
"client_browser@log_create_browser": "",
"client_browser@log_update_client_browser": "",
"client_system@log_create_system": "",
"client_system@log_update_client_system": "",
"database@log_delete_table": "",
"database@log_truncate_table": "",
"database@log_update_api_node_database_config": "",
"database@log_update_clean_days": "",
"db_node@log_create_db_node": "",
"db_node@log_delete_db_node": "",
"db_node@log_delete_table": "",
"db_node@log_truncate_table": "",
"db_node@log_update_db_node": "",
"db_node@tab_nodes": "",
"ddos_protection@log_update_cluster_ddos_protection": "",
"ddos_protection@log_update_node_ddos_protection": "",
"dns@log_create_domain": "",
"dns@log_delete_domain": "",
"dns@log_recover_domain": "",
"dns@log_sync_cluster": "",
"dns@log_sync_domain": "",
"dns@log_update_cluster_dns": "",
"dns@log_update_domain": "",
"dns@log_update_node_dns": "",
"dns_provider@log_create_dns_provider": "",
"dns_provider@log_delete_dns_provider": "",
"dns_provider@log_update_dns_provider": "",
"dns_task@log_delete_all_dns_tasks": "",
"dns_task@log_delete_dns_task": "",
"finance@log_bill_generate_manually": "",
"finance@log_update_user_order_config": "",
"finance_fee@log_update_fee_setting": "",
"http_access_log_policy@log_create_http_access_log_policy": "",
"http_access_log_policy@log_delete_http_access_log_policy": "",
"http_access_log_policy@log_test_http_access_log_policy": "",
"http_access_log_policy@log_update_http_access_log_policy": "",
"http_auth_policy@log_create_http_auth_policy": "",
"http_auth_policy@log_update_http_auth_policy": "",
"http_cache_task@log_create_http_cache_task_fetch": "",
"http_cache_task@log_create_http_cache_task_purge": "",
"http_cache_task@log_delete_http_cache_task": "",
"http_cache_task@log_reset_http_cache_task": "",
"http_fastcgi@log_create_http_fastcgi": "",
"http_fastcgi@log_update_http_fastcgi": "",
"http_location@log_create_http_location": "",
"http_location@log_update_http_location": "",
"http_rewrite_rule@log_create_rewrite_rule": "",
"http_rewrite_rule@log_delete_rewrite_rule": "",
"http_rewrite_rule@log_sort_rewrite_rules": "",
"http_rewrite_rule@log_update_rewrite_rule": "",
"ip_item@log_create_ip_item": "",
"ip_item@log_delete_ip_item": "",
"ip_item@log_read_all_ip_items": "",
"ip_item@log_update_ip_item": "",
"ip_library@log_finish_ip_library": "",
"ip_library_artifact@log_cancel_ip_library_artifact": "",
"ip_library_artifact@log_delete_ip_library_artifact": "",
"ip_library_artifact@log_use_ip_library_artifact": "",
"ip_library_file@log_delete_ip_library_file": "",
"ip_library_file@log_generate_ip_library_file": "",
"ip_library_file@log_upload_ip_library_file": "",
"ip_list@log_bind_ip_list_waf_policy": "",
"ip_list@log_create_ip_items_batch": "",
"ip_list@log_create_ip_list": "",
"ip_list@log_delete_ip_batch": "",
"ip_list@log_delete_ip_list": "",
"ip_list@log_export_ip_list": "",
"ip_list@log_import_ip_list": "",
"ip_list@log_unbind_ip_list_waf_policy": "",
"ip_list@log_update_ip_list": "",
"level@error": "",
"level@info": "",
"level@warn": "",
"log@log_clean_all_logs": "",
"log@log_clean_logs_days_before": "",
"log@log_delete_log": "",
"log@log_update_settings": "",
"log@tag_access_log": "",
"log@tag_listener": "",
"log@tag_script": "",
"log@tag_waf": "",
"message@log_read_all": "",
"message@log_read_messages": "",
"message_media_instance@log_create_message_media_instance": "",
"message_media_instance@log_delete_message_media_instance": "",
"message_media_instance@log_update_message_media_instance": "",
"message_receiver@log_delete_receiver": "",
"message_receiver@log_update_cluster_message_receivers": "",
"message_recipient@log_create_message_recipient": "",
"message_recipient@log_delete_message_recipient": "",
"message_recipient@log_update_message_recipient": "",
"message_task@log_create_testing_message_task": "",
"message_task@log_delete_message_task": "",
"message_task@log_update_message_task_status": "",
"metric_chart@log_create_metric_chart": "",
"metric_chart@log_delete_metric_chart": "",
"metric_chart@log_update_metric_chart": "",
"metric_item@log_add_metric_item_to_cluster": "",
"metric_item@log_create_metric_item": "",
"metric_item@log_delete_metric_item": "",
"metric_item@log_delete_metric_item_from_cluster": "",
"metric_item@log_update_metric_item": "",
"monitor_node@log_create_monitor_node": "",
"monitor_node@log_delete_monitor_node": "",
"monitor_node@log_update_monitor_node": "",
"node@log_create_node": "",
"node@log_create_node_batch": "",
"node@log_delete_node_from_cluster": "",
"node@log_install_node": "",
"node@log_install_node_remotely": "",
"node@log_start_node_remotely": "",
"node@log_stop_node_remotely": "",
"node@log_up_node": "",
"node@log_update_node": "",
"node@log_update_node_installation_status": "",
"node@log_update_node_off": "",
"node@log_update_node_on": "",
"node@log_upgrade_node_remotely": "",
"node@ungrouped_label": "",
"node_action@log_copy_node_actions_to_cluster": "",
"node_action@log_copy_node_actions_to_group": "",
"node_action@log_create_node_action": "",
"node_action@log_delete_node_action": "",
"node_action@log_sort_node_actions": "",
"node_action@log_update_node_action": "",
"node_cache@log_update_node_cache_settings": "",
"node_cluster@log_create_cluster": "",
"node_cluster@log_delete_cluster": "",
"node_cluster@log_pin_cluster": "",
"node_cluster@log_run_cluster_health_check": "",
"node_cluster@log_unpin_cluster": "",
"node_cluster@log_update_cluster_basic_settings": "",
"node_cluster@log_update_cluster_health_check": "",
"node_cluster_menu@setting_basic": "Basic Settings",
"node_cluster_menu@setting_cache_policy": "Cache Policy",
"node_cluster_menu@setting_cc": "CC Policy",
"node_cluster_menu@setting_ddos_protection": "DDoS Protection",
"node_cluster_menu@setting_dns": "DNS Settings",
"node_cluster_menu@setting_health_check": "Health Check",
"node_cluster_menu@setting_http3": "HTTP/3",
"node_cluster_menu@setting_metrics": "Metrics",
"node_cluster_menu@setting_notification": "Notifications",
"node_cluster_menu@setting_pages": "Pages",
"node_cluster_menu@setting_schedule": "Scheduling",
"node_cluster_menu@setting_security_policy": "Networking Security",
"node_cluster_menu@setting_service_global": "Site Settings",
"node_cluster_menu@setting_system_service": "System Service",
"node_cluster_menu@setting_thresholds": "Thresholds",
"node_cluster_menu@setting_toa": "TOA",
"node_cluster_menu@setting_uam": "UAM Policy",
"node_cluster_menu@setting_waf_actions": "WAF Actions",
"node_cluster_menu@setting_waf_policy": "WAF Policy",
"node_cluster_menu@setting_webp": "WebP Policy",
"node_cluster_menu@tab_cluster_dashboard": "Dashboard",
"node_cluster_menu@tab_cluster_delete": "Delete",
"node_cluster_menu@tab_cluster_nodes": "Nodes",
"node_cluster_menu@tab_cluster_settings": "Settings",
"node_dns@log_update_node_dns": "",
"node_grant@log_create_ssh_grant": "",
"node_grant@log_delete_ssh_grant": "",
"node_grant@log_update_ssh_grant": "",
"node_grant@method_private_key": "",
"node_grant@method_user_password": "",
"node_group@log_create_node_group": "",
"node_group@log_delete_node_group": "",
"node_group@log_sort_node_groups": "",
"node_group@log_update_node_group": "",
"node_ip_address@log_delete_node_ip_address": "",
"node_ip_address@log_down_node_ip_address": "",
"node_ip_address@log_restore_node_ip_address": "",
"node_ip_address@log_up_node_ip_address": "",
"node_log@log_delete_node_logs_batch": "",
"node_log@log_fix_all_logs": "",
"node_log@log_fix_node_logs": "",
"node_menu@create_multiple_nodes": "Create Batch",
"node_menu@create_single_node": "Create",
"node_menu@install_auto_register": "Auto-Register",
"node_menu@install_manually": "Manually",
"node_menu@install_remote": "Install Remotely(%d)",
"node_menu@install_remote_upgrade": "Upgrade Remotely(%d)",
"node_menu@setting_basic": "Basic Settings",
"node_menu@setting_cache": "Cache Settings",
"node_menu@setting_ddos_protection": "DDoS Protection",
"node_menu@setting_dns": "DNS Settings",
"node_menu@setting_schedule": "Scheduling",
"node_menu@setting_ssh": "SSH",
"node_menu@setting_system": "System Settings",
"node_menu@setting_thresholds": "Thresholds",
"node_price_item@log_create_node_price_item_bandwidth": "",
"node_price_item@log_create_node_price_item_traffic": "",
"node_price_item@log_delete_node_price_item": "",
"node_price_item@log_update_node_price_item_bandwidth": "",
"node_price_item@log_update_node_price_item_traffic": "",
"node_region@log_create_node_region": "",
"node_region@log_delete_node_region": "",
"node_region@log_move_node_between_regions": "",
"node_region@log_sort_node_regions": "",
"node_region@log_update_node_region": "",
"node_region_price@log_update_node_region_price": "",
"node_schedule@log_reset_node_action_status": "",
"node_schedule@log_update_node_schedule_basic": "",
"node_ssh@log_update_node_ssh": "",
"node_system@log_update_node_system_settings": "",
"node_systemd@log_update_cluster_systemd_settings": "",
"node_task@log_delete_all_node_tasks": "",
"node_task@log_delete_node_task": "",
"node_task@log_delete_node_tasks_batch": "",
"node_threshold@log_create_node_threshold": "",
"node_threshold@log_delete_node_threshold": "",
"node_threshold@log_update_node_threshold": "",
"node_toa@log_update_cluster_toa": "",
"ns@log_create_ns_domains_batch": "",
"ns@log_create_ns_records_batch": "",
"ns@log_delete_ns_domains_batch": "",
"ns@log_delete_ns_records_batch": "",
"ns@log_disable_ns_records_batch": "",
"ns@log_enable_ns_records_batch": "",
"ns@log_import_records_batch": "",
"ns@log_update_ns_records_batch": "",
"ns@log_update_ns_user_config": "",
"ns@setting_access_logs": "",
"ns@setting_user": "",
"ns_cluster@log_create_ns_cluster": "",
"ns_cluster@log_delete_ns_cluster": "",
"ns_cluster@log_update_ns_cluster_settings_access_log": "",
"ns_cluster@log_update_ns_cluster_settings_answer": "",
"ns_cluster@log_update_ns_cluster_settings_basic": "",
"ns_cluster@log_update_ns_cluster_settings_ddos_protection": "",
"ns_cluster@log_update_ns_cluster_settings_doh": "",
"ns_cluster@log_update_ns_cluster_settings_recursion": "",
"ns_cluster@log_update_ns_cluster_settings_soa": "",
"ns_cluster@log_update_ns_cluster_settings_tcp": "",
"ns_cluster@log_update_ns_cluster_settings_tls": "",
"ns_cluster@log_update_ns_cluster_settings_udp": "",
"ns_cluster@menu_access_logs": "",
"ns_cluster@menu_answer_setting": "",
"ns_cluster@menu_basic": "",
"ns_cluster@menu_ddos_protection": "",
"ns_cluster@menu_dns_recursion": "",
"ns_cluster@menu_doh": "",
"ns_cluster@menu_soa": "",
"ns_cluster@menu_tcp": "",
"ns_cluster@menu_tls": "",
"ns_cluster@menu_udp": "",
"ns_cluster@tab_delete": "",
"ns_cluster@tab_nodes": "",
"ns_cluster@tab_setting": "",
"ns_domain@log_create_ns_domain": "",
"ns_domain@log_create_ns_domains_batch": "",
"ns_domain@log_delete_ns_domain": "",
"ns_domain@log_update_ns_domain": "",
"ns_domain@log_update_ns_domain_health_check": "",
"ns_domain@log_update_ns_domain_status": "",
"ns_domain@log_update_ns_domain_tsig": "",
"ns_domain@log_validate_ns_domains": "",
"ns_domain_group@log_create_ns_domain_group": "",
"ns_domain_group@log_delete_ns_domain_group": "",
"ns_domain_group@log_update_ns_domain_group": "",
"ns_key@log_create_ns_key": "",
"ns_key@log_delete_ns_key": "",
"ns_key@log_update_ns_key": "",
"ns_node@log_create_ns_node": "",
"ns_node@log_delete_ns_node": "",
"ns_node@log_install_ns_node_remotely": "",
"ns_node@log_start_ns_node_remotely": "",
"ns_node@log_stop_ns_node_remotely": "",
"ns_node@log_update_ns_node": "",
"ns_node@log_update_ns_node_installation_status": "",
"ns_node_ssh@log_update_ns_node_ssh": "",
"ns_plan@log_create_ns_plan": "",
"ns_plan@log_delete_ns_plan": "",
"ns_plan@log_sort_ns_plans": "",
"ns_plan@log_update_ns_plan": "",
"ns_record@log_create_ns_record": "",
"ns_record@log_create_ns_records_batch": "",
"ns_record@log_delete_ns_record": "",
"ns_record@log_up_ns_record": "",
"ns_record@log_update_ns_record": "",
"ns_record@log_update_ns_record_health_check": "",
"ns_route@log_create_ns_route": "",
"ns_route@log_delete_ns_route": "",
"ns_route@log_sort_ns_routes": "",
"ns_route@log_update_ns_route": "",
"ns_route_category@log_create_ns_route_category": "",
"ns_route_category@log_delete_ns_route_category": "",
"ns_route_category@log_sort_ns_route_categories": "",
"ns_route_category@log_update_ns_route_category": "",
"ns_user_plan@log_create_ns_user_plan": "",
"ns_user_plan@log_delete_ns_user_plan": "",
"ns_user_plan@log_update_ns_user_plan": "",
"order_method@log_create_order_method": "",
"order_method@log_delete_order_method": "",
"order_method@log_update_order_method": "",
"plan@log_create_plan": "",
"plan@log_delete_plan": "",
"plan@log_sort_plans": "",
"plan@log_update_plan": "",
"post@log_create_post": "",
"post@log_delete_post": "",
"post@log_publish_post": "",
"post@log_update_post": "",
"post@product_global": "",
"region_city@log_add_region_city_code": "",
"region_city@log_update_region_city_custom": "",
"region_country@log_add_region_country_code": "",
"region_country@log_update_region_country_custom": "",
"region_country@region_china": "",
"region_country@region_china_hk": "",
"region_country@region_china_mainland": "",
"region_country@region_china_mo": "",
"region_country@region_china_tw": "",
"region_country@region_greater_china": "",
"region_provider@log_add_region_provider_code": "",
"region_provider@log_update_region_provider_custom": "",
"region_province@log_add_region_province_code": "",
"region_province@log_update_region_province_custom": "",
"region_town@log_add_region_town_code": "",
"region_town@log_update_region_town_custom": "",
"report_node@log_create_report_node": "",
"report_node@log_delete_report_node": "",
"report_node@log_update_report_node": "",
"report_node_group@log_create_report_node_group": "",
"report_node_group@log_delete_report_node_group": "",
"report_node_group@log_update_report_node_group": "",
"reverse_proxy@log_update_reverse_proxy_scheduling": "",
"script@log_create_script": "",
"script@log_delete_script": "",
"script@log_publish_scripts": "",
"script@log_update_script": "",
"server@copy_setting_current_cluster": "Current Cluster: %s",
"server@copy_setting_current_group": "Current Group: %s",
"server@copy_setting_current_user": "Current User: %s",
"server@copy_setting_select_cluster": "Select Cluster",
"server@copy_setting_select_group": "Select Group",
"server@copy_setting_select_server": "Select Site",
"server@copy_setting_select_user": "Select User",
"server@log_copy_server_configs": "从网站 %d 中同步配置 %s",
"server@log_create_server": "创建网站 %d",
"server@log_delete_server": "删除网站 %d",
"server@log_delete_servers": "",
"server@log_disable_server": "停用网站 %d",
"server@log_enable_server": "启用网站 %d",
"server@log_submit_auditing_server": "提交网站 %d 域名审核",
"server@log_update_global_settings": "保存网站全局配置",
"server@log_update_server_basic": "修改网站 %d 基本信息",
"server@log_update_server_groups": "修改网站 %d 所属分组",
"server@log_update_server_is_on": "修改网站 %d 启用状态",
"server@log_update_server_name": "修改网站 %d 名称",
"server@menu_accesslog_history": "History",
"server@menu_accesslog_realtime": "Realtime",
"server@menu_accesslog_today": "Today",
"server@menu_dashboard": "Dashboard",
"server@menu_setting_access_log": "Access Log",
"server@menu_setting_auth": "Access Control",
"server@menu_setting_basic": "Basic Settings",
"server@menu_setting_cache": "Cache",
"server@menu_setting_cc": "CC Protection",
"server@menu_setting_charset": "Charset",
"server@menu_setting_client_ip": "Client IP",
"server@menu_setting_compression": "Compressions",
"server@menu_setting_delete": "Delete",
"server@menu_setting_dns": "DNS",
"server@menu_setting_domains": "Server Names",
"server@menu_setting_fastcgi": "Fastcgi",
"server@menu_setting_group": "Group",
"server@menu_setting_http": "HTTP",
"server@menu_setting_http_headers": "HTTP Headers",
"server@menu_setting_http_proxy": "HTTP Reverse Proxy",
"server@menu_setting_https": "HTTPS",
"server@menu_setting_locations": "Locations",
"server@menu_setting_multimedia": "Audios & Videos",
"server@menu_setting_optimization": "Content Optimizations",
"server@menu_setting_origins": "Origin Sites",
"server@menu_setting_others": "Others",
"server@menu_setting_pages": "Pages",
"server@menu_setting_plan": "Plan",
"server@menu_setting_redirects": "URL Redirections",
"server@menu_setting_referers": "Referers",
"server@menu_setting_request_limit": "Request Limit",
"server@menu_setting_rewrite_rules": "Rewrite Rules",
"server@menu_setting_root": "Static Files",
"server@menu_setting_scripts": "Scripts",
"server@menu_setting_stat": "Statistics",
"server@menu_setting_tcp": "TCP",
"server@menu_setting_tcp_proxy": "TCP Reverse Proxy",
"server@menu_setting_tls": "TLS",
"server@menu_setting_traffic_limit": "Traffic Limit",
"server@menu_setting_uam": "UAM",
"server@menu_setting_udp": "UDP",
"server@menu_setting_udp_proxy": "UDP Reverse Proxy",
"server@menu_setting_unix": "Unix",
"server@menu_setting_user_agents": "UA List",
"server@menu_setting_waf": "WAF",
"server@menu_setting_webp": "WebP",
"server@menu_setting_websocket": "Websocket",
"server@menu_stat_clients": "Clients",
"server@menu_stat_providers": "Providers",
"server@menu_stat_regions": "Regions",
"server@menu_stat_traffic": "Traffic",
"server@menu_stat_waf": "WAF",
"server@server_names_log_update_server_names": "修改网站 %d 域名",
"server@tab_access_logs": "Access Logs",
"server@tab_dashboard": "Dashboard",
"server@tab_delete": "Delete",
"server@tab_server_list": "Sites",
"server@tab_settings": "Settings",
"server@tab_stat": "Statistics",
"server_access_log@log_update_access_log_setting": "",
"server_auth@log_update_http_auth_settings": "",
"server_cache@log_fetch_caches": "",
"server_cache@log_purge_caches": "",
"server_cache@log_update_cache_settings": "",
"server_cache@log_update_cluster_cache_policy": "",
"server_cache_policy@log_clean_all": "",
"server_cache_policy@log_create_cache_policy": "",
"server_cache_policy@log_delete_cache_policy": "",
"server_cache_policy@log_fetch_caches": "",
"server_cache_policy@log_purge_caches": "",
"server_cache_policy@log_stat_caches": "",
"server_cache_policy@log_test_reading": "",
"server_cache_policy@log_test_writing": "",
"server_cache_policy@log_update_cache_policy": "",
"server_cc@log_update_cc_settings": "",
"server_cc@log_update_cluster_http_cc_policy": "",
"server_charset@log_update_charset_setting": "",
"server_common@log_update_common_settings": "",
"server_compression@log_update_compression_settings": "",
"server_dns@log_regenerate_dns_name": "",
"server_dns@log_update_dns_name": "",
"server_dns@log_update_dns_settings": "",
"server_fastcgi@log_update_http_fastcgi": "",
"server_global_setting@log_update_cluster_global_server_config": "",
"server_group@log_create_server_group": "",
"server_group@log_delete_server_group": "",
"server_group@log_sort_server_groups": "",
"server_group@log_update_server_group": "",
"server_hls@log_update_hls": "",
"server_http3@log_update_cluster_http3_policy": "",
"server_http@log_update_http_settings": "",
"server_http_header@log_create_deleting_header": "",
"server_http_header@log_create_non_standard_header": "",
"server_http_header@log_create_setting_request_header": "",
"server_http_header@log_create_setting_response_header": "",
"server_http_header@log_delete_deleting_header": "",
"server_http_header@log_delete_header": "",
"server_http_header@log_delete_non_standard_header": "",
"server_http_header@log_update_http_headers": "",
"server_http_header@log_update_setting_header": "",
"server_https@log_update_https_settings": "",
"server_optimization@log_update_optimization_settings": "",
"server_origin@log_create_origin": "",
"server_origin@log_delete_origin": "",
"server_origin@log_update_origin": "",
"server_page@log_create_page": "",
"server_page@log_update_cluster_pages": "",
"server_page@log_update_page": "",
"server_page@log_update_pages": "",
"server_redirect@log_update_redirects": "",
"server_referer@log_update_referers": "",
"server_request_limit@log_update_request_limit_settings": "",
"server_reverse_proxy@log_update_location_reverse_proxy_settings": "",
"server_reverse_proxy@log_update_server_group_reverse_proxy_settings": "",
"server_reverse_proxy@log_update_server_reverse_proxy_settings": "",
"server_root@log_update_root": "",
"server_script@log_update_scripts": "",
"server_stat@log_update_stat_settings": "",
"server_tcp@log_update_tcp_settings": "",
"server_tls@log_update_tls_settings": "",
"server_traffic_limit@log_update_traffic_limit_settings": "",
"server_traffic_stat@all_servers": "",
"server_uam@log_update_cluster_uam_policy": "",
"server_uam@log_update_server_uam_settings": "",
"server_uam@log_update_uam_settings": "",
"server_udp@log_update_udp_settings": "",
"server_user_agent@log_update_user_agents": "",
"server_user_script@log_pass_user_script": "",
"server_user_script@log_reject_user_script": "",
"server_waf@log_update_waf_settings": "",
"server_webp@log_update_cluster_webp_policy": "",
"server_websocket@log_update_websocket_settings": "",
"ssl_cert@log_delete_ssl_cert": "",
"ssl_cert@log_download_ssl_cert": "",
"ssl_cert@log_download_ssl_cert_key": "",
"ssl_cert@log_download_ssl_cert_zip": "",
"ssl_cert@log_ocsp_ignore_ocsp_status": "",
"ssl_cert@log_ocsp_reset_all_ocsp_status": "",
"ssl_cert@log_ocsp_reset_ocsp_status": "",
"ssl_cert@log_update_ssl_cert": "",
"ssl_cert@log_upload_ssl_cert": "",
"ssl_cert@log_upload_ssl_cert_batch": "",
"ssl_cert@menu_apply": "",
"ssl_cert@menu_certs": "",
"ssl_cert@menu_ocsp": "",
"system@home_page": "https://goedge.cn",
"ticket_category@log_create_ticket_category": "",
"ticket_category@log_delete_ticket_category": "",
"ticket_category@log_update_ticket_category": "",
"traffic_package@log_create_traffic_package": "",
"traffic_package@log_delete_traffic_package": "",
"traffic_package@log_update_traffic_package": "",
"traffic_package_period@log_create_traffic_package_period": "",
"traffic_package_period@log_delete_traffic_package_period": "",
"traffic_package_period@log_update_traffic_package_period": "",
"traffic_package_price@log_update_traffic_package_price": "",
"user@log_create_user": "",
"user@log_delete_user": "",
"user@log_update_user": "",
"user@log_update_user_email_settings": "",
"user@log_update_user_features": "",
"user@log_update_user_global_settings": "",
"user@log_update_user_price_period": "",
"user@log_update_user_price_type": "",
"user@log_update_user_profile": "",
"user@log_update_user_sms_settings": "",
"user@log_verify_user": "",
"user_access_key@log_create_user_access_key": "",
"user_access_key@log_delete_user_access_key": "",
"user_access_key@log_update_user_access_key_is_on": "",
"user_account@log_update_user_account": "",
"user_ad_instance@log_delete_user_ad_instance": "",
"user_ad_instance@log_renew_user_ad_instance": "",
"user_ad_instance@log_update_user_ad_instance_objects": "",
"user_bill@log_pay_user_bill": "",
"user_common@canceled": "",
"user_common@log_system_error": "",
"user_common@server_error": "",
"user_common@system": "",
"user_identity@log_cancel_user_identity": "",
"user_identity@log_reject_user_identity": "",
"user_identity@log_reset_user_identity": "",
"user_identity@log_submit_user_identity": "",
"user_identity@log_update_user_identity_enterprise": "",
"user_identity@log_update_user_identity_individual": "",
"user_identity@log_verify_user_identity": "",
"user_login@log_update_login": "",
"user_node@log_create_user_node": "",
"user_node@log_delete_user_node": "",
"user_node@log_update_user_node": "",
"user_order@log_finish_user_order": "",
"user_plan@log_bind_user_plan_to_server": "",
"user_plan@log_buy_user_plan": "",
"user_plan@log_cancel_user_plan_from_server": "",
"user_plan@log_delete_user_plan": "",
"user_plan@log_renew_user_plan": "",
"user_ticket@log_create_user_ticket": "",
"user_ticket_log@log_reply_ticket": "",
"user_traffic_package@log_create_user_traffic_package": "",
"user_traffic_package@log_delete_user_traffic_package": "",
"waf@connector_and": "",
"waf@connector_and_description": "",
"waf@connector_or": "",
"waf@connector_or_description": "",
"waf@log_delete_ip_from_waf_policy": "",
"waf@log_update_forbidden_countries": "",
"waf@log_update_forbidden_provinces": "",
"waf@log_update_ip_from_waf_policy": "",
"waf_action@log_create_waf_action": "",
"waf_action@log_delete_waf_action": "",
"waf_action@log_update_waf_action": "",
"waf_policy@log_create_waf_policy": "",
"waf_policy@log_delete_waf_policy": "",
"waf_policy@log_export_waf_policy": "",
"waf_policy@log_import_waf_policy": "",
"waf_policy@log_update_cluster_waf_policy": "",
"waf_policy@log_update_waf_policy": "",
"waf_policy@log_upgrade_waf_policy": "",
"waf_rule_group@log_create_rule_group": "",
"waf_rule_group@log_delete_rule_group": "",
"waf_rule_group@log_sort_rule_groups": "",
"waf_rule_group@log_update_rule_group": "",
"waf_rule_group@log_update_rule_group_is_on": "",
"waf_rule_set@log_delete_rule_set": "",
"waf_rule_set@log_sort_rule_sets": "",
"waf_rule_set@log_update_rule_set": "",
"waf_rule_set@log_update_rule_set_is_on": "",
})
}

View File

@@ -47,6 +47,7 @@ func init() {
"admin_common@menu_setting_security_policy": "网络安全",
"admin_common@menu_setting_waf_policy": "WAF策略",
"admin_common@menu_setting_webp": "WebP",
"admin_common@menu_setting_webp_policy": "WebP策略",
"admin_common@server_error": "服务器出了点小问题,请联系技术人员处理。",
"admin_common@system": "系统",
"admin_dashboard@disk_usage_warning": "当前服务器磁盘空间不足,请立即扩充容量,文件路径:%s已使用%dG已使用比例%.2f%%,仅剩余空间:%.2f%%。<br/>如果是因为本机数据库数据过多,你可以:<a href=\"/settings/database/clean\">[清理访问日志]</a> &nbsp; &nbsp; <a href=\"https://goedge.cn/docs/APINode/QA.md\" target=\"_blank\">[调整数据库binlog设置]</a>",
@@ -96,6 +97,7 @@ func init() {
"admin_menu@ns_routes": "线路管理",
"admin_menu@ns_settings": "全局配置",
"admin_menu@ns_user_plans": "用户套餐",
"admin_menu@plan_list": "套餐列表",
"admin_menu@plan_user_plans": "已购套餐",
"admin_menu@plans": "套餐管理",
"admin_menu@server_access_log_policies": "日志策略",
@@ -118,6 +120,7 @@ func init() {
"admin_menu@ticket_category": "分类",
"admin_menu@tickets": "工单系统",
"admin_menu@user_list": "用户列表",
"admin_menu@user_scripts": "用户脚本",
"admin_menu@user_settings": "用户设置",
"admin_menu@users": "平台用户",
"admin_profile@log_update_profile": "修改个人资料",
@@ -148,6 +151,7 @@ func init() {
"admin_update@log_ignore_version": "忽略升级版本 %s",
"admin_update@log_reset_ignore_version": "重置忽略升级版本",
"admin_update@log_update_check_settings": "修改检查更新设置",
"admin_user_ui@log_update_ui_settings": "修改用户界面设置",
"api_node@log_create_api_node": "创建API节点 %d",
"api_node@log_delete_api_node": "删除API节点 %d",
"api_node@log_update_api_node": "修改API节点 %d",
@@ -266,6 +270,8 @@ func init() {
"node@log_up_node": "手动上线节点 %d",
"node@log_update_node": "修改节点 %d 基本信息",
"node@log_update_node_installation_status": "修改节点安装状态 %d",
"node@log_update_node_off": "停用节点 %d",
"node@log_update_node_on": "启用节点 %d",
"node@log_upgrade_node_remotely": "远程升级节点 %d",
"node@ungrouped_label": "未分组",
"node_action@log_copy_node_actions_to_cluster": "复制节点 %d 调度动作到集群",
@@ -301,7 +307,7 @@ func init() {
"node_cluster_menu@setting_uam": "5秒盾",
"node_cluster_menu@setting_waf_actions": "WAF动作",
"node_cluster_menu@setting_waf_policy": "WAF策略",
"node_cluster_menu@setting_webp": "WebP",
"node_cluster_menu@setting_webp": "WebP策略",
"node_cluster_menu@tab_cluster_dashboard": "集群看板",
"node_cluster_menu@tab_cluster_delete": "删除集群",
"node_cluster_menu@tab_cluster_nodes": "节点列表",
@@ -446,6 +452,11 @@ func init() {
"plan@log_delete_plan": "删除套餐 %d",
"plan@log_sort_plans": "对套餐进行排序",
"plan@log_update_plan": "修改套餐 %d",
"post@log_create_post": "创建文章 %d",
"post@log_delete_post": "删除文章 %d",
"post@log_publish_post": "发布文章 %d",
"post@log_update_post": "修改文章 %d",
"post@product_global": "全站",
"region_city@log_add_region_city_code": "添加城市/市 %d 别名 %s",
"region_city@log_update_region_city_custom": "定制城市 %d 信息",
"region_country@log_add_region_country_code": "添加国家/地区 %d 别名 %s",
@@ -483,6 +494,7 @@ func init() {
"server@log_copy_server_configs": "从网站 %d 中同步配置 %s",
"server@log_create_server": "创建网站 %d",
"server@log_delete_server": "删除网站 %d",
"server@log_delete_servers": "批量删除网站",
"server@log_disable_server": "停用网站 %d",
"server@log_enable_server": "启用网站 %d",
"server@log_submit_auditing_server": "提交网站 %d 域名审核",
@@ -490,7 +502,7 @@ func init() {
"server@log_update_server_basic": "修改网站 %d 基本信息",
"server@log_update_server_groups": "修改网站 %d 所属分组",
"server@log_update_server_is_on": "修改网站 %d 启用状态",
"server@log_update_server_name": "修改网站名称",
"server@log_update_server_name": "修改网站 %d 名称",
"server@menu_accesslog_history": "历史",
"server@menu_accesslog_realtime": "实时",
"server@menu_accesslog_today": "今天",
@@ -513,6 +525,7 @@ func init() {
"server@menu_setting_http_proxy": "HTTP代理",
"server@menu_setting_https": "HTTPS",
"server@menu_setting_locations": "路由规则",
"server@menu_setting_multimedia": "音视频设置",
"server@menu_setting_optimization": "页面优化",
"server@menu_setting_origins": "源站",
"server@menu_setting_others": "其他设置",
@@ -578,6 +591,7 @@ func init() {
"server_group@log_delete_server_group": "删除网站分组 %d",
"server_group@log_sort_server_groups": "修改网站分组排序",
"server_group@log_update_server_group": "修改网站分组 %d",
"server_hls@log_update_hls": "修改Web %d 的HLS设置",
"server_http3@log_update_cluster_http3_policy": "修改集群 %d 的HTTP3策略设置",
"server_http@log_update_http_settings": "修改网站 %d 的HTTP设置",
"server_http_header@log_create_deleting_header": "添加删除的报头 HeaderPolicyId: %d, Name: %s",
@@ -616,6 +630,8 @@ func init() {
"server_uam@log_update_uam_settings": "修改Web %d 全站防护模式",
"server_udp@log_update_udp_settings": "修改网站 %d UDP设置",
"server_user_agent@log_update_user_agents": "修改Web %d User-Agent设置",
"server_user_script@log_pass_user_script": "通过用户脚本 %d",
"server_user_script@log_reject_user_script": "驳回用户脚本 %d",
"server_waf@log_update_waf_settings": "修改Web %d 的WAF设置",
"server_webp@log_update_cluster_webp_policy": "修改集群 %d 的WebP设置",
"server_websocket@log_update_websocket_settings": "修改Web %d 的Websocket设置",

View File

@@ -0,0 +1,4 @@
After changing the messages, remember to run 'langs generate' to generate Go codes:
~~~bash
go run cmd/langs/main.go generate
~~~

View File

@@ -0,0 +1,19 @@
{
"menu_setting_basic": "Basic Settings",
"menu_setting_dns": "DNS Settings",
"menu_setting_health_check": "Health Check",
"menu_setting_cache_policy": "Cache Policy",
"menu_setting_waf_policy": "WAF Policy",
"menu_setting_webp": "WebP",
"menu_setting_webp_policy": "WebP Policy",
"menu_setting_metrics": "Metrics",
"menu_setting_ddos_protection": "DDoS Protection",
"menu_setting_security_policy": "Networking Security",
"menu_setting_cache": "Cache Settings",
"system": "System",
"canceled": "Canceled",
"server_error": "There is a internal error, please report to administrator.",
"log_system_error": "system error: %s"
}

View File

@@ -0,0 +1,9 @@
{
"ui_overview": "Overview",
"ui_waf": "WAF",
"ui_dns": "DNS",
"ui_user": "Users",
"ui_events": "Events",
"disk_usage_warning": "当前服务器磁盘空间不足,请立即扩充容量,文件路径:%s已使用%dG已使用比例%.2f%%,仅剩余空间:%.2f%%。<br/>如果是因为本机数据库数据过多,你可以:<a href=\"/settings/database/clean\">[清理访问日志]</a> &nbsp; &nbsp; <a href=\"${lang.system@home_page}/docs/APINode/QA.md\" target=\"_blank\">[调整数据库binlog设置]</a>"
}

View File

@@ -0,0 +1,74 @@
{
"dashboard": "Dashboard",
"servers": "Sites",
"server_access_logs": "Access Logs",
"server_groups": "Site Groups",
"server_certs": "Certificates",
"server_traffic_stats": "Traffic Statistics",
"server_cache_policies": "Cache Policies",
"server_purge_fetch_caches": "Cache Management",
"server_waf_policies": "WAF Policies",
"server_ip_lists": "IP List",
"server_access_log_policies": "Access Log Policies",
"server_metrics": "Metrics",
"server_scripts": "Script Libraries",
"user_scripts": "User Scripts",
"server_global_settings": "Global Settings",
"nodes": "Edge Nodes",
"node_clusters": "Clusters",
"node_logs": "Node Logs",
"node_ip_list": "Node IPs",
"node_regions": "Regions",
"node_ssh_grants": "SSH Grants",
"node_distributed_monitors": "Distributed Monitors",
"node_anti_ddos_products": "Anti-DDoS Product",
"dns": "DNS Service",
"dns_clusters": "Clusters",
"dns_providers": "DNS Providers",
"dns_issues": "Issues",
"ns": "Edge DNS",
"ns_domains": "Domains",
"ns_domain_groups": "Domain Groups",
"ns_domain_batch_operations": "Batch",
"ns_clusters": "Clusters",
"ns_routes": "Routes",
"ns_settings": "Settings",
"ns_user_plans": "User Plans",
"ns_plans": "Plans",
"ns_access_logs": "Access Logs",
"ns_node_logs": "Node Logs",
"ns_resolve_test": "Testing",
"users": "Users",
"user_list": "Users",
"user_settings": "User Settings",
"finance": "Finance",
"finance_bills": "Bills",
"finance_accounts": "Accounts",
"finance_logs": "Logs",
"finance_orders": "Orders",
"finance_income": "Reports",
"finance_fee": "Fee Settings",
"finance_packages": "Traffic Packages",
"plans": "Plans",
"plan_list": "Plans",
"plan_user_plans": "User Plans",
"tickets": "Tickets",
"ticket_category": "Categories",
"admins": "System Users",
"admin_recipients": "Notification Medias",
"logs": "Audit Logs",
"settings": "Settings",
"setting_basic_settings": "Basic Settings",
"setting_advanced_settings": "Advanced Settings",
"setting_authority": "Commercial Authority"
}

View File

@@ -0,0 +1,20 @@
{
"tab_admin_server": "Admin Server Settings",
"tab_admin_ui": "Admin System UI",
"tab_user_ui": "User System UI",
"tab_admin_security_settings": "Security Settings",
"tab_updates": "Updates",
"tab_profile": "My Profile",
"tab_login": "My Login",
"tab_database": "Database",
"tab_api_nodes": "API Nodes",
"tab_user_nodes": "User Nodes",
"tab_monitor_nodes": "Monitor Nodes", // deprecated
"tab_ip_library": "IP Library",
"tab_client_operation_systems": "OS Management",
"tab_client_browsers": "Browser Management",
"tab_authority": "Commercial Authority",
"tab_access_log_databases": "Log Databases",
"tab_transfer": "Transfer",
"tab_backup": "Backup"
}

View File

@@ -0,0 +1,27 @@
{
"setting_basic": "${lang.admin_common@menu_setting_basic}",
"setting_dns": "${lang.admin_common@menu_setting_dns}",
"setting_health_check": "${lang.admin_common@menu_setting_health_check}",
"setting_service_global": "Site Settings",
"setting_cache_policy": "${lang.admin_common@menu_setting_cache_policy}",
"setting_waf_policy": "${lang.admin_common@menu_setting_waf_policy}",
"setting_waf_actions": "WAF Actions",
"setting_webp": "${lang.admin_common@menu_setting_webp_policy}",
"setting_metrics": "${lang.admin_common@menu_setting_metrics}",
"setting_ddos_protection": "${lang.admin_common@menu_setting_ddos_protection}",
"setting_security_policy": "${lang.admin_common@menu_setting_security_policy}",
"setting_uam": "UAM Policy",
"setting_cc": "CC Policy",
"setting_pages": "Pages",
"setting_http3": "HTTP/3",
"setting_schedule": "Scheduling",
"setting_thresholds": "Thresholds",
"setting_notification": "Notifications",
"setting_system_service": "System Service",
"setting_toa": "TOA",
"tab_cluster_dashboard": "Dashboard",
"tab_cluster_nodes": "Nodes",
"tab_cluster_settings": "Settings",
"tab_cluster_delete": "Delete"
}

View File

@@ -0,0 +1,18 @@
{
"create_single_node": "Create",
"create_multiple_nodes": "Create Batch",
"install_manually": "Manually",
"install_auto_register": "Auto-Register",
"install_remote": "Install Remotely(%d)", // Args: [Nodes Count]
"install_remote_upgrade": "Upgrade Remotely(%d)", // Args: [Nodes Count]
"setting_basic": "${lang.admin_common@menu_setting_basic}",
"setting_dns": "${lang.admin_common@menu_setting_dns}",
"setting_cache": "${lang.admin_common@menu_setting_cache}",
"setting_ddos_protection": "${lang.admin_common@menu_setting_ddos_protection}",
"setting_ssh": "SSH",
"setting_system": "System Settings",
"setting_schedule": "Scheduling",
"setting_thresholds": "Thresholds"
}

View File

@@ -0,0 +1,89 @@
{
"tab_dashboard": "Dashboard",
"tab_stat": "Statistics",
"tab_access_logs": "Access Logs",
"tab_settings": "Settings",
"tab_delete": "Delete",
"tab_server_list": "Sites",
"menu_dashboard": "Dashboard",
"menu_accesslog_realtime": "Realtime",
"menu_accesslog_today": "Today",
"menu_accesslog_history": "History",
"menu_stat_traffic": "Traffic",
"menu_stat_regions": "Regions",
"menu_stat_providers": "Providers",
"menu_stat_clients": "Clients",
"menu_stat_waf": "WAF",
"menu_setting_basic": "Basic Settings",
"menu_setting_dns": "DNS",
"menu_setting_domains": "Server Names",
"menu_setting_http": "HTTP",
"menu_setting_https": "HTTPS",
"menu_setting_origins": "Origin Sites",
"menu_setting_redirects": "URL Redirections",
"menu_setting_locations": "Locations",
"menu_setting_rewrite_rules": "Rewrite Rules",
"menu_setting_waf": "WAF",
"menu_setting_cache": "Cache",
"menu_setting_auth": "Access Control",
"menu_setting_referers": "Referers",
"menu_setting_user_agents": "UA List",
"menu_setting_charset": "Charset",
"menu_setting_access_log": "Access Log",
"menu_setting_stat": "Statistics",
"menu_setting_compression": "Compressions",
"menu_setting_optimization": "Content Optimizations",
"menu_setting_pages": "Pages",
"menu_setting_http_headers": "HTTP Headers",
"menu_setting_websocket": "Websocket",
"menu_setting_webp": "WebP",
"menu_setting_root": "Static Files",
"menu_setting_fastcgi": "Fastcgi",
"menu_setting_client_ip": "Client IP",
"menu_setting_request_limit": "Request Limit",
"menu_setting_others": "Others",
"menu_setting_tcp": "TCP",
"menu_setting_tls": "TLS",
"menu_setting_unix": "Unix",
"menu_setting_udp": "UDP",
"menu_setting_delete": "Delete",
"menu_setting_http_proxy": "HTTP Reverse Proxy", // in site groups
"menu_setting_tcp_proxy": "TCP Reverse Proxy", // in site groups
"menu_setting_udp_proxy": "UDP Reverse Proxy", // in site groups
"menu_setting_plan": "Plan",
"menu_setting_group": "Group",
"menu_setting_multimedia": "Audios & Videos",
"menu_setting_uam": "UAM",
"menu_setting_cc": "CC Protection",
"menu_setting_traffic_limit": "Traffic Limit",
"menu_setting_scripts": "Scripts",
"copy_setting_current_group": "Current Group: %s",
"copy_setting_current_user": "Current User: %s",
"copy_setting_current_cluster": "Current Cluster: %s",
"copy_setting_select_group": "Select Group",
"copy_setting_select_user": "Select User",
"copy_setting_select_cluster": "Select Cluster",
"copy_setting_select_server": "Select Site",
"server_names_log_update_server_names": "修改网站 %d 域名",
"log_update_global_settings": "保存网站全局配置",
"log_create_server": "创建网站 %d",
"log_delete_server": "删除网站 %d",
"log_update_server_basic": "修改网站 %d 基本信息",
"log_copy_server_configs": "从网站 %d 中同步配置 %s",
"log_submit_auditing_server": "提交网站 %d 域名审核",
"log_update_server_groups": "修改网站 %d 所属分组",
"log_enable_server": "启用网站 %d",
"log_disable_server": "停用网站 %d",
"log_update_server_name": "修改网站 %d 名称",
"log_update_server_is_on":"修改网站 %d 启用状态"
}

View File

@@ -0,0 +1,3 @@
{
"home_page": "https://goedge.cn"
}

View File

@@ -1 +0,0 @@
After change the messages, remember to run 'langs generate' to generate Go codes.

View File

@@ -5,6 +5,7 @@
"menu_setting_cache_policy": "缓存策略",
"menu_setting_waf_policy": "WAF策略",
"menu_setting_webp": "WebP",
"menu_setting_webp_policy": "WebP策略",
"menu_setting_metrics": "统计指标",
"menu_setting_ddos_protection": "DDoS防护",
"menu_setting_security_policy": "网络安全",

View File

@@ -12,6 +12,7 @@
"server_access_log_policies": "日志策略",
"server_metrics": "统计指标",
"server_scripts": "脚本库",
"user_scripts": "用户脚本",
"server_global_settings": "通用设置",
"nodes": "边缘节点",
@@ -55,6 +56,7 @@
"finance_packages": "流量包",
"plans": "套餐管理",
"plan_list": "套餐列表",
"plan_user_plans": "已购套餐",
"tickets": "工单系统",

View File

@@ -0,0 +1,3 @@
{
"log_update_ui_settings": "修改用户界面设置"
}

View File

@@ -11,5 +11,7 @@
"log_update_node": "修改节点 %d 基本信息",
"log_update_node_installation_status": "修改节点安装状态 %d",
"log_up_node": "手动上线节点 %d",
"log_update_node_on": "启用节点 %d",
"log_update_node_off": "停用节点 %d",
"log_delete_node_from_cluster": "从集群 %d 中删除节点 %d"
}

View File

@@ -6,7 +6,7 @@
"setting_cache_policy": "${lang.admin_common@menu_setting_cache_policy}",
"setting_waf_policy": "${lang.admin_common@menu_setting_waf_policy}",
"setting_waf_actions": "WAF动作",
"setting_webp": "${lang.admin_common@menu_setting_webp}",
"setting_webp": "${lang.admin_common@menu_setting_webp_policy}",
"setting_metrics": "${lang.admin_common@menu_setting_metrics}",
"setting_ddos_protection": "${lang.admin_common@menu_setting_ddos_protection}",
"setting_security_policy": "${lang.admin_common@menu_setting_security_policy}",

View File

@@ -4,7 +4,7 @@
"install_manually": "手动安装",
"install_auto_register": "自动注册",
"install_remote": "远程安装(%d)", // 参数:节点数量
"install_remote_upgrade": "远程升级(%d)", // 参数:节点数量,
"install_remote_upgrade": "远程升级(%d)", // 参数:节点数量
"setting_basic": "${lang.admin_common@menu_setting_basic}",
"setting_dns": "${lang.admin_common@menu_setting_dns}",

View File

@@ -0,0 +1,8 @@
{
"product_global": "全站",
"log_create_post": "创建文章 %d",
"log_publish_post": "发布文章 %d",
"log_delete_post": "删除文章 %d",
"log_update_post": "修改文章 %d"
}

View File

@@ -56,6 +56,7 @@
"menu_setting_udp_proxy": "UDP代理", // 网站分组中使用
"menu_setting_plan": "套餐",
"menu_setting_group": "分组",
"menu_setting_multimedia": "音视频设置",
"menu_setting_uam": "5秒盾",
"menu_setting_cc": "CC防护",
@@ -83,6 +84,7 @@
"log_update_server_groups": "修改网站 %d 所属分组",
"log_enable_server": "启用网站 %d",
"log_disable_server": "停用网站 %d",
"log_update_server_name": "修改网站名称",
"log_update_server_is_on":"修改网站 %d 启用状态"
"log_update_server_name": "修改网站 %d 名称",
"log_update_server_is_on":"修改网站 %d 启用状态",
"log_delete_servers": "批量删除网站"
}

View File

@@ -0,0 +1,3 @@
{
"log_update_hls": "修改Web %d 的HLS设置"
}

View File

@@ -0,0 +1,4 @@
{
"log_pass_user_script": "通过用户脚本 %d",
"log_reject_user_script": "驳回用户脚本 %d"
}

View File

@@ -8,11 +8,15 @@ func init() {
_ = DefaultWebPImagePolicy.Init()
}
var DefaultWebPImagePolicy = &WebPImagePolicy{
IsOn: true,
RequireCache: true,
MinLength: shared.NewSizeCapacity(0, shared.SizeCapacityUnitKB),
MaxLength: shared.NewSizeCapacity(128, shared.SizeCapacityUnitMB),
var DefaultWebPImagePolicy = NewWebPImagePolicy()
func NewWebPImagePolicy() *WebPImagePolicy {
return &WebPImagePolicy{
IsOn: true,
RequireCache: true,
MinLength: shared.NewSizeCapacity(0, shared.SizeCapacityUnitKB),
MaxLength: shared.NewSizeCapacity(128, shared.SizeCapacityUnitMB),
}
}
// WebPImagePolicy WebP策略
@@ -21,6 +25,7 @@ type WebPImagePolicy struct {
RequireCache bool `yaml:"requireCache" json:"requireCache"` // 需要在缓存条件下进行
MinLength *shared.SizeCapacity `yaml:"minLength" json:"minLength"` // 最小压缩对象比如4m, 24k
MaxLength *shared.SizeCapacity `yaml:"maxLength" json:"maxLength"` // 最大压缩对象
Quality int `yaml:"quality" json:"quality"` // 生成的图片质量0-100
minLength int64
maxLength int64

View File

@@ -28,6 +28,8 @@ var uamPolicyLocker = &sync.RWMutex{}
var httpCCPolicyLocker = &sync.RWMutex{}
var http3PolicyLocker = &sync.RWMutex{}
var httpPagesPolicyLocker = &sync.RWMutex{}
var webPPolicyLocker = &sync.RWMutex{}
var plansLocker = &sync.RWMutex{}
type ServerError struct {
Id int64
@@ -98,12 +100,13 @@ type NodeConfig struct {
// 脚本
CommonScripts []*serverconfigs.CommonScript `yaml:"commonScripts" json:"commonScripts"`
WebPImagePolicies map[int64]*WebPImagePolicy `yaml:"webpImagePolicies" json:"webpImagePolicies"` // WebP相关配置clusterId => *WebPImagePolicy
UAMPolicies map[int64]*UAMPolicy `yaml:"uamPolicies" json:"uamPolicies"` // UAM相关配置clusterId => *UAMPolicy
HTTPCCPolicies map[int64]*HTTPCCPolicy `yaml:"httpCCPolicies" json:"httpCCPolicies"` // CC相关配置 clusterId => *HTTPCCPolicy
HTTP3Policies map[int64]*HTTP3Policy `yaml:"http3Policies" json:"http3Policies"` // HTTP3相关配置 clusterId => *HTTP3Policy
HTTPPagesPolicies map[int64]*HTTPPagesPolicy `yaml:"httpPagesPolicies" json:"httpPagesPolicies"` // 自定义页面clusterId => *HTTPPagesPolicy
NetworkSecurityPolicy *NetworkSecurityPolicy `yaml:"networkSecurityPolicy" json:"networkSecurityPolicy"` // 网络安全策略
WebPImagePolicies map[int64]*WebPImagePolicy `yaml:"webpImagePolicies" json:"webpImagePolicies"` // WebP相关配置clusterId => *WebPImagePolicy
UAMPolicies map[int64]*UAMPolicy `yaml:"uamPolicies" json:"uamPolicies"` // UAM相关配置clusterId => *UAMPolicy
HTTPCCPolicies map[int64]*HTTPCCPolicy `yaml:"httpCCPolicies" json:"httpCCPolicies"` // CC相关配置 clusterId => *HTTPCCPolicy
HTTP3Policies map[int64]*HTTP3Policy `yaml:"http3Policies" json:"http3Policies"` // HTTP3相关配置 clusterId => *HTTP3Policy
HTTPPagesPolicies map[int64]*HTTPPagesPolicy `yaml:"httpPagesPolicies" json:"httpPagesPolicies"` // 自定义页面clusterId => *HTTPPagesPolicy
NetworkSecurityPolicy *NetworkSecurityPolicy `yaml:"networkSecurityPolicy" json:"networkSecurityPolicy"` // 网络安全策略
Plans map[int64]*serverconfigs.PlanConfig `yaml:"plans" json:"plans"` // 套餐 plan id => *serverconfigs.PlanConfig
// DNS
DNSResolver *DNSResolverConfig `yaml:"dnsResolver" json:"dnsResolver"`
@@ -210,6 +213,12 @@ func CloneNodeConfig(nodeConfig *NodeConfig) (*NodeConfig, error) {
httpPagesPolicyLocker.RLock()
defer httpPagesPolicyLocker.RUnlock()
webPPolicyLocker.RLock()
defer webPPolicyLocker.RUnlock()
plansLocker.RLock()
defer plansLocker.RUnlock()
var newConfigValue = reflect.Indirect(reflect.ValueOf(&NodeConfig{}))
var oldValue = reflect.Indirect(reflect.ValueOf(nodeConfig))
var valueType = oldValue.Type()
@@ -376,14 +385,17 @@ func (this *NodeConfig) Init(ctx context.Context) (err error, serverErrors []*Se
}
// webp image policy
webPPolicyLocker.RLock()
if this.WebPImagePolicies != nil {
for _, policy := range this.WebPImagePolicies {
err = policy.Init()
if err != nil {
webPPolicyLocker.RUnlock()
return
}
}
}
webPPolicyLocker.RUnlock()
// uam policy
uamPolicyLocker.RLock()
@@ -437,6 +449,19 @@ func (this *NodeConfig) Init(ctx context.Context) (err error, serverErrors []*Se
}
httpPagesPolicyLocker.RUnlock()
// plans
plansLocker.RLock()
if len(this.Plans) > 0 {
for _, plan := range this.Plans {
err = plan.Init()
if err != nil {
plansLocker.RUnlock()
return
}
}
}
plansLocker.RUnlock()
// dns resolver
if this.DNSResolver != nil {
err = this.DNSResolver.Init()
@@ -599,6 +624,9 @@ func (this *NodeConfig) lookupWeb(server *serverconfigs.ServerConfig, web *serve
if (web.FirewallPolicy.BlockOptions == nil || !web.FirewallPolicy.BlockOptions.IsPrior) && server.HTTPFirewallPolicy.BlockOptions != nil {
web.FirewallPolicy.BlockOptions = server.HTTPFirewallPolicy.BlockOptions
}
if (web.FirewallPolicy.PageOptions == nil || !web.FirewallPolicy.PageOptions.IsPrior) && server.HTTPFirewallPolicy.PageOptions != nil {
web.FirewallPolicy.PageOptions = server.HTTPFirewallPolicy.PageOptions
}
if (web.FirewallPolicy.CaptchaOptions == nil || !web.FirewallPolicy.CaptchaOptions.IsPrior) && server.HTTPFirewallPolicy.CaptchaOptions != nil {
web.FirewallPolicy.CaptchaOptions = server.HTTPFirewallPolicy.CaptchaOptions
}
@@ -675,12 +703,22 @@ func (this *NodeConfig) UpdateCertOCSP(certId int64, ocsp []byte, expiresAt int6
// FindWebPImagePolicyWithClusterId 使用集群ID查找WebP策略
func (this *NodeConfig) FindWebPImagePolicyWithClusterId(clusterId int64) *WebPImagePolicy {
webPPolicyLocker.RLock()
defer webPPolicyLocker.RUnlock()
if this.WebPImagePolicies == nil {
return nil
}
return this.WebPImagePolicies[clusterId]
}
// UpdateWebPImagePolicies 修改集群WebP策略
func (this *NodeConfig) UpdateWebPImagePolicies(policies map[int64]*WebPImagePolicy) {
webPPolicyLocker.Lock()
defer webPPolicyLocker.Unlock()
this.WebPImagePolicies = policies
}
// FindUAMPolicyWithClusterId 使用集群ID查找UAM策略
func (this *NodeConfig) FindUAMPolicyWithClusterId(clusterId int64) *UAMPolicy {
uamPolicyLocker.RLock()
@@ -767,6 +805,27 @@ func (this *NodeConfig) FindHTTPPagesPolicyWithClusterId(clusterId int64) *HTTPP
return this.HTTPPagesPolicies[clusterId]
}
// UpdatePlans 更新套餐
func (this *NodeConfig) UpdatePlans(planMap map[int64]*serverconfigs.PlanConfig) {
plansLocker.Lock()
this.Plans = planMap
plansLocker.Unlock()
}
// FindAllPlans 查找所有套餐
func (this *NodeConfig) FindAllPlans() map[int64]*serverconfigs.PlanConfig {
plansLocker.RLock()
defer plansLocker.RUnlock()
return this.Plans
}
// 查找单个套餐
func (this *NodeConfig) FindPlan(planId int64) *serverconfigs.PlanConfig {
plansLocker.RLock()
defer plansLocker.RUnlock()
return this.Plans[planId]
}
// SecretHash 对Id和Secret的Hash计算
func (this *NodeConfig) SecretHash() string {
return this.secretHash

View File

@@ -0,0 +1,37 @@
# 比特位尺寸
## 定义
~~~json
{
"count": "数量",
"unit": "单位"
}
~~~
其中:
* `数量` - 必须是一个整数数字
* `单位` - 有以下几个值:
* `b` - 比特
* `kb` - Kb
* `mb` - Mb
* `gb` - Gb
* `tb` - Tb
* `pb` - Pb
* `eb` - Eb
## 示例
100Mb
~~~
{
"count": 100,
"unit": "mb"
}
~~~
32Gb
~~~
{
"count": 32,
"unit": "gb"
}
~~~

View File

@@ -11,11 +11,13 @@
"purgeIsOn": "是否允许使用Purge方法清理",
"purgeKey": "Purge时使用的X-Edge-Purge-Key",
"stale": "陈旧缓存使用策略",
"key": "主域名配置",
"cacheRefs": ["缓存条件1", "缓存条件2", ...]
}
~~~
其中:
* `缓存条件` - 参考 {json:http_cache_ref}
* `主域名配置` 参考本文“主域名”配置部分
## 示例
### 无缓存条件
@@ -90,3 +92,32 @@
]
}
~~~
## 主域名配置
~~~json
{
"isOn": "true|false",
"scheme": "https|http",
"host": "域名,必须是当前网站已绑定的域名"
}
~~~
### 示例
#### 不使用主域名
~~~json
{
"isOn": false
}
~~~
#### 使用主域名
~~~json
{
"isOn": true,
"scheme": "https",
"host": "example.com"
}
~~~
如果启用主域名,则缓存键值中的域名会被自动换成主域名,清理缓存的时候也需要使用此主域名。

View File

@@ -4,7 +4,9 @@
{
"isPrior": "是否覆盖上级配置",
"isOn": "是否启用配置",
"firewallPolicyId": "WAF策略ID"
"firewallPolicyId": "WAF策略ID",
"ignoreGlobalRules": "是否忽略系统定义的全局规则",
"defaultCaptchaType": "默认人机识别方式可以选none不设置、default默认、oneClick单击验证、slide滑动解锁、geetest极验"
}
~~~
@@ -13,6 +15,8 @@
{
"isPrior": true,
"isOn": true,
"firewallPolicyId": 123
"firewallPolicyId": 123,
"ignoreGlobalRules": false,
"defaultCaptchaType": "none"
}
~~~

View File

@@ -0,0 +1,37 @@
# 容量
## 定义
~~~json
{
"count": "数量",
"unit": "单位"
}
~~~
其中:
* `数量` - 必须是一个整数数字
* `单位` - 有以下几个值:
* `byte` - 字节
* `kb` - KB
* `mb` - MB
* `gb` - GB
* `tb` - TB
* `pb` - PB
* `eb` - EB
## 示例
100MB
~~~
{
"count": 100,
"unit": "mb"
}
~~~
32GB
~~~
{
"count": 32,
"unit": "gb"
}
~~~

View File

@@ -25,15 +25,16 @@ type HTTPCacheTaskKey struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` // 缓存键ID
TaskId int64 `protobuf:"varint,2,opt,name=taskId,proto3" json:"taskId,omitempty"` // 任务ID
Key string `protobuf:"bytes,3,opt,name=key,proto3" json:"key,omitempty"` // 缓存键
Type string `protobuf:"bytes,4,opt,name=type,proto3" json:"type,omitempty"` // 操作类型purge|fetch
KeyType string `protobuf:"bytes,5,opt,name=keyType,proto3" json:"keyType,omitempty"` // 键类型key|prefix
IsDone bool `protobuf:"varint,6,opt,name=isDone,proto3" json:"isDone,omitempty"` // 是否已完成
IsDoing bool `protobuf:"varint,9,opt,name=isDoing,proto3" json:"isDoing,omitempty"` // 是否执行中
ErrorsJSON []byte `protobuf:"bytes,7,opt,name=errorsJSON,proto3" json:"errorsJSON,omitempty"` // 错误信息
NodeClusterId int64 `protobuf:"varint,8,opt,name=nodeClusterId,proto3" json:"nodeClusterId,omitempty"` // 所属集群ID
Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` // 缓存键ID
TaskId int64 `protobuf:"varint,2,opt,name=taskId,proto3" json:"taskId,omitempty"` // 任务ID
Key string `protobuf:"bytes,3,opt,name=key,proto3" json:"key,omitempty"` // 缓存键
Type string `protobuf:"bytes,4,opt,name=type,proto3" json:"type,omitempty"` // 操作类型purge|fetch
KeyType string `protobuf:"bytes,5,opt,name=keyType,proto3" json:"keyType,omitempty"` // 键类型key|prefix
IsDone bool `protobuf:"varint,6,opt,name=isDone,proto3" json:"isDone,omitempty"` // 是否已完成
IsDoing bool `protobuf:"varint,9,opt,name=isDoing,proto3" json:"isDoing,omitempty"` // 是否执行中
ErrorsJSON []byte `protobuf:"bytes,7,opt,name=errorsJSON,proto3" json:"errorsJSON,omitempty"` // 错误信息
NodeClusterId int64 `protobuf:"varint,8,opt,name=nodeClusterId,proto3" json:"nodeClusterId,omitempty"` // 所属集群ID
NodeCluster *NodeCluster `protobuf:"bytes,30,opt,name=nodeCluster,proto3" json:"nodeCluster,omitempty"` // 所属集群,不一定有内容
}
func (x *HTTPCacheTaskKey) Reset() {
@@ -131,29 +132,41 @@ func (x *HTTPCacheTaskKey) GetNodeClusterId() int64 {
return 0
}
func (x *HTTPCacheTaskKey) GetNodeCluster() *NodeCluster {
if x != nil {
return x.NodeCluster
}
return nil
}
var File_models_model_http_cache_task_key_proto protoreflect.FileDescriptor
var file_models_model_http_cache_task_key_proto_rawDesc = []byte{
0x0a, 0x26, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x68,
0x74, 0x74, 0x70, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x6b,
0x65, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x22, 0xf2, 0x01, 0x0a,
0x10, 0x48, 0x54, 0x54, 0x50, 0x43, 0x61, 0x63, 0x68, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x4b, 0x65,
0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69,
0x64, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
0x03, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x74,
0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12,
0x18, 0x0a, 0x07, 0x6b, 0x65, 0x79, 0x54, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09,
0x52, 0x07, 0x6b, 0x65, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x44,
0x6f, 0x6e, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x44, 0x6f, 0x6e,
0x65, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x73, 0x44, 0x6f, 0x69, 0x6e, 0x67, 0x18, 0x09, 0x20, 0x01,
0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x44, 0x6f, 0x69, 0x6e, 0x67, 0x12, 0x1e, 0x0a, 0x0a, 0x65,
0x72, 0x72, 0x6f, 0x72, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c, 0x52,
0x0a, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x24, 0x0a, 0x0d, 0x6e,
0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01,
0x28, 0x03, 0x52, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49,
0x64, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x33,
0x65, 0x79, 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, 0x6e, 0x6f, 0x64, 0x65, 0x5f,
0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa5, 0x02,
0x0a, 0x10, 0x48, 0x54, 0x54, 0x50, 0x43, 0x61, 0x63, 0x68, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x4b,
0x65, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02,
0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01,
0x28, 0x03, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x12, 0x0a, 0x04,
0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65,
0x12, 0x18, 0x0a, 0x07, 0x6b, 0x65, 0x79, 0x54, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28,
0x09, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73,
0x44, 0x6f, 0x6e, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x44, 0x6f,
0x6e, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x73, 0x44, 0x6f, 0x69, 0x6e, 0x67, 0x18, 0x09, 0x20,
0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x44, 0x6f, 0x69, 0x6e, 0x67, 0x12, 0x1e, 0x0a, 0x0a,
0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c,
0x52, 0x0a, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x24, 0x0a, 0x0d,
0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x08, 0x20,
0x01, 0x28, 0x03, 0x52, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
0x49, 0x64, 0x12, 0x31, 0x0a, 0x0b, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
0x72, 0x18, 0x1e, 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 (
@@ -171,13 +184,15 @@ func file_models_model_http_cache_task_key_proto_rawDescGZIP() []byte {
var file_models_model_http_cache_task_key_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
var file_models_model_http_cache_task_key_proto_goTypes = []interface{}{
(*HTTPCacheTaskKey)(nil), // 0: pb.HTTPCacheTaskKey
(*NodeCluster)(nil), // 1: pb.NodeCluster
}
var file_models_model_http_cache_task_key_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.HTTPCacheTaskKey.nodeCluster:type_name -> pb.NodeCluster
1, // [1:1] is the sub-list for method output_type
1, // [1:1] is the sub-list for method input_type
1, // [1:1] is the sub-list for extension type_name
1, // [1:1] is the sub-list for extension extendee
0, // [0:1] is the sub-list for field type_name
}
func init() { file_models_model_http_cache_task_key_proto_init() }
@@ -185,6 +200,7 @@ func file_models_model_http_cache_task_key_proto_init() {
if File_models_model_http_cache_task_key_proto != nil {
return
}
file_models_model_node_cluster_proto_init()
if !protoimpl.UnsafeEnabled {
file_models_model_http_cache_task_key_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*HTTPCacheTaskKey); i {

View File

@@ -20,21 +20,25 @@ const (
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
// WAF策略
type HTTPFirewallPolicy struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
Mode string `protobuf:"bytes,7,opt,name=mode,proto3" json:"mode,omitempty"`
IsOn bool `protobuf:"varint,3,opt,name=isOn,proto3" json:"isOn,omitempty"`
Description string `protobuf:"bytes,4,opt,name=description,proto3" json:"description,omitempty"`
InboundJSON []byte `protobuf:"bytes,5,opt,name=inboundJSON,proto3" json:"inboundJSON,omitempty"`
OutboundJSON []byte `protobuf:"bytes,6,opt,name=outboundJSON,proto3" json:"outboundJSON,omitempty"`
ServerId int64 `protobuf:"varint,8,opt,name=serverId,proto3" json:"serverId,omitempty"`
UseLocalFirewall bool `protobuf:"varint,9,opt,name=useLocalFirewall,proto3" json:"useLocalFirewall,omitempty"`
SynFloodJSON []byte `protobuf:"bytes,10,opt,name=synFloodJSON,proto3" json:"synFloodJSON,omitempty"`
Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` // 策略ID
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` // 名称
Mode string `protobuf:"bytes,7,opt,name=mode,proto3" json:"mode,omitempty"` // 模式
IsOn bool `protobuf:"varint,3,opt,name=isOn,proto3" json:"isOn,omitempty"` // 是否启用
Description string `protobuf:"bytes,4,opt,name=description,proto3" json:"description,omitempty"` // 描述
InboundJSON []byte `protobuf:"bytes,5,opt,name=inboundJSON,proto3" json:"inboundJSON,omitempty"` // 入站配置
OutboundJSON []byte `protobuf:"bytes,6,opt,name=outboundJSON,proto3" json:"outboundJSON,omitempty"` // 出站配置
ServerId int64 `protobuf:"varint,8,opt,name=serverId,proto3" json:"serverId,omitempty"` // 所属网站ID如果为0表示公共策略
UseLocalFirewall bool `protobuf:"varint,9,opt,name=useLocalFirewall,proto3" json:"useLocalFirewall,omitempty"` // 是否使用本机防火墙
SynFloodJSON []byte `protobuf:"bytes,10,opt,name=synFloodJSON,proto3" json:"synFloodJSON,omitempty"` // synflood配置
BlockOptionsJSON []byte `protobuf:"bytes,11,opt,name=blockOptionsJSON,proto3" json:"blockOptionsJSON,omitempty"` // 阻止动作配置
PageOptionsJSON []byte `protobuf:"bytes,13,opt,name=pageOptionsJSON,proto3" json:"pageOptionsJSON,omitempty"` // 显示网页动作配置
CaptchaOptionsJSON []byte `protobuf:"bytes,12,opt,name=captchaOptionsJSON,proto3" json:"captchaOptionsJSON,omitempty"` // 人机识别配置
}
func (x *HTTPFirewallPolicy) Reset() {
@@ -139,12 +143,33 @@ func (x *HTTPFirewallPolicy) GetSynFloodJSON() []byte {
return nil
}
func (x *HTTPFirewallPolicy) GetBlockOptionsJSON() []byte {
if x != nil {
return x.BlockOptionsJSON
}
return nil
}
func (x *HTTPFirewallPolicy) GetPageOptionsJSON() []byte {
if x != nil {
return x.PageOptionsJSON
}
return nil
}
func (x *HTTPFirewallPolicy) GetCaptchaOptionsJSON() []byte {
if x != nil {
return x.CaptchaOptionsJSON
}
return nil
}
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, 0xb4, 0x02,
0x69, 0x63, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x22, 0xba, 0x03,
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,
@@ -164,8 +189,16 @@ var file_models_model_http_firewall_policy_proto_rawDesc = []byte{
0x75, 0x73, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c,
0x12, 0x22, 0x0a, 0x0c, 0x73, 0x79, 0x6e, 0x46, 0x6c, 0x6f, 0x6f, 0x64, 0x4a, 0x53, 0x4f, 0x4e,
0x18, 0x0a, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x73, 0x79, 0x6e, 0x46, 0x6c, 0x6f, 0x6f, 0x64,
0x4a, 0x53, 0x4f, 0x4e, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x33,
0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x2a, 0x0a, 0x10, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x4f, 0x70, 0x74,
0x69, 0x6f, 0x6e, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x10,
0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4a, 0x53, 0x4f, 0x4e,
0x12, 0x28, 0x0a, 0x0f, 0x70, 0x61, 0x67, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4a,
0x53, 0x4f, 0x4e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0f, 0x70, 0x61, 0x67, 0x65, 0x4f,
0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x2e, 0x0a, 0x12, 0x63, 0x61,
0x70, 0x74, 0x63, 0x68, 0x61, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4a, 0x53, 0x4f, 0x4e,
0x18, 0x0c, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x12, 0x63, 0x61, 0x70, 0x74, 0x63, 0x68, 0x61, 0x4f,
0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f,
0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (

View File

@@ -25,23 +25,29 @@ 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"`
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"`
BandwidthPriceJSON []byte `protobuf:"bytes,12,opt,name=bandwidthPriceJSON,proto3" json:"bandwidthPriceJSON,omitempty"`
MonthlyPrice float64 `protobuf:"fixed64,9,opt,name=monthlyPrice,proto3" json:"monthlyPrice,omitempty"`
SeasonallyPrice float64 `protobuf:"fixed64,10,opt,name=seasonallyPrice,proto3" json:"seasonallyPrice,omitempty"`
YearlyPrice float64 `protobuf:"fixed64,11,opt,name=yearlyPrice,proto3" json:"yearlyPrice,omitempty"`
TotalServers int32 `protobuf:"varint,13,opt,name=totalServers,proto3" json:"totalServers,omitempty"` // 可以添加的网站数
TotalServerNamesPerServer int32 `protobuf:"varint,14,opt,name=totalServerNamesPerServer,proto3" json:"totalServerNamesPerServer,omitempty"` // 每个网站可以添加的域名数
TotalServerNames int32 `protobuf:"varint,15,opt,name=totalServerNames,proto3" json:"totalServerNames,omitempty"` // 可以添加的域名总数
DailyRequests int64 `protobuf:"varint,16,opt,name=dailyRequests,proto3" json:"dailyRequests,omitempty"` // 每日访问量额度
MonthlyRequests int64 `protobuf:"varint,17,opt,name=monthlyRequests,proto3" json:"monthlyRequests,omitempty"` // 每月访问量额度
Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` // 套餐ID
IsOn bool `protobuf:"varint,2,opt,name=isOn,proto3" json:"isOn,omitempty"` // 是否启用
Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` // 套餐名称
Description string `protobuf:"bytes,21,opt,name=description,proto3" json:"description,omitempty"` // 套餐简介
ClusterId int64 `protobuf:"varint,4,opt,name=clusterId,proto3" json:"clusterId,omitempty"` // 集群ID
TrafficLimitJSON []byte `protobuf:"bytes,5,opt,name=trafficLimitJSON,proto3" json:"trafficLimitJSON,omitempty"` // 流量限制
BandwidthLimitPerNodeJSON []byte `protobuf:"bytes,22,opt,name=bandwidthLimitPerNodeJSON,proto3" json:"bandwidthLimitPerNodeJSON,omitempty"` // 单节点带宽限制
HasFullFeatures bool `protobuf:"varint,20,opt,name=hasFullFeatures,proto3" json:"hasFullFeatures,omitempty"` // 是否有所有权限
FeaturesJSON []byte `protobuf:"bytes,6,opt,name=featuresJSON,proto3" json:"featuresJSON,omitempty"` // 权限列表,[code1, code2, ...]
PriceType string `protobuf:"bytes,7,opt,name=priceType,proto3" json:"priceType,omitempty"` // 价格类型traffic, bandwidth, period
TrafficPriceJSON []byte `protobuf:"bytes,8,opt,name=trafficPriceJSON,proto3" json:"trafficPriceJSON,omitempty"` // 流量价格配置
BandwidthPriceJSON []byte `protobuf:"bytes,12,opt,name=bandwidthPriceJSON,proto3" json:"bandwidthPriceJSON,omitempty"` // 带宽价格配置
MonthlyPrice float64 `protobuf:"fixed64,9,opt,name=monthlyPrice,proto3" json:"monthlyPrice,omitempty"` // 月度价格
SeasonallyPrice float64 `protobuf:"fixed64,10,opt,name=seasonallyPrice,proto3" json:"seasonallyPrice,omitempty"` // 季度价格
YearlyPrice float64 `protobuf:"fixed64,11,opt,name=yearlyPrice,proto3" json:"yearlyPrice,omitempty"` // 年度价格
TotalServers int32 `protobuf:"varint,13,opt,name=totalServers,proto3" json:"totalServers,omitempty"` // 可以添加的网站数
TotalServerNamesPerServer int32 `protobuf:"varint,14,opt,name=totalServerNamesPerServer,proto3" json:"totalServerNamesPerServer,omitempty"` // 每个网站可以添加的域名数
TotalServerNames int32 `protobuf:"varint,15,opt,name=totalServerNames,proto3" json:"totalServerNames,omitempty"` // 可以添加的域名总数
DailyRequests int64 `protobuf:"varint,16,opt,name=dailyRequests,proto3" json:"dailyRequests,omitempty"` // 每日访问量额度
MonthlyRequests int64 `protobuf:"varint,17,opt,name=monthlyRequests,proto3" json:"monthlyRequests,omitempty"` // 每月访问量额度
DailyWebsocketConnections int64 `protobuf:"varint,18,opt,name=dailyWebsocketConnections,proto3" json:"dailyWebsocketConnections,omitempty"` // 每日Websocket连接数额度
MonthlyWebsocketConnections int64 `protobuf:"varint,19,opt,name=monthlyWebsocketConnections,proto3" json:"monthlyWebsocketConnections,omitempty"` // 每月Websocket连接数额度
MaxUploadSizeJSON []byte `protobuf:"bytes,23,opt,name=maxUploadSizeJSON,proto3" json:"maxUploadSizeJSON,omitempty"` // 文件最大上传尺寸 @link json:size_capacity
}
func (x *Plan) Reset() {
@@ -97,6 +103,13 @@ func (x *Plan) GetName() string {
return ""
}
func (x *Plan) GetDescription() string {
if x != nil {
return x.Description
}
return ""
}
func (x *Plan) GetClusterId() int64 {
if x != nil {
return x.ClusterId
@@ -111,6 +124,20 @@ func (x *Plan) GetTrafficLimitJSON() []byte {
return nil
}
func (x *Plan) GetBandwidthLimitPerNodeJSON() []byte {
if x != nil {
return x.BandwidthLimitPerNodeJSON
}
return nil
}
func (x *Plan) GetHasFullFeatures() bool {
if x != nil {
return x.HasFullFeatures
}
return false
}
func (x *Plan) GetFeaturesJSON() []byte {
if x != nil {
return x.FeaturesJSON
@@ -195,52 +222,92 @@ func (x *Plan) GetMonthlyRequests() int64 {
return 0
}
func (x *Plan) GetDailyWebsocketConnections() int64 {
if x != nil {
return x.DailyWebsocketConnections
}
return 0
}
func (x *Plan) GetMonthlyWebsocketConnections() int64 {
if x != nil {
return x.MonthlyWebsocketConnections
}
return 0
}
func (x *Plan) GetMaxUploadSizeJSON() []byte {
if x != nil {
return x.MaxUploadSizeJSON
}
return nil
}
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, 0xf4, 0x04,
0x6c, 0x61, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x22, 0xac, 0x07,
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, 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, 0x2e, 0x0a, 0x12, 0x62, 0x61, 0x6e, 0x64, 0x77, 0x69,
0x64, 0x74, 0x68, 0x50, 0x72, 0x69, 0x63, 0x65, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x0c, 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, 0x01, 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, 0x01, 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, 0x01, 0x52, 0x0b, 0x79, 0x65, 0x61, 0x72, 0x6c,
0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53,
0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x74, 0x6f,
0x74, 0x61, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x12, 0x3c, 0x0a, 0x19, 0x74, 0x6f,
0x74, 0x61, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x50, 0x65,
0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x19, 0x74,
0x6f, 0x74, 0x61, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x50,
0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x10, 0x74, 0x6f, 0x74, 0x61,
0x6c, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x0f, 0x20, 0x01,
0x28, 0x05, 0x52, 0x10, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e,
0x61, 0x6d, 0x65, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x64, 0x61, 0x69, 0x6c, 0x79, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x64, 0x61, 0x69,
0x6c, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x28, 0x0a, 0x0f, 0x6d, 0x6f,
0x6e, 0x74, 0x68, 0x6c, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x11, 0x20,
0x01, 0x28, 0x03, 0x52, 0x0f, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x73, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x33,
0x6d, 0x65, 0x18, 0x03, 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, 0x15, 0x20,
0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 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, 0x3c, 0x0a, 0x19, 0x62, 0x61,
0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x50, 0x65, 0x72, 0x4e,
0x6f, 0x64, 0x65, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x19, 0x62,
0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x50, 0x65, 0x72,
0x4e, 0x6f, 0x64, 0x65, 0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x28, 0x0a, 0x0f, 0x68, 0x61, 0x73, 0x46,
0x75, 0x6c, 0x6c, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x14, 0x20, 0x01, 0x28,
0x08, 0x52, 0x0f, 0x68, 0x61, 0x73, 0x46, 0x75, 0x6c, 0x6c, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72,
0x65, 0x73, 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, 0x2e, 0x0a, 0x12, 0x62, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x50, 0x72, 0x69,
0x63, 0x65, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x0c, 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, 0x01, 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, 0x01, 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, 0x01, 0x52, 0x0b, 0x79, 0x65, 0x61, 0x72, 0x6c, 0x79, 0x50, 0x72, 0x69, 0x63, 0x65,
0x12, 0x22, 0x0a, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73,
0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x65, 0x72,
0x76, 0x65, 0x72, 0x73, 0x12, 0x3c, 0x0a, 0x19, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x65, 0x72,
0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x50, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65,
0x72, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x19, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x65,
0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x50, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76,
0x65, 0x72, 0x12, 0x2a, 0x0a, 0x10, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x65,
0x72, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x74, 0x6f,
0x74, 0x61, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x24,
0x0a, 0x0d, 0x64, 0x61, 0x69, 0x6c, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18,
0x10, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x64, 0x61, 0x69, 0x6c, 0x79, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x73, 0x12, 0x28, 0x0a, 0x0f, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x6d,
0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x3c,
0x0a, 0x19, 0x64, 0x61, 0x69, 0x6c, 0x79, 0x57, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74,
0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x12, 0x20, 0x01, 0x28,
0x03, 0x52, 0x19, 0x64, 0x61, 0x69, 0x6c, 0x79, 0x57, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65,
0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x40, 0x0a, 0x1b,
0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x57, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74,
0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x13, 0x20, 0x01, 0x28,
0x03, 0x52, 0x1b, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x57, 0x65, 0x62, 0x73, 0x6f, 0x63,
0x6b, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2c,
0x0a, 0x11, 0x6d, 0x61, 0x78, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x69, 0x7a, 0x65, 0x4a,
0x53, 0x4f, 0x4e, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x11, 0x6d, 0x61, 0x78, 0x55, 0x70,
0x6c, 0x6f, 0x61, 0x64, 0x53, 0x69, 0x7a, 0x65, 0x4a, 0x53, 0x4f, 0x4e, 0x42, 0x06, 0x5a, 0x04,
0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (

246
pkg/rpc/pb/model_post.pb.go Normal file
View File

@@ -0,0 +1,246 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.31.0
// protoc v3.19.4
// source: models/model_post.proto
package pb
import (
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)
)
// 文章
type Post struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` // ID
PostCategoryId int64 `protobuf:"varint,2,opt,name=postCategoryId,proto3" json:"postCategoryId,omitempty"` // 分类ID
ProductCode string `protobuf:"bytes,3,opt,name=productCode,proto3" json:"productCode,omitempty"` // 产品代号
Type string `protobuf:"bytes,4,opt,name=type,proto3" json:"type,omitempty"` // 类型normal, url
Subject string `protobuf:"bytes,5,opt,name=subject,proto3" json:"subject,omitempty"` // 标题
Url string `protobuf:"bytes,6,opt,name=url,proto3" json:"url,omitempty"` // URL
Body string `protobuf:"bytes,7,opt,name=body,proto3" json:"body,omitempty"` // 内容
CreatedAt int64 `protobuf:"varint,8,opt,name=createdAt,proto3" json:"createdAt,omitempty"` // 创建时间
IsPublished bool `protobuf:"varint,9,opt,name=isPublished,proto3" json:"isPublished,omitempty"` // 是否已发布
PublishedAt int64 `protobuf:"varint,10,opt,name=publishedAt,proto3" json:"publishedAt,omitempty"` // 发布时间
PostCategory *PostCategory `protobuf:"bytes,30,opt,name=postCategory,proto3" json:"postCategory,omitempty"` // 分类信息
}
func (x *Post) Reset() {
*x = Post{}
if protoimpl.UnsafeEnabled {
mi := &file_models_model_post_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Post) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Post) ProtoMessage() {}
func (x *Post) ProtoReflect() protoreflect.Message {
mi := &file_models_model_post_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 Post.ProtoReflect.Descriptor instead.
func (*Post) Descriptor() ([]byte, []int) {
return file_models_model_post_proto_rawDescGZIP(), []int{0}
}
func (x *Post) GetId() int64 {
if x != nil {
return x.Id
}
return 0
}
func (x *Post) GetPostCategoryId() int64 {
if x != nil {
return x.PostCategoryId
}
return 0
}
func (x *Post) GetProductCode() string {
if x != nil {
return x.ProductCode
}
return ""
}
func (x *Post) GetType() string {
if x != nil {
return x.Type
}
return ""
}
func (x *Post) GetSubject() string {
if x != nil {
return x.Subject
}
return ""
}
func (x *Post) GetUrl() string {
if x != nil {
return x.Url
}
return ""
}
func (x *Post) GetBody() string {
if x != nil {
return x.Body
}
return ""
}
func (x *Post) GetCreatedAt() int64 {
if x != nil {
return x.CreatedAt
}
return 0
}
func (x *Post) GetIsPublished() bool {
if x != nil {
return x.IsPublished
}
return false
}
func (x *Post) GetPublishedAt() int64 {
if x != nil {
return x.PublishedAt
}
return 0
}
func (x *Post) GetPostCategory() *PostCategory {
if x != nil {
return x.PostCategory
}
return nil
}
var File_models_model_post_proto protoreflect.FileDescriptor
var file_models_model_post_proto_rawDesc = []byte{
0x0a, 0x17, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x70,
0x6f, 0x73, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x1a, 0x20, 0x6d,
0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x70, 0x6f, 0x73, 0x74,
0x5f, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
0xcc, 0x02, 0x0a, 0x04, 0x50, 0x6f, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01,
0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x70, 0x6f, 0x73, 0x74,
0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03,
0x52, 0x0e, 0x70, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x49, 0x64,
0x12, 0x20, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18,
0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x43, 0x6f,
0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09,
0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63,
0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74,
0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75,
0x72, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09,
0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65,
0x64, 0x41, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74,
0x65, 0x64, 0x41, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x73, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73,
0x68, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x50, 0x75, 0x62,
0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73,
0x68, 0x65, 0x64, 0x41, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x70, 0x75, 0x62,
0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x41, 0x74, 0x12, 0x34, 0x0a, 0x0c, 0x70, 0x6f, 0x73, 0x74,
0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10,
0x2e, 0x70, 0x62, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79,
0x52, 0x0c, 0x70, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x42, 0x06,
0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_models_model_post_proto_rawDescOnce sync.Once
file_models_model_post_proto_rawDescData = file_models_model_post_proto_rawDesc
)
func file_models_model_post_proto_rawDescGZIP() []byte {
file_models_model_post_proto_rawDescOnce.Do(func() {
file_models_model_post_proto_rawDescData = protoimpl.X.CompressGZIP(file_models_model_post_proto_rawDescData)
})
return file_models_model_post_proto_rawDescData
}
var file_models_model_post_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
var file_models_model_post_proto_goTypes = []interface{}{
(*Post)(nil), // 0: pb.Post
(*PostCategory)(nil), // 1: pb.PostCategory
}
var file_models_model_post_proto_depIdxs = []int32{
1, // 0: pb.Post.postCategory:type_name -> pb.PostCategory
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_post_proto_init() }
func file_models_model_post_proto_init() {
if File_models_model_post_proto != nil {
return
}
file_models_model_post_category_proto_init()
if !protoimpl.UnsafeEnabled {
file_models_model_post_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Post); 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_post_proto_rawDesc,
NumEnums: 0,
NumMessages: 1,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_models_model_post_proto_goTypes,
DependencyIndexes: file_models_model_post_proto_depIdxs,
MessageInfos: file_models_model_post_proto_msgTypes,
}.Build()
File_models_model_post_proto = out.File
file_models_model_post_proto_rawDesc = nil
file_models_model_post_proto_goTypes = nil
file_models_model_post_proto_depIdxs = nil
}

View File

@@ -0,0 +1,171 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.31.0
// protoc v3.19.4
// source: models/model_post_category.proto
package pb
import (
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)
)
// 文章分类
type PostCategory struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` // ID
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` // 名称
Code string `protobuf:"bytes,3,opt,name=code,proto3" json:"code,omitempty"` // 文章代号
IsOn bool `protobuf:"varint,4,opt,name=isOn,proto3" json:"isOn,omitempty"` // 是否启用
}
func (x *PostCategory) Reset() {
*x = PostCategory{}
if protoimpl.UnsafeEnabled {
mi := &file_models_model_post_category_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PostCategory) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PostCategory) ProtoMessage() {}
func (x *PostCategory) ProtoReflect() protoreflect.Message {
mi := &file_models_model_post_category_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 PostCategory.ProtoReflect.Descriptor instead.
func (*PostCategory) Descriptor() ([]byte, []int) {
return file_models_model_post_category_proto_rawDescGZIP(), []int{0}
}
func (x *PostCategory) GetId() int64 {
if x != nil {
return x.Id
}
return 0
}
func (x *PostCategory) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *PostCategory) GetCode() string {
if x != nil {
return x.Code
}
return ""
}
func (x *PostCategory) GetIsOn() bool {
if x != nil {
return x.IsOn
}
return false
}
var File_models_model_post_category_proto protoreflect.FileDescriptor
var file_models_model_post_category_proto_rawDesc = []byte{
0x0a, 0x20, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x70,
0x6f, 0x73, 0x74, 0x5f, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x22, 0x5a, 0x0a, 0x0c, 0x50, 0x6f, 0x73, 0x74, 0x43, 0x61,
0x74, 0x65, 0x67, 0x6f, 0x72, 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, 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, 0x12,
0x0a, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73,
0x4f, 0x6e, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x33,
}
var (
file_models_model_post_category_proto_rawDescOnce sync.Once
file_models_model_post_category_proto_rawDescData = file_models_model_post_category_proto_rawDesc
)
func file_models_model_post_category_proto_rawDescGZIP() []byte {
file_models_model_post_category_proto_rawDescOnce.Do(func() {
file_models_model_post_category_proto_rawDescData = protoimpl.X.CompressGZIP(file_models_model_post_category_proto_rawDescData)
})
return file_models_model_post_category_proto_rawDescData
}
var file_models_model_post_category_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
var file_models_model_post_category_proto_goTypes = []interface{}{
(*PostCategory)(nil), // 0: pb.PostCategory
}
var file_models_model_post_category_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_post_category_proto_init() }
func file_models_model_post_category_proto_init() {
if File_models_model_post_category_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_models_model_post_category_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PostCategory); 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_post_category_proto_rawDesc,
NumEnums: 0,
NumMessages: 1,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_models_model_post_category_proto_goTypes,
DependencyIndexes: file_models_model_post_category_proto_depIdxs,
MessageInfos: file_models_model_post_category_proto_msgTypes,
}.Build()
File_models_model_post_category_proto = out.File
file_models_model_post_category_proto_rawDesc = nil
file_models_model_post_category_proto_goTypes = nil
file_models_model_post_category_proto_depIdxs = nil
}

View File

@@ -33,7 +33,8 @@ type RegionCountry struct {
CustomName string `protobuf:"bytes,5,opt,name=customName,proto3" json:"customName,omitempty"`
CustomCodes []string `protobuf:"bytes,6,rep,name=customCodes,proto3" json:"customCodes,omitempty"`
DisplayName string `protobuf:"bytes,7,opt,name=displayName,proto3" json:"displayName,omitempty"`
IsCommon bool `protobuf:"varint,8,opt,name=isCommon,proto3" json:"isCommon,omitempty"` // 是否常用
IsCommon bool `protobuf:"varint,8,opt,name=isCommon,proto3" json:"isCommon,omitempty"` // 是否常用
RouteCode string `protobuf:"bytes,9,opt,name=routeCode,proto3" json:"routeCode,omitempty"` // 线路代号
}
func (x *RegionCountry) Reset() {
@@ -124,12 +125,19 @@ func (x *RegionCountry) GetIsCommon() bool {
return false
}
func (x *RegionCountry) GetRouteCode() string {
if x != nil {
return x.RouteCode
}
return ""
}
var File_models_model_region_country_proto protoreflect.FileDescriptor
var file_models_model_region_country_proto_rawDesc = []byte{
0x0a, 0x21, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x72,
0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x22, 0xe1, 0x01, 0x0a, 0x0d, 0x52, 0x65, 0x67, 0x69,
0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x22, 0xff, 0x01, 0x0a, 0x0d, 0x52, 0x65, 0x67, 0x69,
0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 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, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a,
@@ -143,8 +151,10 @@ var file_models_model_region_country_proto_rawDesc = []byte{
0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01,
0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12,
0x1a, 0x0a, 0x08, 0x69, 0x73, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28,
0x08, 0x52, 0x08, 0x69, 0x73, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x42, 0x06, 0x5a, 0x04, 0x2e,
0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
0x08, 0x52, 0x08, 0x69, 0x73, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x72,
0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09,
0x72, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70,
0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (

View File

@@ -20,18 +20,20 @@ const (
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
// 省份|州|区域信息
type RegionProvince struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
Codes []string `protobuf:"bytes,3,rep,name=codes,proto3" json:"codes,omitempty"`
RegionCountryId int64 `protobuf:"varint,4,opt,name=regionCountryId,proto3" json:"regionCountryId,omitempty"`
CustomName string `protobuf:"bytes,5,opt,name=customName,proto3" json:"customName,omitempty"`
CustomCodes []string `protobuf:"bytes,6,rep,name=customCodes,proto3" json:"customCodes,omitempty"`
DisplayName string `protobuf:"bytes,7,opt,name=displayName,proto3" json:"displayName,omitempty"`
Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
Codes []string `protobuf:"bytes,3,rep,name=codes,proto3" json:"codes,omitempty"`
RegionCountryId int64 `protobuf:"varint,4,opt,name=regionCountryId,proto3" json:"regionCountryId,omitempty"`
CustomName string `protobuf:"bytes,5,opt,name=customName,proto3" json:"customName,omitempty"`
CustomCodes []string `protobuf:"bytes,6,rep,name=customCodes,proto3" json:"customCodes,omitempty"`
DisplayName string `protobuf:"bytes,7,opt,name=displayName,proto3" json:"displayName,omitempty"`
RegionCountry *RegionCountry `protobuf:"bytes,30,opt,name=regionCountry,proto3" json:"regionCountry,omitempty"` // 国家|地区信息
}
func (x *RegionProvince) Reset() {
@@ -115,27 +117,39 @@ func (x *RegionProvince) GetDisplayName() string {
return ""
}
func (x *RegionProvince) GetRegionCountry() *RegionCountry {
if x != nil {
return x.RegionCountry
}
return nil
}
var File_models_model_region_province_proto protoreflect.FileDescriptor
var file_models_model_region_province_proto_rawDesc = []byte{
0x0a, 0x22, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x72,
0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x22, 0xd8, 0x01, 0x0a, 0x0e, 0x52, 0x65, 0x67,
0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69,
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e,
0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12,
0x14, 0x0a, 0x05, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05,
0x63, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x28, 0x0a, 0x0f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x43,
0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f,
0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x49, 0x64, 0x12,
0x1e, 0x0a, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20,
0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12,
0x20, 0x0a, 0x0b, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x06,
0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6f, 0x64, 0x65,
0x73, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65,
0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e,
0x61, 0x6d, 0x65, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x33,
0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x1a, 0x21, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73,
0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f,
0x75, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x91, 0x02, 0x0a, 0x0e,
0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x12, 0x0e,
0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12,
0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61,
0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28,
0x09, 0x52, 0x05, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x28, 0x0a, 0x0f, 0x72, 0x65, 0x67, 0x69,
0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28,
0x03, 0x52, 0x0f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79,
0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4e, 0x61, 0x6d, 0x65,
0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4e, 0x61,
0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6f, 0x64, 0x65,
0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43,
0x6f, 0x64, 0x65, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e,
0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c,
0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x37, 0x0a, 0x0d, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e,
0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e,
0x70, 0x62, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79,
0x52, 0x0d, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x42,
0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
@@ -153,13 +167,15 @@ func file_models_model_region_province_proto_rawDescGZIP() []byte {
var file_models_model_region_province_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
var file_models_model_region_province_proto_goTypes = []interface{}{
(*RegionProvince)(nil), // 0: pb.RegionProvince
(*RegionCountry)(nil), // 1: pb.RegionCountry
}
var file_models_model_region_province_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.RegionProvince.regionCountry:type_name -> pb.RegionCountry
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_region_province_proto_init() }
@@ -167,6 +183,7 @@ func file_models_model_region_province_proto_init() {
if File_models_model_region_province_proto != nil {
return
}
file_models_model_region_country_proto_init()
if !protoimpl.UnsafeEnabled {
file_models_model_region_province_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RegionProvince); i {

View File

@@ -26,21 +26,22 @@ type ServerBandwidthStat struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` // ID
UserId int64 `protobuf:"varint,2,opt,name=userId,proto3" json:"userId,omitempty"` // 用户ID
ServerId int64 `protobuf:"varint,3,opt,name=serverId,proto3" json:"serverId,omitempty"` //服务ID
Day string `protobuf:"bytes,4,opt,name=day,proto3" json:"day,omitempty"` // 日期格式YYYYMMDD
TimeAt string `protobuf:"bytes,5,opt,name=timeAt,proto3" json:"timeAt,omitempty"` // 时间格式HHII
Bytes int64 `protobuf:"varint,6,opt,name=bytes,proto3" json:"bytes,omitempty"` // 峰值带宽字节
TotalBytes int64 `protobuf:"varint,9,opt,name=totalBytes,proto3" json:"totalBytes,omitempty"` // 总流量
Bits int64 `protobuf:"varint,7,opt,name=bits,proto3" json:"bits,omitempty"` // 峰值带宽比特
NodeRegionId int64 `protobuf:"varint,8,opt,name=nodeRegionId,proto3" json:"nodeRegionId,omitempty"` // 节点所在区域ID
CachedBytes int64 `protobuf:"varint,10,opt,name=cachedBytes,proto3" json:"cachedBytes,omitempty"` // 总缓存流量
AttackBytes int64 `protobuf:"varint,11,opt,name=attackBytes,proto3" json:"attackBytes,omitempty"` // 总攻击流量
CountRequests int64 `protobuf:"varint,12,opt,name=countRequests,proto3" json:"countRequests,omitempty"` // 总请求数
CountCachedRequests int64 `protobuf:"varint,13,opt,name=countCachedRequests,proto3" json:"countCachedRequests,omitempty"` // 总缓存请求数
CountAttackRequests int64 `protobuf:"varint,14,opt,name=countAttackRequests,proto3" json:"countAttackRequests,omitempty"` // 总攻击请求数
UserPlanId int64 `protobuf:"varint,15,opt,name=userPlanId,proto3" json:"userPlanId,omitempty"` // 绑定的用户套餐ID
Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` // ID
UserId int64 `protobuf:"varint,2,opt,name=userId,proto3" json:"userId,omitempty"` // 用户ID
ServerId int64 `protobuf:"varint,3,opt,name=serverId,proto3" json:"serverId,omitempty"` //服务ID
Day string `protobuf:"bytes,4,opt,name=day,proto3" json:"day,omitempty"` // 日期格式YYYYMMDD
TimeAt string `protobuf:"bytes,5,opt,name=timeAt,proto3" json:"timeAt,omitempty"` // 时间格式HHII
Bytes int64 `protobuf:"varint,6,opt,name=bytes,proto3" json:"bytes,omitempty"` // 峰值带宽字节
TotalBytes int64 `protobuf:"varint,9,opt,name=totalBytes,proto3" json:"totalBytes,omitempty"` // 总流量
Bits int64 `protobuf:"varint,7,opt,name=bits,proto3" json:"bits,omitempty"` // 峰值带宽比特
NodeRegionId int64 `protobuf:"varint,8,opt,name=nodeRegionId,proto3" json:"nodeRegionId,omitempty"` // 节点所在区域ID
CachedBytes int64 `protobuf:"varint,10,opt,name=cachedBytes,proto3" json:"cachedBytes,omitempty"` // 总缓存流量
AttackBytes int64 `protobuf:"varint,11,opt,name=attackBytes,proto3" json:"attackBytes,omitempty"` // 总攻击流量
CountRequests int64 `protobuf:"varint,12,opt,name=countRequests,proto3" json:"countRequests,omitempty"` // 总请求数
CountCachedRequests int64 `protobuf:"varint,13,opt,name=countCachedRequests,proto3" json:"countCachedRequests,omitempty"` // 总缓存请求数
CountAttackRequests int64 `protobuf:"varint,14,opt,name=countAttackRequests,proto3" json:"countAttackRequests,omitempty"` // 总攻击请求数
UserPlanId int64 `protobuf:"varint,15,opt,name=userPlanId,proto3" json:"userPlanId,omitempty"` // 绑定的用户套餐ID
CountWebsocketConnections int64 `protobuf:"varint,16,opt,name=countWebsocketConnections,proto3" json:"countWebsocketConnections,omitempty"` // Websocket连接数
}
func (x *ServerBandwidthStat) Reset() {
@@ -180,13 +181,20 @@ func (x *ServerBandwidthStat) GetUserPlanId() int64 {
return 0
}
func (x *ServerBandwidthStat) GetCountWebsocketConnections() int64 {
if x != nil {
return x.CountWebsocketConnections
}
return 0
}
var File_models_model_server_bandwidth_stat_proto protoreflect.FileDescriptor
var file_models_model_server_bandwidth_stat_proto_rawDesc = []byte{
0x0a, 0x28, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x73,
0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x62, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x5f,
0x73, 0x74, 0x61, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x22, 0xdf,
0x03, 0x0a, 0x13, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64,
0x73, 0x74, 0x61, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x22, 0x9d,
0x04, 0x0a, 0x13, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64,
0x74, 0x68, 0x53, 0x74, 0x61, 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, 0x1a,
@@ -216,7 +224,11 @@ var file_models_model_server_bandwidth_stat_proto_rawDesc = []byte{
0x6e, 0x74, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73,
0x12, 0x1e, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x50, 0x6c, 0x61, 0x6e, 0x49, 0x64, 0x18, 0x0f,
0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x50, 0x6c, 0x61, 0x6e, 0x49, 0x64,
0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
0x12, 0x3c, 0x0a, 0x19, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x57, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b,
0x65, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x10, 0x20,
0x01, 0x28, 0x03, 0x52, 0x19, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x57, 0x65, 0x62, 0x73, 0x6f, 0x63,
0x6b, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x06,
0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (

View File

@@ -20,14 +20,16 @@ const (
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
// 用户功能定义
type UserFeature struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Code string `protobuf:"bytes,1,opt,name=code,proto3" json:"code,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"`
Code string `protobuf:"bytes,1,opt,name=code,proto3" json:"code,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"` // 描述
SupportPlan bool `protobuf:"varint,4,opt,name=supportPlan,proto3" json:"supportPlan,omitempty"` // 是否支持套餐
}
func (x *UserFeature) Reset() {
@@ -83,18 +85,27 @@ func (x *UserFeature) GetDescription() string {
return ""
}
func (x *UserFeature) GetSupportPlan() bool {
if x != nil {
return x.SupportPlan
}
return false
}
var File_models_model_user_feature_proto protoreflect.FileDescriptor
var file_models_model_user_feature_proto_rawDesc = []byte{
0x0a, 0x1f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x75,
0x73, 0x65, 0x72, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x12, 0x02, 0x70, 0x62, 0x22, 0x57, 0x0a, 0x0b, 0x55, 0x73, 0x65, 0x72, 0x46, 0x65, 0x61,
0x6f, 0x12, 0x02, 0x70, 0x62, 0x22, 0x79, 0x0a, 0x0b, 0x55, 0x73, 0x65, 0x72, 0x46, 0x65, 0x61,
0x74, 0x75, 0x72, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01,
0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 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, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x06,
0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20,
0x0a, 0x0b, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x6c, 0x61, 0x6e, 0x18, 0x04, 0x20,
0x01, 0x28, 0x08, 0x52, 0x0b, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x6c, 0x61, 0x6e,
0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (

View File

@@ -0,0 +1,255 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.31.0
// protoc v3.19.4
// source: models/model_user_script.proto
package pb
import (
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)
)
// 用户脚本
type UserScript struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` // 用户脚本ID
UserId int64 `protobuf:"varint,2,opt,name=userId,proto3" json:"userId,omitempty"` // 用户ID
AdminId int64 `protobuf:"varint,3,opt,name=adminId,proto3" json:"adminId,omitempty"` // 审核的管理员
Code string `protobuf:"bytes,4,opt,name=code,proto3" json:"code,omitempty"` // 脚本代码
CodeMD5 string `protobuf:"bytes,5,opt,name=codeMD5,proto3" json:"codeMD5,omitempty"` // 脚本代码MD5
CreatedAt int64 `protobuf:"varint,6,opt,name=createdAt,proto3" json:"createdAt,omitempty"` // 创建时间
IsRejected bool `protobuf:"varint,7,opt,name=isRejected,proto3" json:"isRejected,omitempty"` // 是否被驳回
RejectedAt int64 `protobuf:"varint,8,opt,name=rejectedAt,proto3" json:"rejectedAt,omitempty"` // 驳回时间
RejectedReason string `protobuf:"bytes,9,opt,name=rejectedReason,proto3" json:"rejectedReason,omitempty"` // 驳回原因
IsPassed bool `protobuf:"varint,10,opt,name=isPassed,proto3" json:"isPassed,omitempty"` // 是否被通过
PassedAt int64 `protobuf:"varint,11,opt,name=passedAt,proto3" json:"passedAt,omitempty"` // 通过时间
User *User `protobuf:"bytes,30,opt,name=user,proto3" json:"user,omitempty"` // 用户信息
}
func (x *UserScript) Reset() {
*x = UserScript{}
if protoimpl.UnsafeEnabled {
mi := &file_models_model_user_script_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UserScript) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UserScript) ProtoMessage() {}
func (x *UserScript) ProtoReflect() protoreflect.Message {
mi := &file_models_model_user_script_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 UserScript.ProtoReflect.Descriptor instead.
func (*UserScript) Descriptor() ([]byte, []int) {
return file_models_model_user_script_proto_rawDescGZIP(), []int{0}
}
func (x *UserScript) GetId() int64 {
if x != nil {
return x.Id
}
return 0
}
func (x *UserScript) GetUserId() int64 {
if x != nil {
return x.UserId
}
return 0
}
func (x *UserScript) GetAdminId() int64 {
if x != nil {
return x.AdminId
}
return 0
}
func (x *UserScript) GetCode() string {
if x != nil {
return x.Code
}
return ""
}
func (x *UserScript) GetCodeMD5() string {
if x != nil {
return x.CodeMD5
}
return ""
}
func (x *UserScript) GetCreatedAt() int64 {
if x != nil {
return x.CreatedAt
}
return 0
}
func (x *UserScript) GetIsRejected() bool {
if x != nil {
return x.IsRejected
}
return false
}
func (x *UserScript) GetRejectedAt() int64 {
if x != nil {
return x.RejectedAt
}
return 0
}
func (x *UserScript) GetRejectedReason() string {
if x != nil {
return x.RejectedReason
}
return ""
}
func (x *UserScript) GetIsPassed() bool {
if x != nil {
return x.IsPassed
}
return false
}
func (x *UserScript) GetPassedAt() int64 {
if x != nil {
return x.PassedAt
}
return 0
}
func (x *UserScript) GetUser() *User {
if x != nil {
return x.User
}
return nil
}
var File_models_model_user_script_proto protoreflect.FileDescriptor
var file_models_model_user_script_proto_rawDesc = []byte{
0x0a, 0x1e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x75,
0x73, 0x65, 0x72, 0x5f, 0x73, 0x63, 0x72, 0x69, 0x70, 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, 0xd8, 0x02,
0x0a, 0x0a, 0x55, 0x73, 0x65, 0x72, 0x53, 0x63, 0x72, 0x69, 0x70, 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, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x49, 0x64, 0x18,
0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x12,
0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f,
0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x64, 0x65, 0x4d, 0x44, 0x35, 0x18, 0x05, 0x20,
0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x64, 0x65, 0x4d, 0x44, 0x35, 0x12, 0x1c, 0x0a, 0x09,
0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52,
0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x73,
0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a,
0x69, 0x73, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65,
0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a,
0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x72, 0x65,
0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01,
0x28, 0x09, 0x52, 0x0e, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x52, 0x65, 0x61, 0x73,
0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x73, 0x50, 0x61, 0x73, 0x73, 0x65, 0x64, 0x18, 0x0a,
0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x50, 0x61, 0x73, 0x73, 0x65, 0x64, 0x12, 0x1a,
0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x65, 0x64, 0x41, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03,
0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x65, 0x64, 0x41, 0x74, 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_script_proto_rawDescOnce sync.Once
file_models_model_user_script_proto_rawDescData = file_models_model_user_script_proto_rawDesc
)
func file_models_model_user_script_proto_rawDescGZIP() []byte {
file_models_model_user_script_proto_rawDescOnce.Do(func() {
file_models_model_user_script_proto_rawDescData = protoimpl.X.CompressGZIP(file_models_model_user_script_proto_rawDescData)
})
return file_models_model_user_script_proto_rawDescData
}
var file_models_model_user_script_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
var file_models_model_user_script_proto_goTypes = []interface{}{
(*UserScript)(nil), // 0: pb.UserScript
(*User)(nil), // 1: pb.User
}
var file_models_model_user_script_proto_depIdxs = []int32{
1, // 0: pb.UserScript.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_script_proto_init() }
func file_models_model_user_script_proto_init() {
if File_models_model_user_script_proto != nil {
return
}
file_models_model_user_proto_init()
if !protoimpl.UnsafeEnabled {
file_models_model_user_script_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UserScript); 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_script_proto_rawDesc,
NumEnums: 0,
NumMessages: 1,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_models_model_user_script_proto_goTypes,
DependencyIndexes: file_models_model_user_script_proto_depIdxs,
MessageInfos: file_models_model_user_script_proto_msgTypes,
}.Build()
File_models_model_user_script_proto = out.File
file_models_model_user_script_proto_rawDesc = nil
file_models_model_user_script_proto_goTypes = nil
file_models_model_user_script_proto_depIdxs = nil
}

File diff suppressed because it is too large Load Diff

View File

@@ -22,6 +22,7 @@ const (
AdminService_LoginAdmin_FullMethodName = "/pb.AdminService/loginAdmin"
AdminService_CheckAdminExists_FullMethodName = "/pb.AdminService/checkAdminExists"
AdminService_CheckAdminUsername_FullMethodName = "/pb.AdminService/checkAdminUsername"
AdminService_FindAdminWithUsername_FullMethodName = "/pb.AdminService/findAdminWithUsername"
AdminService_FindAdminFullname_FullMethodName = "/pb.AdminService/findAdminFullname"
AdminService_FindEnabledAdmin_FullMethodName = "/pb.AdminService/findEnabledAdmin"
AdminService_CreateOrUpdateAdmin_FullMethodName = "/pb.AdminService/createOrUpdateAdmin"
@@ -36,6 +37,7 @@ const (
AdminService_CheckAdminOTPWithUsername_FullMethodName = "/pb.AdminService/checkAdminOTPWithUsername"
AdminService_ComposeAdminDashboard_FullMethodName = "/pb.AdminService/composeAdminDashboard"
AdminService_UpdateAdminTheme_FullMethodName = "/pb.AdminService/updateAdminTheme"
AdminService_UpdateAdminLang_FullMethodName = "/pb.AdminService/updateAdminLang"
)
// AdminServiceClient is the client API for AdminService service.
@@ -46,8 +48,10 @@ type AdminServiceClient interface {
LoginAdmin(ctx context.Context, in *LoginAdminRequest, opts ...grpc.CallOption) (*LoginAdminResponse, error)
// 检查管理员是否存在
CheckAdminExists(ctx context.Context, in *CheckAdminExistsRequest, opts ...grpc.CallOption) (*CheckAdminExistsResponse, error)
// 检查用户名是否存在
// 检查管理员用户名是否存在
CheckAdminUsername(ctx context.Context, in *CheckAdminUsernameRequest, opts ...grpc.CallOption) (*CheckAdminUsernameResponse, error)
// 使用用管理员户名查找管理员信息
FindAdminWithUsername(ctx context.Context, in *FindAdminWithUsernameRequest, opts ...grpc.CallOption) (*FindAdminWithUsernameResponse, error)
// 获取管理员名称
FindAdminFullname(ctx context.Context, in *FindAdminFullnameRequest, opts ...grpc.CallOption) (*FindAdminFullnameResponse, error)
// 获取管理员信息
@@ -76,6 +80,8 @@ type AdminServiceClient interface {
ComposeAdminDashboard(ctx context.Context, in *ComposeAdminDashboardRequest, opts ...grpc.CallOption) (*ComposeAdminDashboardResponse, error)
// 修改管理员使用的界面风格
UpdateAdminTheme(ctx context.Context, in *UpdateAdminThemeRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
// 修改管理员使用的语言
UpdateAdminLang(ctx context.Context, in *UpdateAdminLangRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
}
type adminServiceClient struct {
@@ -113,6 +119,15 @@ func (c *adminServiceClient) CheckAdminUsername(ctx context.Context, in *CheckAd
return out, nil
}
func (c *adminServiceClient) FindAdminWithUsername(ctx context.Context, in *FindAdminWithUsernameRequest, opts ...grpc.CallOption) (*FindAdminWithUsernameResponse, error) {
out := new(FindAdminWithUsernameResponse)
err := c.cc.Invoke(ctx, AdminService_FindAdminWithUsername_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *adminServiceClient) FindAdminFullname(ctx context.Context, in *FindAdminFullnameRequest, opts ...grpc.CallOption) (*FindAdminFullnameResponse, error) {
out := new(FindAdminFullnameResponse)
err := c.cc.Invoke(ctx, AdminService_FindAdminFullname_FullMethodName, in, out, opts...)
@@ -239,6 +254,15 @@ func (c *adminServiceClient) UpdateAdminTheme(ctx context.Context, in *UpdateAdm
return out, nil
}
func (c *adminServiceClient) UpdateAdminLang(ctx context.Context, in *UpdateAdminLangRequest, opts ...grpc.CallOption) (*RPCSuccess, error) {
out := new(RPCSuccess)
err := c.cc.Invoke(ctx, AdminService_UpdateAdminLang_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// AdminServiceServer is the server API for AdminService service.
// All implementations should embed UnimplementedAdminServiceServer
// for forward compatibility
@@ -247,8 +271,10 @@ type AdminServiceServer interface {
LoginAdmin(context.Context, *LoginAdminRequest) (*LoginAdminResponse, error)
// 检查管理员是否存在
CheckAdminExists(context.Context, *CheckAdminExistsRequest) (*CheckAdminExistsResponse, error)
// 检查用户名是否存在
// 检查管理员用户名是否存在
CheckAdminUsername(context.Context, *CheckAdminUsernameRequest) (*CheckAdminUsernameResponse, error)
// 使用用管理员户名查找管理员信息
FindAdminWithUsername(context.Context, *FindAdminWithUsernameRequest) (*FindAdminWithUsernameResponse, error)
// 获取管理员名称
FindAdminFullname(context.Context, *FindAdminFullnameRequest) (*FindAdminFullnameResponse, error)
// 获取管理员信息
@@ -277,6 +303,8 @@ type AdminServiceServer interface {
ComposeAdminDashboard(context.Context, *ComposeAdminDashboardRequest) (*ComposeAdminDashboardResponse, error)
// 修改管理员使用的界面风格
UpdateAdminTheme(context.Context, *UpdateAdminThemeRequest) (*RPCSuccess, error)
// 修改管理员使用的语言
UpdateAdminLang(context.Context, *UpdateAdminLangRequest) (*RPCSuccess, error)
}
// UnimplementedAdminServiceServer should be embedded to have forward compatible implementations.
@@ -292,6 +320,9 @@ func (UnimplementedAdminServiceServer) CheckAdminExists(context.Context, *CheckA
func (UnimplementedAdminServiceServer) CheckAdminUsername(context.Context, *CheckAdminUsernameRequest) (*CheckAdminUsernameResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method CheckAdminUsername not implemented")
}
func (UnimplementedAdminServiceServer) FindAdminWithUsername(context.Context, *FindAdminWithUsernameRequest) (*FindAdminWithUsernameResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method FindAdminWithUsername not implemented")
}
func (UnimplementedAdminServiceServer) FindAdminFullname(context.Context, *FindAdminFullnameRequest) (*FindAdminFullnameResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method FindAdminFullname not implemented")
}
@@ -334,6 +365,9 @@ func (UnimplementedAdminServiceServer) ComposeAdminDashboard(context.Context, *C
func (UnimplementedAdminServiceServer) UpdateAdminTheme(context.Context, *UpdateAdminThemeRequest) (*RPCSuccess, error) {
return nil, status.Errorf(codes.Unimplemented, "method UpdateAdminTheme not implemented")
}
func (UnimplementedAdminServiceServer) UpdateAdminLang(context.Context, *UpdateAdminLangRequest) (*RPCSuccess, error) {
return nil, status.Errorf(codes.Unimplemented, "method UpdateAdminLang not implemented")
}
// UnsafeAdminServiceServer may be embedded to opt out of forward compatibility for this service.
// Use of this interface is not recommended, as added methods to AdminServiceServer will
@@ -400,6 +434,24 @@ func _AdminService_CheckAdminUsername_Handler(srv interface{}, ctx context.Conte
return interceptor(ctx, in, info, handler)
}
func _AdminService_FindAdminWithUsername_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(FindAdminWithUsernameRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(AdminServiceServer).FindAdminWithUsername(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: AdminService_FindAdminWithUsername_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(AdminServiceServer).FindAdminWithUsername(ctx, req.(*FindAdminWithUsernameRequest))
}
return interceptor(ctx, in, info, handler)
}
func _AdminService_FindAdminFullname_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(FindAdminFullnameRequest)
if err := dec(in); err != nil {
@@ -652,6 +704,24 @@ func _AdminService_UpdateAdminTheme_Handler(srv interface{}, ctx context.Context
return interceptor(ctx, in, info, handler)
}
func _AdminService_UpdateAdminLang_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(UpdateAdminLangRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(AdminServiceServer).UpdateAdminLang(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: AdminService_UpdateAdminLang_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(AdminServiceServer).UpdateAdminLang(ctx, req.(*UpdateAdminLangRequest))
}
return interceptor(ctx, in, info, handler)
}
// AdminService_ServiceDesc is the grpc.ServiceDesc for AdminService service.
// It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy)
@@ -671,6 +741,10 @@ var AdminService_ServiceDesc = grpc.ServiceDesc{
MethodName: "checkAdminUsername",
Handler: _AdminService_CheckAdminUsername_Handler,
},
{
MethodName: "findAdminWithUsername",
Handler: _AdminService_FindAdminWithUsername_Handler,
},
{
MethodName: "findAdminFullname",
Handler: _AdminService_FindAdminFullname_Handler,
@@ -727,6 +801,10 @@ var AdminService_ServiceDesc = grpc.ServiceDesc{
MethodName: "updateAdminTheme",
Handler: _AdminService_UpdateAdminTheme_Handler,
},
{
MethodName: "updateAdminLang",
Handler: _AdminService_UpdateAdminLang_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "service_admin.proto",

View File

@@ -575,7 +575,8 @@ type FindEnabledDNSProviderRequest struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
DnsProviderId int64 `protobuf:"varint,1,opt,name=dnsProviderId,proto3" json:"dnsProviderId,omitempty"`
DnsProviderId int64 `protobuf:"varint,1,opt,name=dnsProviderId,proto3" json:"dnsProviderId,omitempty"` // DNS服务商ID
MaskParams bool `protobuf:"varint,2,opt,name=maskParams,proto3" json:"maskParams,omitempty"` // 是否对参数中的密钥进行掩码
}
func (x *FindEnabledDNSProviderRequest) Reset() {
@@ -617,12 +618,19 @@ func (x *FindEnabledDNSProviderRequest) GetDnsProviderId() int64 {
return 0
}
func (x *FindEnabledDNSProviderRequest) GetMaskParams() bool {
if x != nil {
return x.MaskParams
}
return false
}
type FindEnabledDNSProviderResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
DnsProvider *DNSProvider `protobuf:"bytes,1,opt,name=dnsProvider,proto3" json:"dnsProvider,omitempty"`
DnsProvider *DNSProvider `protobuf:"bytes,1,opt,name=dnsProvider,proto3" json:"dnsProvider,omitempty"` // DNS服务商信息
}
func (x *FindEnabledDNSProviderResponse) Reset() {
@@ -978,11 +986,13 @@ var file_service_dns_provider_proto_rawDesc = []byte{
0x4e, 0x53, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x12, 0x24, 0x0a, 0x0d, 0x64, 0x6e, 0x73, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72,
0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x64, 0x6e, 0x73, 0x50, 0x72, 0x6f,
0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x64, 0x22, 0x45, 0x0a, 0x1d, 0x46, 0x69, 0x6e, 0x64, 0x45,
0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x64, 0x22, 0x65, 0x0a, 0x1d, 0x46, 0x69, 0x6e, 0x64, 0x45,
0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x44, 0x4e, 0x53, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65,
0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x64, 0x6e, 0x73, 0x50,
0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52,
0x0d, 0x64, 0x6e, 0x73, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x64, 0x22, 0x53,
0x0d, 0x64, 0x6e, 0x73, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1e,
0x0a, 0x0a, 0x6d, 0x61, 0x73, 0x6b, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01,
0x28, 0x08, 0x52, 0x0a, 0x6d, 0x61, 0x73, 0x6b, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x53,
0x0a, 0x1e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x44, 0x4e, 0x53,
0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
0x12, 0x31, 0x0a, 0x0b, 0x64, 0x6e, 0x73, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18,

View File

@@ -379,8 +379,9 @@ type UpdateHTTPFirewallPolicyRequest struct {
Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
Description string `protobuf:"bytes,4,opt,name=description,proto3" json:"description,omitempty"`
FirewallGroupCodes []string `protobuf:"bytes,5,rep,name=firewallGroupCodes,proto3" json:"firewallGroupCodes,omitempty"`
BlockOptionsJSON []byte `protobuf:"bytes,6,opt,name=blockOptionsJSON,proto3" json:"blockOptionsJSON,omitempty"`
CaptchaOptionsJSON []byte `protobuf:"bytes,11,opt,name=captchaOptionsJSON,proto3" json:"captchaOptionsJSON,omitempty"`
BlockOptionsJSON []byte `protobuf:"bytes,6,opt,name=blockOptionsJSON,proto3" json:"blockOptionsJSON,omitempty"` // 阻止动作配置
PageOptionsJSON []byte `protobuf:"bytes,15,opt,name=pageOptionsJSON,proto3" json:"pageOptionsJSON,omitempty"` // 显示网页动作配置
CaptchaOptionsJSON []byte `protobuf:"bytes,11,opt,name=captchaOptionsJSON,proto3" json:"captchaOptionsJSON,omitempty"` // 验证码动作配置
Mode string `protobuf:"bytes,7,opt,name=mode,proto3" json:"mode,omitempty"`
UseLocalFirewall bool `protobuf:"varint,8,opt,name=useLocalFirewall,proto3" json:"useLocalFirewall,omitempty"` // 是否使用本地防火墙
SynFloodJSON []byte `protobuf:"bytes,9,opt,name=synFloodJSON,proto3" json:"synFloodJSON,omitempty"` // SYN Flood相关配置
@@ -464,6 +465,13 @@ func (x *UpdateHTTPFirewallPolicyRequest) GetBlockOptionsJSON() []byte {
return nil
}
func (x *UpdateHTTPFirewallPolicyRequest) GetPageOptionsJSON() []byte {
if x != nil {
return x.PageOptionsJSON
}
return nil
}
func (x *UpdateHTTPFirewallPolicyRequest) GetCaptchaOptionsJSON() []byte {
if x != nil {
return x.CaptchaOptionsJSON
@@ -1170,8 +1178,8 @@ type CheckHTTPFirewallPolicyIPStatusResponse struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
IsOk bool `protobuf:"varint,1,opt,name=isOk,proto3" json:"isOk,omitempty"` // 是否查询成功
Error string `protobuf:"bytes,2,opt,name=error,proto3" json:"error,omitempty"`
IsOk bool `protobuf:"varint,1,opt,name=isOk,proto3" json:"isOk,omitempty"` // 是否查询成功
Error string `protobuf:"bytes,2,opt,name=error,proto3" json:"error,omitempty"` // 错误信息
IsFound bool `protobuf:"varint,3,opt,name=isFound,proto3" json:"isFound,omitempty"` // 是否找到
IsAllowed bool `protobuf:"varint,4,opt,name=isAllowed,proto3" json:"isAllowed,omitempty"` // 是否允许
IpList *IPList `protobuf:"bytes,5,opt,name=ipList,proto3" json:"ipList,omitempty"` // 匹配的IPList
@@ -1268,6 +1276,101 @@ func (x *CheckHTTPFirewallPolicyIPStatusResponse) GetRegionProvince() *RegionPro
return nil
}
// 获取防火墙对应的网站ID
type FindServerIdWithHTTPFirewallPolicyIdRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
HttpFirewallPolicyId int64 `protobuf:"varint,1,opt,name=httpFirewallPolicyId,proto3" json:"httpFirewallPolicyId,omitempty"` // 防火墙策略ID
}
func (x *FindServerIdWithHTTPFirewallPolicyIdRequest) Reset() {
*x = FindServerIdWithHTTPFirewallPolicyIdRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_service_http_firewall_policy_proto_msgTypes[20]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FindServerIdWithHTTPFirewallPolicyIdRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FindServerIdWithHTTPFirewallPolicyIdRequest) ProtoMessage() {}
func (x *FindServerIdWithHTTPFirewallPolicyIdRequest) ProtoReflect() protoreflect.Message {
mi := &file_service_http_firewall_policy_proto_msgTypes[20]
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 FindServerIdWithHTTPFirewallPolicyIdRequest.ProtoReflect.Descriptor instead.
func (*FindServerIdWithHTTPFirewallPolicyIdRequest) Descriptor() ([]byte, []int) {
return file_service_http_firewall_policy_proto_rawDescGZIP(), []int{20}
}
func (x *FindServerIdWithHTTPFirewallPolicyIdRequest) GetHttpFirewallPolicyId() int64 {
if x != nil {
return x.HttpFirewallPolicyId
}
return 0
}
type FindServerIdWithHTTPFirewallPolicyIdResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ServerId int64 `protobuf:"varint,1,opt,name=serverId,proto3" json:"serverId,omitempty"` // 防火墙策略对应的网站ID公共的防火墙策略的网站ID为0
}
func (x *FindServerIdWithHTTPFirewallPolicyIdResponse) Reset() {
*x = FindServerIdWithHTTPFirewallPolicyIdResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_service_http_firewall_policy_proto_msgTypes[21]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FindServerIdWithHTTPFirewallPolicyIdResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FindServerIdWithHTTPFirewallPolicyIdResponse) ProtoMessage() {}
func (x *FindServerIdWithHTTPFirewallPolicyIdResponse) ProtoReflect() protoreflect.Message {
mi := &file_service_http_firewall_policy_proto_msgTypes[21]
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 FindServerIdWithHTTPFirewallPolicyIdResponse.ProtoReflect.Descriptor instead.
func (*FindServerIdWithHTTPFirewallPolicyIdResponse) Descriptor() ([]byte, []int) {
return file_service_http_firewall_policy_proto_rawDescGZIP(), []int{21}
}
func (x *FindServerIdWithHTTPFirewallPolicyIdResponse) GetServerId() int64 {
if x != nil {
return x.ServerId
}
return 0
}
var File_service_http_firewall_policy_proto protoreflect.FileDescriptor
var file_service_http_firewall_policy_proto_rawDesc = []byte{
@@ -1332,7 +1435,7 @@ var file_service_http_firewall_policy_proto_rawDesc = []byte{
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x32, 0x0a, 0x14, 0x68, 0x74, 0x74, 0x70,
0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64,
0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x14, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65,
0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x22, 0xaf, 0x04, 0x0a,
0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x22, 0xd9, 0x04, 0x0a,
0x1f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77,
0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x12, 0x32, 0x0a, 0x14, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c,
@@ -1348,226 +1451,248 @@ var file_service_http_firewall_policy_proto_rawDesc = []byte{
0x77, 0x61, 0x6c, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x2a,
0x0a, 0x10, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4a, 0x53,
0x4f, 0x4e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x10, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x4f,
0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x2e, 0x0a, 0x12, 0x63, 0x61,
0x70, 0x74, 0x63, 0x68, 0x61, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4a, 0x53, 0x4f, 0x4e,
0x18, 0x0b, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x12, 0x63, 0x61, 0x70, 0x74, 0x63, 0x68, 0x61, 0x4f,
0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x6f,
0x64, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x12, 0x2a,
0x0a, 0x10, 0x75, 0x73, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61,
0x6c, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x75, 0x73, 0x65, 0x4c, 0x6f, 0x63,
0x61, 0x6c, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x79,
0x6e, 0x46, 0x6c, 0x6f, 0x6f, 0x64, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0c,
0x52, 0x0c, 0x73, 0x79, 0x6e, 0x46, 0x6c, 0x6f, 0x6f, 0x64, 0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x18,
0x0a, 0x07, 0x4c, 0x6f, 0x67, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0c, 0x52,
0x07, 0x4c, 0x6f, 0x67, 0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x2e, 0x0a, 0x12, 0x6d, 0x61, 0x78, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x6f, 0x64, 0x79, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x0c,
0x20, 0x01, 0x28, 0x03, 0x52, 0x12, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x42, 0x6f, 0x64, 0x79, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x64, 0x65, 0x6e, 0x79,
0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x48, 0x54, 0x4d, 0x4c, 0x18, 0x0d, 0x20, 0x01, 0x28,
0x09, 0x52, 0x0f, 0x64, 0x65, 0x6e, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x48, 0x54,
0x4d, 0x4c, 0x12, 0x2a, 0x0a, 0x10, 0x64, 0x65, 0x6e, 0x79, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e,
0x63, 0x65, 0x48, 0x54, 0x4d, 0x4c, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x64, 0x65,
0x6e, 0x79, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x48, 0x54, 0x4d, 0x4c, 0x22, 0xa1,
0x01, 0x0a, 0x25, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72,
0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70,
0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x14, 0x68, 0x74, 0x74, 0x70,
0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64,
0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x14, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65,
0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b,
0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x02, 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, 0x03,
0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x4a, 0x53,
0x4f, 0x4e, 0x22, 0x7e, 0x0a, 0x26, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50,
0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x49, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x43,
0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x14,
0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69,
0x63, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x14, 0x68, 0x74, 0x74, 0x70,
0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64,
0x12, 0x20, 0x0a, 0x0b, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x4a, 0x53, 0x4f, 0x4e, 0x18,
0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x4a, 0x53,
0x4f, 0x4e, 0x22, 0x6c, 0x0a, 0x2a, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e,
0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c,
0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 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, 0x24, 0x0a, 0x0d, 0x6e, 0x6f,
0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
0x03, 0x52, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64,
0x22, 0x94, 0x01, 0x0a, 0x26, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69,
0x63, 0x69, 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, 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, 0x24, 0x0a, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c,
0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x22, 0x75, 0x0a, 0x27, 0x4c, 0x69, 0x73, 0x74, 0x45,
0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61,
0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
0x73, 0x65, 0x12, 0x4a, 0x0a, 0x14, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61,
0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 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, 0x14, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69,
0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x22, 0x55,
0x0a, 0x1f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65,
0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x12, 0x32, 0x0a, 0x14, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c,
0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52,
0x14, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c,
0x69, 0x63, 0x79, 0x49, 0x64, 0x22, 0x60, 0x0a, 0x2a, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61,
0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c,
0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x14, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77,
0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
0x03, 0x52, 0x14, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50,
0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x22, 0x65, 0x0a, 0x2b, 0x46, 0x69, 0x6e, 0x64, 0x45,
0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61,
0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65,
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x16, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69,
0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4a, 0x53, 0x4f, 0x4e,
0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x16, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65,
0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x5a,
0x0a, 0x24, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54,
0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52,
0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x28, 0x0a, 0x0f, 0x70, 0x61,
0x67, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x0f, 0x20,
0x01, 0x28, 0x0c, 0x52, 0x0f, 0x70, 0x61, 0x67, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73,
0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x2e, 0x0a, 0x12, 0x63, 0x61, 0x70, 0x74, 0x63, 0x68, 0x61, 0x4f,
0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0c,
0x52, 0x12, 0x63, 0x61, 0x70, 0x74, 0x63, 0x68, 0x61, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73,
0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x07, 0x20, 0x01,
0x28, 0x09, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x75, 0x73, 0x65, 0x4c,
0x6f, 0x63, 0x61, 0x6c, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x18, 0x08, 0x20, 0x01,
0x28, 0x08, 0x52, 0x10, 0x75, 0x73, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x46, 0x69, 0x72, 0x65,
0x77, 0x61, 0x6c, 0x6c, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x79, 0x6e, 0x46, 0x6c, 0x6f, 0x6f, 0x64,
0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x73, 0x79, 0x6e, 0x46,
0x6c, 0x6f, 0x6f, 0x64, 0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x18, 0x0a, 0x07, 0x4c, 0x6f, 0x67, 0x4a,
0x53, 0x4f, 0x4e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x4c, 0x6f, 0x67, 0x4a, 0x53,
0x4f, 0x4e, 0x12, 0x2e, 0x0a, 0x12, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x42, 0x6f, 0x64, 0x79, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x12,
0x6d, 0x61, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x6f, 0x64, 0x79, 0x53, 0x69,
0x7a, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x64, 0x65, 0x6e, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72,
0x79, 0x48, 0x54, 0x4d, 0x4c, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x64, 0x65, 0x6e,
0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x48, 0x54, 0x4d, 0x4c, 0x12, 0x2a, 0x0a, 0x10,
0x64, 0x65, 0x6e, 0x79, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x48, 0x54, 0x4d, 0x4c,
0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x64, 0x65, 0x6e, 0x79, 0x50, 0x72, 0x6f, 0x76,
0x69, 0x6e, 0x63, 0x65, 0x48, 0x54, 0x4d, 0x4c, 0x22, 0xa1, 0x01, 0x0a, 0x25, 0x55, 0x70, 0x64,
0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50,
0x6f, 0x6c, 0x69, 0x63, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x12, 0x32, 0x0a, 0x14, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61,
0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03,
0x52, 0x14, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f,
0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e,
0x64, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x02, 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, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c,
0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x7e, 0x0a, 0x26,
0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61,
0x6c, 0x6c, 0x49, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x14, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69,
0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x18, 0x01,
0x20, 0x01, 0x28, 0x03, 0x52, 0x14, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61,
0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x22, 0x6f, 0x0a, 0x25, 0x46, 0x69,
0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72,
0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f,
0x6e, 0x73, 0x65, 0x12, 0x46, 0x0a, 0x12, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77,
0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x01, 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, 0x12, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72,
0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x8d, 0x01, 0x0a, 0x1f,
0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61,
0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x6e,
0x62, 0x6f, 0x75, 0x6e, 0x64, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52,
0x0b, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x6c, 0x0a, 0x2a,
0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48,
0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63,
0x69, 0x65, 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, 0x24, 0x0a, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73,
0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6e, 0x6f, 0x64,
0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x22, 0x94, 0x01, 0x0a, 0x26, 0x4c,
0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69,
0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 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, 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, 0x24, 0x0a, 0x0d, 0x6e,
0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01,
0x28, 0x03, 0x52, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49,
0x64, 0x22, 0x75, 0x0a, 0x27, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69,
0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x14,
0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69,
0x63, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 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, 0x14, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c,
0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x22, 0x55, 0x0a, 0x1f, 0x44, 0x65, 0x6c, 0x65,
0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f,
0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x14, 0x68,
0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63,
0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x14, 0x68, 0x74, 0x74, 0x70, 0x46,
0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x22,
0x60, 0x0a, 0x2a, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54,
0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79,
0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a,
0x14, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c,
0x69, 0x63, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x14, 0x68, 0x74, 0x74,
0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49,
0x64, 0x22, 0x65, 0x0a, 0x2b, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69,
0x63, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
0x12, 0x36, 0x0a, 0x16, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c,
0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c,
0x52, 0x16, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f,
0x6c, 0x69, 0x63, 0x79, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x5a, 0x0a, 0x24, 0x46, 0x69, 0x6e, 0x64,
0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77,
0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x12, 0x32, 0x0a, 0x14, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c,
0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x14,
0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69,
0x63, 0x79, 0x49, 0x64, 0x22, 0x6f, 0x0a, 0x25, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62,
0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50,
0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x46, 0x0a,
0x12, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c,
0x69, 0x63, 0x79, 0x18, 0x01, 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, 0x12, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50,
0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x8d, 0x01, 0x0a, 0x1f, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74,
0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69,
0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x14, 0x68, 0x74, 0x74,
0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49,
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x14, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72,
0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x12, 0x36, 0x0a,
0x16, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c,
0x69, 0x63, 0x79, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x16, 0x68,
0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63,
0x79, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x6c, 0x0a, 0x26, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x48, 0x54,
0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79,
0x49, 0x50, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
0x32, 0x0a, 0x14, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50,
0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x14, 0x68,
0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63,
0x79, 0x49, 0x64, 0x12, 0x36, 0x0a, 0x16, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77,
0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x02, 0x20,
0x01, 0x28, 0x0c, 0x52, 0x16, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c,
0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x6c, 0x0a, 0x26, 0x43,
0x68, 0x65, 0x63, 0x6b, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c,
0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x50, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x14, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72,
0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20,
0x01, 0x28, 0x03, 0x52, 0x14, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c,
0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x70, 0x18,
0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x70, 0x22, 0xc8, 0x02, 0x0a, 0x27, 0x43, 0x68,
0x65, 0x63, 0x6b, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50,
0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x50, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73,
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x73, 0x4f, 0x6b, 0x18, 0x01, 0x20,
0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x4f, 0x6b, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72,
0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12,
0x18, 0x0a, 0x07, 0x69, 0x73, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08,
0x52, 0x07, 0x69, 0x73, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x41,
0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73,
0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x12, 0x22, 0x0a, 0x06, 0x69, 0x70, 0x4c, 0x69, 0x73,
0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x70, 0x62, 0x2e, 0x49, 0x50, 0x4c,
0x69, 0x73, 0x74, 0x52, 0x06, 0x69, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x06, 0x69,
0x70, 0x49, 0x74, 0x65, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x70, 0x62,
0x2e, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x06, 0x69, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x12,
0x37, 0x0a, 0x0d, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79,
0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x67, 0x69,
0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x72, 0x65, 0x67, 0x69, 0x6f,
0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x3a, 0x0a, 0x0e, 0x72, 0x65, 0x67, 0x69,
0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x12, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76,
0x69, 0x6e, 0x63, 0x65, 0x52, 0x0e, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76,
0x69, 0x6e, 0x63, 0x65, 0x32, 0x91, 0x0b, 0x0a, 0x19, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72,
0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69,
0x63, 0x65, 0x12, 0x83, 0x01, 0x0a, 0x22, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e,
0x79, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
0x02, 0x69, 0x70, 0x22, 0xc8, 0x02, 0x0a, 0x27, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x48, 0x54, 0x54,
0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49,
0x50, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
0x12, 0x0a, 0x04, 0x69, 0x73, 0x4f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69,
0x73, 0x4f, 0x6b, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01,
0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x73, 0x46,
0x6f, 0x75, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x46, 0x6f,
0x75, 0x6e, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64,
0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65,
0x64, 0x12, 0x22, 0x0a, 0x06, 0x69, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x0a, 0x2e, 0x70, 0x62, 0x2e, 0x49, 0x50, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x06, 0x69,
0x70, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x06, 0x69, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x18,
0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x70, 0x62, 0x2e, 0x49, 0x50, 0x49, 0x74, 0x65,
0x6d, 0x52, 0x06, 0x69, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x37, 0x0a, 0x0d, 0x72, 0x65, 0x67,
0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x11, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e,
0x74, 0x72, 0x79, 0x52, 0x0d, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74,
0x72, 0x79, 0x12, 0x3a, 0x0a, 0x0e, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76,
0x69, 0x6e, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x62, 0x2e,
0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x52, 0x0e,
0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x22, 0x61,
0x0a, 0x2b, 0x46, 0x69, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x57, 0x69,
0x74, 0x68, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f,
0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a,
0x14, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c,
0x69, 0x63, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x14, 0x68, 0x74, 0x74,
0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49,
0x64, 0x22, 0x4a, 0x0a, 0x2c, 0x46, 0x69, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49,
0x64, 0x57, 0x69, 0x74, 0x68, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c,
0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20,
0x01, 0x28, 0x03, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x32, 0x9d, 0x0c,
0x0a, 0x19, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f,
0x6c, 0x69, 0x63, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x83, 0x01, 0x0a, 0x22,
0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54,
0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69,
0x65, 0x73, 0x12, 0x2d, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45,
0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61,
0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x1a, 0x2e, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e,
0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c,
0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x2d, 0x2e, 0x70, 0x62, 0x2e, 0x46,
0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54,
0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65,
0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69,
0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50,
0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73,
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x18, 0x63, 0x72, 0x65, 0x61,
0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f,
0x6c, 0x69, 0x63, 0x79, 0x12, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65,
0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69,
0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x70, 0x62, 0x2e, 0x43,
0x72, 0x65, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c,
0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
0x74, 0x0a, 0x1d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x54,
0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
0x65, 0x12, 0x65, 0x0a, 0x18, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x46,
0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x23, 0x2e,
0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72,
0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x1a, 0x24, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x48, 0x54,
0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79,
0x12, 0x28, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x6d, 0x70, 0x74,
0x79, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c,
0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x70, 0x62, 0x2e,
0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x54, 0x54, 0x50, 0x46,
0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73,
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x18, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48,
0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63,
0x79, 0x12, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54,
0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53,
0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x5b, 0x0a, 0x1e, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65,
0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69,
0x63, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x29, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70,
0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c,
0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 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, 0x5d, 0x0a, 0x1f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54,
0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x49, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64,
0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2a, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61,
0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x49, 0x6e,
0x62, 0x6f, 0x75, 0x6e, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65,
0x73, 0x73, 0x12, 0x6b, 0x0a, 0x23, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e,
0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c,
0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x2e, 0x2e, 0x70, 0x62, 0x2e, 0x43,
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x74, 0x0a, 0x1d, 0x63, 0x72, 0x65, 0x61,
0x74, 0x65, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77,
0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x28, 0x2e, 0x70, 0x62, 0x2e, 0x43,
0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69,
0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45,
0x6d, 0x70, 0x74, 0x79, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c,
0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f,
0x0a, 0x18, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65,
0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x23, 0x2e, 0x70, 0x62, 0x2e,
0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61,
0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12,
0x5b, 0x0a, 0x1e, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72,
0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70,
0x73, 0x12, 0x29, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54,
0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x47,
0x72, 0x6f, 0x75, 0x70, 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, 0x5d, 0x0a, 0x1f,
0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61,
0x6c, 0x6c, 0x49, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12,
0x2a, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x46,
0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x49, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x43, 0x6f,
0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62,
0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x6b, 0x0a, 0x23, 0x63,
0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54,
0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69,
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,
0x7a, 0x0a, 0x1f, 0x6c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54,
0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69,
0x65, 0x73, 0x12, 0x2a, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62,
0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50,
0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b,
0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48,
0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63,
0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x18, 0x64,
0x65, 0x6c, 0x65, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c,
0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c,
0x65, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50,
0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70,
0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x86, 0x01, 0x0a,
0x23, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50,
0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x43, 0x6f,
0x6e, 0x66, 0x69, 0x67, 0x12, 0x2e, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e,
0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c,
0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e,
0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c,
0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73,
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x74, 0x0a, 0x1d, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61,
0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c,
0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x28, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64,
0x65, 0x73, 0x12, 0x2e, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c,
0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77,
0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x1a, 0x29, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65,
0x64, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c,
0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x18, 0x69,
0x6d, 0x70, 0x6f, 0x72, 0x74, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c,
0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x49, 0x6d, 0x70,
0x6f, 0x72, 0x74, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50,
0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70,
0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x7a, 0x0a, 0x1f,
0x63, 0x68, 0x65, 0x63, 0x6b, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c,
0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x50, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12,
0x2a, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69,
0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x50, 0x53, 0x74,
0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x70, 0x62,
0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61,
0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x50, 0x53, 0x74, 0x61, 0x74, 0x75, 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,
0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 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, 0x7a, 0x0a, 0x1f, 0x6c, 0x69, 0x73, 0x74,
0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77,
0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x2a, 0x2e, 0x70, 0x62,
0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50,
0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73,
0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65,
0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70,
0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x18, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x48, 0x54,
0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79,
0x12, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50,
0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75,
0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x86, 0x01, 0x0a, 0x23, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e,
0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c,
0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2e, 0x2e,
0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54,
0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79,
0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e,
0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54,
0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79,
0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x74,
0x0a, 0x1d, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54,
0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12,
0x28, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69,
0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x70, 0x62, 0x2e, 0x46,
0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69,
0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70,
0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x18, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x48, 0x54,
0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79,
0x12, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x48, 0x54, 0x54, 0x50,
0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75,
0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x7a, 0x0a, 0x1f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x48, 0x54,
0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79,
0x49, 0x50, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2a, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x68,
0x65, 0x63, 0x6b, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50,
0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x50, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x48,
0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63,
0x79, 0x49, 0x50, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
0x65, 0x12, 0x89, 0x01, 0x0a, 0x24, 0x66, 0x69, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
0x49, 0x64, 0x57, 0x69, 0x74, 0x68, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61,
0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x12, 0x2f, 0x2e, 0x70, 0x62, 0x2e,
0x46, 0x69, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x57, 0x69, 0x74, 0x68,
0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69,
0x63, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x70, 0x62,
0x2e, 0x46, 0x69, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x57, 0x69, 0x74,
0x68, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c,
0x69, 0x63, 0x79, 0x49, 0x64, 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 (
@@ -1582,44 +1707,46 @@ func file_service_http_firewall_policy_proto_rawDescGZIP() []byte {
return file_service_http_firewall_policy_proto_rawDescData
}
var file_service_http_firewall_policy_proto_msgTypes = make([]protoimpl.MessageInfo, 20)
var file_service_http_firewall_policy_proto_msgTypes = make([]protoimpl.MessageInfo, 22)
var file_service_http_firewall_policy_proto_goTypes = []interface{}{
(*FindAllEnabledHTTPFirewallPoliciesRequest)(nil), // 0: pb.FindAllEnabledHTTPFirewallPoliciesRequest
(*FindAllEnabledHTTPFirewallPoliciesResponse)(nil), // 1: pb.FindAllEnabledHTTPFirewallPoliciesResponse
(*CreateHTTPFirewallPolicyRequest)(nil), // 2: pb.CreateHTTPFirewallPolicyRequest
(*CreateHTTPFirewallPolicyResponse)(nil), // 3: pb.CreateHTTPFirewallPolicyResponse
(*CreateEmptyHTTPFirewallPolicyRequest)(nil), // 4: pb.CreateEmptyHTTPFirewallPolicyRequest
(*CreateEmptyHTTPFirewallPolicyResponse)(nil), // 5: pb.CreateEmptyHTTPFirewallPolicyResponse
(*UpdateHTTPFirewallPolicyRequest)(nil), // 6: pb.UpdateHTTPFirewallPolicyRequest
(*UpdateHTTPFirewallPolicyGroupsRequest)(nil), // 7: pb.UpdateHTTPFirewallPolicyGroupsRequest
(*UpdateHTTPFirewallInboundConfigRequest)(nil), // 8: pb.UpdateHTTPFirewallInboundConfigRequest
(*CountAllEnabledHTTPFirewallPoliciesRequest)(nil), // 9: pb.CountAllEnabledHTTPFirewallPoliciesRequest
(*ListEnabledHTTPFirewallPoliciesRequest)(nil), // 10: pb.ListEnabledHTTPFirewallPoliciesRequest
(*ListEnabledHTTPFirewallPoliciesResponse)(nil), // 11: pb.ListEnabledHTTPFirewallPoliciesResponse
(*DeleteHTTPFirewallPolicyRequest)(nil), // 12: pb.DeleteHTTPFirewallPolicyRequest
(*FindEnabledHTTPFirewallPolicyConfigRequest)(nil), // 13: pb.FindEnabledHTTPFirewallPolicyConfigRequest
(*FindEnabledHTTPFirewallPolicyConfigResponse)(nil), // 14: pb.FindEnabledHTTPFirewallPolicyConfigResponse
(*FindEnabledHTTPFirewallPolicyRequest)(nil), // 15: pb.FindEnabledHTTPFirewallPolicyRequest
(*FindEnabledHTTPFirewallPolicyResponse)(nil), // 16: pb.FindEnabledHTTPFirewallPolicyResponse
(*ImportHTTPFirewallPolicyRequest)(nil), // 17: pb.ImportHTTPFirewallPolicyRequest
(*CheckHTTPFirewallPolicyIPStatusRequest)(nil), // 18: pb.CheckHTTPFirewallPolicyIPStatusRequest
(*CheckHTTPFirewallPolicyIPStatusResponse)(nil), // 19: pb.CheckHTTPFirewallPolicyIPStatusResponse
(*HTTPFirewallPolicy)(nil), // 20: pb.HTTPFirewallPolicy
(*IPList)(nil), // 21: pb.IPList
(*IPItem)(nil), // 22: pb.IPItem
(*RegionCountry)(nil), // 23: pb.RegionCountry
(*RegionProvince)(nil), // 24: pb.RegionProvince
(*RPCSuccess)(nil), // 25: pb.RPCSuccess
(*RPCCountResponse)(nil), // 26: pb.RPCCountResponse
(*FindAllEnabledHTTPFirewallPoliciesRequest)(nil), // 0: pb.FindAllEnabledHTTPFirewallPoliciesRequest
(*FindAllEnabledHTTPFirewallPoliciesResponse)(nil), // 1: pb.FindAllEnabledHTTPFirewallPoliciesResponse
(*CreateHTTPFirewallPolicyRequest)(nil), // 2: pb.CreateHTTPFirewallPolicyRequest
(*CreateHTTPFirewallPolicyResponse)(nil), // 3: pb.CreateHTTPFirewallPolicyResponse
(*CreateEmptyHTTPFirewallPolicyRequest)(nil), // 4: pb.CreateEmptyHTTPFirewallPolicyRequest
(*CreateEmptyHTTPFirewallPolicyResponse)(nil), // 5: pb.CreateEmptyHTTPFirewallPolicyResponse
(*UpdateHTTPFirewallPolicyRequest)(nil), // 6: pb.UpdateHTTPFirewallPolicyRequest
(*UpdateHTTPFirewallPolicyGroupsRequest)(nil), // 7: pb.UpdateHTTPFirewallPolicyGroupsRequest
(*UpdateHTTPFirewallInboundConfigRequest)(nil), // 8: pb.UpdateHTTPFirewallInboundConfigRequest
(*CountAllEnabledHTTPFirewallPoliciesRequest)(nil), // 9: pb.CountAllEnabledHTTPFirewallPoliciesRequest
(*ListEnabledHTTPFirewallPoliciesRequest)(nil), // 10: pb.ListEnabledHTTPFirewallPoliciesRequest
(*ListEnabledHTTPFirewallPoliciesResponse)(nil), // 11: pb.ListEnabledHTTPFirewallPoliciesResponse
(*DeleteHTTPFirewallPolicyRequest)(nil), // 12: pb.DeleteHTTPFirewallPolicyRequest
(*FindEnabledHTTPFirewallPolicyConfigRequest)(nil), // 13: pb.FindEnabledHTTPFirewallPolicyConfigRequest
(*FindEnabledHTTPFirewallPolicyConfigResponse)(nil), // 14: pb.FindEnabledHTTPFirewallPolicyConfigResponse
(*FindEnabledHTTPFirewallPolicyRequest)(nil), // 15: pb.FindEnabledHTTPFirewallPolicyRequest
(*FindEnabledHTTPFirewallPolicyResponse)(nil), // 16: pb.FindEnabledHTTPFirewallPolicyResponse
(*ImportHTTPFirewallPolicyRequest)(nil), // 17: pb.ImportHTTPFirewallPolicyRequest
(*CheckHTTPFirewallPolicyIPStatusRequest)(nil), // 18: pb.CheckHTTPFirewallPolicyIPStatusRequest
(*CheckHTTPFirewallPolicyIPStatusResponse)(nil), // 19: pb.CheckHTTPFirewallPolicyIPStatusResponse
(*FindServerIdWithHTTPFirewallPolicyIdRequest)(nil), // 20: pb.FindServerIdWithHTTPFirewallPolicyIdRequest
(*FindServerIdWithHTTPFirewallPolicyIdResponse)(nil), // 21: pb.FindServerIdWithHTTPFirewallPolicyIdResponse
(*HTTPFirewallPolicy)(nil), // 22: pb.HTTPFirewallPolicy
(*IPList)(nil), // 23: pb.IPList
(*IPItem)(nil), // 24: pb.IPItem
(*RegionCountry)(nil), // 25: pb.RegionCountry
(*RegionProvince)(nil), // 26: pb.RegionProvince
(*RPCSuccess)(nil), // 27: pb.RPCSuccess
(*RPCCountResponse)(nil), // 28: pb.RPCCountResponse
}
var file_service_http_firewall_policy_proto_depIdxs = []int32{
20, // 0: pb.FindAllEnabledHTTPFirewallPoliciesResponse.firewallPolicies:type_name -> pb.HTTPFirewallPolicy
20, // 1: pb.ListEnabledHTTPFirewallPoliciesResponse.httpFirewallPolicies:type_name -> pb.HTTPFirewallPolicy
20, // 2: pb.FindEnabledHTTPFirewallPolicyResponse.httpFirewallPolicy:type_name -> pb.HTTPFirewallPolicy
21, // 3: pb.CheckHTTPFirewallPolicyIPStatusResponse.ipList:type_name -> pb.IPList
22, // 4: pb.CheckHTTPFirewallPolicyIPStatusResponse.ipItem:type_name -> pb.IPItem
23, // 5: pb.CheckHTTPFirewallPolicyIPStatusResponse.regionCountry:type_name -> pb.RegionCountry
24, // 6: pb.CheckHTTPFirewallPolicyIPStatusResponse.regionProvince:type_name -> pb.RegionProvince
22, // 0: pb.FindAllEnabledHTTPFirewallPoliciesResponse.firewallPolicies:type_name -> pb.HTTPFirewallPolicy
22, // 1: pb.ListEnabledHTTPFirewallPoliciesResponse.httpFirewallPolicies:type_name -> pb.HTTPFirewallPolicy
22, // 2: pb.FindEnabledHTTPFirewallPolicyResponse.httpFirewallPolicy:type_name -> pb.HTTPFirewallPolicy
23, // 3: pb.CheckHTTPFirewallPolicyIPStatusResponse.ipList:type_name -> pb.IPList
24, // 4: pb.CheckHTTPFirewallPolicyIPStatusResponse.ipItem:type_name -> pb.IPItem
25, // 5: pb.CheckHTTPFirewallPolicyIPStatusResponse.regionCountry:type_name -> pb.RegionCountry
26, // 6: pb.CheckHTTPFirewallPolicyIPStatusResponse.regionProvince:type_name -> pb.RegionProvince
0, // 7: pb.HTTPFirewallPolicyService.findAllEnabledHTTPFirewallPolicies:input_type -> pb.FindAllEnabledHTTPFirewallPoliciesRequest
2, // 8: pb.HTTPFirewallPolicyService.createHTTPFirewallPolicy:input_type -> pb.CreateHTTPFirewallPolicyRequest
4, // 9: pb.HTTPFirewallPolicyService.createEmptyHTTPFirewallPolicy:input_type -> pb.CreateEmptyHTTPFirewallPolicyRequest
@@ -1633,21 +1760,23 @@ var file_service_http_firewall_policy_proto_depIdxs = []int32{
15, // 17: pb.HTTPFirewallPolicyService.findEnabledHTTPFirewallPolicy:input_type -> pb.FindEnabledHTTPFirewallPolicyRequest
17, // 18: pb.HTTPFirewallPolicyService.importHTTPFirewallPolicy:input_type -> pb.ImportHTTPFirewallPolicyRequest
18, // 19: pb.HTTPFirewallPolicyService.checkHTTPFirewallPolicyIPStatus:input_type -> pb.CheckHTTPFirewallPolicyIPStatusRequest
1, // 20: pb.HTTPFirewallPolicyService.findAllEnabledHTTPFirewallPolicies:output_type -> pb.FindAllEnabledHTTPFirewallPoliciesResponse
3, // 21: pb.HTTPFirewallPolicyService.createHTTPFirewallPolicy:output_type -> pb.CreateHTTPFirewallPolicyResponse
5, // 22: pb.HTTPFirewallPolicyService.createEmptyHTTPFirewallPolicy:output_type -> pb.CreateEmptyHTTPFirewallPolicyResponse
25, // 23: pb.HTTPFirewallPolicyService.updateHTTPFirewallPolicy:output_type -> pb.RPCSuccess
25, // 24: pb.HTTPFirewallPolicyService.updateHTTPFirewallPolicyGroups:output_type -> pb.RPCSuccess
25, // 25: pb.HTTPFirewallPolicyService.updateHTTPFirewallInboundConfig:output_type -> pb.RPCSuccess
26, // 26: pb.HTTPFirewallPolicyService.countAllEnabledHTTPFirewallPolicies:output_type -> pb.RPCCountResponse
11, // 27: pb.HTTPFirewallPolicyService.listEnabledHTTPFirewallPolicies:output_type -> pb.ListEnabledHTTPFirewallPoliciesResponse
25, // 28: pb.HTTPFirewallPolicyService.deleteHTTPFirewallPolicy:output_type -> pb.RPCSuccess
14, // 29: pb.HTTPFirewallPolicyService.findEnabledHTTPFirewallPolicyConfig:output_type -> pb.FindEnabledHTTPFirewallPolicyConfigResponse
16, // 30: pb.HTTPFirewallPolicyService.findEnabledHTTPFirewallPolicy:output_type -> pb.FindEnabledHTTPFirewallPolicyResponse
25, // 31: pb.HTTPFirewallPolicyService.importHTTPFirewallPolicy:output_type -> pb.RPCSuccess
19, // 32: pb.HTTPFirewallPolicyService.checkHTTPFirewallPolicyIPStatus:output_type -> pb.CheckHTTPFirewallPolicyIPStatusResponse
20, // [20:33] is the sub-list for method output_type
7, // [7:20] is the sub-list for method input_type
20, // 20: pb.HTTPFirewallPolicyService.findServerIdWithHTTPFirewallPolicyId:input_type -> pb.FindServerIdWithHTTPFirewallPolicyIdRequest
1, // 21: pb.HTTPFirewallPolicyService.findAllEnabledHTTPFirewallPolicies:output_type -> pb.FindAllEnabledHTTPFirewallPoliciesResponse
3, // 22: pb.HTTPFirewallPolicyService.createHTTPFirewallPolicy:output_type -> pb.CreateHTTPFirewallPolicyResponse
5, // 23: pb.HTTPFirewallPolicyService.createEmptyHTTPFirewallPolicy:output_type -> pb.CreateEmptyHTTPFirewallPolicyResponse
27, // 24: pb.HTTPFirewallPolicyService.updateHTTPFirewallPolicy:output_type -> pb.RPCSuccess
27, // 25: pb.HTTPFirewallPolicyService.updateHTTPFirewallPolicyGroups:output_type -> pb.RPCSuccess
27, // 26: pb.HTTPFirewallPolicyService.updateHTTPFirewallInboundConfig:output_type -> pb.RPCSuccess
28, // 27: pb.HTTPFirewallPolicyService.countAllEnabledHTTPFirewallPolicies:output_type -> pb.RPCCountResponse
11, // 28: pb.HTTPFirewallPolicyService.listEnabledHTTPFirewallPolicies:output_type -> pb.ListEnabledHTTPFirewallPoliciesResponse
27, // 29: pb.HTTPFirewallPolicyService.deleteHTTPFirewallPolicy:output_type -> pb.RPCSuccess
14, // 30: pb.HTTPFirewallPolicyService.findEnabledHTTPFirewallPolicyConfig:output_type -> pb.FindEnabledHTTPFirewallPolicyConfigResponse
16, // 31: pb.HTTPFirewallPolicyService.findEnabledHTTPFirewallPolicy:output_type -> pb.FindEnabledHTTPFirewallPolicyResponse
27, // 32: pb.HTTPFirewallPolicyService.importHTTPFirewallPolicy:output_type -> pb.RPCSuccess
19, // 33: pb.HTTPFirewallPolicyService.checkHTTPFirewallPolicyIPStatus:output_type -> pb.CheckHTTPFirewallPolicyIPStatusResponse
21, // 34: pb.HTTPFirewallPolicyService.findServerIdWithHTTPFirewallPolicyId:output_type -> pb.FindServerIdWithHTTPFirewallPolicyIdResponse
21, // [21:35] is the sub-list for method output_type
7, // [7:21] is the sub-list for method input_type
7, // [7:7] is the sub-list for extension type_name
7, // [7:7] is the sub-list for extension extendee
0, // [0:7] is the sub-list for field type_name
@@ -1905,6 +2034,30 @@ func file_service_http_firewall_policy_proto_init() {
return nil
}
}
file_service_http_firewall_policy_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FindServerIdWithHTTPFirewallPolicyIdRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_http_firewall_policy_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FindServerIdWithHTTPFirewallPolicyIdResponse); 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{
@@ -1912,7 +2065,7 @@ func file_service_http_firewall_policy_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_service_http_firewall_policy_proto_rawDesc,
NumEnums: 0,
NumMessages: 20,
NumMessages: 22,
NumExtensions: 0,
NumServices: 1,
},

View File

@@ -19,19 +19,20 @@ import (
const _ = grpc.SupportPackageIsVersion7
const (
HTTPFirewallPolicyService_FindAllEnabledHTTPFirewallPolicies_FullMethodName = "/pb.HTTPFirewallPolicyService/findAllEnabledHTTPFirewallPolicies"
HTTPFirewallPolicyService_CreateHTTPFirewallPolicy_FullMethodName = "/pb.HTTPFirewallPolicyService/createHTTPFirewallPolicy"
HTTPFirewallPolicyService_CreateEmptyHTTPFirewallPolicy_FullMethodName = "/pb.HTTPFirewallPolicyService/createEmptyHTTPFirewallPolicy"
HTTPFirewallPolicyService_UpdateHTTPFirewallPolicy_FullMethodName = "/pb.HTTPFirewallPolicyService/updateHTTPFirewallPolicy"
HTTPFirewallPolicyService_UpdateHTTPFirewallPolicyGroups_FullMethodName = "/pb.HTTPFirewallPolicyService/updateHTTPFirewallPolicyGroups"
HTTPFirewallPolicyService_UpdateHTTPFirewallInboundConfig_FullMethodName = "/pb.HTTPFirewallPolicyService/updateHTTPFirewallInboundConfig"
HTTPFirewallPolicyService_CountAllEnabledHTTPFirewallPolicies_FullMethodName = "/pb.HTTPFirewallPolicyService/countAllEnabledHTTPFirewallPolicies"
HTTPFirewallPolicyService_ListEnabledHTTPFirewallPolicies_FullMethodName = "/pb.HTTPFirewallPolicyService/listEnabledHTTPFirewallPolicies"
HTTPFirewallPolicyService_DeleteHTTPFirewallPolicy_FullMethodName = "/pb.HTTPFirewallPolicyService/deleteHTTPFirewallPolicy"
HTTPFirewallPolicyService_FindEnabledHTTPFirewallPolicyConfig_FullMethodName = "/pb.HTTPFirewallPolicyService/findEnabledHTTPFirewallPolicyConfig"
HTTPFirewallPolicyService_FindEnabledHTTPFirewallPolicy_FullMethodName = "/pb.HTTPFirewallPolicyService/findEnabledHTTPFirewallPolicy"
HTTPFirewallPolicyService_ImportHTTPFirewallPolicy_FullMethodName = "/pb.HTTPFirewallPolicyService/importHTTPFirewallPolicy"
HTTPFirewallPolicyService_CheckHTTPFirewallPolicyIPStatus_FullMethodName = "/pb.HTTPFirewallPolicyService/checkHTTPFirewallPolicyIPStatus"
HTTPFirewallPolicyService_FindAllEnabledHTTPFirewallPolicies_FullMethodName = "/pb.HTTPFirewallPolicyService/findAllEnabledHTTPFirewallPolicies"
HTTPFirewallPolicyService_CreateHTTPFirewallPolicy_FullMethodName = "/pb.HTTPFirewallPolicyService/createHTTPFirewallPolicy"
HTTPFirewallPolicyService_CreateEmptyHTTPFirewallPolicy_FullMethodName = "/pb.HTTPFirewallPolicyService/createEmptyHTTPFirewallPolicy"
HTTPFirewallPolicyService_UpdateHTTPFirewallPolicy_FullMethodName = "/pb.HTTPFirewallPolicyService/updateHTTPFirewallPolicy"
HTTPFirewallPolicyService_UpdateHTTPFirewallPolicyGroups_FullMethodName = "/pb.HTTPFirewallPolicyService/updateHTTPFirewallPolicyGroups"
HTTPFirewallPolicyService_UpdateHTTPFirewallInboundConfig_FullMethodName = "/pb.HTTPFirewallPolicyService/updateHTTPFirewallInboundConfig"
HTTPFirewallPolicyService_CountAllEnabledHTTPFirewallPolicies_FullMethodName = "/pb.HTTPFirewallPolicyService/countAllEnabledHTTPFirewallPolicies"
HTTPFirewallPolicyService_ListEnabledHTTPFirewallPolicies_FullMethodName = "/pb.HTTPFirewallPolicyService/listEnabledHTTPFirewallPolicies"
HTTPFirewallPolicyService_DeleteHTTPFirewallPolicy_FullMethodName = "/pb.HTTPFirewallPolicyService/deleteHTTPFirewallPolicy"
HTTPFirewallPolicyService_FindEnabledHTTPFirewallPolicyConfig_FullMethodName = "/pb.HTTPFirewallPolicyService/findEnabledHTTPFirewallPolicyConfig"
HTTPFirewallPolicyService_FindEnabledHTTPFirewallPolicy_FullMethodName = "/pb.HTTPFirewallPolicyService/findEnabledHTTPFirewallPolicy"
HTTPFirewallPolicyService_ImportHTTPFirewallPolicy_FullMethodName = "/pb.HTTPFirewallPolicyService/importHTTPFirewallPolicy"
HTTPFirewallPolicyService_CheckHTTPFirewallPolicyIPStatus_FullMethodName = "/pb.HTTPFirewallPolicyService/checkHTTPFirewallPolicyIPStatus"
HTTPFirewallPolicyService_FindServerIdWithHTTPFirewallPolicyId_FullMethodName = "/pb.HTTPFirewallPolicyService/findServerIdWithHTTPFirewallPolicyId"
)
// HTTPFirewallPolicyServiceClient is the client API for HTTPFirewallPolicyService service.
@@ -64,6 +65,8 @@ type HTTPFirewallPolicyServiceClient interface {
ImportHTTPFirewallPolicy(ctx context.Context, in *ImportHTTPFirewallPolicyRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
// 检查IP状态
CheckHTTPFirewallPolicyIPStatus(ctx context.Context, in *CheckHTTPFirewallPolicyIPStatusRequest, opts ...grpc.CallOption) (*CheckHTTPFirewallPolicyIPStatusResponse, error)
// 获取防火墙对应的网站ID
FindServerIdWithHTTPFirewallPolicyId(ctx context.Context, in *FindServerIdWithHTTPFirewallPolicyIdRequest, opts ...grpc.CallOption) (*FindServerIdWithHTTPFirewallPolicyIdResponse, error)
}
type hTTPFirewallPolicyServiceClient struct {
@@ -191,6 +194,15 @@ func (c *hTTPFirewallPolicyServiceClient) CheckHTTPFirewallPolicyIPStatus(ctx co
return out, nil
}
func (c *hTTPFirewallPolicyServiceClient) FindServerIdWithHTTPFirewallPolicyId(ctx context.Context, in *FindServerIdWithHTTPFirewallPolicyIdRequest, opts ...grpc.CallOption) (*FindServerIdWithHTTPFirewallPolicyIdResponse, error) {
out := new(FindServerIdWithHTTPFirewallPolicyIdResponse)
err := c.cc.Invoke(ctx, HTTPFirewallPolicyService_FindServerIdWithHTTPFirewallPolicyId_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// HTTPFirewallPolicyServiceServer is the server API for HTTPFirewallPolicyService service.
// All implementations should embed UnimplementedHTTPFirewallPolicyServiceServer
// for forward compatibility
@@ -221,6 +233,8 @@ type HTTPFirewallPolicyServiceServer interface {
ImportHTTPFirewallPolicy(context.Context, *ImportHTTPFirewallPolicyRequest) (*RPCSuccess, error)
// 检查IP状态
CheckHTTPFirewallPolicyIPStatus(context.Context, *CheckHTTPFirewallPolicyIPStatusRequest) (*CheckHTTPFirewallPolicyIPStatusResponse, error)
// 获取防火墙对应的网站ID
FindServerIdWithHTTPFirewallPolicyId(context.Context, *FindServerIdWithHTTPFirewallPolicyIdRequest) (*FindServerIdWithHTTPFirewallPolicyIdResponse, error)
}
// UnimplementedHTTPFirewallPolicyServiceServer should be embedded to have forward compatible implementations.
@@ -266,6 +280,9 @@ func (UnimplementedHTTPFirewallPolicyServiceServer) ImportHTTPFirewallPolicy(con
func (UnimplementedHTTPFirewallPolicyServiceServer) CheckHTTPFirewallPolicyIPStatus(context.Context, *CheckHTTPFirewallPolicyIPStatusRequest) (*CheckHTTPFirewallPolicyIPStatusResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method CheckHTTPFirewallPolicyIPStatus not implemented")
}
func (UnimplementedHTTPFirewallPolicyServiceServer) FindServerIdWithHTTPFirewallPolicyId(context.Context, *FindServerIdWithHTTPFirewallPolicyIdRequest) (*FindServerIdWithHTTPFirewallPolicyIdResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method FindServerIdWithHTTPFirewallPolicyId not implemented")
}
// UnsafeHTTPFirewallPolicyServiceServer may be embedded to opt out of forward compatibility for this service.
// Use of this interface is not recommended, as added methods to HTTPFirewallPolicyServiceServer will
@@ -512,6 +529,24 @@ func _HTTPFirewallPolicyService_CheckHTTPFirewallPolicyIPStatus_Handler(srv inte
return interceptor(ctx, in, info, handler)
}
func _HTTPFirewallPolicyService_FindServerIdWithHTTPFirewallPolicyId_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(FindServerIdWithHTTPFirewallPolicyIdRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(HTTPFirewallPolicyServiceServer).FindServerIdWithHTTPFirewallPolicyId(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: HTTPFirewallPolicyService_FindServerIdWithHTTPFirewallPolicyId_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(HTTPFirewallPolicyServiceServer).FindServerIdWithHTTPFirewallPolicyId(ctx, req.(*FindServerIdWithHTTPFirewallPolicyIdRequest))
}
return interceptor(ctx, in, info, handler)
}
// HTTPFirewallPolicyService_ServiceDesc is the grpc.ServiceDesc for HTTPFirewallPolicyService service.
// It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy)
@@ -571,6 +606,10 @@ var HTTPFirewallPolicyService_ServiceDesc = grpc.ServiceDesc{
MethodName: "checkHTTPFirewallPolicyIPStatus",
Handler: _HTTPFirewallPolicyService_CheckHTTPFirewallPolicyIPStatus_Handler,
},
{
MethodName: "findServerIdWithHTTPFirewallPolicyId",
Handler: _HTTPFirewallPolicyService_FindServerIdWithHTTPFirewallPolicyId_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "service_http_firewall_policy.proto",

View File

@@ -2538,6 +2538,252 @@ func (x *FindHTTPWebUserAgentResponse) GetUserAgentJSON() []byte {
return nil
}
// 修改HLS设置
type UpdateHTTPWebHLSRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
HttpWebId int64 `protobuf:"varint,1,opt,name=httpWebId,proto3" json:"httpWebId,omitempty"` // Web配置ID
HlsJSON []byte `protobuf:"bytes,2,opt,name=hlsJSON,proto3" json:"hlsJSON,omitempty"` // HLS配置
}
func (x *UpdateHTTPWebHLSRequest) Reset() {
*x = UpdateHTTPWebHLSRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_service_http_web_proto_msgTypes[48]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UpdateHTTPWebHLSRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UpdateHTTPWebHLSRequest) ProtoMessage() {}
func (x *UpdateHTTPWebHLSRequest) ProtoReflect() protoreflect.Message {
mi := &file_service_http_web_proto_msgTypes[48]
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 UpdateHTTPWebHLSRequest.ProtoReflect.Descriptor instead.
func (*UpdateHTTPWebHLSRequest) Descriptor() ([]byte, []int) {
return file_service_http_web_proto_rawDescGZIP(), []int{48}
}
func (x *UpdateHTTPWebHLSRequest) GetHttpWebId() int64 {
if x != nil {
return x.HttpWebId
}
return 0
}
func (x *UpdateHTTPWebHLSRequest) GetHlsJSON() []byte {
if x != nil {
return x.HlsJSON
}
return nil
}
// 查找HLS设置
type FindHTTPWebHLSRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
HttpWebId int64 `protobuf:"varint,1,opt,name=httpWebId,proto3" json:"httpWebId,omitempty"` // Web配置ID
}
func (x *FindHTTPWebHLSRequest) Reset() {
*x = FindHTTPWebHLSRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_service_http_web_proto_msgTypes[49]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FindHTTPWebHLSRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FindHTTPWebHLSRequest) ProtoMessage() {}
func (x *FindHTTPWebHLSRequest) ProtoReflect() protoreflect.Message {
mi := &file_service_http_web_proto_msgTypes[49]
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 FindHTTPWebHLSRequest.ProtoReflect.Descriptor instead.
func (*FindHTTPWebHLSRequest) Descriptor() ([]byte, []int) {
return file_service_http_web_proto_rawDescGZIP(), []int{49}
}
func (x *FindHTTPWebHLSRequest) GetHttpWebId() int64 {
if x != nil {
return x.HttpWebId
}
return 0
}
type FindHTTPWebHLSResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
HlsJSON []byte `protobuf:"bytes,1,opt,name=hlsJSON,proto3" json:"hlsJSON,omitempty"` // HLS配置
}
func (x *FindHTTPWebHLSResponse) Reset() {
*x = FindHTTPWebHLSResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_service_http_web_proto_msgTypes[50]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FindHTTPWebHLSResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FindHTTPWebHLSResponse) ProtoMessage() {}
func (x *FindHTTPWebHLSResponse) ProtoReflect() protoreflect.Message {
mi := &file_service_http_web_proto_msgTypes[50]
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 FindHTTPWebHLSResponse.ProtoReflect.Descriptor instead.
func (*FindHTTPWebHLSResponse) Descriptor() ([]byte, []int) {
return file_service_http_web_proto_rawDescGZIP(), []int{50}
}
func (x *FindHTTPWebHLSResponse) GetHlsJSON() []byte {
if x != nil {
return x.HlsJSON
}
return nil
}
// 根据WebId查找ServerId
type FindServerIdWithHTTPWebIdRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
HttpWebId int64 `protobuf:"varint,1,opt,name=httpWebId,proto3" json:"httpWebId,omitempty"` // Web设置ID
}
func (x *FindServerIdWithHTTPWebIdRequest) Reset() {
*x = FindServerIdWithHTTPWebIdRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_service_http_web_proto_msgTypes[51]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FindServerIdWithHTTPWebIdRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FindServerIdWithHTTPWebIdRequest) ProtoMessage() {}
func (x *FindServerIdWithHTTPWebIdRequest) ProtoReflect() protoreflect.Message {
mi := &file_service_http_web_proto_msgTypes[51]
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 FindServerIdWithHTTPWebIdRequest.ProtoReflect.Descriptor instead.
func (*FindServerIdWithHTTPWebIdRequest) Descriptor() ([]byte, []int) {
return file_service_http_web_proto_rawDescGZIP(), []int{51}
}
func (x *FindServerIdWithHTTPWebIdRequest) GetHttpWebId() int64 {
if x != nil {
return x.HttpWebId
}
return 0
}
type FindServerIdWithHTTPWebIdResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ServerId int64 `protobuf:"varint,1,opt,name=serverId,proto3" json:"serverId,omitempty"` // 网站ID
}
func (x *FindServerIdWithHTTPWebIdResponse) Reset() {
*x = FindServerIdWithHTTPWebIdResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_service_http_web_proto_msgTypes[52]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FindServerIdWithHTTPWebIdResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FindServerIdWithHTTPWebIdResponse) ProtoMessage() {}
func (x *FindServerIdWithHTTPWebIdResponse) ProtoReflect() protoreflect.Message {
mi := &file_service_http_web_proto_msgTypes[52]
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 FindServerIdWithHTTPWebIdResponse.ProtoReflect.Descriptor instead.
func (*FindServerIdWithHTTPWebIdResponse) Descriptor() ([]byte, []int) {
return file_service_http_web_proto_rawDescGZIP(), []int{52}
}
func (x *FindServerIdWithHTTPWebIdResponse) GetServerId() int64 {
if x != nil {
return x.ServerId
}
return 0
}
var File_service_http_web_proto protoreflect.FileDescriptor
var file_service_http_web_proto_rawDesc = []byte{
@@ -2798,197 +3044,232 @@ var file_service_http_web_proto_rawDesc = []byte{
0x72, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24,
0x0a, 0x0d, 0x75, 0x73, 0x65, 0x72, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4a, 0x53, 0x4f, 0x4e, 0x18,
0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x75, 0x73, 0x65, 0x72, 0x41, 0x67, 0x65, 0x6e, 0x74,
0x4a, 0x53, 0x4f, 0x4e, 0x32, 0xcf, 0x17, 0x0a, 0x0e, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62,
0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x44, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74,
0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x12, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72,
0x65, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x1a, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x48, 0x54,
0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a,
0x12, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50,
0x57, 0x65, 0x62, 0x12, 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61,
0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62,
0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
0x73, 0x65, 0x12, 0x65, 0x0a, 0x18, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65,
0x64, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x23,
0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48,
0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61,
0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69,
0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x0d, 0x75, 0x70, 0x64,
0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x12, 0x18, 0x2e, 0x70, 0x62, 0x2e,
0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x71,
0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x51, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54,
0x54, 0x50, 0x57, 0x65, 0x62, 0x48, 0x4c, 0x53, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
0x1c, 0x0a, 0x09, 0x68, 0x74, 0x74, 0x70, 0x57, 0x65, 0x62, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01,
0x28, 0x03, 0x52, 0x09, 0x68, 0x74, 0x74, 0x70, 0x57, 0x65, 0x62, 0x49, 0x64, 0x12, 0x18, 0x0a,
0x07, 0x68, 0x6c, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07,
0x68, 0x6c, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x35, 0x0a, 0x15, 0x46, 0x69, 0x6e, 0x64, 0x48,
0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x48, 0x4c, 0x53, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x12, 0x1c, 0x0a, 0x09, 0x68, 0x74, 0x74, 0x70, 0x57, 0x65, 0x62, 0x49, 0x64, 0x18, 0x01, 0x20,
0x01, 0x28, 0x03, 0x52, 0x09, 0x68, 0x74, 0x74, 0x70, 0x57, 0x65, 0x62, 0x49, 0x64, 0x22, 0x32,
0x0a, 0x16, 0x46, 0x69, 0x6e, 0x64, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x48, 0x4c, 0x53,
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x68, 0x6c, 0x73, 0x4a,
0x53, 0x4f, 0x4e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x68, 0x6c, 0x73, 0x4a, 0x53,
0x4f, 0x4e, 0x22, 0x40, 0x0a, 0x20, 0x46, 0x69, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
0x49, 0x64, 0x57, 0x69, 0x74, 0x68, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x49, 0x64, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x68, 0x74, 0x74, 0x70, 0x57, 0x65,
0x62, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x68, 0x74, 0x74, 0x70, 0x57,
0x65, 0x62, 0x49, 0x64, 0x22, 0x3f, 0x0a, 0x21, 0x46, 0x69, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76,
0x65, 0x72, 0x49, 0x64, 0x57, 0x69, 0x74, 0x68, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x49,
0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x72,
0x76, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x73, 0x65, 0x72,
0x76, 0x65, 0x72, 0x49, 0x64, 0x32, 0xc3, 0x19, 0x0a, 0x0e, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65,
0x62, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x44, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61,
0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x12, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x43,
0x72, 0x65, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x48,
0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53,
0x0a, 0x12, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54,
0x50, 0x57, 0x65, 0x62, 0x12, 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e,
0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61,
0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f,
0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x18, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c,
0x65, 0x64, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12,
0x23, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e,
0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x43, 0x6f, 0x6e, 0x66,
0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x0d, 0x75, 0x70,
0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x12, 0x18, 0x2e, 0x70, 0x62,
0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75,
0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x4f, 0x0a, 0x18, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48,
0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f,
0x6e, 0x12, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54,
0x50, 0x57, 0x65, 0x62, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53,
0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x51, 0x0a, 0x19, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65,
0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x12, 0x24, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48,
0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52,
0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x41, 0x0a, 0x11, 0x75, 0x70, 0x64,
0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x57, 0x65, 0x62, 0x50, 0x12, 0x1c,
0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65,
0x62, 0x57, 0x65, 0x62, 0x50, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70,
0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x4d, 0x0a, 0x17,
0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x6d,
0x6f, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x12, 0x22, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64,
0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65,
0x41, 0x64, 0x64, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62,
0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x47, 0x0a, 0x14, 0x75,
0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x43, 0x68, 0x61, 0x72,
0x73, 0x65, 0x74, 0x12, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48,
0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x43, 0x68, 0x61, 0x72, 0x73, 0x65, 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, 0x4f, 0x0a, 0x18, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54,
0x54, 0x50, 0x57, 0x65, 0x62, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e,
0x12, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50,
0x57, 0x65, 0x62, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65,
0x63, 0x65, 0x73, 0x73, 0x12, 0x53, 0x0a, 0x1a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54,
0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64,
0x65, 0x72, 0x12, 0x25, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54,
0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64,
0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52,
0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x55, 0x0a, 0x1b, 0x75, 0x70, 0x64,
0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x26, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70,
0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f,
0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73,
0x12, 0x49, 0x0a, 0x15, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65,
0x62, 0x53, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x12, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x55,
0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x53, 0x68, 0x75, 0x74,
0x64, 0x6f, 0x77, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62,
0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x43, 0x0a, 0x12, 0x75,
0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x50, 0x61, 0x67, 0x65,
0x73, 0x12, 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54,
0x50, 0x57, 0x65, 0x62, 0x50, 0x61, 0x67, 0x65, 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, 0x4b, 0x0a, 0x16, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65,
0x62, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x12, 0x21, 0x2e, 0x70, 0x62, 0x2e,
0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x41, 0x63, 0x63,
0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e,
0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x41, 0x0a,
0x11, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x53, 0x74,
0x61, 0x74, 0x12, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54,
0x54, 0x50, 0x57, 0x65, 0x62, 0x53, 0x74, 0x61, 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, 0x43, 0x0a, 0x12, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65,
0x62, 0x43, 0x61, 0x63, 0x68, 0x65, 0x12, 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61,
0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x43, 0x61, 0x63, 0x68, 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, 0x49, 0x0a, 0x15, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48,
0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x12, 0x20,
0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65,
0x62, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73,
0x12, 0x4b, 0x0a, 0x16, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65,
0x62, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x21, 0x2e, 0x70, 0x62, 0x2e,
0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x4c, 0x6f, 0x63,
0x61, 0x74, 0x69, 0x6f, 0x6e, 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, 0x57, 0x0a,
0x1c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65,
0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x54, 0x6f, 0x48, 0x54, 0x54, 0x50, 0x53, 0x12, 0x27, 0x2e,
0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62,
0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x54, 0x6f, 0x48, 0x54, 0x54, 0x50, 0x53, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53,
0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x4b, 0x0a, 0x16, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65,
0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x57, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74,
0x12, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50,
0x57, 0x65, 0x62, 0x57, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 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, 0x47, 0x0a, 0x14, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54,
0x50, 0x57, 0x65, 0x62, 0x46, 0x61, 0x73, 0x74, 0x63, 0x67, 0x69, 0x12, 0x1f, 0x2e, 0x70, 0x62,
0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x46, 0x61,
0x73, 0x74, 0x63, 0x67, 0x69, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70,
0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x51, 0x0a, 0x19,
0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x77,
0x72, 0x69, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x24, 0x2e, 0x70, 0x62, 0x2e, 0x55,
0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x77, 0x72,
0x69, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 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,
0x53, 0x0a, 0x1a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62,
0x48, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x73, 0x12, 0x25, 0x2e,
0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62,
0x48, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 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, 0x65, 0x0a, 0x18, 0x66, 0x69, 0x6e, 0x64, 0x48, 0x54, 0x54, 0x50,
0x57, 0x65, 0x62, 0x48, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x73,
0x12, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65,
0x62, 0x48, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x48,
0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x48, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65,
0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x11, 0x75,
0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x41, 0x75, 0x74, 0x68,
0x12, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50,
0x57, 0x65, 0x62, 0x41, 0x75, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e,
0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x45,
0x0a, 0x13, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x43,
0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x1e, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74,
0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75,
0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x51, 0x0a, 0x19, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48,
0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x12, 0x24, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54,
0x54, 0x50, 0x57, 0x65, 0x62, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50,
0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x41, 0x0a, 0x11, 0x75, 0x70, 0x64, 0x61,
0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x57, 0x65, 0x62, 0x50, 0x12, 0x1c, 0x2e,
0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62,
0x57, 0x65, 0x62, 0x50, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62,
0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x4d, 0x0a, 0x17, 0x75,
0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x6d, 0x6f,
0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x12, 0x22, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61,
0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41,
0x64, 0x64, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e,
0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x47, 0x0a, 0x14, 0x75, 0x70,
0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x43, 0x68, 0x61, 0x72, 0x73,
0x65, 0x74, 0x12, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54,
0x54, 0x50, 0x57, 0x65, 0x62, 0x43, 0x68, 0x61, 0x72, 0x73, 0x65, 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, 0x53, 0x0a, 0x1a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54,
0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65,
0x72, 0x12, 0x25, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54,
0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65,
0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50,
0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x55, 0x0a, 0x1b, 0x75, 0x70, 0x64, 0x61,
0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x26, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64,
0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12,
0x49, 0x0a, 0x15, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62,
0x53, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x12, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70,
0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x53, 0x68, 0x75, 0x74, 0x64,
0x6f, 0x77, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e,
0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x43, 0x0a, 0x12, 0x75, 0x70,
0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x50, 0x61, 0x67, 0x65, 0x73,
0x12, 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50,
0x57, 0x65, 0x62, 0x50, 0x61, 0x67, 0x65, 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,
0x4b, 0x0a, 0x16, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62,
0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x12, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x55,
0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x41, 0x63, 0x63, 0x65,
0x73, 0x73, 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70,
0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x41, 0x0a, 0x11,
0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x53, 0x74, 0x61,
0x74, 0x12, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54,
0x50, 0x57, 0x65, 0x62, 0x53, 0x74, 0x61, 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,
0x43, 0x0a, 0x12, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62,
0x43, 0x61, 0x63, 0x68, 0x65, 0x12, 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74,
0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x43, 0x61, 0x63, 0x68, 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, 0x49, 0x0a, 0x15, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54,
0x54, 0x50, 0x57, 0x65, 0x62, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x12, 0x20, 0x2e,
0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62,
0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12,
0x4b, 0x0a, 0x16, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62,
0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x55,
0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x4c, 0x6f, 0x63, 0x61,
0x74, 0x69, 0x6f, 0x6e, 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, 0x57, 0x0a, 0x1c,
0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x64,
0x69, 0x72, 0x65, 0x63, 0x74, 0x54, 0x6f, 0x48, 0x54, 0x54, 0x50, 0x53, 0x12, 0x27, 0x2e, 0x70,
0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52,
0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x54, 0x6f, 0x48, 0x54, 0x54, 0x50, 0x53, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75,
0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x4b, 0x0a, 0x16, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48,
0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x57, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x12,
0x21, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57,
0x65, 0x62, 0x57, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 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, 0x47, 0x0a, 0x14, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50,
0x57, 0x65, 0x62, 0x46, 0x61, 0x73, 0x74, 0x63, 0x67, 0x69, 0x12, 0x1f, 0x2e, 0x70, 0x62, 0x2e,
0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x46, 0x61, 0x73,
0x74, 0x63, 0x67, 0x69, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62,
0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x51, 0x0a, 0x19, 0x75,
0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x77, 0x72,
0x69, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x24, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70,
0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x77, 0x72, 0x69,
0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 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, 0x53,
0x0a, 0x1a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x48,
0x6f, 0x73, 0x74, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x73, 0x12, 0x25, 0x2e, 0x70,
0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x48,
0x6f, 0x73, 0x74, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 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, 0x65, 0x0a, 0x18, 0x66, 0x69, 0x6e, 0x64, 0x48, 0x54, 0x54, 0x50, 0x57,
0x65, 0x62, 0x48, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x73, 0x12,
0x23, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62,
0x48, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x48, 0x54,
0x54, 0x50, 0x57, 0x65, 0x62, 0x48, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63,
0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x11, 0x75, 0x70,
0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x41, 0x75, 0x74, 0x68, 0x12,
0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57,
0x65, 0x62, 0x41, 0x75, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e,
0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x45, 0x0a,
0x13, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x43, 0x6f,
0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x1e, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63,
0x63, 0x65, 0x73, 0x73, 0x12, 0x51, 0x0a, 0x19, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54,
0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4c, 0x69, 0x6d, 0x69,
0x74, 0x12, 0x24, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54,
0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4c, 0x69, 0x6d, 0x69, 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, 0x62, 0x0a, 0x17, 0x66, 0x69, 0x6e, 0x64, 0x48,
0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4c, 0x69, 0x6d,
0x69, 0x74, 0x12, 0x22, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x48, 0x54, 0x54, 0x50,
0x57, 0x65, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64,
0x69, 0x74, 0x12, 0x24, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54,
0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4c, 0x69, 0x6d, 0x69,
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, 0x62, 0x0a, 0x17, 0x66, 0x69, 0x6e, 0x64,
0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4c, 0x69,
0x6d, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x55, 0x0a, 0x1b, 0x75,
0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x73, 0x12, 0x26, 0x2e, 0x70, 0x62, 0x2e,
0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 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, 0x68, 0x0a, 0x19, 0x66, 0x69, 0x6e, 0x64, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65,
0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x73, 0x12,
0x24, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x73, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x48,
0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x63, 0x72,
0x69, 0x70, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x10,
0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x55, 0x41, 0x4d,
0x12, 0x1b, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50,
0x57, 0x65, 0x62, 0x55, 0x41, 0x4d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e,
0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x47, 0x0a,
0x0e, 0x66, 0x69, 0x6e, 0x64, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x55, 0x41, 0x4d, 0x12,
0x19, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62,
0x55, 0x41, 0x4d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x70, 0x62, 0x2e,
0x46, 0x69, 0x6e, 0x64, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x55, 0x41, 0x4d, 0x52, 0x65,
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3d, 0x0a, 0x0f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65,
0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x43, 0x43, 0x12, 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x55,
0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x43, 0x43, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75,
0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x44, 0x0a, 0x0d, 0x66, 0x69, 0x6e, 0x64, 0x48, 0x54, 0x54,
0x50, 0x57, 0x65, 0x62, 0x43, 0x43, 0x12, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64,
0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x43, 0x43, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x1a, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65,
0x62, 0x43, 0x43, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x49, 0x0a, 0x15, 0x75,
0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x66, 0x65,
0x72, 0x65, 0x72, 0x73, 0x12, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x72, 0x73, 0x52,
0x6d, 0x69, 0x74, 0x12, 0x22, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x48, 0x54, 0x54,
0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e,
0x64, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4c,
0x69, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x55, 0x0a, 0x1b,
0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x73, 0x12, 0x26, 0x2e, 0x70, 0x62,
0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 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, 0x68, 0x0a, 0x19, 0x66, 0x69, 0x6e, 0x64, 0x48, 0x54, 0x54, 0x50, 0x57,
0x65, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x73,
0x12, 0x24, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65,
0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x73, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64,
0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x63,
0x72, 0x69, 0x70, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a,
0x10, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x55, 0x41,
0x4d, 0x12, 0x1b, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54,
0x50, 0x57, 0x65, 0x62, 0x55, 0x41, 0x4d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e,
0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x47,
0x0a, 0x0e, 0x66, 0x69, 0x6e, 0x64, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x55, 0x41, 0x4d,
0x12, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65,
0x62, 0x55, 0x41, 0x4d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x70, 0x62,
0x2e, 0x46, 0x69, 0x6e, 0x64, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x55, 0x41, 0x4d, 0x52,
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3d, 0x0a, 0x0f, 0x75, 0x70, 0x64, 0x61, 0x74,
0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x43, 0x43, 0x12, 0x1a, 0x2e, 0x70, 0x62, 0x2e,
0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x43, 0x43, 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, 0x66, 0x69, 0x6e, 0x64, 0x48, 0x54,
0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x72, 0x73, 0x12, 0x1e, 0x2e,
0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65,
0x66, 0x65, 0x72, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e,
0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65,
0x66, 0x65, 0x72, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b,
0x0a, 0x16, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x55,
0x73, 0x65, 0x72, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70,
0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x55, 0x73, 0x65, 0x72, 0x41,
0x67, 0x65, 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, 0x12, 0x59, 0x0a, 0x14, 0x66,
0x69, 0x6e, 0x64, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x55, 0x73, 0x65, 0x72, 0x41, 0x67,
0x65, 0x6e, 0x74, 0x12, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x48, 0x54, 0x54,
0x50, 0x57, 0x65, 0x62, 0x55, 0x73, 0x65, 0x72, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x48, 0x54,
0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x44, 0x0a, 0x0d, 0x66, 0x69, 0x6e, 0x64, 0x48, 0x54,
0x54, 0x50, 0x57, 0x65, 0x62, 0x43, 0x43, 0x12, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e,
0x64, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x43, 0x43, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x1a, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x48, 0x54, 0x54, 0x50, 0x57,
0x65, 0x62, 0x43, 0x43, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x49, 0x0a, 0x15,
0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x66,
0x65, 0x72, 0x65, 0x72, 0x73, 0x12, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74,
0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x72, 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, 0x56, 0x0a, 0x13, 0x66, 0x69, 0x6e, 0x64, 0x48,
0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x72, 0x73, 0x12, 0x1e,
0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52,
0x65, 0x66, 0x65, 0x72, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f,
0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x52,
0x65, 0x66, 0x65, 0x72, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
0x4b, 0x0a, 0x16, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62,
0x55, 0x73, 0x65, 0x72, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x55,
0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x55, 0x73, 0x65, 0x72,
0x41, 0x67, 0x65, 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, 0x12, 0x59, 0x0a, 0x14,
0x66, 0x69, 0x6e, 0x64, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x55, 0x73, 0x65, 0x72, 0x41,
0x67, 0x65, 0x6e, 0x74, 0x12, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x48, 0x54,
0x54, 0x50, 0x57, 0x65, 0x62, 0x55, 0x73, 0x65, 0x72, 0x41, 0x67, 0x65, 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,
0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x48,
0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x55, 0x73, 0x65, 0x72, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52,
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x10, 0x75, 0x70, 0x64, 0x61, 0x74,
0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x48, 0x4c, 0x53, 0x12, 0x1b, 0x2e, 0x70, 0x62,
0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x48, 0x4c,
0x53, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50,
0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x47, 0x0a, 0x0e, 0x66, 0x69, 0x6e, 0x64,
0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x48, 0x4c, 0x53, 0x12, 0x19, 0x2e, 0x70, 0x62, 0x2e,
0x46, 0x69, 0x6e, 0x64, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x48, 0x4c, 0x53, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x48,
0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x48, 0x4c, 0x53, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
0x65, 0x12, 0x68, 0x0a, 0x19, 0x66, 0x69, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49,
0x64, 0x57, 0x69, 0x74, 0x68, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x49, 0x64, 0x12, 0x24,
0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64,
0x57, 0x69, 0x74, 0x68, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65, 0x62, 0x49, 0x64, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x53, 0x65,
0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x57, 0x69, 0x74, 0x68, 0x48, 0x54, 0x54, 0x50, 0x57, 0x65,
0x62, 0x49, 0x64, 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 (
@@ -3003,7 +3284,7 @@ func file_service_http_web_proto_rawDescGZIP() []byte {
return file_service_http_web_proto_rawDescData
}
var file_service_http_web_proto_msgTypes = make([]protoimpl.MessageInfo, 48)
var file_service_http_web_proto_msgTypes = make([]protoimpl.MessageInfo, 53)
var file_service_http_web_proto_goTypes = []interface{}{
(*CreateHTTPWebRequest)(nil), // 0: pb.CreateHTTPWebRequest
(*CreateHTTPWebResponse)(nil), // 1: pb.CreateHTTPWebResponse
@@ -3053,11 +3334,16 @@ var file_service_http_web_proto_goTypes = []interface{}{
(*UpdateHTTPWebUserAgentRequest)(nil), // 45: pb.UpdateHTTPWebUserAgentRequest
(*FindHTTPWebUserAgentRequest)(nil), // 46: pb.FindHTTPWebUserAgentRequest
(*FindHTTPWebUserAgentResponse)(nil), // 47: pb.FindHTTPWebUserAgentResponse
(*HTTPWeb)(nil), // 48: pb.HTTPWeb
(*RPCSuccess)(nil), // 49: pb.RPCSuccess
(*UpdateHTTPWebHLSRequest)(nil), // 48: pb.UpdateHTTPWebHLSRequest
(*FindHTTPWebHLSRequest)(nil), // 49: pb.FindHTTPWebHLSRequest
(*FindHTTPWebHLSResponse)(nil), // 50: pb.FindHTTPWebHLSResponse
(*FindServerIdWithHTTPWebIdRequest)(nil), // 51: pb.FindServerIdWithHTTPWebIdRequest
(*FindServerIdWithHTTPWebIdResponse)(nil), // 52: pb.FindServerIdWithHTTPWebIdResponse
(*HTTPWeb)(nil), // 53: pb.HTTPWeb
(*RPCSuccess)(nil), // 54: pb.RPCSuccess
}
var file_service_http_web_proto_depIdxs = []int32{
48, // 0: pb.FindEnabledHTTPWebResponse.httpWeb:type_name -> pb.HTTPWeb
53, // 0: pb.FindEnabledHTTPWebResponse.httpWeb:type_name -> pb.HTTPWeb
0, // 1: pb.HTTPWebService.createHTTPWeb:input_type -> pb.CreateHTTPWebRequest
2, // 2: pb.HTTPWebService.findEnabledHTTPWeb:input_type -> pb.FindEnabledHTTPWebRequest
4, // 3: pb.HTTPWebService.findEnabledHTTPWebConfig:input_type -> pb.FindEnabledHTTPWebConfigRequest
@@ -3096,46 +3382,52 @@ var file_service_http_web_proto_depIdxs = []int32{
43, // 36: pb.HTTPWebService.findHTTPWebReferers:input_type -> pb.FindHTTPWebReferersRequest
45, // 37: pb.HTTPWebService.updateHTTPWebUserAgent:input_type -> pb.UpdateHTTPWebUserAgentRequest
46, // 38: pb.HTTPWebService.findHTTPWebUserAgent:input_type -> pb.FindHTTPWebUserAgentRequest
1, // 39: pb.HTTPWebService.createHTTPWeb:output_type -> pb.CreateHTTPWebResponse
3, // 40: pb.HTTPWebService.findEnabledHTTPWeb:output_type -> pb.FindEnabledHTTPWebResponse
5, // 41: pb.HTTPWebService.findEnabledHTTPWebConfig:output_type -> pb.FindEnabledHTTPWebConfigResponse
49, // 42: pb.HTTPWebService.updateHTTPWeb:output_type -> pb.RPCSuccess
49, // 43: pb.HTTPWebService.updateHTTPWebCompression:output_type -> pb.RPCSuccess
49, // 44: pb.HTTPWebService.updateHTTPWebOptimization:output_type -> pb.RPCSuccess
49, // 45: pb.HTTPWebService.updateHTTPWebWebP:output_type -> pb.RPCSuccess
49, // 46: pb.HTTPWebService.updateHTTPWebRemoteAddr:output_type -> pb.RPCSuccess
49, // 47: pb.HTTPWebService.updateHTTPWebCharset:output_type -> pb.RPCSuccess
49, // 48: pb.HTTPWebService.updateHTTPWebRequestHeader:output_type -> pb.RPCSuccess
49, // 49: pb.HTTPWebService.updateHTTPWebResponseHeader:output_type -> pb.RPCSuccess
49, // 50: pb.HTTPWebService.updateHTTPWebShutdown:output_type -> pb.RPCSuccess
49, // 51: pb.HTTPWebService.updateHTTPWebPages:output_type -> pb.RPCSuccess
49, // 52: pb.HTTPWebService.updateHTTPWebAccessLog:output_type -> pb.RPCSuccess
49, // 53: pb.HTTPWebService.updateHTTPWebStat:output_type -> pb.RPCSuccess
49, // 54: pb.HTTPWebService.updateHTTPWebCache:output_type -> pb.RPCSuccess
49, // 55: pb.HTTPWebService.updateHTTPWebFirewall:output_type -> pb.RPCSuccess
49, // 56: pb.HTTPWebService.updateHTTPWebLocations:output_type -> pb.RPCSuccess
49, // 57: pb.HTTPWebService.updateHTTPWebRedirectToHTTPS:output_type -> pb.RPCSuccess
49, // 58: pb.HTTPWebService.updateHTTPWebWebsocket:output_type -> pb.RPCSuccess
49, // 59: pb.HTTPWebService.updateHTTPWebFastcgi:output_type -> pb.RPCSuccess
49, // 60: pb.HTTPWebService.updateHTTPWebRewriteRules:output_type -> pb.RPCSuccess
49, // 61: pb.HTTPWebService.updateHTTPWebHostRedirects:output_type -> pb.RPCSuccess
27, // 62: pb.HTTPWebService.findHTTPWebHostRedirects:output_type -> pb.FindHTTPWebHostRedirectsResponse
49, // 63: pb.HTTPWebService.updateHTTPWebAuth:output_type -> pb.RPCSuccess
49, // 64: pb.HTTPWebService.updateHTTPWebCommon:output_type -> pb.RPCSuccess
49, // 65: pb.HTTPWebService.updateHTTPWebRequestLimit:output_type -> pb.RPCSuccess
32, // 66: pb.HTTPWebService.findHTTPWebRequestLimit:output_type -> pb.FindHTTPWebRequestLimitResponse
49, // 67: pb.HTTPWebService.updateHTTPWebRequestScripts:output_type -> pb.RPCSuccess
35, // 68: pb.HTTPWebService.findHTTPWebRequestScripts:output_type -> pb.FindHTTPWebRequestScriptsResponse
49, // 69: pb.HTTPWebService.updateHTTPWebUAM:output_type -> pb.RPCSuccess
38, // 70: pb.HTTPWebService.findHTTPWebUAM:output_type -> pb.FindHTTPWebUAMResponse
49, // 71: pb.HTTPWebService.updateHTTPWebCC:output_type -> pb.RPCSuccess
41, // 72: pb.HTTPWebService.findHTTPWebCC:output_type -> pb.FindHTTPWebCCResponse
49, // 73: pb.HTTPWebService.updateHTTPWebReferers:output_type -> pb.RPCSuccess
44, // 74: pb.HTTPWebService.findHTTPWebReferers:output_type -> pb.FindHTTPWebReferersResponse
49, // 75: pb.HTTPWebService.updateHTTPWebUserAgent:output_type -> pb.RPCSuccess
47, // 76: pb.HTTPWebService.findHTTPWebUserAgent:output_type -> pb.FindHTTPWebUserAgentResponse
39, // [39:77] is the sub-list for method output_type
1, // [1:39] is the sub-list for method input_type
48, // 39: pb.HTTPWebService.updateHTTPWebHLS:input_type -> pb.UpdateHTTPWebHLSRequest
49, // 40: pb.HTTPWebService.findHTTPWebHLS:input_type -> pb.FindHTTPWebHLSRequest
51, // 41: pb.HTTPWebService.findServerIdWithHTTPWebId:input_type -> pb.FindServerIdWithHTTPWebIdRequest
1, // 42: pb.HTTPWebService.createHTTPWeb:output_type -> pb.CreateHTTPWebResponse
3, // 43: pb.HTTPWebService.findEnabledHTTPWeb:output_type -> pb.FindEnabledHTTPWebResponse
5, // 44: pb.HTTPWebService.findEnabledHTTPWebConfig:output_type -> pb.FindEnabledHTTPWebConfigResponse
54, // 45: pb.HTTPWebService.updateHTTPWeb:output_type -> pb.RPCSuccess
54, // 46: pb.HTTPWebService.updateHTTPWebCompression:output_type -> pb.RPCSuccess
54, // 47: pb.HTTPWebService.updateHTTPWebOptimization:output_type -> pb.RPCSuccess
54, // 48: pb.HTTPWebService.updateHTTPWebWebP:output_type -> pb.RPCSuccess
54, // 49: pb.HTTPWebService.updateHTTPWebRemoteAddr:output_type -> pb.RPCSuccess
54, // 50: pb.HTTPWebService.updateHTTPWebCharset:output_type -> pb.RPCSuccess
54, // 51: pb.HTTPWebService.updateHTTPWebRequestHeader:output_type -> pb.RPCSuccess
54, // 52: pb.HTTPWebService.updateHTTPWebResponseHeader:output_type -> pb.RPCSuccess
54, // 53: pb.HTTPWebService.updateHTTPWebShutdown:output_type -> pb.RPCSuccess
54, // 54: pb.HTTPWebService.updateHTTPWebPages:output_type -> pb.RPCSuccess
54, // 55: pb.HTTPWebService.updateHTTPWebAccessLog:output_type -> pb.RPCSuccess
54, // 56: pb.HTTPWebService.updateHTTPWebStat:output_type -> pb.RPCSuccess
54, // 57: pb.HTTPWebService.updateHTTPWebCache:output_type -> pb.RPCSuccess
54, // 58: pb.HTTPWebService.updateHTTPWebFirewall:output_type -> pb.RPCSuccess
54, // 59: pb.HTTPWebService.updateHTTPWebLocations:output_type -> pb.RPCSuccess
54, // 60: pb.HTTPWebService.updateHTTPWebRedirectToHTTPS:output_type -> pb.RPCSuccess
54, // 61: pb.HTTPWebService.updateHTTPWebWebsocket:output_type -> pb.RPCSuccess
54, // 62: pb.HTTPWebService.updateHTTPWebFastcgi:output_type -> pb.RPCSuccess
54, // 63: pb.HTTPWebService.updateHTTPWebRewriteRules:output_type -> pb.RPCSuccess
54, // 64: pb.HTTPWebService.updateHTTPWebHostRedirects:output_type -> pb.RPCSuccess
27, // 65: pb.HTTPWebService.findHTTPWebHostRedirects:output_type -> pb.FindHTTPWebHostRedirectsResponse
54, // 66: pb.HTTPWebService.updateHTTPWebAuth:output_type -> pb.RPCSuccess
54, // 67: pb.HTTPWebService.updateHTTPWebCommon:output_type -> pb.RPCSuccess
54, // 68: pb.HTTPWebService.updateHTTPWebRequestLimit:output_type -> pb.RPCSuccess
32, // 69: pb.HTTPWebService.findHTTPWebRequestLimit:output_type -> pb.FindHTTPWebRequestLimitResponse
54, // 70: pb.HTTPWebService.updateHTTPWebRequestScripts:output_type -> pb.RPCSuccess
35, // 71: pb.HTTPWebService.findHTTPWebRequestScripts:output_type -> pb.FindHTTPWebRequestScriptsResponse
54, // 72: pb.HTTPWebService.updateHTTPWebUAM:output_type -> pb.RPCSuccess
38, // 73: pb.HTTPWebService.findHTTPWebUAM:output_type -> pb.FindHTTPWebUAMResponse
54, // 74: pb.HTTPWebService.updateHTTPWebCC:output_type -> pb.RPCSuccess
41, // 75: pb.HTTPWebService.findHTTPWebCC:output_type -> pb.FindHTTPWebCCResponse
54, // 76: pb.HTTPWebService.updateHTTPWebReferers:output_type -> pb.RPCSuccess
44, // 77: pb.HTTPWebService.findHTTPWebReferers:output_type -> pb.FindHTTPWebReferersResponse
54, // 78: pb.HTTPWebService.updateHTTPWebUserAgent:output_type -> pb.RPCSuccess
47, // 79: pb.HTTPWebService.findHTTPWebUserAgent:output_type -> pb.FindHTTPWebUserAgentResponse
54, // 80: pb.HTTPWebService.updateHTTPWebHLS:output_type -> pb.RPCSuccess
50, // 81: pb.HTTPWebService.findHTTPWebHLS:output_type -> pb.FindHTTPWebHLSResponse
52, // 82: pb.HTTPWebService.findServerIdWithHTTPWebId:output_type -> pb.FindServerIdWithHTTPWebIdResponse
42, // [42:83] is the sub-list for method output_type
1, // [1:42] 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
@@ -3725,6 +4017,66 @@ func file_service_http_web_proto_init() {
return nil
}
}
file_service_http_web_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UpdateHTTPWebHLSRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_http_web_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FindHTTPWebHLSRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_http_web_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FindHTTPWebHLSResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_http_web_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FindServerIdWithHTTPWebIdRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_http_web_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FindServerIdWithHTTPWebIdResponse); 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{
@@ -3732,7 +4084,7 @@ func file_service_http_web_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_service_http_web_proto_rawDesc,
NumEnums: 0,
NumMessages: 48,
NumMessages: 53,
NumExtensions: 0,
NumServices: 1,
},

View File

@@ -57,6 +57,9 @@ const (
HTTPWebService_FindHTTPWebReferers_FullMethodName = "/pb.HTTPWebService/findHTTPWebReferers"
HTTPWebService_UpdateHTTPWebUserAgent_FullMethodName = "/pb.HTTPWebService/updateHTTPWebUserAgent"
HTTPWebService_FindHTTPWebUserAgent_FullMethodName = "/pb.HTTPWebService/findHTTPWebUserAgent"
HTTPWebService_UpdateHTTPWebHLS_FullMethodName = "/pb.HTTPWebService/updateHTTPWebHLS"
HTTPWebService_FindHTTPWebHLS_FullMethodName = "/pb.HTTPWebService/findHTTPWebHLS"
HTTPWebService_FindServerIdWithHTTPWebId_FullMethodName = "/pb.HTTPWebService/findServerIdWithHTTPWebId"
)
// HTTPWebServiceClient is the client API for HTTPWebService service.
@@ -139,6 +142,12 @@ type HTTPWebServiceClient interface {
UpdateHTTPWebUserAgent(ctx context.Context, in *UpdateHTTPWebUserAgentRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
// 查找UserAgent设置
FindHTTPWebUserAgent(ctx context.Context, in *FindHTTPWebUserAgentRequest, opts ...grpc.CallOption) (*FindHTTPWebUserAgentResponse, error)
// 修改HLS设置
UpdateHTTPWebHLS(ctx context.Context, in *UpdateHTTPWebHLSRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
// 查找HLS设置
FindHTTPWebHLS(ctx context.Context, in *FindHTTPWebHLSRequest, opts ...grpc.CallOption) (*FindHTTPWebHLSResponse, error)
// 根据WebId查找ServerId
FindServerIdWithHTTPWebId(ctx context.Context, in *FindServerIdWithHTTPWebIdRequest, opts ...grpc.CallOption) (*FindServerIdWithHTTPWebIdResponse, error)
}
type hTTPWebServiceClient struct {
@@ -491,6 +500,33 @@ func (c *hTTPWebServiceClient) FindHTTPWebUserAgent(ctx context.Context, in *Fin
return out, nil
}
func (c *hTTPWebServiceClient) UpdateHTTPWebHLS(ctx context.Context, in *UpdateHTTPWebHLSRequest, opts ...grpc.CallOption) (*RPCSuccess, error) {
out := new(RPCSuccess)
err := c.cc.Invoke(ctx, HTTPWebService_UpdateHTTPWebHLS_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *hTTPWebServiceClient) FindHTTPWebHLS(ctx context.Context, in *FindHTTPWebHLSRequest, opts ...grpc.CallOption) (*FindHTTPWebHLSResponse, error) {
out := new(FindHTTPWebHLSResponse)
err := c.cc.Invoke(ctx, HTTPWebService_FindHTTPWebHLS_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *hTTPWebServiceClient) FindServerIdWithHTTPWebId(ctx context.Context, in *FindServerIdWithHTTPWebIdRequest, opts ...grpc.CallOption) (*FindServerIdWithHTTPWebIdResponse, error) {
out := new(FindServerIdWithHTTPWebIdResponse)
err := c.cc.Invoke(ctx, HTTPWebService_FindServerIdWithHTTPWebId_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// HTTPWebServiceServer is the server API for HTTPWebService service.
// All implementations should embed UnimplementedHTTPWebServiceServer
// for forward compatibility
@@ -571,6 +607,12 @@ type HTTPWebServiceServer interface {
UpdateHTTPWebUserAgent(context.Context, *UpdateHTTPWebUserAgentRequest) (*RPCSuccess, error)
// 查找UserAgent设置
FindHTTPWebUserAgent(context.Context, *FindHTTPWebUserAgentRequest) (*FindHTTPWebUserAgentResponse, error)
// 修改HLS设置
UpdateHTTPWebHLS(context.Context, *UpdateHTTPWebHLSRequest) (*RPCSuccess, error)
// 查找HLS设置
FindHTTPWebHLS(context.Context, *FindHTTPWebHLSRequest) (*FindHTTPWebHLSResponse, error)
// 根据WebId查找ServerId
FindServerIdWithHTTPWebId(context.Context, *FindServerIdWithHTTPWebIdRequest) (*FindServerIdWithHTTPWebIdResponse, error)
}
// UnimplementedHTTPWebServiceServer should be embedded to have forward compatible implementations.
@@ -691,6 +733,15 @@ func (UnimplementedHTTPWebServiceServer) UpdateHTTPWebUserAgent(context.Context,
func (UnimplementedHTTPWebServiceServer) FindHTTPWebUserAgent(context.Context, *FindHTTPWebUserAgentRequest) (*FindHTTPWebUserAgentResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method FindHTTPWebUserAgent not implemented")
}
func (UnimplementedHTTPWebServiceServer) UpdateHTTPWebHLS(context.Context, *UpdateHTTPWebHLSRequest) (*RPCSuccess, error) {
return nil, status.Errorf(codes.Unimplemented, "method UpdateHTTPWebHLS not implemented")
}
func (UnimplementedHTTPWebServiceServer) FindHTTPWebHLS(context.Context, *FindHTTPWebHLSRequest) (*FindHTTPWebHLSResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method FindHTTPWebHLS not implemented")
}
func (UnimplementedHTTPWebServiceServer) FindServerIdWithHTTPWebId(context.Context, *FindServerIdWithHTTPWebIdRequest) (*FindServerIdWithHTTPWebIdResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method FindServerIdWithHTTPWebId not implemented")
}
// UnsafeHTTPWebServiceServer may be embedded to opt out of forward compatibility for this service.
// Use of this interface is not recommended, as added methods to HTTPWebServiceServer will
@@ -1387,6 +1438,60 @@ func _HTTPWebService_FindHTTPWebUserAgent_Handler(srv interface{}, ctx context.C
return interceptor(ctx, in, info, handler)
}
func _HTTPWebService_UpdateHTTPWebHLS_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(UpdateHTTPWebHLSRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(HTTPWebServiceServer).UpdateHTTPWebHLS(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: HTTPWebService_UpdateHTTPWebHLS_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(HTTPWebServiceServer).UpdateHTTPWebHLS(ctx, req.(*UpdateHTTPWebHLSRequest))
}
return interceptor(ctx, in, info, handler)
}
func _HTTPWebService_FindHTTPWebHLS_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(FindHTTPWebHLSRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(HTTPWebServiceServer).FindHTTPWebHLS(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: HTTPWebService_FindHTTPWebHLS_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(HTTPWebServiceServer).FindHTTPWebHLS(ctx, req.(*FindHTTPWebHLSRequest))
}
return interceptor(ctx, in, info, handler)
}
func _HTTPWebService_FindServerIdWithHTTPWebId_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(FindServerIdWithHTTPWebIdRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(HTTPWebServiceServer).FindServerIdWithHTTPWebId(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: HTTPWebService_FindServerIdWithHTTPWebId_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(HTTPWebServiceServer).FindServerIdWithHTTPWebId(ctx, req.(*FindServerIdWithHTTPWebIdRequest))
}
return interceptor(ctx, in, info, handler)
}
// HTTPWebService_ServiceDesc is the grpc.ServiceDesc for HTTPWebService service.
// It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy)
@@ -1546,6 +1651,18 @@ var HTTPWebService_ServiceDesc = grpc.ServiceDesc{
MethodName: "findHTTPWebUserAgent",
Handler: _HTTPWebService_FindHTTPWebUserAgent_Handler,
},
{
MethodName: "updateHTTPWebHLS",
Handler: _HTTPWebService_UpdateHTTPWebHLS_Handler,
},
{
MethodName: "findHTTPWebHLS",
Handler: _HTTPWebService_FindHTTPWebHLS_Handler,
},
{
MethodName: "findServerIdWithHTTPWebId",
Handler: _HTTPWebService_FindServerIdWithHTTPWebId_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "service_http_web.proto",

View File

@@ -1437,6 +1437,165 @@ func (x *ListAllEnabledIPItemsResponse) GetResults() []*ListAllEnabledIPItemsRes
return nil
}
// 列出所有名单中的IP ID
type ListAllIPItemIdsRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Keyword string `protobuf:"bytes,8,opt,name=keyword,proto3" json:"keyword,omitempty"` // 关键词
Ip string `protobuf:"bytes,1,opt,name=ip,proto3" json:"ip,omitempty"` // 单个IP搜索单个IP时需要
GlobalOnly bool `protobuf:"varint,2,opt,name=globalOnly,proto3" json:"globalOnly,omitempty"` // 是否为自动添加的IP
Unread bool `protobuf:"varint,5,opt,name=unread,proto3" json:"unread,omitempty"` // 是否未读
EventLevel string `protobuf:"bytes,6,opt,name=eventLevel,proto3" json:"eventLevel,omitempty"` // 事件级别
ListType string `protobuf:"bytes,7,opt,name=listType,proto3" json:"listType,omitempty"` // 列表类型black|white
UserId int64 `protobuf:"varint,9,opt,name=userId,proto3" json:"userId,omitempty"` // 用户ID只有管理员才有权限指定用户ID
Offset int64 `protobuf:"varint,3,opt,name=offset,proto3" json:"offset,omitempty"` // 读取位置从0开始
Size int64 `protobuf:"varint,4,opt,name=size,proto3" json:"size,omitempty"` // 每次读取数量
}
func (x *ListAllIPItemIdsRequest) Reset() {
*x = ListAllIPItemIdsRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_service_ip_item_proto_msgTypes[21]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListAllIPItemIdsRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListAllIPItemIdsRequest) ProtoMessage() {}
func (x *ListAllIPItemIdsRequest) ProtoReflect() protoreflect.Message {
mi := &file_service_ip_item_proto_msgTypes[21]
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 ListAllIPItemIdsRequest.ProtoReflect.Descriptor instead.
func (*ListAllIPItemIdsRequest) Descriptor() ([]byte, []int) {
return file_service_ip_item_proto_rawDescGZIP(), []int{21}
}
func (x *ListAllIPItemIdsRequest) GetKeyword() string {
if x != nil {
return x.Keyword
}
return ""
}
func (x *ListAllIPItemIdsRequest) GetIp() string {
if x != nil {
return x.Ip
}
return ""
}
func (x *ListAllIPItemIdsRequest) GetGlobalOnly() bool {
if x != nil {
return x.GlobalOnly
}
return false
}
func (x *ListAllIPItemIdsRequest) GetUnread() bool {
if x != nil {
return x.Unread
}
return false
}
func (x *ListAllIPItemIdsRequest) GetEventLevel() string {
if x != nil {
return x.EventLevel
}
return ""
}
func (x *ListAllIPItemIdsRequest) GetListType() string {
if x != nil {
return x.ListType
}
return ""
}
func (x *ListAllIPItemIdsRequest) GetUserId() int64 {
if x != nil {
return x.UserId
}
return 0
}
func (x *ListAllIPItemIdsRequest) GetOffset() int64 {
if x != nil {
return x.Offset
}
return 0
}
func (x *ListAllIPItemIdsRequest) GetSize() int64 {
if x != nil {
return x.Size
}
return 0
}
type ListAllIPItemIdsResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
IpItemIds []int64 `protobuf:"varint,1,rep,packed,name=ipItemIds,proto3" json:"ipItemIds,omitempty"` // IP ID列表
}
func (x *ListAllIPItemIdsResponse) Reset() {
*x = ListAllIPItemIdsResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_service_ip_item_proto_msgTypes[22]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListAllIPItemIdsResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListAllIPItemIdsResponse) ProtoMessage() {}
func (x *ListAllIPItemIdsResponse) ProtoReflect() protoreflect.Message {
mi := &file_service_ip_item_proto_msgTypes[22]
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 ListAllIPItemIdsResponse.ProtoReflect.Descriptor instead.
func (*ListAllIPItemIdsResponse) Descriptor() ([]byte, []int) {
return file_service_ip_item_proto_rawDescGZIP(), []int{22}
}
func (x *ListAllIPItemIdsResponse) GetIpItemIds() []int64 {
if x != nil {
return x.IpItemIds
}
return nil
}
// 设置所有为已读
type UpdateIPItemsReadRequest struct {
state protoimpl.MessageState
@@ -1447,7 +1606,7 @@ type UpdateIPItemsReadRequest struct {
func (x *UpdateIPItemsReadRequest) Reset() {
*x = UpdateIPItemsReadRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_service_ip_item_proto_msgTypes[21]
mi := &file_service_ip_item_proto_msgTypes[23]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1460,7 +1619,7 @@ func (x *UpdateIPItemsReadRequest) String() string {
func (*UpdateIPItemsReadRequest) ProtoMessage() {}
func (x *UpdateIPItemsReadRequest) ProtoReflect() protoreflect.Message {
mi := &file_service_ip_item_proto_msgTypes[21]
mi := &file_service_ip_item_proto_msgTypes[23]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1473,7 +1632,102 @@ func (x *UpdateIPItemsReadRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use UpdateIPItemsReadRequest.ProtoReflect.Descriptor instead.
func (*UpdateIPItemsReadRequest) Descriptor() ([]byte, []int) {
return file_service_ip_item_proto_rawDescGZIP(), []int{21}
return file_service_ip_item_proto_rawDescGZIP(), []int{23}
}
// 查找IP对应的名单所属网站ID
type FindServerIdWithIPItemIdRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
IpItemId int64 `protobuf:"varint,1,opt,name=ipItemId,proto3" json:"ipItemId,omitempty"` // IP ID
}
func (x *FindServerIdWithIPItemIdRequest) Reset() {
*x = FindServerIdWithIPItemIdRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_service_ip_item_proto_msgTypes[24]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FindServerIdWithIPItemIdRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FindServerIdWithIPItemIdRequest) ProtoMessage() {}
func (x *FindServerIdWithIPItemIdRequest) ProtoReflect() protoreflect.Message {
mi := &file_service_ip_item_proto_msgTypes[24]
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 FindServerIdWithIPItemIdRequest.ProtoReflect.Descriptor instead.
func (*FindServerIdWithIPItemIdRequest) Descriptor() ([]byte, []int) {
return file_service_ip_item_proto_rawDescGZIP(), []int{24}
}
func (x *FindServerIdWithIPItemIdRequest) GetIpItemId() int64 {
if x != nil {
return x.IpItemId
}
return 0
}
type FindServerIdWithIPItemIdResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ServerId int64 `protobuf:"varint,1,opt,name=serverId,proto3" json:"serverId,omitempty"` // 网站ID
}
func (x *FindServerIdWithIPItemIdResponse) Reset() {
*x = FindServerIdWithIPItemIdResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_service_ip_item_proto_msgTypes[25]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FindServerIdWithIPItemIdResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FindServerIdWithIPItemIdResponse) ProtoMessage() {}
func (x *FindServerIdWithIPItemIdResponse) ProtoReflect() protoreflect.Message {
mi := &file_service_ip_item_proto_msgTypes[25]
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 FindServerIdWithIPItemIdResponse.ProtoReflect.Descriptor instead.
func (*FindServerIdWithIPItemIdResponse) Descriptor() ([]byte, []int) {
return file_service_ip_item_proto_rawDescGZIP(), []int{25}
}
func (x *FindServerIdWithIPItemIdResponse) GetServerId() int64 {
if x != nil {
return x.ServerId
}
return 0
}
type CreateIPItemsRequest_IPItem struct {
@@ -1500,7 +1754,7 @@ type CreateIPItemsRequest_IPItem struct {
func (x *CreateIPItemsRequest_IPItem) Reset() {
*x = CreateIPItemsRequest_IPItem{}
if protoimpl.UnsafeEnabled {
mi := &file_service_ip_item_proto_msgTypes[22]
mi := &file_service_ip_item_proto_msgTypes[26]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1513,7 +1767,7 @@ func (x *CreateIPItemsRequest_IPItem) String() string {
func (*CreateIPItemsRequest_IPItem) ProtoMessage() {}
func (x *CreateIPItemsRequest_IPItem) ProtoReflect() protoreflect.Message {
mi := &file_service_ip_item_proto_msgTypes[22]
mi := &file_service_ip_item_proto_msgTypes[26]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1641,7 +1895,7 @@ type ListAllEnabledIPItemsResponse_Result struct {
func (x *ListAllEnabledIPItemsResponse_Result) Reset() {
*x = ListAllEnabledIPItemsResponse_Result{}
if protoimpl.UnsafeEnabled {
mi := &file_service_ip_item_proto_msgTypes[23]
mi := &file_service_ip_item_proto_msgTypes[27]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1654,7 +1908,7 @@ func (x *ListAllEnabledIPItemsResponse_Result) String() string {
func (*ListAllEnabledIPItemsResponse_Result) ProtoMessage() {}
func (x *ListAllEnabledIPItemsResponse_Result) ProtoReflect() protoreflect.Message {
mi := &file_service_ip_item_proto_msgTypes[23]
mi := &file_service_ip_item_proto_msgTypes[27]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1927,79 +2181,118 @@ var file_service_ip_item_proto_rawDesc = []byte{
0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x04, 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, 0x12, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69,
0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x1a, 0x0a, 0x18,
0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x52, 0x65, 0x61,
0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x32, 0xca, 0x08, 0x0a, 0x0d, 0x49, 0x50, 0x49,
0x74, 0x65, 0x6d, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x41, 0x0a, 0x0c, 0x63, 0x72,
0x65, 0x61, 0x74, 0x65, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x17, 0x2e, 0x70, 0x62, 0x2e,
0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49,
0x50, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x44, 0x0a,
0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x18,
0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d,
0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72,
0x65, 0x61, 0x74, 0x65, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x0c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x50, 0x49,
0x74, 0x65, 0x6d, 0x12, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49,
0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0xfb, 0x01, 0x0a,
0x17, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64,
0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6b, 0x65, 0x79, 0x77,
0x6f, 0x72, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f,
0x72, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02,
0x69, 0x70, 0x12, 0x1e, 0x0a, 0x0a, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x6e, 0x6c, 0x79,
0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x6e,
0x6c, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x64, 0x18, 0x05, 0x20, 0x01,
0x28, 0x08, 0x52, 0x06, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x76,
0x65, 0x6e, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x06, 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, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x69,
0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64,
0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x16,
0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06,
0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x04,
0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x22, 0x38, 0x0a, 0x18, 0x4c, 0x69,
0x73, 0x74, 0x41, 0x6c, 0x6c, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x73, 0x52, 0x65,
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x70, 0x49, 0x74, 0x65, 0x6d,
0x49, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x03, 0x52, 0x09, 0x69, 0x70, 0x49, 0x74, 0x65,
0x6d, 0x49, 0x64, 0x73, 0x22, 0x1a, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x50,
0x49, 0x74, 0x65, 0x6d, 0x73, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x22, 0x3d, 0x0a, 0x1f, 0x46, 0x69, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64,
0x57, 0x69, 0x74, 0x68, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18,
0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x69, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x22,
0x3e, 0x0a, 0x20, 0x46, 0x69, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x57,
0x69, 0x74, 0x68, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f,
0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x18,
0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x32,
0x80, 0x0a, 0x0a, 0x0d, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63,
0x65, 0x12, 0x41, 0x0a, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x50, 0x49, 0x74, 0x65,
0x6d, 0x12, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x50, 0x49,
0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x70, 0x62, 0x2e,
0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x70,
0x6f, 0x6e, 0x73, 0x65, 0x12, 0x44, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x50,
0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74,
0x65, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
0x19, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x50, 0x49, 0x74, 0x65,
0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x0c, 0x75, 0x70,
0x64, 0x61, 0x74, 0x65, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x17, 0x2e, 0x70, 0x62, 0x2e,
0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63,
0x65, 0x73, 0x73, 0x12, 0x37, 0x0a, 0x0c, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x50, 0x49,
0x74, 0x65, 0x6d, 0x12, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49,
0x50, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70,
0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x37, 0x0a, 0x0c,
0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x17, 0x2e, 0x70,
0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75,
0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x39, 0x0a, 0x0d, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49,
0x50, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65,
0x74, 0x65, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 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, 0x51, 0x0a, 0x16, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x73,
0x57, 0x69, 0x74, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x64, 0x12, 0x21, 0x2e, 0x70, 0x62, 0x2e,
0x43, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x57, 0x69, 0x74, 0x68,
0x4c, 0x69, 0x73, 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, 0x12, 0x5c, 0x0a, 0x15, 0x6c, 0x69, 0x73, 0x74, 0x49, 0x50, 0x49, 0x74, 0x65,
0x6d, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x64, 0x12, 0x20, 0x2e, 0x70,
0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x57, 0x69, 0x74,
0x68, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21,
0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x57,
0x69, 0x74, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
0x65, 0x12, 0x50, 0x0a, 0x11, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64,
0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 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, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f,
0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x17, 0x6c, 0x69, 0x73, 0x74, 0x49, 0x50, 0x49, 0x74, 0x65,
0x6d, 0x73, 0x41, 0x66, 0x74, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x22,
0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x41,
0x66, 0x74, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x1a, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x50, 0x49, 0x74,
0x65, 0x6d, 0x73, 0x41, 0x66, 0x74, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52,
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, 0x11, 0x63, 0x68, 0x65, 0x63, 0x6b,
0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1c, 0x2e, 0x70,
0x62, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x74, 0x61,
0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x70, 0x62, 0x2e,
0x43, 0x68, 0x65, 0x63, 0x6b, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x75,
0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x13, 0x65, 0x78, 0x69,
0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x39, 0x0a, 0x0d,
0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x18, 0x2e,
0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 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, 0x51, 0x0a, 0x16, 0x63, 0x6f, 0x75, 0x6e, 0x74,
0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x49,
0x64, 0x12, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x50, 0x49, 0x74,
0x65, 0x6d, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4c, 0x69, 0x73, 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, 0x12, 0x5c, 0x0a, 0x15, 0x6c, 0x69,
0x73, 0x74, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4c, 0x69, 0x73,
0x74, 0x49, 0x64, 0x12, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x50, 0x49,
0x74, 0x65, 0x6d, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x64, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x49,
0x50, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x64,
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, 0x11, 0x66, 0x69, 0x6e, 0x64,
0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x1c, 0x2e,
0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x49, 0x50,
0x49, 0x74, 0x65, 0x6d, 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, 0x49, 0x74,
0x65, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x17, 0x6c, 0x69,
0x73, 0x74, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x41, 0x66, 0x74, 0x65, 0x72, 0x56, 0x65,
0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x49,
0x50, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x41, 0x66, 0x74, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69,
0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x4c,
0x69, 0x73, 0x74, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x41, 0x66, 0x74, 0x65, 0x72, 0x56,
0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x50,
0x0a, 0x11, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x74, 0x61,
0x74, 0x75, 0x73, 0x12, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x49, 0x50,
0x49, 0x74, 0x65, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x1a, 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x49, 0x50, 0x49, 0x74,
0x65, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
0x12, 0x56, 0x0a, 0x13, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65,
0x64, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x1e, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x78, 0x69,
0x73, 0x74, 0x73, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d,
0x12, 0x1e, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x45, 0x6e, 0x61, 0x62,
0x6c, 0x65, 0x64, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 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, 0x49, 0x74, 0x65, 0x6d, 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, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x21, 0x2e, 0x70, 0x62,
0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 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, 0x5c, 0x0a, 0x15, 0x6c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45,
0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x20, 0x2e,
0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65,
0x64, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
0x21, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62,
0x6c, 0x65, 0x64, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
0x73, 0x65, 0x12, 0x41, 0x0a, 0x11, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x50, 0x49, 0x74,
0x65, 0x6d, 0x73, 0x52, 0x65, 0x61, 0x64, 0x12, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64,
0x61, 0x74, 0x65, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 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,
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, 0x49, 0x74, 0x65, 0x6d,
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, 0x49, 0x74, 0x65,
0x6d, 0x73, 0x12, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c,
0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 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, 0x5c, 0x0a, 0x15, 0x6c,
0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x49, 0x50, 0x49,
0x74, 0x65, 0x6d, 0x73, 0x12, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c,
0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74,
0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d,
0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x10, 0x6c, 0x69, 0x73,
0x74, 0x41, 0x6c, 0x6c, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x73, 0x12, 0x1b, 0x2e,
0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d,
0x49, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x70, 0x62, 0x2e,
0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x73,
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x11, 0x75, 0x70, 0x64, 0x61,
0x74, 0x65, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x52, 0x65, 0x61, 0x64, 0x12, 0x1c, 0x2e,
0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 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, 0x12, 0x65, 0x0a, 0x18, 0x66,
0x69, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x57, 0x69, 0x74, 0x68, 0x49,
0x50, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e,
0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x57, 0x69, 0x74, 0x68, 0x49, 0x50, 0x49,
0x74, 0x65, 0x6d, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x70,
0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x57, 0x69,
0x74, 0x68, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 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 (
@@ -2014,7 +2307,7 @@ func file_service_ip_item_proto_rawDescGZIP() []byte {
return file_service_ip_item_proto_rawDescData
}
var file_service_ip_item_proto_msgTypes = make([]protoimpl.MessageInfo, 24)
var file_service_ip_item_proto_msgTypes = make([]protoimpl.MessageInfo, 28)
var file_service_ip_item_proto_goTypes = []interface{}{
(*CreateIPItemRequest)(nil), // 0: pb.CreateIPItemRequest
(*CreateIPItemResponse)(nil), // 1: pb.CreateIPItemResponse
@@ -2037,27 +2330,31 @@ var file_service_ip_item_proto_goTypes = []interface{}{
(*CountAllEnabledIPItemsRequest)(nil), // 18: pb.CountAllEnabledIPItemsRequest
(*ListAllEnabledIPItemsRequest)(nil), // 19: pb.ListAllEnabledIPItemsRequest
(*ListAllEnabledIPItemsResponse)(nil), // 20: pb.ListAllEnabledIPItemsResponse
(*UpdateIPItemsReadRequest)(nil), // 21: pb.UpdateIPItemsReadRequest
(*CreateIPItemsRequest_IPItem)(nil), // 22: pb.CreateIPItemsRequest.IPItem
(*ListAllEnabledIPItemsResponse_Result)(nil), // 23: pb.ListAllEnabledIPItemsResponse.Result
(*IPItem)(nil), // 24: pb.IPItem
(*IPList)(nil), // 25: pb.IPList
(*Server)(nil), // 26: pb.Server
(*HTTPFirewallPolicy)(nil), // 27: pb.HTTPFirewallPolicy
(*RPCSuccess)(nil), // 28: pb.RPCSuccess
(*RPCCountResponse)(nil), // 29: pb.RPCCountResponse
(*ListAllIPItemIdsRequest)(nil), // 21: pb.ListAllIPItemIdsRequest
(*ListAllIPItemIdsResponse)(nil), // 22: pb.ListAllIPItemIdsResponse
(*UpdateIPItemsReadRequest)(nil), // 23: pb.UpdateIPItemsReadRequest
(*FindServerIdWithIPItemIdRequest)(nil), // 24: pb.FindServerIdWithIPItemIdRequest
(*FindServerIdWithIPItemIdResponse)(nil), // 25: pb.FindServerIdWithIPItemIdResponse
(*CreateIPItemsRequest_IPItem)(nil), // 26: pb.CreateIPItemsRequest.IPItem
(*ListAllEnabledIPItemsResponse_Result)(nil), // 27: pb.ListAllEnabledIPItemsResponse.Result
(*IPItem)(nil), // 28: pb.IPItem
(*IPList)(nil), // 29: pb.IPList
(*Server)(nil), // 30: pb.Server
(*HTTPFirewallPolicy)(nil), // 31: pb.HTTPFirewallPolicy
(*RPCSuccess)(nil), // 32: pb.RPCSuccess
(*RPCCountResponse)(nil), // 33: pb.RPCCountResponse
}
var file_service_ip_item_proto_depIdxs = []int32{
22, // 0: pb.CreateIPItemsRequest.ipItems:type_name -> pb.CreateIPItemsRequest.IPItem
24, // 1: pb.ListIPItemsWithListIdResponse.ipItems:type_name -> pb.IPItem
24, // 2: pb.FindEnabledIPItemResponse.ipItem:type_name -> pb.IPItem
24, // 3: pb.ListIPItemsAfterVersionResponse.ipItems:type_name -> pb.IPItem
24, // 4: pb.CheckIPItemStatusResponse.ipItem:type_name -> pb.IPItem
23, // 5: pb.ListAllEnabledIPItemsResponse.results:type_name -> pb.ListAllEnabledIPItemsResponse.Result
25, // 6: pb.ListAllEnabledIPItemsResponse.Result.ipList:type_name -> pb.IPList
24, // 7: pb.ListAllEnabledIPItemsResponse.Result.ipItem:type_name -> pb.IPItem
26, // 8: pb.ListAllEnabledIPItemsResponse.Result.server:type_name -> pb.Server
27, // 9: pb.ListAllEnabledIPItemsResponse.Result.httpFirewallPolicy:type_name -> pb.HTTPFirewallPolicy
26, // 0: pb.CreateIPItemsRequest.ipItems:type_name -> pb.CreateIPItemsRequest.IPItem
28, // 1: pb.ListIPItemsWithListIdResponse.ipItems:type_name -> pb.IPItem
28, // 2: pb.FindEnabledIPItemResponse.ipItem:type_name -> pb.IPItem
28, // 3: pb.ListIPItemsAfterVersionResponse.ipItems:type_name -> pb.IPItem
28, // 4: pb.CheckIPItemStatusResponse.ipItem:type_name -> pb.IPItem
27, // 5: pb.ListAllEnabledIPItemsResponse.results:type_name -> pb.ListAllEnabledIPItemsResponse.Result
29, // 6: pb.ListAllEnabledIPItemsResponse.Result.ipList:type_name -> pb.IPList
28, // 7: pb.ListAllEnabledIPItemsResponse.Result.ipItem:type_name -> pb.IPItem
30, // 8: pb.ListAllEnabledIPItemsResponse.Result.server:type_name -> pb.Server
31, // 9: pb.ListAllEnabledIPItemsResponse.Result.httpFirewallPolicy:type_name -> pb.HTTPFirewallPolicy
0, // 10: pb.IPItemService.createIPItem:input_type -> pb.CreateIPItemRequest
2, // 11: pb.IPItemService.createIPItems:input_type -> pb.CreateIPItemsRequest
4, // 12: pb.IPItemService.updateIPItem:input_type -> pb.UpdateIPItemRequest
@@ -2071,23 +2368,27 @@ var file_service_ip_item_proto_depIdxs = []int32{
16, // 20: pb.IPItemService.existsEnabledIPItem:input_type -> pb.ExistsEnabledIPItemRequest
18, // 21: pb.IPItemService.countAllEnabledIPItems:input_type -> pb.CountAllEnabledIPItemsRequest
19, // 22: pb.IPItemService.listAllEnabledIPItems:input_type -> pb.ListAllEnabledIPItemsRequest
21, // 23: pb.IPItemService.updateIPItemsRead:input_type -> pb.UpdateIPItemsReadRequest
1, // 24: pb.IPItemService.createIPItem:output_type -> pb.CreateIPItemResponse
3, // 25: pb.IPItemService.createIPItems:output_type -> pb.CreateIPItemsResponse
28, // 26: pb.IPItemService.updateIPItem:output_type -> pb.RPCSuccess
28, // 27: pb.IPItemService.deleteIPItem:output_type -> pb.RPCSuccess
28, // 28: pb.IPItemService.deleteIPItems:output_type -> pb.RPCSuccess
29, // 29: pb.IPItemService.countIPItemsWithListId:output_type -> pb.RPCCountResponse
9, // 30: pb.IPItemService.listIPItemsWithListId:output_type -> pb.ListIPItemsWithListIdResponse
11, // 31: pb.IPItemService.findEnabledIPItem:output_type -> pb.FindEnabledIPItemResponse
13, // 32: pb.IPItemService.listIPItemsAfterVersion:output_type -> pb.ListIPItemsAfterVersionResponse
15, // 33: pb.IPItemService.checkIPItemStatus:output_type -> pb.CheckIPItemStatusResponse
17, // 34: pb.IPItemService.existsEnabledIPItem:output_type -> pb.ExistsEnabledIPItemResponse
29, // 35: pb.IPItemService.countAllEnabledIPItems:output_type -> pb.RPCCountResponse
20, // 36: pb.IPItemService.listAllEnabledIPItems:output_type -> pb.ListAllEnabledIPItemsResponse
28, // 37: pb.IPItemService.updateIPItemsRead:output_type -> pb.RPCSuccess
24, // [24:38] is the sub-list for method output_type
10, // [10:24] is the sub-list for method input_type
21, // 23: pb.IPItemService.listAllIPItemIds:input_type -> pb.ListAllIPItemIdsRequest
23, // 24: pb.IPItemService.updateIPItemsRead:input_type -> pb.UpdateIPItemsReadRequest
24, // 25: pb.IPItemService.findServerIdWithIPItemId:input_type -> pb.FindServerIdWithIPItemIdRequest
1, // 26: pb.IPItemService.createIPItem:output_type -> pb.CreateIPItemResponse
3, // 27: pb.IPItemService.createIPItems:output_type -> pb.CreateIPItemsResponse
32, // 28: pb.IPItemService.updateIPItem:output_type -> pb.RPCSuccess
32, // 29: pb.IPItemService.deleteIPItem:output_type -> pb.RPCSuccess
32, // 30: pb.IPItemService.deleteIPItems:output_type -> pb.RPCSuccess
33, // 31: pb.IPItemService.countIPItemsWithListId:output_type -> pb.RPCCountResponse
9, // 32: pb.IPItemService.listIPItemsWithListId:output_type -> pb.ListIPItemsWithListIdResponse
11, // 33: pb.IPItemService.findEnabledIPItem:output_type -> pb.FindEnabledIPItemResponse
13, // 34: pb.IPItemService.listIPItemsAfterVersion:output_type -> pb.ListIPItemsAfterVersionResponse
15, // 35: pb.IPItemService.checkIPItemStatus:output_type -> pb.CheckIPItemStatusResponse
17, // 36: pb.IPItemService.existsEnabledIPItem:output_type -> pb.ExistsEnabledIPItemResponse
33, // 37: pb.IPItemService.countAllEnabledIPItems:output_type -> pb.RPCCountResponse
20, // 38: pb.IPItemService.listAllEnabledIPItems:output_type -> pb.ListAllEnabledIPItemsResponse
22, // 39: pb.IPItemService.listAllIPItemIds:output_type -> pb.ListAllIPItemIdsResponse
32, // 40: pb.IPItemService.updateIPItemsRead:output_type -> pb.RPCSuccess
25, // 41: pb.IPItemService.findServerIdWithIPItemId:output_type -> pb.FindServerIdWithIPItemIdResponse
26, // [26:42] is the sub-list for method output_type
10, // [10:26] is the sub-list for method input_type
10, // [10:10] is the sub-list for extension type_name
10, // [10:10] is the sub-list for extension extendee
0, // [0:10] is the sub-list for field type_name
@@ -2357,7 +2658,7 @@ func file_service_ip_item_proto_init() {
}
}
file_service_ip_item_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UpdateIPItemsReadRequest); i {
switch v := v.(*ListAllIPItemIdsRequest); i {
case 0:
return &v.state
case 1:
@@ -2369,7 +2670,7 @@ func file_service_ip_item_proto_init() {
}
}
file_service_ip_item_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CreateIPItemsRequest_IPItem); i {
switch v := v.(*ListAllIPItemIdsResponse); i {
case 0:
return &v.state
case 1:
@@ -2381,6 +2682,54 @@ func file_service_ip_item_proto_init() {
}
}
file_service_ip_item_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UpdateIPItemsReadRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_ip_item_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FindServerIdWithIPItemIdRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_ip_item_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FindServerIdWithIPItemIdResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_ip_item_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CreateIPItemsRequest_IPItem); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_ip_item_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListAllEnabledIPItemsResponse_Result); i {
case 0:
return &v.state
@@ -2399,7 +2748,7 @@ func file_service_ip_item_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_service_ip_item_proto_rawDesc,
NumEnums: 0,
NumMessages: 24,
NumMessages: 28,
NumExtensions: 0,
NumServices: 1,
},

View File

@@ -19,20 +19,22 @@ import (
const _ = grpc.SupportPackageIsVersion7
const (
IPItemService_CreateIPItem_FullMethodName = "/pb.IPItemService/createIPItem"
IPItemService_CreateIPItems_FullMethodName = "/pb.IPItemService/createIPItems"
IPItemService_UpdateIPItem_FullMethodName = "/pb.IPItemService/updateIPItem"
IPItemService_DeleteIPItem_FullMethodName = "/pb.IPItemService/deleteIPItem"
IPItemService_DeleteIPItems_FullMethodName = "/pb.IPItemService/deleteIPItems"
IPItemService_CountIPItemsWithListId_FullMethodName = "/pb.IPItemService/countIPItemsWithListId"
IPItemService_ListIPItemsWithListId_FullMethodName = "/pb.IPItemService/listIPItemsWithListId"
IPItemService_FindEnabledIPItem_FullMethodName = "/pb.IPItemService/findEnabledIPItem"
IPItemService_ListIPItemsAfterVersion_FullMethodName = "/pb.IPItemService/listIPItemsAfterVersion"
IPItemService_CheckIPItemStatus_FullMethodName = "/pb.IPItemService/checkIPItemStatus"
IPItemService_ExistsEnabledIPItem_FullMethodName = "/pb.IPItemService/existsEnabledIPItem"
IPItemService_CountAllEnabledIPItems_FullMethodName = "/pb.IPItemService/countAllEnabledIPItems"
IPItemService_ListAllEnabledIPItems_FullMethodName = "/pb.IPItemService/listAllEnabledIPItems"
IPItemService_UpdateIPItemsRead_FullMethodName = "/pb.IPItemService/updateIPItemsRead"
IPItemService_CreateIPItem_FullMethodName = "/pb.IPItemService/createIPItem"
IPItemService_CreateIPItems_FullMethodName = "/pb.IPItemService/createIPItems"
IPItemService_UpdateIPItem_FullMethodName = "/pb.IPItemService/updateIPItem"
IPItemService_DeleteIPItem_FullMethodName = "/pb.IPItemService/deleteIPItem"
IPItemService_DeleteIPItems_FullMethodName = "/pb.IPItemService/deleteIPItems"
IPItemService_CountIPItemsWithListId_FullMethodName = "/pb.IPItemService/countIPItemsWithListId"
IPItemService_ListIPItemsWithListId_FullMethodName = "/pb.IPItemService/listIPItemsWithListId"
IPItemService_FindEnabledIPItem_FullMethodName = "/pb.IPItemService/findEnabledIPItem"
IPItemService_ListIPItemsAfterVersion_FullMethodName = "/pb.IPItemService/listIPItemsAfterVersion"
IPItemService_CheckIPItemStatus_FullMethodName = "/pb.IPItemService/checkIPItemStatus"
IPItemService_ExistsEnabledIPItem_FullMethodName = "/pb.IPItemService/existsEnabledIPItem"
IPItemService_CountAllEnabledIPItems_FullMethodName = "/pb.IPItemService/countAllEnabledIPItems"
IPItemService_ListAllEnabledIPItems_FullMethodName = "/pb.IPItemService/listAllEnabledIPItems"
IPItemService_ListAllIPItemIds_FullMethodName = "/pb.IPItemService/listAllIPItemIds"
IPItemService_UpdateIPItemsRead_FullMethodName = "/pb.IPItemService/updateIPItemsRead"
IPItemService_FindServerIdWithIPItemId_FullMethodName = "/pb.IPItemService/findServerIdWithIPItemId"
)
// IPItemServiceClient is the client API for IPItemService service.
@@ -65,8 +67,12 @@ type IPItemServiceClient interface {
CountAllEnabledIPItems(ctx context.Context, in *CountAllEnabledIPItemsRequest, opts ...grpc.CallOption) (*RPCCountResponse, error)
// 列出所有名单中的IP
ListAllEnabledIPItems(ctx context.Context, in *ListAllEnabledIPItemsRequest, opts ...grpc.CallOption) (*ListAllEnabledIPItemsResponse, error)
// 列出所有名单中的IP ID
ListAllIPItemIds(ctx context.Context, in *ListAllIPItemIdsRequest, opts ...grpc.CallOption) (*ListAllIPItemIdsResponse, error)
// 设置所有为已读
UpdateIPItemsRead(ctx context.Context, in *UpdateIPItemsReadRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
// 查找IP对应的名单所属网站ID
FindServerIdWithIPItemId(ctx context.Context, in *FindServerIdWithIPItemIdRequest, opts ...grpc.CallOption) (*FindServerIdWithIPItemIdResponse, error)
}
type iPItemServiceClient struct {
@@ -194,6 +200,15 @@ func (c *iPItemServiceClient) ListAllEnabledIPItems(ctx context.Context, in *Lis
return out, nil
}
func (c *iPItemServiceClient) ListAllIPItemIds(ctx context.Context, in *ListAllIPItemIdsRequest, opts ...grpc.CallOption) (*ListAllIPItemIdsResponse, error) {
out := new(ListAllIPItemIdsResponse)
err := c.cc.Invoke(ctx, IPItemService_ListAllIPItemIds_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *iPItemServiceClient) UpdateIPItemsRead(ctx context.Context, in *UpdateIPItemsReadRequest, opts ...grpc.CallOption) (*RPCSuccess, error) {
out := new(RPCSuccess)
err := c.cc.Invoke(ctx, IPItemService_UpdateIPItemsRead_FullMethodName, in, out, opts...)
@@ -203,6 +218,15 @@ func (c *iPItemServiceClient) UpdateIPItemsRead(ctx context.Context, in *UpdateI
return out, nil
}
func (c *iPItemServiceClient) FindServerIdWithIPItemId(ctx context.Context, in *FindServerIdWithIPItemIdRequest, opts ...grpc.CallOption) (*FindServerIdWithIPItemIdResponse, error) {
out := new(FindServerIdWithIPItemIdResponse)
err := c.cc.Invoke(ctx, IPItemService_FindServerIdWithIPItemId_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// IPItemServiceServer is the server API for IPItemService service.
// All implementations should embed UnimplementedIPItemServiceServer
// for forward compatibility
@@ -233,8 +257,12 @@ type IPItemServiceServer interface {
CountAllEnabledIPItems(context.Context, *CountAllEnabledIPItemsRequest) (*RPCCountResponse, error)
// 列出所有名单中的IP
ListAllEnabledIPItems(context.Context, *ListAllEnabledIPItemsRequest) (*ListAllEnabledIPItemsResponse, error)
// 列出所有名单中的IP ID
ListAllIPItemIds(context.Context, *ListAllIPItemIdsRequest) (*ListAllIPItemIdsResponse, error)
// 设置所有为已读
UpdateIPItemsRead(context.Context, *UpdateIPItemsReadRequest) (*RPCSuccess, error)
// 查找IP对应的名单所属网站ID
FindServerIdWithIPItemId(context.Context, *FindServerIdWithIPItemIdRequest) (*FindServerIdWithIPItemIdResponse, error)
}
// UnimplementedIPItemServiceServer should be embedded to have forward compatible implementations.
@@ -280,9 +308,15 @@ func (UnimplementedIPItemServiceServer) CountAllEnabledIPItems(context.Context,
func (UnimplementedIPItemServiceServer) ListAllEnabledIPItems(context.Context, *ListAllEnabledIPItemsRequest) (*ListAllEnabledIPItemsResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method ListAllEnabledIPItems not implemented")
}
func (UnimplementedIPItemServiceServer) ListAllIPItemIds(context.Context, *ListAllIPItemIdsRequest) (*ListAllIPItemIdsResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method ListAllIPItemIds not implemented")
}
func (UnimplementedIPItemServiceServer) UpdateIPItemsRead(context.Context, *UpdateIPItemsReadRequest) (*RPCSuccess, error) {
return nil, status.Errorf(codes.Unimplemented, "method UpdateIPItemsRead not implemented")
}
func (UnimplementedIPItemServiceServer) FindServerIdWithIPItemId(context.Context, *FindServerIdWithIPItemIdRequest) (*FindServerIdWithIPItemIdResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method FindServerIdWithIPItemId not implemented")
}
// UnsafeIPItemServiceServer may be embedded to opt out of forward compatibility for this service.
// Use of this interface is not recommended, as added methods to IPItemServiceServer will
@@ -529,6 +563,24 @@ func _IPItemService_ListAllEnabledIPItems_Handler(srv interface{}, ctx context.C
return interceptor(ctx, in, info, handler)
}
func _IPItemService_ListAllIPItemIds_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ListAllIPItemIdsRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(IPItemServiceServer).ListAllIPItemIds(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: IPItemService_ListAllIPItemIds_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(IPItemServiceServer).ListAllIPItemIds(ctx, req.(*ListAllIPItemIdsRequest))
}
return interceptor(ctx, in, info, handler)
}
func _IPItemService_UpdateIPItemsRead_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(UpdateIPItemsReadRequest)
if err := dec(in); err != nil {
@@ -547,6 +599,24 @@ func _IPItemService_UpdateIPItemsRead_Handler(srv interface{}, ctx context.Conte
return interceptor(ctx, in, info, handler)
}
func _IPItemService_FindServerIdWithIPItemId_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(FindServerIdWithIPItemIdRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(IPItemServiceServer).FindServerIdWithIPItemId(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: IPItemService_FindServerIdWithIPItemId_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(IPItemServiceServer).FindServerIdWithIPItemId(ctx, req.(*FindServerIdWithIPItemIdRequest))
}
return interceptor(ctx, in, info, handler)
}
// IPItemService_ServiceDesc is the grpc.ServiceDesc for IPItemService service.
// It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy)
@@ -606,10 +676,18 @@ var IPItemService_ServiceDesc = grpc.ServiceDesc{
MethodName: "listAllEnabledIPItems",
Handler: _IPItemService_ListAllEnabledIPItems_Handler,
},
{
MethodName: "listAllIPItemIds",
Handler: _IPItemService_ListAllIPItemIds_Handler,
},
{
MethodName: "updateIPItemsRead",
Handler: _IPItemService_UpdateIPItemsRead_Handler,
},
{
MethodName: "findServerIdWithIPItemId",
Handler: _IPItemService_FindServerIdWithIPItemId_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "service_ip_item.proto",

View File

@@ -775,6 +775,101 @@ func (x *FindEnabledIPListContainsIPResponse) GetIpLists() []*IPList {
return nil
}
// 查找IP名单对应的网站ID
type FindServerIdWithIPListIdRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
IpListId int64 `protobuf:"varint,1,opt,name=ipListId,proto3" json:"ipListId,omitempty"` // IP名单ID
}
func (x *FindServerIdWithIPListIdRequest) Reset() {
*x = FindServerIdWithIPListIdRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_service_ip_list_proto_msgTypes[13]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FindServerIdWithIPListIdRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FindServerIdWithIPListIdRequest) ProtoMessage() {}
func (x *FindServerIdWithIPListIdRequest) ProtoReflect() protoreflect.Message {
mi := &file_service_ip_list_proto_msgTypes[13]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use FindServerIdWithIPListIdRequest.ProtoReflect.Descriptor instead.
func (*FindServerIdWithIPListIdRequest) Descriptor() ([]byte, []int) {
return file_service_ip_list_proto_rawDescGZIP(), []int{13}
}
func (x *FindServerIdWithIPListIdRequest) GetIpListId() int64 {
if x != nil {
return x.IpListId
}
return 0
}
type FindServerIdWithIPListIdResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ServerId int64 `protobuf:"varint,1,opt,name=serverId,proto3" json:"serverId,omitempty"` // 网站ID如果是公共IP名单则对应的网站ID为0
}
func (x *FindServerIdWithIPListIdResponse) Reset() {
*x = FindServerIdWithIPListIdResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_service_ip_list_proto_msgTypes[14]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FindServerIdWithIPListIdResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FindServerIdWithIPListIdResponse) ProtoMessage() {}
func (x *FindServerIdWithIPListIdResponse) ProtoReflect() protoreflect.Message {
mi := &file_service_ip_list_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 FindServerIdWithIPListIdResponse.ProtoReflect.Descriptor instead.
func (*FindServerIdWithIPListIdResponse) Descriptor() ([]byte, []int) {
return file_service_ip_list_proto_rawDescGZIP(), []int{14}
}
func (x *FindServerIdWithIPListIdResponse) GetServerId() int64 {
if x != nil {
return x.ServerId
}
return 0
}
var File_service_ip_list_proto protoreflect.FileDescriptor
var file_service_ip_list_proto_rawDesc = []byte{
@@ -857,48 +952,63 @@ var file_service_ip_list_proto_rawDesc = []byte{
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,
0x4c, 0x69, 0x73, 0x74, 0x73, 0x22, 0x3d, 0x0a, 0x1f, 0x46, 0x69, 0x6e, 0x64, 0x53, 0x65, 0x72,
0x76, 0x65, 0x72, 0x49, 0x64, 0x57, 0x69, 0x74, 0x68, 0x49, 0x50, 0x4c, 0x69, 0x73, 0x74, 0x49,
0x64, 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, 0x3e, 0x0a, 0x20, 0x46, 0x69, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76,
0x65, 0x72, 0x49, 0x64, 0x57, 0x69, 0x74, 0x68, 0x49, 0x50, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x64,
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x72, 0x76,
0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76,
0x65, 0x72, 0x49, 0x64, 0x32, 0xed, 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, 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,
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, 0x12, 0x65, 0x0a,
0x18, 0x66, 0x69, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x57, 0x69, 0x74,
0x68, 0x49, 0x50, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x64, 0x12, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x46,
0x69, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x57, 0x69, 0x74, 0x68, 0x49,
0x50, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24,
0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64,
0x57, 0x69, 0x74, 0x68, 0x49, 0x50, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x64, 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 (
@@ -913,7 +1023,7 @@ func file_service_ip_list_proto_rawDescGZIP() []byte {
return file_service_ip_list_proto_rawDescData
}
var file_service_ip_list_proto_msgTypes = make([]protoimpl.MessageInfo, 13)
var file_service_ip_list_proto_msgTypes = make([]protoimpl.MessageInfo, 15)
var file_service_ip_list_proto_goTypes = []interface{}{
(*CreateIPListRequest)(nil), // 0: pb.CreateIPListRequest
(*CreateIPListResponse)(nil), // 1: pb.CreateIPListResponse
@@ -928,14 +1038,16 @@ var file_service_ip_list_proto_goTypes = []interface{}{
(*ExistsEnabledIPListResponse)(nil), // 10: pb.ExistsEnabledIPListResponse
(*FindEnabledIPListContainsIPRequest)(nil), // 11: pb.FindEnabledIPListContainsIPRequest
(*FindEnabledIPListContainsIPResponse)(nil), // 12: pb.FindEnabledIPListContainsIPResponse
(*IPList)(nil), // 13: pb.IPList
(*RPCSuccess)(nil), // 14: pb.RPCSuccess
(*RPCCountResponse)(nil), // 15: pb.RPCCountResponse
(*FindServerIdWithIPListIdRequest)(nil), // 13: pb.FindServerIdWithIPListIdRequest
(*FindServerIdWithIPListIdResponse)(nil), // 14: pb.FindServerIdWithIPListIdResponse
(*IPList)(nil), // 15: pb.IPList
(*RPCSuccess)(nil), // 16: pb.RPCSuccess
(*RPCCountResponse)(nil), // 17: pb.RPCCountResponse
}
var file_service_ip_list_proto_depIdxs = []int32{
13, // 0: pb.FindEnabledIPListResponse.ipList:type_name -> pb.IPList
13, // 1: pb.ListEnabledIPListsResponse.ipLists:type_name -> pb.IPList
13, // 2: pb.FindEnabledIPListContainsIPResponse.ipLists:type_name -> pb.IPList
15, // 0: pb.FindEnabledIPListResponse.ipList:type_name -> pb.IPList
15, // 1: pb.ListEnabledIPListsResponse.ipLists:type_name -> pb.IPList
15, // 2: pb.FindEnabledIPListContainsIPResponse.ipLists:type_name -> pb.IPList
0, // 3: pb.IPListService.createIPList:input_type -> pb.CreateIPListRequest
2, // 4: pb.IPListService.updateIPList:input_type -> pb.UpdateIPListRequest
3, // 5: pb.IPListService.findEnabledIPList:input_type -> pb.FindEnabledIPListRequest
@@ -944,16 +1056,18 @@ var file_service_ip_list_proto_depIdxs = []int32{
8, // 8: pb.IPListService.deleteIPList:input_type -> pb.DeleteIPListRequest
9, // 9: pb.IPListService.existsEnabledIPList:input_type -> pb.ExistsEnabledIPListRequest
11, // 10: pb.IPListService.findEnabledIPListContainsIP:input_type -> pb.FindEnabledIPListContainsIPRequest
1, // 11: pb.IPListService.createIPList:output_type -> pb.CreateIPListResponse
14, // 12: pb.IPListService.updateIPList:output_type -> pb.RPCSuccess
4, // 13: pb.IPListService.findEnabledIPList:output_type -> pb.FindEnabledIPListResponse
15, // 14: pb.IPListService.countAllEnabledIPLists:output_type -> pb.RPCCountResponse
7, // 15: pb.IPListService.listEnabledIPLists:output_type -> pb.ListEnabledIPListsResponse
14, // 16: pb.IPListService.deleteIPList:output_type -> pb.RPCSuccess
10, // 17: pb.IPListService.existsEnabledIPList:output_type -> pb.ExistsEnabledIPListResponse
12, // 18: pb.IPListService.findEnabledIPListContainsIP:output_type -> pb.FindEnabledIPListContainsIPResponse
11, // [11:19] is the sub-list for method output_type
3, // [3:11] is the sub-list for method input_type
13, // 11: pb.IPListService.findServerIdWithIPListId:input_type -> pb.FindServerIdWithIPListIdRequest
1, // 12: pb.IPListService.createIPList:output_type -> pb.CreateIPListResponse
16, // 13: pb.IPListService.updateIPList:output_type -> pb.RPCSuccess
4, // 14: pb.IPListService.findEnabledIPList:output_type -> pb.FindEnabledIPListResponse
17, // 15: pb.IPListService.countAllEnabledIPLists:output_type -> pb.RPCCountResponse
7, // 16: pb.IPListService.listEnabledIPLists:output_type -> pb.ListEnabledIPListsResponse
16, // 17: pb.IPListService.deleteIPList:output_type -> pb.RPCSuccess
10, // 18: pb.IPListService.existsEnabledIPList:output_type -> pb.ExistsEnabledIPListResponse
12, // 19: pb.IPListService.findEnabledIPListContainsIP:output_type -> pb.FindEnabledIPListContainsIPResponse
14, // 20: pb.IPListService.findServerIdWithIPListId:output_type -> pb.FindServerIdWithIPListIdResponse
12, // [12:21] is the sub-list for method output_type
3, // [3:12] 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
@@ -1123,6 +1237,30 @@ func file_service_ip_list_proto_init() {
return nil
}
}
file_service_ip_list_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FindServerIdWithIPListIdRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_ip_list_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FindServerIdWithIPListIdResponse); 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{
@@ -1130,7 +1268,7 @@ func file_service_ip_list_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_service_ip_list_proto_rawDesc,
NumEnums: 0,
NumMessages: 13,
NumMessages: 15,
NumExtensions: 0,
NumServices: 1,
},

View File

@@ -27,6 +27,7 @@ const (
IPListService_DeleteIPList_FullMethodName = "/pb.IPListService/deleteIPList"
IPListService_ExistsEnabledIPList_FullMethodName = "/pb.IPListService/existsEnabledIPList"
IPListService_FindEnabledIPListContainsIP_FullMethodName = "/pb.IPListService/findEnabledIPListContainsIP"
IPListService_FindServerIdWithIPListId_FullMethodName = "/pb.IPListService/findServerIdWithIPListId"
)
// IPListServiceClient is the client API for IPListService service.
@@ -49,6 +50,8 @@ type IPListServiceClient interface {
ExistsEnabledIPList(ctx context.Context, in *ExistsEnabledIPListRequest, opts ...grpc.CallOption) (*ExistsEnabledIPListResponse, error)
// 根据IP来搜索IP名单
FindEnabledIPListContainsIP(ctx context.Context, in *FindEnabledIPListContainsIPRequest, opts ...grpc.CallOption) (*FindEnabledIPListContainsIPResponse, error)
// 查找IP名单对应的网站ID
FindServerIdWithIPListId(ctx context.Context, in *FindServerIdWithIPListIdRequest, opts ...grpc.CallOption) (*FindServerIdWithIPListIdResponse, error)
}
type iPListServiceClient struct {
@@ -131,6 +134,15 @@ func (c *iPListServiceClient) FindEnabledIPListContainsIP(ctx context.Context, i
return out, nil
}
func (c *iPListServiceClient) FindServerIdWithIPListId(ctx context.Context, in *FindServerIdWithIPListIdRequest, opts ...grpc.CallOption) (*FindServerIdWithIPListIdResponse, error) {
out := new(FindServerIdWithIPListIdResponse)
err := c.cc.Invoke(ctx, IPListService_FindServerIdWithIPListId_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// IPListServiceServer is the server API for IPListService service.
// All implementations should embed UnimplementedIPListServiceServer
// for forward compatibility
@@ -151,6 +163,8 @@ type IPListServiceServer interface {
ExistsEnabledIPList(context.Context, *ExistsEnabledIPListRequest) (*ExistsEnabledIPListResponse, error)
// 根据IP来搜索IP名单
FindEnabledIPListContainsIP(context.Context, *FindEnabledIPListContainsIPRequest) (*FindEnabledIPListContainsIPResponse, error)
// 查找IP名单对应的网站ID
FindServerIdWithIPListId(context.Context, *FindServerIdWithIPListIdRequest) (*FindServerIdWithIPListIdResponse, error)
}
// UnimplementedIPListServiceServer should be embedded to have forward compatible implementations.
@@ -181,6 +195,9 @@ func (UnimplementedIPListServiceServer) ExistsEnabledIPList(context.Context, *Ex
func (UnimplementedIPListServiceServer) FindEnabledIPListContainsIP(context.Context, *FindEnabledIPListContainsIPRequest) (*FindEnabledIPListContainsIPResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method FindEnabledIPListContainsIP not implemented")
}
func (UnimplementedIPListServiceServer) FindServerIdWithIPListId(context.Context, *FindServerIdWithIPListIdRequest) (*FindServerIdWithIPListIdResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method FindServerIdWithIPListId not implemented")
}
// UnsafeIPListServiceServer may be embedded to opt out of forward compatibility for this service.
// Use of this interface is not recommended, as added methods to IPListServiceServer will
@@ -337,6 +354,24 @@ func _IPListService_FindEnabledIPListContainsIP_Handler(srv interface{}, ctx con
return interceptor(ctx, in, info, handler)
}
func _IPListService_FindServerIdWithIPListId_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(FindServerIdWithIPListIdRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(IPListServiceServer).FindServerIdWithIPListId(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: IPListService_FindServerIdWithIPListId_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(IPListServiceServer).FindServerIdWithIPListId(ctx, req.(*FindServerIdWithIPListIdRequest))
}
return interceptor(ctx, in, info, handler)
}
// IPListService_ServiceDesc is the grpc.ServiceDesc for IPListService service.
// It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy)
@@ -376,6 +411,10 @@ var IPListService_ServiceDesc = grpc.ServiceDesc{
MethodName: "findEnabledIPListContainsIP",
Handler: _IPListService_FindEnabledIPListContainsIP_Handler,
},
{
MethodName: "findServerIdWithIPListId",
Handler: _IPListService_FindServerIdWithIPListId_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "service_ip_list.proto",

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -83,6 +83,8 @@ const (
NodeService_CopyNodeActionsToNodeCluster_FullMethodName = "/pb.NodeService/copyNodeActionsToNodeCluster"
NodeService_FindNodeTOAConfig_FullMethodName = "/pb.NodeService/findNodeTOAConfig"
NodeService_FindNodeNetworkSecurityPolicy_FullMethodName = "/pb.NodeService/findNodeNetworkSecurityPolicy"
NodeService_FindNodeWebPPolicies_FullMethodName = "/pb.NodeService/findNodeWebPPolicies"
NodeService_UpdateNodeIsOn_FullMethodName = "/pb.NodeService/updateNodeIsOn"
)
// NodeServiceClient is the client API for NodeService service.
@@ -217,6 +219,10 @@ type NodeServiceClient interface {
FindNodeTOAConfig(ctx context.Context, in *FindNodeTOAConfigRequest, opts ...grpc.CallOption) (*FindNodeTOAConfigResponse, error)
// 查找节点的网络安全策略
FindNodeNetworkSecurityPolicy(ctx context.Context, in *FindNodeNetworkSecurityPolicyRequest, opts ...grpc.CallOption) (*FindNodeNetworkSecurityPolicyResponse, error)
// 查找节点的WebP策略
FindNodeWebPPolicies(ctx context.Context, in *FindNodeWebPPoliciesRequest, opts ...grpc.CallOption) (*FindNodeWebPPoliciesResponse, error)
// 修改节点的启用状态
UpdateNodeIsOn(ctx context.Context, in *UpdateNodeIsOnRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
}
type nodeServiceClient struct {
@@ -825,6 +831,24 @@ func (c *nodeServiceClient) FindNodeNetworkSecurityPolicy(ctx context.Context, i
return out, nil
}
func (c *nodeServiceClient) FindNodeWebPPolicies(ctx context.Context, in *FindNodeWebPPoliciesRequest, opts ...grpc.CallOption) (*FindNodeWebPPoliciesResponse, error) {
out := new(FindNodeWebPPoliciesResponse)
err := c.cc.Invoke(ctx, NodeService_FindNodeWebPPolicies_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *nodeServiceClient) UpdateNodeIsOn(ctx context.Context, in *UpdateNodeIsOnRequest, opts ...grpc.CallOption) (*RPCSuccess, error) {
out := new(RPCSuccess)
err := c.cc.Invoke(ctx, NodeService_UpdateNodeIsOn_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// NodeServiceServer is the server API for NodeService service.
// All implementations should embed UnimplementedNodeServiceServer
// for forward compatibility
@@ -957,6 +981,10 @@ type NodeServiceServer interface {
FindNodeTOAConfig(context.Context, *FindNodeTOAConfigRequest) (*FindNodeTOAConfigResponse, error)
// 查找节点的网络安全策略
FindNodeNetworkSecurityPolicy(context.Context, *FindNodeNetworkSecurityPolicyRequest) (*FindNodeNetworkSecurityPolicyResponse, error)
// 查找节点的WebP策略
FindNodeWebPPolicies(context.Context, *FindNodeWebPPoliciesRequest) (*FindNodeWebPPoliciesResponse, error)
// 修改节点的启用状态
UpdateNodeIsOn(context.Context, *UpdateNodeIsOnRequest) (*RPCSuccess, error)
}
// UnimplementedNodeServiceServer should be embedded to have forward compatible implementations.
@@ -1155,6 +1183,12 @@ func (UnimplementedNodeServiceServer) FindNodeTOAConfig(context.Context, *FindNo
func (UnimplementedNodeServiceServer) FindNodeNetworkSecurityPolicy(context.Context, *FindNodeNetworkSecurityPolicyRequest) (*FindNodeNetworkSecurityPolicyResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method FindNodeNetworkSecurityPolicy not implemented")
}
func (UnimplementedNodeServiceServer) FindNodeWebPPolicies(context.Context, *FindNodeWebPPoliciesRequest) (*FindNodeWebPPoliciesResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method FindNodeWebPPolicies not implemented")
}
func (UnimplementedNodeServiceServer) UpdateNodeIsOn(context.Context, *UpdateNodeIsOnRequest) (*RPCSuccess, error) {
return nil, status.Errorf(codes.Unimplemented, "method UpdateNodeIsOn not implemented")
}
// UnsafeNodeServiceServer may be embedded to opt out of forward compatibility for this service.
// Use of this interface is not recommended, as added methods to NodeServiceServer will
@@ -2327,6 +2361,42 @@ func _NodeService_FindNodeNetworkSecurityPolicy_Handler(srv interface{}, ctx con
return interceptor(ctx, in, info, handler)
}
func _NodeService_FindNodeWebPPolicies_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(FindNodeWebPPoliciesRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(NodeServiceServer).FindNodeWebPPolicies(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: NodeService_FindNodeWebPPolicies_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(NodeServiceServer).FindNodeWebPPolicies(ctx, req.(*FindNodeWebPPoliciesRequest))
}
return interceptor(ctx, in, info, handler)
}
func _NodeService_UpdateNodeIsOn_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(UpdateNodeIsOnRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(NodeServiceServer).UpdateNodeIsOn(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: NodeService_UpdateNodeIsOn_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(NodeServiceServer).UpdateNodeIsOn(ctx, req.(*UpdateNodeIsOnRequest))
}
return interceptor(ctx, in, info, handler)
}
// NodeService_ServiceDesc is the grpc.ServiceDesc for NodeService service.
// It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy)
@@ -2586,6 +2656,14 @@ var NodeService_ServiceDesc = grpc.ServiceDesc{
MethodName: "findNodeNetworkSecurityPolicy",
Handler: _NodeService_FindNodeNetworkSecurityPolicy_Handler,
},
{
MethodName: "findNodeWebPPolicies",
Handler: _NodeService_FindNodeWebPPolicies_Handler,
},
{
MethodName: "updateNodeIsOn",
Handler: _NodeService_UpdateNodeIsOn_Handler,
},
},
Streams: []grpc.StreamDesc{
{

View File

@@ -31,7 +31,7 @@ type CreateOriginRequest struct {
OssJSON []byte `protobuf:"bytes,15,opt,name=ossJSON,proto3" json:"ossJSON,omitempty"` // OSS配置信息源站网络地址中protocol为oss:开头时需要设置此项
Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` // 描述,为可选项
Weight int32 `protobuf:"varint,4,opt,name=weight,proto3" json:"weight,omitempty"` // 权重不小于0一般设置为10
IsOn bool `protobuf:"varint,5,opt,name=isOn,proto3" json:"isOn,omitempty"` // 是否启用
IsOn bool `protobuf:"varint,5,opt,name=isOn,proto3" json:"isOn,omitempty"` // 是否启用一般为true
ConnTimeoutJSON []byte `protobuf:"bytes,6,opt,name=connTimeoutJSON,proto3" json:"connTimeoutJSON,omitempty"` // 可选项,连接超时时间
ReadTimeoutJSON []byte `protobuf:"bytes,7,opt,name=readTimeoutJSON,proto3" json:"readTimeoutJSON,omitempty"` // 可选项,读取超时时间
IdleTimeoutJSON []byte `protobuf:"bytes,8,opt,name=idleTimeoutJSON,proto3" json:"idleTimeoutJSON,omitempty"` // 可选项,空闲超时时间
@@ -417,7 +417,7 @@ type FindEnabledOriginRequest struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
OriginId int64 `protobuf:"varint,1,opt,name=originId,proto3" json:"originId,omitempty"`
OriginId int64 `protobuf:"varint,1,opt,name=originId,proto3" json:"originId,omitempty"` // 源站ID
}
func (x *FindEnabledOriginRequest) Reset() {
@@ -464,7 +464,7 @@ type FindEnabledOriginResponse struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Origin *Origin `protobuf:"bytes,1,opt,name=Origin,proto3" json:"Origin,omitempty"`
Origin *Origin `protobuf:"bytes,1,opt,name=Origin,proto3" json:"Origin,omitempty"` // 源站信息
}
func (x *FindEnabledOriginResponse) Reset() {
@@ -512,7 +512,7 @@ type FindEnabledOriginConfigRequest struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
OriginId int64 `protobuf:"varint,1,opt,name=originId,proto3" json:"originId,omitempty"`
OriginId int64 `protobuf:"varint,1,opt,name=originId,proto3" json:"originId,omitempty"` // 源站ID
}
func (x *FindEnabledOriginConfigRequest) Reset() {
@@ -559,7 +559,7 @@ type FindEnabledOriginConfigResponse struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
OriginJSON []byte `protobuf:"bytes,1,opt,name=originJSON,proto3" json:"originJSON,omitempty"`
OriginJSON []byte `protobuf:"bytes,1,opt,name=originJSON,proto3" json:"originJSON,omitempty"` // 源站信息
}
func (x *FindEnabledOriginConfigResponse) Reset() {

File diff suppressed because it is too large Load Diff

View File

@@ -19,13 +19,16 @@ import (
const _ = grpc.SupportPackageIsVersion7
const (
PlanService_CreatePlan_FullMethodName = "/pb.PlanService/createPlan"
PlanService_UpdatePlan_FullMethodName = "/pb.PlanService/updatePlan"
PlanService_DeletePlan_FullMethodName = "/pb.PlanService/deletePlan"
PlanService_FindEnabledPlan_FullMethodName = "/pb.PlanService/findEnabledPlan"
PlanService_CountAllEnabledPlans_FullMethodName = "/pb.PlanService/countAllEnabledPlans"
PlanService_ListEnabledPlans_FullMethodName = "/pb.PlanService/listEnabledPlans"
PlanService_SortPlans_FullMethodName = "/pb.PlanService/sortPlans"
PlanService_CreatePlan_FullMethodName = "/pb.PlanService/createPlan"
PlanService_UpdatePlan_FullMethodName = "/pb.PlanService/updatePlan"
PlanService_DeletePlan_FullMethodName = "/pb.PlanService/deletePlan"
PlanService_FindEnabledPlan_FullMethodName = "/pb.PlanService/findEnabledPlan"
PlanService_FindBasicPlan_FullMethodName = "/pb.PlanService/findBasicPlan"
PlanService_CountAllEnabledPlans_FullMethodName = "/pb.PlanService/countAllEnabledPlans"
PlanService_ListEnabledPlans_FullMethodName = "/pb.PlanService/listEnabledPlans"
PlanService_FindAllAvailablePlans_FullMethodName = "/pb.PlanService/findAllAvailablePlans"
PlanService_FindAllAvailableBasicPlans_FullMethodName = "/pb.PlanService/findAllAvailableBasicPlans"
PlanService_SortPlans_FullMethodName = "/pb.PlanService/sortPlans"
)
// PlanServiceClient is the client API for PlanService service.
@@ -40,10 +43,16 @@ type PlanServiceClient interface {
DeletePlan(ctx context.Context, in *DeletePlanRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
// 查找单个套餐
FindEnabledPlan(ctx context.Context, in *FindEnabledPlanRequest, opts ...grpc.CallOption) (*FindEnabledPlanResponse, error)
// 查找套餐基本信息
FindBasicPlan(ctx context.Context, in *FindBasicPlanRequest, opts ...grpc.CallOption) (*FindBasicPlanResponse, error)
// 计算套餐数量
CountAllEnabledPlans(ctx context.Context, in *CountAllEnabledPlansRequest, opts ...grpc.CallOption) (*RPCCountResponse, error)
// 列出单页套餐
ListEnabledPlans(ctx context.Context, in *ListEnabledPlansRequest, opts ...grpc.CallOption) (*ListEnabledPlansResponse, error)
// 列出所有可用的套餐
FindAllAvailablePlans(ctx context.Context, in *FindAllAvailablePlansRequest, opts ...grpc.CallOption) (*FindAllAvailablePlansResponse, error)
// 列出所有可用的套餐的基本信息
FindAllAvailableBasicPlans(ctx context.Context, in *FindAllAvailableBasicPlansRequest, opts ...grpc.CallOption) (*FindAllAvailableBasicPlansResponse, error)
// 对套餐进行排序
SortPlans(ctx context.Context, in *SortPlansRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
}
@@ -92,6 +101,15 @@ func (c *planServiceClient) FindEnabledPlan(ctx context.Context, in *FindEnabled
return out, nil
}
func (c *planServiceClient) FindBasicPlan(ctx context.Context, in *FindBasicPlanRequest, opts ...grpc.CallOption) (*FindBasicPlanResponse, error) {
out := new(FindBasicPlanResponse)
err := c.cc.Invoke(ctx, PlanService_FindBasicPlan_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *planServiceClient) CountAllEnabledPlans(ctx context.Context, in *CountAllEnabledPlansRequest, opts ...grpc.CallOption) (*RPCCountResponse, error) {
out := new(RPCCountResponse)
err := c.cc.Invoke(ctx, PlanService_CountAllEnabledPlans_FullMethodName, in, out, opts...)
@@ -110,6 +128,24 @@ func (c *planServiceClient) ListEnabledPlans(ctx context.Context, in *ListEnable
return out, nil
}
func (c *planServiceClient) FindAllAvailablePlans(ctx context.Context, in *FindAllAvailablePlansRequest, opts ...grpc.CallOption) (*FindAllAvailablePlansResponse, error) {
out := new(FindAllAvailablePlansResponse)
err := c.cc.Invoke(ctx, PlanService_FindAllAvailablePlans_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *planServiceClient) FindAllAvailableBasicPlans(ctx context.Context, in *FindAllAvailableBasicPlansRequest, opts ...grpc.CallOption) (*FindAllAvailableBasicPlansResponse, error) {
out := new(FindAllAvailableBasicPlansResponse)
err := c.cc.Invoke(ctx, PlanService_FindAllAvailableBasicPlans_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *planServiceClient) SortPlans(ctx context.Context, in *SortPlansRequest, opts ...grpc.CallOption) (*RPCSuccess, error) {
out := new(RPCSuccess)
err := c.cc.Invoke(ctx, PlanService_SortPlans_FullMethodName, in, out, opts...)
@@ -131,10 +167,16 @@ type PlanServiceServer interface {
DeletePlan(context.Context, *DeletePlanRequest) (*RPCSuccess, error)
// 查找单个套餐
FindEnabledPlan(context.Context, *FindEnabledPlanRequest) (*FindEnabledPlanResponse, error)
// 查找套餐基本信息
FindBasicPlan(context.Context, *FindBasicPlanRequest) (*FindBasicPlanResponse, error)
// 计算套餐数量
CountAllEnabledPlans(context.Context, *CountAllEnabledPlansRequest) (*RPCCountResponse, error)
// 列出单页套餐
ListEnabledPlans(context.Context, *ListEnabledPlansRequest) (*ListEnabledPlansResponse, error)
// 列出所有可用的套餐
FindAllAvailablePlans(context.Context, *FindAllAvailablePlansRequest) (*FindAllAvailablePlansResponse, error)
// 列出所有可用的套餐的基本信息
FindAllAvailableBasicPlans(context.Context, *FindAllAvailableBasicPlansRequest) (*FindAllAvailableBasicPlansResponse, error)
// 对套餐进行排序
SortPlans(context.Context, *SortPlansRequest) (*RPCSuccess, error)
}
@@ -155,12 +197,21 @@ func (UnimplementedPlanServiceServer) DeletePlan(context.Context, *DeletePlanReq
func (UnimplementedPlanServiceServer) FindEnabledPlan(context.Context, *FindEnabledPlanRequest) (*FindEnabledPlanResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method FindEnabledPlan not implemented")
}
func (UnimplementedPlanServiceServer) FindBasicPlan(context.Context, *FindBasicPlanRequest) (*FindBasicPlanResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method FindBasicPlan not implemented")
}
func (UnimplementedPlanServiceServer) CountAllEnabledPlans(context.Context, *CountAllEnabledPlansRequest) (*RPCCountResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method CountAllEnabledPlans not implemented")
}
func (UnimplementedPlanServiceServer) ListEnabledPlans(context.Context, *ListEnabledPlansRequest) (*ListEnabledPlansResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method ListEnabledPlans not implemented")
}
func (UnimplementedPlanServiceServer) FindAllAvailablePlans(context.Context, *FindAllAvailablePlansRequest) (*FindAllAvailablePlansResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method FindAllAvailablePlans not implemented")
}
func (UnimplementedPlanServiceServer) FindAllAvailableBasicPlans(context.Context, *FindAllAvailableBasicPlansRequest) (*FindAllAvailableBasicPlansResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method FindAllAvailableBasicPlans not implemented")
}
func (UnimplementedPlanServiceServer) SortPlans(context.Context, *SortPlansRequest) (*RPCSuccess, error) {
return nil, status.Errorf(codes.Unimplemented, "method SortPlans not implemented")
}
@@ -248,6 +299,24 @@ func _PlanService_FindEnabledPlan_Handler(srv interface{}, ctx context.Context,
return interceptor(ctx, in, info, handler)
}
func _PlanService_FindBasicPlan_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(FindBasicPlanRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(PlanServiceServer).FindBasicPlan(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: PlanService_FindBasicPlan_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(PlanServiceServer).FindBasicPlan(ctx, req.(*FindBasicPlanRequest))
}
return interceptor(ctx, in, info, handler)
}
func _PlanService_CountAllEnabledPlans_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(CountAllEnabledPlansRequest)
if err := dec(in); err != nil {
@@ -284,6 +353,42 @@ func _PlanService_ListEnabledPlans_Handler(srv interface{}, ctx context.Context,
return interceptor(ctx, in, info, handler)
}
func _PlanService_FindAllAvailablePlans_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(FindAllAvailablePlansRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(PlanServiceServer).FindAllAvailablePlans(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: PlanService_FindAllAvailablePlans_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(PlanServiceServer).FindAllAvailablePlans(ctx, req.(*FindAllAvailablePlansRequest))
}
return interceptor(ctx, in, info, handler)
}
func _PlanService_FindAllAvailableBasicPlans_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(FindAllAvailableBasicPlansRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(PlanServiceServer).FindAllAvailableBasicPlans(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: PlanService_FindAllAvailableBasicPlans_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(PlanServiceServer).FindAllAvailableBasicPlans(ctx, req.(*FindAllAvailableBasicPlansRequest))
}
return interceptor(ctx, in, info, handler)
}
func _PlanService_SortPlans_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(SortPlansRequest)
if err := dec(in); err != nil {
@@ -325,6 +430,10 @@ var PlanService_ServiceDesc = grpc.ServiceDesc{
MethodName: "findEnabledPlan",
Handler: _PlanService_FindEnabledPlan_Handler,
},
{
MethodName: "findBasicPlan",
Handler: _PlanService_FindBasicPlan_Handler,
},
{
MethodName: "countAllEnabledPlans",
Handler: _PlanService_CountAllEnabledPlans_Handler,
@@ -333,6 +442,14 @@ var PlanService_ServiceDesc = grpc.ServiceDesc{
MethodName: "listEnabledPlans",
Handler: _PlanService_ListEnabledPlans_Handler,
},
{
MethodName: "findAllAvailablePlans",
Handler: _PlanService_FindAllAvailablePlans_Handler,
},
{
MethodName: "findAllAvailableBasicPlans",
Handler: _PlanService_FindAllAvailableBasicPlans_Handler,
},
{
MethodName: "sortPlans",
Handler: _PlanService_SortPlans_Handler,

View File

@@ -0,0 +1,966 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.31.0
// protoc v3.19.4
// source: service_post.proto
package pb
import (
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)
)
// 创建文章
type CreatePostRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
PostCategoryId int64 `protobuf:"varint,1,opt,name=postCategoryId,proto3" json:"postCategoryId,omitempty"` // 文章分类ID
Type string `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"` // 类型normal, url
ProductCode string `protobuf:"bytes,3,opt,name=productCode,proto3" json:"productCode,omitempty"` // 产品代号
Subject string `protobuf:"bytes,4,opt,name=subject,proto3" json:"subject,omitempty"` // 标题
Url string `protobuf:"bytes,5,opt,name=url,proto3" json:"url,omitempty"` // 跳转的URLtype=url
Body string `protobuf:"bytes,6,opt,name=body,proto3" json:"body,omitempty"` // 文章内容type=normal
}
func (x *CreatePostRequest) Reset() {
*x = CreatePostRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_service_post_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CreatePostRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CreatePostRequest) ProtoMessage() {}
func (x *CreatePostRequest) ProtoReflect() protoreflect.Message {
mi := &file_service_post_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 CreatePostRequest.ProtoReflect.Descriptor instead.
func (*CreatePostRequest) Descriptor() ([]byte, []int) {
return file_service_post_proto_rawDescGZIP(), []int{0}
}
func (x *CreatePostRequest) GetPostCategoryId() int64 {
if x != nil {
return x.PostCategoryId
}
return 0
}
func (x *CreatePostRequest) GetType() string {
if x != nil {
return x.Type
}
return ""
}
func (x *CreatePostRequest) GetProductCode() string {
if x != nil {
return x.ProductCode
}
return ""
}
func (x *CreatePostRequest) GetSubject() string {
if x != nil {
return x.Subject
}
return ""
}
func (x *CreatePostRequest) GetUrl() string {
if x != nil {
return x.Url
}
return ""
}
func (x *CreatePostRequest) GetBody() string {
if x != nil {
return x.Body
}
return ""
}
type CreatePostResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
PostId int64 `protobuf:"varint,1,opt,name=postId,proto3" json:"postId,omitempty"` // 文章ID
}
func (x *CreatePostResponse) Reset() {
*x = CreatePostResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_service_post_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CreatePostResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CreatePostResponse) ProtoMessage() {}
func (x *CreatePostResponse) ProtoReflect() protoreflect.Message {
mi := &file_service_post_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 CreatePostResponse.ProtoReflect.Descriptor instead.
func (*CreatePostResponse) Descriptor() ([]byte, []int) {
return file_service_post_proto_rawDescGZIP(), []int{1}
}
func (x *CreatePostResponse) GetPostId() int64 {
if x != nil {
return x.PostId
}
return 0
}
// 修改文章
type UpdatePostRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
PostId int64 `protobuf:"varint,1,opt,name=postId,proto3" json:"postId,omitempty"` // 文章ID
PostCategoryId int64 `protobuf:"varint,2,opt,name=postCategoryId,proto3" json:"postCategoryId,omitempty"` // 文章分类ID
ProductCode string `protobuf:"bytes,3,opt,name=productCode,proto3" json:"productCode,omitempty"` // 产品代号
Subject string `protobuf:"bytes,4,opt,name=subject,proto3" json:"subject,omitempty"` // 标题
Type string `protobuf:"bytes,5,opt,name=type,proto3" json:"type,omitempty"` // 类型normal, url
Url string `protobuf:"bytes,6,opt,name=url,proto3" json:"url,omitempty"` // 跳转的URLtype=url
Body string `protobuf:"bytes,7,opt,name=body,proto3" json:"body,omitempty"` // 文章内容type=normal
}
func (x *UpdatePostRequest) Reset() {
*x = UpdatePostRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_service_post_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UpdatePostRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UpdatePostRequest) ProtoMessage() {}
func (x *UpdatePostRequest) ProtoReflect() protoreflect.Message {
mi := &file_service_post_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 UpdatePostRequest.ProtoReflect.Descriptor instead.
func (*UpdatePostRequest) Descriptor() ([]byte, []int) {
return file_service_post_proto_rawDescGZIP(), []int{2}
}
func (x *UpdatePostRequest) GetPostId() int64 {
if x != nil {
return x.PostId
}
return 0
}
func (x *UpdatePostRequest) GetPostCategoryId() int64 {
if x != nil {
return x.PostCategoryId
}
return 0
}
func (x *UpdatePostRequest) GetProductCode() string {
if x != nil {
return x.ProductCode
}
return ""
}
func (x *UpdatePostRequest) GetSubject() string {
if x != nil {
return x.Subject
}
return ""
}
func (x *UpdatePostRequest) GetType() string {
if x != nil {
return x.Type
}
return ""
}
func (x *UpdatePostRequest) GetUrl() string {
if x != nil {
return x.Url
}
return ""
}
func (x *UpdatePostRequest) GetBody() string {
if x != nil {
return x.Body
}
return ""
}
// 删除文章
type DeletePostRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
PostId int64 `protobuf:"varint,1,opt,name=postId,proto3" json:"postId,omitempty"` // 文章ID
}
func (x *DeletePostRequest) Reset() {
*x = DeletePostRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_service_post_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DeletePostRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DeletePostRequest) ProtoMessage() {}
func (x *DeletePostRequest) ProtoReflect() protoreflect.Message {
mi := &file_service_post_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 DeletePostRequest.ProtoReflect.Descriptor instead.
func (*DeletePostRequest) Descriptor() ([]byte, []int) {
return file_service_post_proto_rawDescGZIP(), []int{3}
}
func (x *DeletePostRequest) GetPostId() int64 {
if x != nil {
return x.PostId
}
return 0
}
// 发布文章
type PublishPostRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
PostId int64 `protobuf:"varint,1,opt,name=postId,proto3" json:"postId,omitempty"` // 文章ID
}
func (x *PublishPostRequest) Reset() {
*x = PublishPostRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_service_post_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PublishPostRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PublishPostRequest) ProtoMessage() {}
func (x *PublishPostRequest) ProtoReflect() protoreflect.Message {
mi := &file_service_post_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 PublishPostRequest.ProtoReflect.Descriptor instead.
func (*PublishPostRequest) Descriptor() ([]byte, []int) {
return file_service_post_proto_rawDescGZIP(), []int{4}
}
func (x *PublishPostRequest) GetPostId() int64 {
if x != nil {
return x.PostId
}
return 0
}
// 计算文章数量
type CountPostsRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
PostCategoryId int64 `protobuf:"varint,1,opt,name=postCategoryId,proto3" json:"postCategoryId,omitempty"` // 分类ID
ProductCode string `protobuf:"bytes,2,opt,name=productCode,proto3" json:"productCode,omitempty"` // 产品代号
PublishedOnly bool `protobuf:"varint,3,opt,name=publishedOnly,proto3" json:"publishedOnly,omitempty"` // 只列出已发布的
}
func (x *CountPostsRequest) Reset() {
*x = CountPostsRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_service_post_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CountPostsRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CountPostsRequest) ProtoMessage() {}
func (x *CountPostsRequest) ProtoReflect() protoreflect.Message {
mi := &file_service_post_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 CountPostsRequest.ProtoReflect.Descriptor instead.
func (*CountPostsRequest) Descriptor() ([]byte, []int) {
return file_service_post_proto_rawDescGZIP(), []int{5}
}
func (x *CountPostsRequest) GetPostCategoryId() int64 {
if x != nil {
return x.PostCategoryId
}
return 0
}
func (x *CountPostsRequest) GetProductCode() string {
if x != nil {
return x.ProductCode
}
return ""
}
func (x *CountPostsRequest) GetPublishedOnly() bool {
if x != nil {
return x.PublishedOnly
}
return false
}
// 列出单页文章
type ListPostsRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Offset int64 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"`
Size int64 `protobuf:"varint,2,opt,name=size,proto3" json:"size,omitempty"`
ProductCode string `protobuf:"bytes,3,opt,name=productCode,proto3" json:"productCode,omitempty"` // 产品代号
PostCategoryId int64 `protobuf:"varint,4,opt,name=postCategoryId,proto3" json:"postCategoryId,omitempty"` // 分类ID
PostCategoryCode string `protobuf:"bytes,5,opt,name=postCategoryCode,proto3" json:"postCategoryCode,omitempty"` // 分类代号
ExcludingPostCategoryCode string `protobuf:"bytes,6,opt,name=excludingPostCategoryCode,proto3" json:"excludingPostCategoryCode,omitempty"` // 排除的分类代号
PublishedOnly bool `protobuf:"varint,7,opt,name=publishedOnly,proto3" json:"publishedOnly,omitempty"` // 只列出已发布的
ContainsBody bool `protobuf:"varint,8,opt,name=containsBody,proto3" json:"containsBody,omitempty"` // 是否包含文章内容
}
func (x *ListPostsRequest) Reset() {
*x = ListPostsRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_service_post_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListPostsRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListPostsRequest) ProtoMessage() {}
func (x *ListPostsRequest) ProtoReflect() protoreflect.Message {
mi := &file_service_post_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 ListPostsRequest.ProtoReflect.Descriptor instead.
func (*ListPostsRequest) Descriptor() ([]byte, []int) {
return file_service_post_proto_rawDescGZIP(), []int{6}
}
func (x *ListPostsRequest) GetOffset() int64 {
if x != nil {
return x.Offset
}
return 0
}
func (x *ListPostsRequest) GetSize() int64 {
if x != nil {
return x.Size
}
return 0
}
func (x *ListPostsRequest) GetProductCode() string {
if x != nil {
return x.ProductCode
}
return ""
}
func (x *ListPostsRequest) GetPostCategoryId() int64 {
if x != nil {
return x.PostCategoryId
}
return 0
}
func (x *ListPostsRequest) GetPostCategoryCode() string {
if x != nil {
return x.PostCategoryCode
}
return ""
}
func (x *ListPostsRequest) GetExcludingPostCategoryCode() string {
if x != nil {
return x.ExcludingPostCategoryCode
}
return ""
}
func (x *ListPostsRequest) GetPublishedOnly() bool {
if x != nil {
return x.PublishedOnly
}
return false
}
func (x *ListPostsRequest) GetContainsBody() bool {
if x != nil {
return x.ContainsBody
}
return false
}
type ListPostsResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Posts []*Post `protobuf:"bytes,1,rep,name=posts,proto3" json:"posts,omitempty"` // 文章列表
}
func (x *ListPostsResponse) Reset() {
*x = ListPostsResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_service_post_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListPostsResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListPostsResponse) ProtoMessage() {}
func (x *ListPostsResponse) ProtoReflect() protoreflect.Message {
mi := &file_service_post_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 ListPostsResponse.ProtoReflect.Descriptor instead.
func (*ListPostsResponse) Descriptor() ([]byte, []int) {
return file_service_post_proto_rawDescGZIP(), []int{7}
}
func (x *ListPostsResponse) GetPosts() []*Post {
if x != nil {
return x.Posts
}
return nil
}
// 查询单篇文章
type FindPostRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
PostId int64 `protobuf:"varint,1,opt,name=postId,proto3" json:"postId,omitempty"` // 文章ID
}
func (x *FindPostRequest) Reset() {
*x = FindPostRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_service_post_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FindPostRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FindPostRequest) ProtoMessage() {}
func (x *FindPostRequest) ProtoReflect() protoreflect.Message {
mi := &file_service_post_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 FindPostRequest.ProtoReflect.Descriptor instead.
func (*FindPostRequest) Descriptor() ([]byte, []int) {
return file_service_post_proto_rawDescGZIP(), []int{8}
}
func (x *FindPostRequest) GetPostId() int64 {
if x != nil {
return x.PostId
}
return 0
}
type FindPostResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Post *Post `protobuf:"bytes,1,opt,name=post,proto3" json:"post,omitempty"` // 文章信息
}
func (x *FindPostResponse) Reset() {
*x = FindPostResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_service_post_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FindPostResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FindPostResponse) ProtoMessage() {}
func (x *FindPostResponse) ProtoReflect() protoreflect.Message {
mi := &file_service_post_proto_msgTypes[9]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use FindPostResponse.ProtoReflect.Descriptor instead.
func (*FindPostResponse) Descriptor() ([]byte, []int) {
return file_service_post_proto_rawDescGZIP(), []int{9}
}
func (x *FindPostResponse) GetPost() *Post {
if x != nil {
return x.Post
}
return nil
}
var File_service_post_proto protoreflect.FileDescriptor
var file_service_post_proto_rawDesc = []byte{
0x0a, 0x12, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x73, 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, 0x70, 0x6f, 0x73, 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, 0xb1, 0x01, 0x0a,
0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x70, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f,
0x72, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x70, 0x6f, 0x73, 0x74,
0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79,
0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x20,
0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20,
0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x43, 0x6f, 0x64, 0x65,
0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28,
0x09, 0x52, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72,
0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x12, 0x0a, 0x04,
0x62, 0x6f, 0x64, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79,
0x22, 0x2c, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x65,
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6f, 0x73, 0x74, 0x49, 0x64,
0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x70, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x22, 0xc9,
0x01, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x18, 0x01,
0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x70, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0e,
0x70, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x49, 0x64, 0x18, 0x02,
0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x70, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f,
0x72, 0x79, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x43,
0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75,
0x63, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63,
0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74,
0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
0x74, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28,
0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x07,
0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x22, 0x2b, 0x0a, 0x11, 0x44, 0x65,
0x6c, 0x65, 0x74, 0x65, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
0x16, 0x0a, 0x06, 0x70, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52,
0x06, 0x70, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x22, 0x2c, 0x0a, 0x12, 0x50, 0x75, 0x62, 0x6c, 0x69,
0x73, 0x68, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a,
0x06, 0x70, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x70,
0x6f, 0x73, 0x74, 0x49, 0x64, 0x22, 0x83, 0x01, 0x0a, 0x11, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x50,
0x6f, 0x73, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x70,
0x6f, 0x73, 0x74, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20,
0x01, 0x28, 0x03, 0x52, 0x0e, 0x70, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72,
0x79, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x43, 0x6f,
0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63,
0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68,
0x65, 0x64, 0x4f, 0x6e, 0x6c, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x70, 0x75,
0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x4f, 0x6e, 0x6c, 0x79, 0x22, 0xbc, 0x02, 0x0a, 0x10,
0x4c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03,
0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65,
0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x20, 0x0a, 0x0b,
0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28,
0x09, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x26,
0x0a, 0x0e, 0x70, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x49, 0x64,
0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x70, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x74, 0x65,
0x67, 0x6f, 0x72, 0x79, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x10, 0x70, 0x6f, 0x73, 0x74, 0x43, 0x61,
0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09,
0x52, 0x10, 0x70, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x43, 0x6f,
0x64, 0x65, 0x12, 0x3c, 0x0a, 0x19, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x69, 0x6e, 0x67, 0x50,
0x6f, 0x73, 0x74, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x18,
0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x19, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x69, 0x6e, 0x67,
0x50, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x43, 0x6f, 0x64, 0x65,
0x12, 0x24, 0x0a, 0x0d, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x4f, 0x6e, 0x6c,
0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68,
0x65, 0x64, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69,
0x6e, 0x73, 0x42, 0x6f, 0x64, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x63, 0x6f,
0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x42, 0x6f, 0x64, 0x79, 0x22, 0x33, 0x0a, 0x11, 0x4c, 0x69,
0x73, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
0x1e, 0x0a, 0x05, 0x70, 0x6f, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x08,
0x2e, 0x70, 0x62, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x05, 0x70, 0x6f, 0x73, 0x74, 0x73, 0x22,
0x29, 0x0a, 0x0f, 0x46, 0x69, 0x6e, 0x64, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01,
0x28, 0x03, 0x52, 0x06, 0x70, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x22, 0x30, 0x0a, 0x10, 0x46, 0x69,
0x6e, 0x64, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c,
0x0a, 0x04, 0x70, 0x6f, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x70,
0x62, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x04, 0x70, 0x6f, 0x73, 0x74, 0x32, 0x97, 0x03, 0x0a,
0x0b, 0x50, 0x6f, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x3b, 0x0a, 0x0a,
0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x73, 0x74, 0x12, 0x15, 0x2e, 0x70, 0x62, 0x2e,
0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x1a, 0x16, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x73,
0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x33, 0x0a, 0x0a, 0x75, 0x70, 0x64,
0x61, 0x74, 0x65, 0x50, 0x6f, 0x73, 0x74, 0x12, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64,
0x61, 0x74, 0x65, 0x50, 0x6f, 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, 0x33,
0x0a, 0x0a, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x6f, 0x73, 0x74, 0x12, 0x15, 0x2e, 0x70,
0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x6f, 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, 0x35, 0x0a, 0x0b, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x50, 0x6f,
0x73, 0x74, 0x12, 0x16, 0x2e, 0x70, 0x62, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x50,
0x6f, 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, 0x39, 0x0a, 0x0a, 0x63, 0x6f,
0x75, 0x6e, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x73, 0x12, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f,
0x75, 0x6e, 0x74, 0x50, 0x6f, 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, 0x38, 0x0a, 0x09, 0x6c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x73,
0x74, 0x73, 0x12, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x73, 0x74,
0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69,
0x73, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
0x35, 0x0a, 0x08, 0x66, 0x69, 0x6e, 0x64, 0x50, 0x6f, 0x73, 0x74, 0x12, 0x13, 0x2e, 0x70, 0x62,
0x2e, 0x46, 0x69, 0x6e, 0x64, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x50, 0x6f, 0x73, 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 (
file_service_post_proto_rawDescOnce sync.Once
file_service_post_proto_rawDescData = file_service_post_proto_rawDesc
)
func file_service_post_proto_rawDescGZIP() []byte {
file_service_post_proto_rawDescOnce.Do(func() {
file_service_post_proto_rawDescData = protoimpl.X.CompressGZIP(file_service_post_proto_rawDescData)
})
return file_service_post_proto_rawDescData
}
var file_service_post_proto_msgTypes = make([]protoimpl.MessageInfo, 10)
var file_service_post_proto_goTypes = []interface{}{
(*CreatePostRequest)(nil), // 0: pb.CreatePostRequest
(*CreatePostResponse)(nil), // 1: pb.CreatePostResponse
(*UpdatePostRequest)(nil), // 2: pb.UpdatePostRequest
(*DeletePostRequest)(nil), // 3: pb.DeletePostRequest
(*PublishPostRequest)(nil), // 4: pb.PublishPostRequest
(*CountPostsRequest)(nil), // 5: pb.CountPostsRequest
(*ListPostsRequest)(nil), // 6: pb.ListPostsRequest
(*ListPostsResponse)(nil), // 7: pb.ListPostsResponse
(*FindPostRequest)(nil), // 8: pb.FindPostRequest
(*FindPostResponse)(nil), // 9: pb.FindPostResponse
(*Post)(nil), // 10: pb.Post
(*RPCSuccess)(nil), // 11: pb.RPCSuccess
(*RPCCountResponse)(nil), // 12: pb.RPCCountResponse
}
var file_service_post_proto_depIdxs = []int32{
10, // 0: pb.ListPostsResponse.posts:type_name -> pb.Post
10, // 1: pb.FindPostResponse.post:type_name -> pb.Post
0, // 2: pb.PostService.createPost:input_type -> pb.CreatePostRequest
2, // 3: pb.PostService.updatePost:input_type -> pb.UpdatePostRequest
3, // 4: pb.PostService.deletePost:input_type -> pb.DeletePostRequest
4, // 5: pb.PostService.publishPost:input_type -> pb.PublishPostRequest
5, // 6: pb.PostService.countPosts:input_type -> pb.CountPostsRequest
6, // 7: pb.PostService.listPosts:input_type -> pb.ListPostsRequest
8, // 8: pb.PostService.findPost:input_type -> pb.FindPostRequest
1, // 9: pb.PostService.createPost:output_type -> pb.CreatePostResponse
11, // 10: pb.PostService.updatePost:output_type -> pb.RPCSuccess
11, // 11: pb.PostService.deletePost:output_type -> pb.RPCSuccess
11, // 12: pb.PostService.publishPost:output_type -> pb.RPCSuccess
12, // 13: pb.PostService.countPosts:output_type -> pb.RPCCountResponse
7, // 14: pb.PostService.listPosts:output_type -> pb.ListPostsResponse
9, // 15: pb.PostService.findPost:output_type -> pb.FindPostResponse
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
}
func init() { file_service_post_proto_init() }
func file_service_post_proto_init() {
if File_service_post_proto != nil {
return
}
file_models_model_post_proto_init()
file_models_rpc_messages_proto_init()
if !protoimpl.UnsafeEnabled {
file_service_post_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CreatePostRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_post_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CreatePostResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_post_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UpdatePostRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_post_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DeletePostRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_post_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PublishPostRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_post_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CountPostsRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_post_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListPostsRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_post_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListPostsResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_post_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FindPostRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_post_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FindPostResponse); 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_post_proto_rawDesc,
NumEnums: 0,
NumMessages: 10,
NumExtensions: 0,
NumServices: 1,
},
GoTypes: file_service_post_proto_goTypes,
DependencyIndexes: file_service_post_proto_depIdxs,
MessageInfos: file_service_post_proto_msgTypes,
}.Build()
File_service_post_proto = out.File
file_service_post_proto_rawDesc = nil
file_service_post_proto_goTypes = nil
file_service_post_proto_depIdxs = nil
}

View File

@@ -0,0 +1,875 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.31.0
// protoc v3.19.4
// source: service_post_category.proto
package pb
import (
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)
)
// 创建分类
type CreatePostCategoryRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // 分类名称
Code string `protobuf:"bytes,2,opt,name=code,proto3" json:"code,omitempty"` // 分类代号
}
func (x *CreatePostCategoryRequest) Reset() {
*x = CreatePostCategoryRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_service_post_category_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CreatePostCategoryRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CreatePostCategoryRequest) ProtoMessage() {}
func (x *CreatePostCategoryRequest) ProtoReflect() protoreflect.Message {
mi := &file_service_post_category_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 CreatePostCategoryRequest.ProtoReflect.Descriptor instead.
func (*CreatePostCategoryRequest) Descriptor() ([]byte, []int) {
return file_service_post_category_proto_rawDescGZIP(), []int{0}
}
func (x *CreatePostCategoryRequest) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *CreatePostCategoryRequest) GetCode() string {
if x != nil {
return x.Code
}
return ""
}
type CreatePostCategoryResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
PostCategoryId int64 `protobuf:"varint,1,opt,name=postCategoryId,proto3" json:"postCategoryId,omitempty"` // 分类ID
}
func (x *CreatePostCategoryResponse) Reset() {
*x = CreatePostCategoryResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_service_post_category_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CreatePostCategoryResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CreatePostCategoryResponse) ProtoMessage() {}
func (x *CreatePostCategoryResponse) ProtoReflect() protoreflect.Message {
mi := &file_service_post_category_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 CreatePostCategoryResponse.ProtoReflect.Descriptor instead.
func (*CreatePostCategoryResponse) Descriptor() ([]byte, []int) {
return file_service_post_category_proto_rawDescGZIP(), []int{1}
}
func (x *CreatePostCategoryResponse) GetPostCategoryId() int64 {
if x != nil {
return x.PostCategoryId
}
return 0
}
// 修改分类
type UpdatePostCategoryRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
PostCategoryId int64 `protobuf:"varint,1,opt,name=postCategoryId,proto3" json:"postCategoryId,omitempty"` // 分类ID
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` // 分类名称
Code string `protobuf:"bytes,3,opt,name=code,proto3" json:"code,omitempty"` // 分类代号
IsOn bool `protobuf:"varint,4,opt,name=isOn,proto3" json:"isOn,omitempty"` // 是否启用
}
func (x *UpdatePostCategoryRequest) Reset() {
*x = UpdatePostCategoryRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_service_post_category_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UpdatePostCategoryRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UpdatePostCategoryRequest) ProtoMessage() {}
func (x *UpdatePostCategoryRequest) ProtoReflect() protoreflect.Message {
mi := &file_service_post_category_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 UpdatePostCategoryRequest.ProtoReflect.Descriptor instead.
func (*UpdatePostCategoryRequest) Descriptor() ([]byte, []int) {
return file_service_post_category_proto_rawDescGZIP(), []int{2}
}
func (x *UpdatePostCategoryRequest) GetPostCategoryId() int64 {
if x != nil {
return x.PostCategoryId
}
return 0
}
func (x *UpdatePostCategoryRequest) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *UpdatePostCategoryRequest) GetCode() string {
if x != nil {
return x.Code
}
return ""
}
func (x *UpdatePostCategoryRequest) GetIsOn() bool {
if x != nil {
return x.IsOn
}
return false
}
// 删除分类
type DeletePostCategoryRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
PostCategoryId int64 `protobuf:"varint,1,opt,name=postCategoryId,proto3" json:"postCategoryId,omitempty"` // 分类ID
}
func (x *DeletePostCategoryRequest) Reset() {
*x = DeletePostCategoryRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_service_post_category_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DeletePostCategoryRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DeletePostCategoryRequest) ProtoMessage() {}
func (x *DeletePostCategoryRequest) ProtoReflect() protoreflect.Message {
mi := &file_service_post_category_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 DeletePostCategoryRequest.ProtoReflect.Descriptor instead.
func (*DeletePostCategoryRequest) Descriptor() ([]byte, []int) {
return file_service_post_category_proto_rawDescGZIP(), []int{3}
}
func (x *DeletePostCategoryRequest) GetPostCategoryId() int64 {
if x != nil {
return x.PostCategoryId
}
return 0
}
// 列出所有分类
type FindAllPostCategoriesRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *FindAllPostCategoriesRequest) Reset() {
*x = FindAllPostCategoriesRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_service_post_category_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FindAllPostCategoriesRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FindAllPostCategoriesRequest) ProtoMessage() {}
func (x *FindAllPostCategoriesRequest) ProtoReflect() protoreflect.Message {
mi := &file_service_post_category_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 FindAllPostCategoriesRequest.ProtoReflect.Descriptor instead.
func (*FindAllPostCategoriesRequest) Descriptor() ([]byte, []int) {
return file_service_post_category_proto_rawDescGZIP(), []int{4}
}
type FindAllPostCategoriesResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
PostCategories []*PostCategory `protobuf:"bytes,1,rep,name=postCategories,proto3" json:"postCategories,omitempty"` // 分类列表
}
func (x *FindAllPostCategoriesResponse) Reset() {
*x = FindAllPostCategoriesResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_service_post_category_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FindAllPostCategoriesResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FindAllPostCategoriesResponse) ProtoMessage() {}
func (x *FindAllPostCategoriesResponse) ProtoReflect() protoreflect.Message {
mi := &file_service_post_category_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 FindAllPostCategoriesResponse.ProtoReflect.Descriptor instead.
func (*FindAllPostCategoriesResponse) Descriptor() ([]byte, []int) {
return file_service_post_category_proto_rawDescGZIP(), []int{5}
}
func (x *FindAllPostCategoriesResponse) GetPostCategories() []*PostCategory {
if x != nil {
return x.PostCategories
}
return nil
}
// 列出所有可用分类
type FindAllAvailablePostCategoriesRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *FindAllAvailablePostCategoriesRequest) Reset() {
*x = FindAllAvailablePostCategoriesRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_service_post_category_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FindAllAvailablePostCategoriesRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FindAllAvailablePostCategoriesRequest) ProtoMessage() {}
func (x *FindAllAvailablePostCategoriesRequest) ProtoReflect() protoreflect.Message {
mi := &file_service_post_category_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 FindAllAvailablePostCategoriesRequest.ProtoReflect.Descriptor instead.
func (*FindAllAvailablePostCategoriesRequest) Descriptor() ([]byte, []int) {
return file_service_post_category_proto_rawDescGZIP(), []int{6}
}
type FindAllAvailablePostCategoriesResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
PostCategories []*PostCategory `protobuf:"bytes,1,rep,name=postCategories,proto3" json:"postCategories,omitempty"` // 分类列表
}
func (x *FindAllAvailablePostCategoriesResponse) Reset() {
*x = FindAllAvailablePostCategoriesResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_service_post_category_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FindAllAvailablePostCategoriesResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FindAllAvailablePostCategoriesResponse) ProtoMessage() {}
func (x *FindAllAvailablePostCategoriesResponse) ProtoReflect() protoreflect.Message {
mi := &file_service_post_category_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 FindAllAvailablePostCategoriesResponse.ProtoReflect.Descriptor instead.
func (*FindAllAvailablePostCategoriesResponse) Descriptor() ([]byte, []int) {
return file_service_post_category_proto_rawDescGZIP(), []int{7}
}
func (x *FindAllAvailablePostCategoriesResponse) GetPostCategories() []*PostCategory {
if x != nil {
return x.PostCategories
}
return nil
}
// 查询单个分类
type FindPostCategoryRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
PostCategoryId int64 `protobuf:"varint,1,opt,name=postCategoryId,proto3" json:"postCategoryId,omitempty"` // 分类ID
}
func (x *FindPostCategoryRequest) Reset() {
*x = FindPostCategoryRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_service_post_category_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FindPostCategoryRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FindPostCategoryRequest) ProtoMessage() {}
func (x *FindPostCategoryRequest) ProtoReflect() protoreflect.Message {
mi := &file_service_post_category_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 FindPostCategoryRequest.ProtoReflect.Descriptor instead.
func (*FindPostCategoryRequest) Descriptor() ([]byte, []int) {
return file_service_post_category_proto_rawDescGZIP(), []int{8}
}
func (x *FindPostCategoryRequest) GetPostCategoryId() int64 {
if x != nil {
return x.PostCategoryId
}
return 0
}
type FindPostCategoryResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
PostCategory *PostCategory `protobuf:"bytes,1,opt,name=postCategory,proto3" json:"postCategory,omitempty"` // 分类信息
}
func (x *FindPostCategoryResponse) Reset() {
*x = FindPostCategoryResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_service_post_category_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FindPostCategoryResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FindPostCategoryResponse) ProtoMessage() {}
func (x *FindPostCategoryResponse) ProtoReflect() protoreflect.Message {
mi := &file_service_post_category_proto_msgTypes[9]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use FindPostCategoryResponse.ProtoReflect.Descriptor instead.
func (*FindPostCategoryResponse) Descriptor() ([]byte, []int) {
return file_service_post_category_proto_rawDescGZIP(), []int{9}
}
func (x *FindPostCategoryResponse) GetPostCategory() *PostCategory {
if x != nil {
return x.PostCategory
}
return nil
}
// 对分类进行排序
type SortPostCategoriesRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
PostCategoryIds []int64 `protobuf:"varint,1,rep,packed,name=postCategoryIds,proto3" json:"postCategoryIds,omitempty"` // 分类ID列表
}
func (x *SortPostCategoriesRequest) Reset() {
*x = SortPostCategoriesRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_service_post_category_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SortPostCategoriesRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SortPostCategoriesRequest) ProtoMessage() {}
func (x *SortPostCategoriesRequest) ProtoReflect() protoreflect.Message {
mi := &file_service_post_category_proto_msgTypes[10]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SortPostCategoriesRequest.ProtoReflect.Descriptor instead.
func (*SortPostCategoriesRequest) Descriptor() ([]byte, []int) {
return file_service_post_category_proto_rawDescGZIP(), []int{10}
}
func (x *SortPostCategoriesRequest) GetPostCategoryIds() []int64 {
if x != nil {
return x.PostCategoryIds
}
return nil
}
var File_service_post_category_proto protoreflect.FileDescriptor
var file_service_post_category_proto_rawDesc = []byte{
0x0a, 0x1b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x73, 0x74, 0x5f, 0x63,
0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70,
0x62, 0x1a, 0x20, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f,
0x70, 0x6f, 0x73, 0x74, 0x5f, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 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, 0x43,
0x0a, 0x19, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x74, 0x65,
0x67, 0x6f, 0x72, 0x79, 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,
0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63,
0x6f, 0x64, 0x65, 0x22, 0x44, 0x0a, 0x1a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x73,
0x74, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
0x65, 0x12, 0x26, 0x0a, 0x0e, 0x70, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72,
0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x70, 0x6f, 0x73, 0x74, 0x43,
0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x49, 0x64, 0x22, 0x7f, 0x0a, 0x19, 0x55, 0x70, 0x64,
0x61, 0x74, 0x65, 0x50, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x70, 0x6f, 0x73, 0x74, 0x43, 0x61,
0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e,
0x70, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 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, 0x12, 0x0a, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x18, 0x04,
0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x22, 0x43, 0x0a, 0x19, 0x44, 0x65,
0x6c, 0x65, 0x74, 0x65, 0x50, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x70, 0x6f, 0x73, 0x74, 0x43,
0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52,
0x0e, 0x70, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x49, 0x64, 0x22,
0x1e, 0x0a, 0x1c, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x50, 0x6f, 0x73, 0x74, 0x43, 0x61,
0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22,
0x59, 0x0a, 0x1d, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x50, 0x6f, 0x73, 0x74, 0x43, 0x61,
0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
0x12, 0x38, 0x0a, 0x0e, 0x70, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69,
0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x62, 0x2e, 0x50, 0x6f,
0x73, 0x74, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x0e, 0x70, 0x6f, 0x73, 0x74,
0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x22, 0x27, 0x0a, 0x25, 0x46, 0x69,
0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x6f,
0x73, 0x74, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x22, 0x62, 0x0a, 0x26, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x41, 0x76,
0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x74, 0x65, 0x67,
0x6f, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a,
0x0e, 0x70, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x18,
0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x62, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x43,
0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x0e, 0x70, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x74,
0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x22, 0x41, 0x0a, 0x17, 0x46, 0x69, 0x6e, 0x64, 0x50,
0x6f, 0x73, 0x74, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x70, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f,
0x72, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x70, 0x6f, 0x73, 0x74,
0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x49, 0x64, 0x22, 0x50, 0x0a, 0x18, 0x46, 0x69,
0x6e, 0x64, 0x50, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x65,
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x34, 0x0a, 0x0c, 0x70, 0x6f, 0x73, 0x74, 0x43, 0x61,
0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70,
0x62, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x0c,
0x70, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x22, 0x45, 0x0a, 0x19,
0x53, 0x6f, 0x72, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69,
0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x0f, 0x70, 0x6f, 0x73,
0x74, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03,
0x28, 0x03, 0x52, 0x0f, 0x70, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79,
0x49, 0x64, 0x73, 0x32, 0xdf, 0x04, 0x0a, 0x13, 0x50, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x74, 0x65,
0x67, 0x6f, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x53, 0x0a, 0x12, 0x63,
0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72,
0x79, 0x12, 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x73,
0x74, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x1a, 0x1e, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x73, 0x74,
0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
0x12, 0x43, 0x0a, 0x12, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x73, 0x74, 0x43, 0x61,
0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61,
0x74, 0x65, 0x50, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75,
0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x43, 0x0a, 0x12, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50,
0x6f, 0x73, 0x74, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x1d, 0x2e, 0x70, 0x62,
0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x74, 0x65, 0x67,
0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e,
0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x5c, 0x0a, 0x15, 0x66, 0x69,
0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x50, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72,
0x69, 0x65, 0x73, 0x12, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c,
0x50, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41,
0x6c, 0x6c, 0x50, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73,
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x77, 0x0a, 0x1e, 0x66, 0x69, 0x6e, 0x64,
0x41, 0x6c, 0x6c, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x6f, 0x73, 0x74,
0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x12, 0x29, 0x2e, 0x70, 0x62, 0x2e,
0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65,
0x50, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41,
0x6c, 0x6c, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x6f, 0x73, 0x74, 0x43,
0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
0x65, 0x12, 0x4d, 0x0a, 0x10, 0x66, 0x69, 0x6e, 0x64, 0x50, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x74,
0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x1b, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x50,
0x6f, 0x73, 0x74, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x50, 0x6f, 0x73, 0x74,
0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
0x12, 0x43, 0x0a, 0x12, 0x73, 0x6f, 0x72, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x74, 0x65,
0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x12, 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x6f, 0x72, 0x74,
0x50, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 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,
}
var (
file_service_post_category_proto_rawDescOnce sync.Once
file_service_post_category_proto_rawDescData = file_service_post_category_proto_rawDesc
)
func file_service_post_category_proto_rawDescGZIP() []byte {
file_service_post_category_proto_rawDescOnce.Do(func() {
file_service_post_category_proto_rawDescData = protoimpl.X.CompressGZIP(file_service_post_category_proto_rawDescData)
})
return file_service_post_category_proto_rawDescData
}
var file_service_post_category_proto_msgTypes = make([]protoimpl.MessageInfo, 11)
var file_service_post_category_proto_goTypes = []interface{}{
(*CreatePostCategoryRequest)(nil), // 0: pb.CreatePostCategoryRequest
(*CreatePostCategoryResponse)(nil), // 1: pb.CreatePostCategoryResponse
(*UpdatePostCategoryRequest)(nil), // 2: pb.UpdatePostCategoryRequest
(*DeletePostCategoryRequest)(nil), // 3: pb.DeletePostCategoryRequest
(*FindAllPostCategoriesRequest)(nil), // 4: pb.FindAllPostCategoriesRequest
(*FindAllPostCategoriesResponse)(nil), // 5: pb.FindAllPostCategoriesResponse
(*FindAllAvailablePostCategoriesRequest)(nil), // 6: pb.FindAllAvailablePostCategoriesRequest
(*FindAllAvailablePostCategoriesResponse)(nil), // 7: pb.FindAllAvailablePostCategoriesResponse
(*FindPostCategoryRequest)(nil), // 8: pb.FindPostCategoryRequest
(*FindPostCategoryResponse)(nil), // 9: pb.FindPostCategoryResponse
(*SortPostCategoriesRequest)(nil), // 10: pb.SortPostCategoriesRequest
(*PostCategory)(nil), // 11: pb.PostCategory
(*RPCSuccess)(nil), // 12: pb.RPCSuccess
}
var file_service_post_category_proto_depIdxs = []int32{
11, // 0: pb.FindAllPostCategoriesResponse.postCategories:type_name -> pb.PostCategory
11, // 1: pb.FindAllAvailablePostCategoriesResponse.postCategories:type_name -> pb.PostCategory
11, // 2: pb.FindPostCategoryResponse.postCategory:type_name -> pb.PostCategory
0, // 3: pb.PostCategoryService.createPostCategory:input_type -> pb.CreatePostCategoryRequest
2, // 4: pb.PostCategoryService.updatePostCategory:input_type -> pb.UpdatePostCategoryRequest
3, // 5: pb.PostCategoryService.deletePostCategory:input_type -> pb.DeletePostCategoryRequest
4, // 6: pb.PostCategoryService.findAllPostCategories:input_type -> pb.FindAllPostCategoriesRequest
6, // 7: pb.PostCategoryService.findAllAvailablePostCategories:input_type -> pb.FindAllAvailablePostCategoriesRequest
8, // 8: pb.PostCategoryService.findPostCategory:input_type -> pb.FindPostCategoryRequest
10, // 9: pb.PostCategoryService.sortPostCategories:input_type -> pb.SortPostCategoriesRequest
1, // 10: pb.PostCategoryService.createPostCategory:output_type -> pb.CreatePostCategoryResponse
12, // 11: pb.PostCategoryService.updatePostCategory:output_type -> pb.RPCSuccess
12, // 12: pb.PostCategoryService.deletePostCategory:output_type -> pb.RPCSuccess
5, // 13: pb.PostCategoryService.findAllPostCategories:output_type -> pb.FindAllPostCategoriesResponse
7, // 14: pb.PostCategoryService.findAllAvailablePostCategories:output_type -> pb.FindAllAvailablePostCategoriesResponse
9, // 15: pb.PostCategoryService.findPostCategory:output_type -> pb.FindPostCategoryResponse
12, // 16: pb.PostCategoryService.sortPostCategories:output_type -> pb.RPCSuccess
10, // [10:17] is the sub-list for method output_type
3, // [3:10] 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_post_category_proto_init() }
func file_service_post_category_proto_init() {
if File_service_post_category_proto != nil {
return
}
file_models_model_post_category_proto_init()
file_models_rpc_messages_proto_init()
if !protoimpl.UnsafeEnabled {
file_service_post_category_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CreatePostCategoryRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_post_category_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CreatePostCategoryResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_post_category_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UpdatePostCategoryRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_post_category_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DeletePostCategoryRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_post_category_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FindAllPostCategoriesRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_post_category_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FindAllPostCategoriesResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_post_category_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FindAllAvailablePostCategoriesRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_post_category_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FindAllAvailablePostCategoriesResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_post_category_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FindPostCategoryRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_post_category_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FindPostCategoryResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_post_category_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SortPostCategoriesRequest); 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_post_category_proto_rawDesc,
NumEnums: 0,
NumMessages: 11,
NumExtensions: 0,
NumServices: 1,
},
GoTypes: file_service_post_category_proto_goTypes,
DependencyIndexes: file_service_post_category_proto_depIdxs,
MessageInfos: file_service_post_category_proto_msgTypes,
}.Build()
File_service_post_category_proto = out.File
file_service_post_category_proto_rawDesc = nil
file_service_post_category_proto_goTypes = nil
file_service_post_category_proto_depIdxs = nil
}

View File

@@ -0,0 +1,343 @@
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.3.0
// - protoc v3.19.4
// source: service_post_category.proto
package pb
import (
context "context"
grpc "google.golang.org/grpc"
codes "google.golang.org/grpc/codes"
status "google.golang.org/grpc/status"
)
// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
// Requires gRPC-Go v1.32.0 or later.
const _ = grpc.SupportPackageIsVersion7
const (
PostCategoryService_CreatePostCategory_FullMethodName = "/pb.PostCategoryService/createPostCategory"
PostCategoryService_UpdatePostCategory_FullMethodName = "/pb.PostCategoryService/updatePostCategory"
PostCategoryService_DeletePostCategory_FullMethodName = "/pb.PostCategoryService/deletePostCategory"
PostCategoryService_FindAllPostCategories_FullMethodName = "/pb.PostCategoryService/findAllPostCategories"
PostCategoryService_FindAllAvailablePostCategories_FullMethodName = "/pb.PostCategoryService/findAllAvailablePostCategories"
PostCategoryService_FindPostCategory_FullMethodName = "/pb.PostCategoryService/findPostCategory"
PostCategoryService_SortPostCategories_FullMethodName = "/pb.PostCategoryService/sortPostCategories"
)
// PostCategoryServiceClient is the client API for PostCategoryService service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
type PostCategoryServiceClient interface {
// 创建分类
CreatePostCategory(ctx context.Context, in *CreatePostCategoryRequest, opts ...grpc.CallOption) (*CreatePostCategoryResponse, error)
// 修改分类
UpdatePostCategory(ctx context.Context, in *UpdatePostCategoryRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
// 删除分类
DeletePostCategory(ctx context.Context, in *DeletePostCategoryRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
// 列出所有分类
FindAllPostCategories(ctx context.Context, in *FindAllPostCategoriesRequest, opts ...grpc.CallOption) (*FindAllPostCategoriesResponse, error)
// 列出所有可用分类
FindAllAvailablePostCategories(ctx context.Context, in *FindAllAvailablePostCategoriesRequest, opts ...grpc.CallOption) (*FindAllAvailablePostCategoriesResponse, error)
// 查询单个分类
FindPostCategory(ctx context.Context, in *FindPostCategoryRequest, opts ...grpc.CallOption) (*FindPostCategoryResponse, error)
// 对分类进行排序
SortPostCategories(ctx context.Context, in *SortPostCategoriesRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
}
type postCategoryServiceClient struct {
cc grpc.ClientConnInterface
}
func NewPostCategoryServiceClient(cc grpc.ClientConnInterface) PostCategoryServiceClient {
return &postCategoryServiceClient{cc}
}
func (c *postCategoryServiceClient) CreatePostCategory(ctx context.Context, in *CreatePostCategoryRequest, opts ...grpc.CallOption) (*CreatePostCategoryResponse, error) {
out := new(CreatePostCategoryResponse)
err := c.cc.Invoke(ctx, PostCategoryService_CreatePostCategory_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *postCategoryServiceClient) UpdatePostCategory(ctx context.Context, in *UpdatePostCategoryRequest, opts ...grpc.CallOption) (*RPCSuccess, error) {
out := new(RPCSuccess)
err := c.cc.Invoke(ctx, PostCategoryService_UpdatePostCategory_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *postCategoryServiceClient) DeletePostCategory(ctx context.Context, in *DeletePostCategoryRequest, opts ...grpc.CallOption) (*RPCSuccess, error) {
out := new(RPCSuccess)
err := c.cc.Invoke(ctx, PostCategoryService_DeletePostCategory_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *postCategoryServiceClient) FindAllPostCategories(ctx context.Context, in *FindAllPostCategoriesRequest, opts ...grpc.CallOption) (*FindAllPostCategoriesResponse, error) {
out := new(FindAllPostCategoriesResponse)
err := c.cc.Invoke(ctx, PostCategoryService_FindAllPostCategories_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *postCategoryServiceClient) FindAllAvailablePostCategories(ctx context.Context, in *FindAllAvailablePostCategoriesRequest, opts ...grpc.CallOption) (*FindAllAvailablePostCategoriesResponse, error) {
out := new(FindAllAvailablePostCategoriesResponse)
err := c.cc.Invoke(ctx, PostCategoryService_FindAllAvailablePostCategories_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *postCategoryServiceClient) FindPostCategory(ctx context.Context, in *FindPostCategoryRequest, opts ...grpc.CallOption) (*FindPostCategoryResponse, error) {
out := new(FindPostCategoryResponse)
err := c.cc.Invoke(ctx, PostCategoryService_FindPostCategory_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *postCategoryServiceClient) SortPostCategories(ctx context.Context, in *SortPostCategoriesRequest, opts ...grpc.CallOption) (*RPCSuccess, error) {
out := new(RPCSuccess)
err := c.cc.Invoke(ctx, PostCategoryService_SortPostCategories_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// PostCategoryServiceServer is the server API for PostCategoryService service.
// All implementations should embed UnimplementedPostCategoryServiceServer
// for forward compatibility
type PostCategoryServiceServer interface {
// 创建分类
CreatePostCategory(context.Context, *CreatePostCategoryRequest) (*CreatePostCategoryResponse, error)
// 修改分类
UpdatePostCategory(context.Context, *UpdatePostCategoryRequest) (*RPCSuccess, error)
// 删除分类
DeletePostCategory(context.Context, *DeletePostCategoryRequest) (*RPCSuccess, error)
// 列出所有分类
FindAllPostCategories(context.Context, *FindAllPostCategoriesRequest) (*FindAllPostCategoriesResponse, error)
// 列出所有可用分类
FindAllAvailablePostCategories(context.Context, *FindAllAvailablePostCategoriesRequest) (*FindAllAvailablePostCategoriesResponse, error)
// 查询单个分类
FindPostCategory(context.Context, *FindPostCategoryRequest) (*FindPostCategoryResponse, error)
// 对分类进行排序
SortPostCategories(context.Context, *SortPostCategoriesRequest) (*RPCSuccess, error)
}
// UnimplementedPostCategoryServiceServer should be embedded to have forward compatible implementations.
type UnimplementedPostCategoryServiceServer struct {
}
func (UnimplementedPostCategoryServiceServer) CreatePostCategory(context.Context, *CreatePostCategoryRequest) (*CreatePostCategoryResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method CreatePostCategory not implemented")
}
func (UnimplementedPostCategoryServiceServer) UpdatePostCategory(context.Context, *UpdatePostCategoryRequest) (*RPCSuccess, error) {
return nil, status.Errorf(codes.Unimplemented, "method UpdatePostCategory not implemented")
}
func (UnimplementedPostCategoryServiceServer) DeletePostCategory(context.Context, *DeletePostCategoryRequest) (*RPCSuccess, error) {
return nil, status.Errorf(codes.Unimplemented, "method DeletePostCategory not implemented")
}
func (UnimplementedPostCategoryServiceServer) FindAllPostCategories(context.Context, *FindAllPostCategoriesRequest) (*FindAllPostCategoriesResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method FindAllPostCategories not implemented")
}
func (UnimplementedPostCategoryServiceServer) FindAllAvailablePostCategories(context.Context, *FindAllAvailablePostCategoriesRequest) (*FindAllAvailablePostCategoriesResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method FindAllAvailablePostCategories not implemented")
}
func (UnimplementedPostCategoryServiceServer) FindPostCategory(context.Context, *FindPostCategoryRequest) (*FindPostCategoryResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method FindPostCategory not implemented")
}
func (UnimplementedPostCategoryServiceServer) SortPostCategories(context.Context, *SortPostCategoriesRequest) (*RPCSuccess, error) {
return nil, status.Errorf(codes.Unimplemented, "method SortPostCategories not implemented")
}
// UnsafePostCategoryServiceServer may be embedded to opt out of forward compatibility for this service.
// Use of this interface is not recommended, as added methods to PostCategoryServiceServer will
// result in compilation errors.
type UnsafePostCategoryServiceServer interface {
mustEmbedUnimplementedPostCategoryServiceServer()
}
func RegisterPostCategoryServiceServer(s grpc.ServiceRegistrar, srv PostCategoryServiceServer) {
s.RegisterService(&PostCategoryService_ServiceDesc, srv)
}
func _PostCategoryService_CreatePostCategory_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(CreatePostCategoryRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(PostCategoryServiceServer).CreatePostCategory(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: PostCategoryService_CreatePostCategory_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(PostCategoryServiceServer).CreatePostCategory(ctx, req.(*CreatePostCategoryRequest))
}
return interceptor(ctx, in, info, handler)
}
func _PostCategoryService_UpdatePostCategory_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(UpdatePostCategoryRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(PostCategoryServiceServer).UpdatePostCategory(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: PostCategoryService_UpdatePostCategory_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(PostCategoryServiceServer).UpdatePostCategory(ctx, req.(*UpdatePostCategoryRequest))
}
return interceptor(ctx, in, info, handler)
}
func _PostCategoryService_DeletePostCategory_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(DeletePostCategoryRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(PostCategoryServiceServer).DeletePostCategory(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: PostCategoryService_DeletePostCategory_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(PostCategoryServiceServer).DeletePostCategory(ctx, req.(*DeletePostCategoryRequest))
}
return interceptor(ctx, in, info, handler)
}
func _PostCategoryService_FindAllPostCategories_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(FindAllPostCategoriesRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(PostCategoryServiceServer).FindAllPostCategories(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: PostCategoryService_FindAllPostCategories_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(PostCategoryServiceServer).FindAllPostCategories(ctx, req.(*FindAllPostCategoriesRequest))
}
return interceptor(ctx, in, info, handler)
}
func _PostCategoryService_FindAllAvailablePostCategories_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(FindAllAvailablePostCategoriesRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(PostCategoryServiceServer).FindAllAvailablePostCategories(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: PostCategoryService_FindAllAvailablePostCategories_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(PostCategoryServiceServer).FindAllAvailablePostCategories(ctx, req.(*FindAllAvailablePostCategoriesRequest))
}
return interceptor(ctx, in, info, handler)
}
func _PostCategoryService_FindPostCategory_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(FindPostCategoryRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(PostCategoryServiceServer).FindPostCategory(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: PostCategoryService_FindPostCategory_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(PostCategoryServiceServer).FindPostCategory(ctx, req.(*FindPostCategoryRequest))
}
return interceptor(ctx, in, info, handler)
}
func _PostCategoryService_SortPostCategories_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(SortPostCategoriesRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(PostCategoryServiceServer).SortPostCategories(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: PostCategoryService_SortPostCategories_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(PostCategoryServiceServer).SortPostCategories(ctx, req.(*SortPostCategoriesRequest))
}
return interceptor(ctx, in, info, handler)
}
// PostCategoryService_ServiceDesc is the grpc.ServiceDesc for PostCategoryService service.
// It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy)
var PostCategoryService_ServiceDesc = grpc.ServiceDesc{
ServiceName: "pb.PostCategoryService",
HandlerType: (*PostCategoryServiceServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "createPostCategory",
Handler: _PostCategoryService_CreatePostCategory_Handler,
},
{
MethodName: "updatePostCategory",
Handler: _PostCategoryService_UpdatePostCategory_Handler,
},
{
MethodName: "deletePostCategory",
Handler: _PostCategoryService_DeletePostCategory_Handler,
},
{
MethodName: "findAllPostCategories",
Handler: _PostCategoryService_FindAllPostCategories_Handler,
},
{
MethodName: "findAllAvailablePostCategories",
Handler: _PostCategoryService_FindAllAvailablePostCategories_Handler,
},
{
MethodName: "findPostCategory",
Handler: _PostCategoryService_FindPostCategory_Handler,
},
{
MethodName: "sortPostCategories",
Handler: _PostCategoryService_SortPostCategories_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "service_post_category.proto",
}

View File

@@ -0,0 +1,343 @@
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.3.0
// - protoc v3.19.4
// source: service_post.proto
package pb
import (
context "context"
grpc "google.golang.org/grpc"
codes "google.golang.org/grpc/codes"
status "google.golang.org/grpc/status"
)
// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
// Requires gRPC-Go v1.32.0 or later.
const _ = grpc.SupportPackageIsVersion7
const (
PostService_CreatePost_FullMethodName = "/pb.PostService/createPost"
PostService_UpdatePost_FullMethodName = "/pb.PostService/updatePost"
PostService_DeletePost_FullMethodName = "/pb.PostService/deletePost"
PostService_PublishPost_FullMethodName = "/pb.PostService/publishPost"
PostService_CountPosts_FullMethodName = "/pb.PostService/countPosts"
PostService_ListPosts_FullMethodName = "/pb.PostService/listPosts"
PostService_FindPost_FullMethodName = "/pb.PostService/findPost"
)
// PostServiceClient is the client API for PostService service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
type PostServiceClient interface {
// 创建文章
CreatePost(ctx context.Context, in *CreatePostRequest, opts ...grpc.CallOption) (*CreatePostResponse, error)
// 修改文章
UpdatePost(ctx context.Context, in *UpdatePostRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
// 删除文章
DeletePost(ctx context.Context, in *DeletePostRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
// 发布文章
PublishPost(ctx context.Context, in *PublishPostRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
// 计算文章数量
CountPosts(ctx context.Context, in *CountPostsRequest, opts ...grpc.CallOption) (*RPCCountResponse, error)
// 列出单页文章
ListPosts(ctx context.Context, in *ListPostsRequest, opts ...grpc.CallOption) (*ListPostsResponse, error)
// 查询单篇文章
FindPost(ctx context.Context, in *FindPostRequest, opts ...grpc.CallOption) (*FindPostResponse, error)
}
type postServiceClient struct {
cc grpc.ClientConnInterface
}
func NewPostServiceClient(cc grpc.ClientConnInterface) PostServiceClient {
return &postServiceClient{cc}
}
func (c *postServiceClient) CreatePost(ctx context.Context, in *CreatePostRequest, opts ...grpc.CallOption) (*CreatePostResponse, error) {
out := new(CreatePostResponse)
err := c.cc.Invoke(ctx, PostService_CreatePost_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *postServiceClient) UpdatePost(ctx context.Context, in *UpdatePostRequest, opts ...grpc.CallOption) (*RPCSuccess, error) {
out := new(RPCSuccess)
err := c.cc.Invoke(ctx, PostService_UpdatePost_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *postServiceClient) DeletePost(ctx context.Context, in *DeletePostRequest, opts ...grpc.CallOption) (*RPCSuccess, error) {
out := new(RPCSuccess)
err := c.cc.Invoke(ctx, PostService_DeletePost_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *postServiceClient) PublishPost(ctx context.Context, in *PublishPostRequest, opts ...grpc.CallOption) (*RPCSuccess, error) {
out := new(RPCSuccess)
err := c.cc.Invoke(ctx, PostService_PublishPost_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *postServiceClient) CountPosts(ctx context.Context, in *CountPostsRequest, opts ...grpc.CallOption) (*RPCCountResponse, error) {
out := new(RPCCountResponse)
err := c.cc.Invoke(ctx, PostService_CountPosts_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *postServiceClient) ListPosts(ctx context.Context, in *ListPostsRequest, opts ...grpc.CallOption) (*ListPostsResponse, error) {
out := new(ListPostsResponse)
err := c.cc.Invoke(ctx, PostService_ListPosts_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *postServiceClient) FindPost(ctx context.Context, in *FindPostRequest, opts ...grpc.CallOption) (*FindPostResponse, error) {
out := new(FindPostResponse)
err := c.cc.Invoke(ctx, PostService_FindPost_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// PostServiceServer is the server API for PostService service.
// All implementations should embed UnimplementedPostServiceServer
// for forward compatibility
type PostServiceServer interface {
// 创建文章
CreatePost(context.Context, *CreatePostRequest) (*CreatePostResponse, error)
// 修改文章
UpdatePost(context.Context, *UpdatePostRequest) (*RPCSuccess, error)
// 删除文章
DeletePost(context.Context, *DeletePostRequest) (*RPCSuccess, error)
// 发布文章
PublishPost(context.Context, *PublishPostRequest) (*RPCSuccess, error)
// 计算文章数量
CountPosts(context.Context, *CountPostsRequest) (*RPCCountResponse, error)
// 列出单页文章
ListPosts(context.Context, *ListPostsRequest) (*ListPostsResponse, error)
// 查询单篇文章
FindPost(context.Context, *FindPostRequest) (*FindPostResponse, error)
}
// UnimplementedPostServiceServer should be embedded to have forward compatible implementations.
type UnimplementedPostServiceServer struct {
}
func (UnimplementedPostServiceServer) CreatePost(context.Context, *CreatePostRequest) (*CreatePostResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method CreatePost not implemented")
}
func (UnimplementedPostServiceServer) UpdatePost(context.Context, *UpdatePostRequest) (*RPCSuccess, error) {
return nil, status.Errorf(codes.Unimplemented, "method UpdatePost not implemented")
}
func (UnimplementedPostServiceServer) DeletePost(context.Context, *DeletePostRequest) (*RPCSuccess, error) {
return nil, status.Errorf(codes.Unimplemented, "method DeletePost not implemented")
}
func (UnimplementedPostServiceServer) PublishPost(context.Context, *PublishPostRequest) (*RPCSuccess, error) {
return nil, status.Errorf(codes.Unimplemented, "method PublishPost not implemented")
}
func (UnimplementedPostServiceServer) CountPosts(context.Context, *CountPostsRequest) (*RPCCountResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method CountPosts not implemented")
}
func (UnimplementedPostServiceServer) ListPosts(context.Context, *ListPostsRequest) (*ListPostsResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method ListPosts not implemented")
}
func (UnimplementedPostServiceServer) FindPost(context.Context, *FindPostRequest) (*FindPostResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method FindPost not implemented")
}
// UnsafePostServiceServer may be embedded to opt out of forward compatibility for this service.
// Use of this interface is not recommended, as added methods to PostServiceServer will
// result in compilation errors.
type UnsafePostServiceServer interface {
mustEmbedUnimplementedPostServiceServer()
}
func RegisterPostServiceServer(s grpc.ServiceRegistrar, srv PostServiceServer) {
s.RegisterService(&PostService_ServiceDesc, srv)
}
func _PostService_CreatePost_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(CreatePostRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(PostServiceServer).CreatePost(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: PostService_CreatePost_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(PostServiceServer).CreatePost(ctx, req.(*CreatePostRequest))
}
return interceptor(ctx, in, info, handler)
}
func _PostService_UpdatePost_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(UpdatePostRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(PostServiceServer).UpdatePost(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: PostService_UpdatePost_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(PostServiceServer).UpdatePost(ctx, req.(*UpdatePostRequest))
}
return interceptor(ctx, in, info, handler)
}
func _PostService_DeletePost_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(DeletePostRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(PostServiceServer).DeletePost(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: PostService_DeletePost_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(PostServiceServer).DeletePost(ctx, req.(*DeletePostRequest))
}
return interceptor(ctx, in, info, handler)
}
func _PostService_PublishPost_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(PublishPostRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(PostServiceServer).PublishPost(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: PostService_PublishPost_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(PostServiceServer).PublishPost(ctx, req.(*PublishPostRequest))
}
return interceptor(ctx, in, info, handler)
}
func _PostService_CountPosts_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(CountPostsRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(PostServiceServer).CountPosts(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: PostService_CountPosts_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(PostServiceServer).CountPosts(ctx, req.(*CountPostsRequest))
}
return interceptor(ctx, in, info, handler)
}
func _PostService_ListPosts_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ListPostsRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(PostServiceServer).ListPosts(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: PostService_ListPosts_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(PostServiceServer).ListPosts(ctx, req.(*ListPostsRequest))
}
return interceptor(ctx, in, info, handler)
}
func _PostService_FindPost_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(FindPostRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(PostServiceServer).FindPost(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: PostService_FindPost_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(PostServiceServer).FindPost(ctx, req.(*FindPostRequest))
}
return interceptor(ctx, in, info, handler)
}
// PostService_ServiceDesc is the grpc.ServiceDesc for PostService service.
// It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy)
var PostService_ServiceDesc = grpc.ServiceDesc{
ServiceName: "pb.PostService",
HandlerType: (*PostServiceServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "createPost",
Handler: _PostService_CreatePost_Handler,
},
{
MethodName: "updatePost",
Handler: _PostService_UpdatePost_Handler,
},
{
MethodName: "deletePost",
Handler: _PostService_DeletePost_Handler,
},
{
MethodName: "publishPost",
Handler: _PostService_PublishPost_Handler,
},
{
MethodName: "countPosts",
Handler: _PostService_CountPosts_Handler,
},
{
MethodName: "listPosts",
Handler: _PostService_ListPosts_Handler,
},
{
MethodName: "findPost",
Handler: _PostService_FindPost_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "service_post.proto",
}

View File

@@ -20,13 +20,13 @@ const (
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
// 查找所有省份
// 根据国家|地区ID查找所有省份
type FindAllEnabledRegionProvincesWithCountryIdRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
RegionCountryId int64 `protobuf:"varint,1,opt,name=regionCountryId,proto3" json:"regionCountryId,omitempty"`
RegionCountryId int64 `protobuf:"varint,1,opt,name=regionCountryId,proto3" json:"regionCountryId,omitempty"` // 国家|地区ID
}
func (x *FindAllEnabledRegionProvincesWithCountryIdRequest) Reset() {
@@ -73,7 +73,7 @@ type FindAllEnabledRegionProvincesWithCountryIdResponse struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
RegionProvinces []*RegionProvince `protobuf:"bytes,1,rep,name=regionProvinces,proto3" json:"regionProvinces,omitempty"`
RegionProvinces []*RegionProvince `protobuf:"bytes,1,rep,name=regionProvinces,proto3" json:"regionProvinces,omitempty"` // 省份列表
}
func (x *FindAllEnabledRegionProvincesWithCountryIdResponse) Reset() {
@@ -121,7 +121,7 @@ type FindEnabledRegionProvinceRequest struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
RegionProvinceId int64 `protobuf:"varint,1,opt,name=regionProvinceId,proto3" json:"regionProvinceId,omitempty"`
RegionProvinceId int64 `protobuf:"varint,1,opt,name=regionProvinceId,proto3" json:"regionProvinceId,omitempty"` // 省份ID
}
func (x *FindEnabledRegionProvinceRequest) Reset() {
@@ -168,7 +168,7 @@ type FindEnabledRegionProvinceResponse struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
RegionProvince *RegionProvince `protobuf:"bytes,1,opt,name=regionProvince,proto3" json:"regionProvince,omitempty"`
RegionProvince *RegionProvince `protobuf:"bytes,1,opt,name=regionProvince,proto3" json:"regionProvince,omitempty"` // 省份信息
}
func (x *FindEnabledRegionProvinceResponse) Reset() {
@@ -210,13 +210,13 @@ func (x *FindEnabledRegionProvinceResponse) GetRegionProvince() *RegionProvince
return nil
}
// 查找所有省份
// 根据国家|地区ID查找所有省份
type FindAllRegionProvincesWithRegionCountryIdRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
RegionCountryId int64 `protobuf:"varint,1,opt,name=regionCountryId,proto3" json:"regionCountryId,omitempty"`
RegionCountryId int64 `protobuf:"varint,1,opt,name=regionCountryId,proto3" json:"regionCountryId,omitempty"` // 国家|地区ID
}
func (x *FindAllRegionProvincesWithRegionCountryIdRequest) Reset() {
@@ -263,7 +263,7 @@ type FindAllRegionProvincesWithRegionCountryIdResponse struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
RegionProvinces []*RegionProvince `protobuf:"bytes,1,rep,name=regionProvinces,proto3" json:"regionProvinces,omitempty"`
RegionProvinces []*RegionProvince `protobuf:"bytes,1,rep,name=regionProvinces,proto3" json:"regionProvinces,omitempty"` // 省份列表
}
func (x *FindAllRegionProvincesWithRegionCountryIdResponse) Reset() {
@@ -305,19 +305,105 @@ func (x *FindAllRegionProvincesWithRegionCountryIdResponse) GetRegionProvinces()
return nil
}
// 查找所有国家|地区的所有省份
type FindAllRegionProvincesRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *FindAllRegionProvincesRequest) Reset() {
*x = FindAllRegionProvincesRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_service_region_province_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FindAllRegionProvincesRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FindAllRegionProvincesRequest) ProtoMessage() {}
func (x *FindAllRegionProvincesRequest) ProtoReflect() protoreflect.Message {
mi := &file_service_region_province_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 FindAllRegionProvincesRequest.ProtoReflect.Descriptor instead.
func (*FindAllRegionProvincesRequest) Descriptor() ([]byte, []int) {
return file_service_region_province_proto_rawDescGZIP(), []int{6}
}
type FindAllRegionProvincesResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
RegionProvinces []*RegionProvince `protobuf:"bytes,1,rep,name=regionProvinces,proto3" json:"regionProvinces,omitempty"` // 省份列表
}
func (x *FindAllRegionProvincesResponse) Reset() {
*x = FindAllRegionProvincesResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_service_region_province_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FindAllRegionProvincesResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FindAllRegionProvincesResponse) ProtoMessage() {}
func (x *FindAllRegionProvincesResponse) ProtoReflect() protoreflect.Message {
mi := &file_service_region_province_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 FindAllRegionProvincesResponse.ProtoReflect.Descriptor instead.
func (*FindAllRegionProvincesResponse) Descriptor() ([]byte, []int) {
return file_service_region_province_proto_rawDescGZIP(), []int{7}
}
func (x *FindAllRegionProvincesResponse) GetRegionProvinces() []*RegionProvince {
if x != nil {
return x.RegionProvinces
}
return nil
}
// 查找单个省份信息
type FindRegionProvinceRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
RegionProvinceId int64 `protobuf:"varint,1,opt,name=regionProvinceId,proto3" json:"regionProvinceId,omitempty"`
RegionProvinceId int64 `protobuf:"varint,1,opt,name=regionProvinceId,proto3" json:"regionProvinceId,omitempty"` // 省份ID
}
func (x *FindRegionProvinceRequest) Reset() {
*x = FindRegionProvinceRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_service_region_province_proto_msgTypes[6]
mi := &file_service_region_province_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -330,7 +416,7 @@ func (x *FindRegionProvinceRequest) String() string {
func (*FindRegionProvinceRequest) ProtoMessage() {}
func (x *FindRegionProvinceRequest) ProtoReflect() protoreflect.Message {
mi := &file_service_region_province_proto_msgTypes[6]
mi := &file_service_region_province_proto_msgTypes[8]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -343,7 +429,7 @@ func (x *FindRegionProvinceRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use FindRegionProvinceRequest.ProtoReflect.Descriptor instead.
func (*FindRegionProvinceRequest) Descriptor() ([]byte, []int) {
return file_service_region_province_proto_rawDescGZIP(), []int{6}
return file_service_region_province_proto_rawDescGZIP(), []int{8}
}
func (x *FindRegionProvinceRequest) GetRegionProvinceId() int64 {
@@ -358,13 +444,13 @@ type FindRegionProvinceResponse struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
RegionProvince *RegionProvince `protobuf:"bytes,1,opt,name=regionProvince,proto3" json:"regionProvince,omitempty"`
RegionProvince *RegionProvince `protobuf:"bytes,1,opt,name=regionProvince,proto3" json:"regionProvince,omitempty"` // 省份信息
}
func (x *FindRegionProvinceResponse) Reset() {
*x = FindRegionProvinceResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_service_region_province_proto_msgTypes[7]
mi := &file_service_region_province_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -377,7 +463,7 @@ func (x *FindRegionProvinceResponse) String() string {
func (*FindRegionProvinceResponse) ProtoMessage() {}
func (x *FindRegionProvinceResponse) ProtoReflect() protoreflect.Message {
mi := &file_service_region_province_proto_msgTypes[7]
mi := &file_service_region_province_proto_msgTypes[9]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -390,7 +476,7 @@ func (x *FindRegionProvinceResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use FindRegionProvinceResponse.ProtoReflect.Descriptor instead.
func (*FindRegionProvinceResponse) Descriptor() ([]byte, []int) {
return file_service_region_province_proto_rawDescGZIP(), []int{7}
return file_service_region_province_proto_rawDescGZIP(), []int{9}
}
func (x *FindRegionProvinceResponse) GetRegionProvince() *RegionProvince {
@@ -406,15 +492,15 @@ type UpdateRegionProvinceCustomRequest struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
RegionProvinceId int64 `protobuf:"varint,1,opt,name=regionProvinceId,proto3" json:"regionProvinceId,omitempty"`
CustomName string `protobuf:"bytes,2,opt,name=customName,proto3" json:"customName,omitempty"`
CustomCodes []string `protobuf:"bytes,3,rep,name=customCodes,proto3" json:"customCodes,omitempty"`
RegionProvinceId int64 `protobuf:"varint,1,opt,name=regionProvinceId,proto3" json:"regionProvinceId,omitempty"` // 省份ID
CustomName string `protobuf:"bytes,2,opt,name=customName,proto3" json:"customName,omitempty"` // 自定义名称
CustomCodes []string `protobuf:"bytes,3,rep,name=customCodes,proto3" json:"customCodes,omitempty"` // 自定义代号
}
func (x *UpdateRegionProvinceCustomRequest) Reset() {
*x = UpdateRegionProvinceCustomRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_service_region_province_proto_msgTypes[8]
mi := &file_service_region_province_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -427,7 +513,7 @@ func (x *UpdateRegionProvinceCustomRequest) String() string {
func (*UpdateRegionProvinceCustomRequest) ProtoMessage() {}
func (x *UpdateRegionProvinceCustomRequest) ProtoReflect() protoreflect.Message {
mi := &file_service_region_province_proto_msgTypes[8]
mi := &file_service_region_province_proto_msgTypes[10]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -440,7 +526,7 @@ func (x *UpdateRegionProvinceCustomRequest) ProtoReflect() protoreflect.Message
// Deprecated: Use UpdateRegionProvinceCustomRequest.ProtoReflect.Descriptor instead.
func (*UpdateRegionProvinceCustomRequest) Descriptor() ([]byte, []int) {
return file_service_region_province_proto_rawDescGZIP(), []int{8}
return file_service_region_province_proto_rawDescGZIP(), []int{10}
}
func (x *UpdateRegionProvinceCustomRequest) GetRegionProvinceId() int64 {
@@ -510,66 +596,81 @@ var file_service_region_province_proto_rawDesc = []byte{
0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50, 0x72,
0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x52, 0x0f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50, 0x72,
0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x73, 0x22, 0x47, 0x0a, 0x19, 0x46, 0x69, 0x6e, 0x64, 0x52,
0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x10, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50, 0x72,
0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10,
0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x49, 0x64,
0x22, 0x58, 0x0a, 0x1a, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50, 0x72,
0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a,
0x0a, 0x0e, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65,
0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x67, 0x69,
0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x52, 0x0e, 0x72, 0x65, 0x67, 0x69,
0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x22, 0x91, 0x01, 0x0a, 0x21, 0x55,
0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69,
0x6e, 0x63, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x12, 0x2a, 0x0a, 0x10, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e,
0x63, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x72, 0x65, 0x67, 0x69,
0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a,
0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
0x52, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b,
0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28,
0x09, 0x52, 0x0b, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x32, 0xee,
0x04, 0x0a, 0x15, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63,
0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xa0, 0x01, 0x0a, 0x2a, 0x66, 0x69, 0x6e,
0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x67, 0x69, 0x6f,
0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x43, 0x6f,
0x75, 0x6e, 0x74, 0x72, 0x79, 0x49, 0x64, 0x12, 0x35, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e,
0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x67, 0x69, 0x6f,
0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x43, 0x6f,
0x75, 0x6e, 0x74, 0x72, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36,
0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c,
0x65, 0x64, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65,
0x73, 0x57, 0x69, 0x74, 0x68, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x49, 0x64, 0x52, 0x65,
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x88, 0x02, 0x01, 0x12, 0x6d, 0x0a, 0x19, 0x66,
0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x73, 0x22, 0x1f, 0x0a, 0x1d, 0x46, 0x69, 0x6e, 0x64, 0x41,
0x6c, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65,
0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x5e, 0x0a, 0x1e, 0x46, 0x69, 0x6e, 0x64,
0x41, 0x6c, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63,
0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x0f, 0x72, 0x65,
0x67, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50,
0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x52, 0x0f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50,
0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x73, 0x22, 0x47, 0x0a, 0x19, 0x46, 0x69, 0x6e, 0x64,
0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x10, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50,
0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52,
0x10, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x49,
0x64, 0x22, 0x58, 0x0a, 0x1a, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50,
0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
0x3a, 0x0a, 0x0e, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63,
0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x67,
0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x52, 0x0e, 0x72, 0x65, 0x67,
0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x22, 0x91, 0x01, 0x0a, 0x21,
0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76,
0x69, 0x6e, 0x63, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x12, 0x2a, 0x0a, 0x10, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69,
0x6e, 0x63, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x72, 0x65, 0x67,
0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x12, 0x1e, 0x0a,
0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
0x09, 0x52, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a,
0x0b, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03,
0x28, 0x09, 0x52, 0x0b, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x32,
0xcf, 0x05, 0x0a, 0x15, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e,
0x63, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xa0, 0x01, 0x0a, 0x2a, 0x66, 0x69,
0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x67, 0x69,
0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x43,
0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x49, 0x64, 0x12, 0x35, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69,
0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x67, 0x69,
0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x43,
0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
0x36, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62,
0x6c, 0x65, 0x64, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63,
0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x49, 0x64, 0x52,
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x88, 0x02, 0x01, 0x12, 0x6d, 0x0a, 0x19,
0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x67, 0x69, 0x6f,
0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x12, 0x24, 0x2e, 0x70, 0x62, 0x2e, 0x46,
0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e,
0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x12, 0x24, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69,
0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50,
0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25,
0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x52,
0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73,
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x88, 0x02, 0x01, 0x12, 0x98, 0x01, 0x0a, 0x29, 0x66,
0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
0x25, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x52, 0x65,
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x88, 0x02, 0x01, 0x12, 0x98, 0x01, 0x0a, 0x29,
0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f,
0x76, 0x69, 0x6e, 0x63, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e,
0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x49, 0x64, 0x12, 0x34, 0x2e, 0x70, 0x62, 0x2e, 0x46,
0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76,
0x69, 0x6e, 0x63, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x43,
0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x49, 0x64, 0x12, 0x34, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69,
0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69,
0x6e, 0x63, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x43, 0x6f,
0x75, 0x6e, 0x74, 0x72, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35,
0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x6f,
0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x52, 0x65,
0x67, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73,
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x12, 0x66, 0x69, 0x6e, 0x64, 0x52, 0x65, 0x67,
0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x12, 0x1d, 0x2e, 0x70, 0x62,
0x2e, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69,
0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x70, 0x62, 0x2e,
0x46, 0x69, 0x6e, 0x64, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e,
0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x1a, 0x75, 0x70,
0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e,
0x63, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x12, 0x25, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70,
0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e,
0x63, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 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,
0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
0x35, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x67, 0x69,
0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x52,
0x65, 0x67, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x49, 0x64, 0x52, 0x65,
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x16, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c,
0x6c, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x73,
0x12, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x67,
0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c,
0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x73, 0x52,
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x12, 0x66, 0x69, 0x6e, 0x64, 0x52,
0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x12, 0x1d, 0x2e,
0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f,
0x76, 0x69, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x70,
0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76,
0x69, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x1a,
0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76,
0x69, 0x6e, 0x63, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x12, 0x25, 0x2e, 0x70, 0x62, 0x2e,
0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76,
0x69, 0x6e, 0x63, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 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 (
@@ -584,7 +685,7 @@ func file_service_region_province_proto_rawDescGZIP() []byte {
return file_service_region_province_proto_rawDescData
}
var file_service_region_province_proto_msgTypes = make([]protoimpl.MessageInfo, 9)
var file_service_region_province_proto_msgTypes = make([]protoimpl.MessageInfo, 11)
var file_service_region_province_proto_goTypes = []interface{}{
(*FindAllEnabledRegionProvincesWithCountryIdRequest)(nil), // 0: pb.FindAllEnabledRegionProvincesWithCountryIdRequest
(*FindAllEnabledRegionProvincesWithCountryIdResponse)(nil), // 1: pb.FindAllEnabledRegionProvincesWithCountryIdResponse
@@ -592,32 +693,37 @@ var file_service_region_province_proto_goTypes = []interface{}{
(*FindEnabledRegionProvinceResponse)(nil), // 3: pb.FindEnabledRegionProvinceResponse
(*FindAllRegionProvincesWithRegionCountryIdRequest)(nil), // 4: pb.FindAllRegionProvincesWithRegionCountryIdRequest
(*FindAllRegionProvincesWithRegionCountryIdResponse)(nil), // 5: pb.FindAllRegionProvincesWithRegionCountryIdResponse
(*FindRegionProvinceRequest)(nil), // 6: pb.FindRegionProvinceRequest
(*FindRegionProvinceResponse)(nil), // 7: pb.FindRegionProvinceResponse
(*UpdateRegionProvinceCustomRequest)(nil), // 8: pb.UpdateRegionProvinceCustomRequest
(*RegionProvince)(nil), // 9: pb.RegionProvince
(*RPCSuccess)(nil), // 10: pb.RPCSuccess
(*FindAllRegionProvincesRequest)(nil), // 6: pb.FindAllRegionProvincesRequest
(*FindAllRegionProvincesResponse)(nil), // 7: pb.FindAllRegionProvincesResponse
(*FindRegionProvinceRequest)(nil), // 8: pb.FindRegionProvinceRequest
(*FindRegionProvinceResponse)(nil), // 9: pb.FindRegionProvinceResponse
(*UpdateRegionProvinceCustomRequest)(nil), // 10: pb.UpdateRegionProvinceCustomRequest
(*RegionProvince)(nil), // 11: pb.RegionProvince
(*RPCSuccess)(nil), // 12: pb.RPCSuccess
}
var file_service_region_province_proto_depIdxs = []int32{
9, // 0: pb.FindAllEnabledRegionProvincesWithCountryIdResponse.regionProvinces:type_name -> pb.RegionProvince
9, // 1: pb.FindEnabledRegionProvinceResponse.regionProvince:type_name -> pb.RegionProvince
9, // 2: pb.FindAllRegionProvincesWithRegionCountryIdResponse.regionProvinces:type_name -> pb.RegionProvince
9, // 3: pb.FindRegionProvinceResponse.regionProvince:type_name -> pb.RegionProvince
0, // 4: pb.RegionProvinceService.findAllEnabledRegionProvincesWithCountryId:input_type -> pb.FindAllEnabledRegionProvincesWithCountryIdRequest
2, // 5: pb.RegionProvinceService.findEnabledRegionProvince:input_type -> pb.FindEnabledRegionProvinceRequest
4, // 6: pb.RegionProvinceService.findAllRegionProvincesWithRegionCountryId:input_type -> pb.FindAllRegionProvincesWithRegionCountryIdRequest
6, // 7: pb.RegionProvinceService.findRegionProvince:input_type -> pb.FindRegionProvinceRequest
8, // 8: pb.RegionProvinceService.updateRegionProvinceCustom:input_type -> pb.UpdateRegionProvinceCustomRequest
1, // 9: pb.RegionProvinceService.findAllEnabledRegionProvincesWithCountryId:output_type -> pb.FindAllEnabledRegionProvincesWithCountryIdResponse
3, // 10: pb.RegionProvinceService.findEnabledRegionProvince:output_type -> pb.FindEnabledRegionProvinceResponse
5, // 11: pb.RegionProvinceService.findAllRegionProvincesWithRegionCountryId:output_type -> pb.FindAllRegionProvincesWithRegionCountryIdResponse
7, // 12: pb.RegionProvinceService.findRegionProvince:output_type -> pb.FindRegionProvinceResponse
10, // 13: pb.RegionProvinceService.updateRegionProvinceCustom:output_type -> pb.RPCSuccess
9, // [9:14] is the sub-list for method output_type
4, // [4:9] 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
11, // 0: pb.FindAllEnabledRegionProvincesWithCountryIdResponse.regionProvinces:type_name -> pb.RegionProvince
11, // 1: pb.FindEnabledRegionProvinceResponse.regionProvince:type_name -> pb.RegionProvince
11, // 2: pb.FindAllRegionProvincesWithRegionCountryIdResponse.regionProvinces:type_name -> pb.RegionProvince
11, // 3: pb.FindAllRegionProvincesResponse.regionProvinces:type_name -> pb.RegionProvince
11, // 4: pb.FindRegionProvinceResponse.regionProvince:type_name -> pb.RegionProvince
0, // 5: pb.RegionProvinceService.findAllEnabledRegionProvincesWithCountryId:input_type -> pb.FindAllEnabledRegionProvincesWithCountryIdRequest
2, // 6: pb.RegionProvinceService.findEnabledRegionProvince:input_type -> pb.FindEnabledRegionProvinceRequest
4, // 7: pb.RegionProvinceService.findAllRegionProvincesWithRegionCountryId:input_type -> pb.FindAllRegionProvincesWithRegionCountryIdRequest
6, // 8: pb.RegionProvinceService.findAllRegionProvinces:input_type -> pb.FindAllRegionProvincesRequest
8, // 9: pb.RegionProvinceService.findRegionProvince:input_type -> pb.FindRegionProvinceRequest
10, // 10: pb.RegionProvinceService.updateRegionProvinceCustom:input_type -> pb.UpdateRegionProvinceCustomRequest
1, // 11: pb.RegionProvinceService.findAllEnabledRegionProvincesWithCountryId:output_type -> pb.FindAllEnabledRegionProvincesWithCountryIdResponse
3, // 12: pb.RegionProvinceService.findEnabledRegionProvince:output_type -> pb.FindEnabledRegionProvinceResponse
5, // 13: pb.RegionProvinceService.findAllRegionProvincesWithRegionCountryId:output_type -> pb.FindAllRegionProvincesWithRegionCountryIdResponse
7, // 14: pb.RegionProvinceService.findAllRegionProvinces:output_type -> pb.FindAllRegionProvincesResponse
9, // 15: pb.RegionProvinceService.findRegionProvince:output_type -> pb.FindRegionProvinceResponse
12, // 16: pb.RegionProvinceService.updateRegionProvinceCustom:output_type -> pb.RPCSuccess
11, // [11:17] is the sub-list for method output_type
5, // [5:11] 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_service_region_province_proto_init() }
@@ -701,7 +807,7 @@ func file_service_region_province_proto_init() {
}
}
file_service_region_province_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FindRegionProvinceRequest); i {
switch v := v.(*FindAllRegionProvincesRequest); i {
case 0:
return &v.state
case 1:
@@ -713,7 +819,7 @@ func file_service_region_province_proto_init() {
}
}
file_service_region_province_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FindRegionProvinceResponse); i {
switch v := v.(*FindAllRegionProvincesResponse); i {
case 0:
return &v.state
case 1:
@@ -725,6 +831,30 @@ func file_service_region_province_proto_init() {
}
}
file_service_region_province_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FindRegionProvinceRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_region_province_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FindRegionProvinceResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_region_province_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UpdateRegionProvinceCustomRequest); i {
case 0:
return &v.state
@@ -743,7 +873,7 @@ func file_service_region_province_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_service_region_province_proto_rawDesc,
NumEnums: 0,
NumMessages: 9,
NumMessages: 11,
NumExtensions: 0,
NumServices: 1,
},

View File

@@ -22,6 +22,7 @@ const (
RegionProvinceService_FindAllEnabledRegionProvincesWithCountryId_FullMethodName = "/pb.RegionProvinceService/findAllEnabledRegionProvincesWithCountryId"
RegionProvinceService_FindEnabledRegionProvince_FullMethodName = "/pb.RegionProvinceService/findEnabledRegionProvince"
RegionProvinceService_FindAllRegionProvincesWithRegionCountryId_FullMethodName = "/pb.RegionProvinceService/findAllRegionProvincesWithRegionCountryId"
RegionProvinceService_FindAllRegionProvinces_FullMethodName = "/pb.RegionProvinceService/findAllRegionProvinces"
RegionProvinceService_FindRegionProvince_FullMethodName = "/pb.RegionProvinceService/findRegionProvince"
RegionProvinceService_UpdateRegionProvinceCustom_FullMethodName = "/pb.RegionProvinceService/updateRegionProvinceCustom"
)
@@ -31,13 +32,15 @@ const (
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
type RegionProvinceServiceClient interface {
// Deprecated: Do not use.
// 查找所有省份
// 根据国家|地区ID查找所有省份
FindAllEnabledRegionProvincesWithCountryId(ctx context.Context, in *FindAllEnabledRegionProvincesWithCountryIdRequest, opts ...grpc.CallOption) (*FindAllEnabledRegionProvincesWithCountryIdResponse, error)
// Deprecated: Do not use.
// 查找单个省份信息
FindEnabledRegionProvince(ctx context.Context, in *FindEnabledRegionProvinceRequest, opts ...grpc.CallOption) (*FindEnabledRegionProvinceResponse, error)
// 查找所有省份
// 根据国家|地区ID查找所有省份
FindAllRegionProvincesWithRegionCountryId(ctx context.Context, in *FindAllRegionProvincesWithRegionCountryIdRequest, opts ...grpc.CallOption) (*FindAllRegionProvincesWithRegionCountryIdResponse, error)
// 查找所有国家|地区的所有省份
FindAllRegionProvinces(ctx context.Context, in *FindAllRegionProvincesRequest, opts ...grpc.CallOption) (*FindAllRegionProvincesResponse, error)
// 查找单个省份信息
FindRegionProvince(ctx context.Context, in *FindRegionProvinceRequest, opts ...grpc.CallOption) (*FindRegionProvinceResponse, error)
// 修改国家/地区定制信息
@@ -81,6 +84,15 @@ func (c *regionProvinceServiceClient) FindAllRegionProvincesWithRegionCountryId(
return out, nil
}
func (c *regionProvinceServiceClient) FindAllRegionProvinces(ctx context.Context, in *FindAllRegionProvincesRequest, opts ...grpc.CallOption) (*FindAllRegionProvincesResponse, error) {
out := new(FindAllRegionProvincesResponse)
err := c.cc.Invoke(ctx, RegionProvinceService_FindAllRegionProvinces_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *regionProvinceServiceClient) FindRegionProvince(ctx context.Context, in *FindRegionProvinceRequest, opts ...grpc.CallOption) (*FindRegionProvinceResponse, error) {
out := new(FindRegionProvinceResponse)
err := c.cc.Invoke(ctx, RegionProvinceService_FindRegionProvince_FullMethodName, in, out, opts...)
@@ -104,13 +116,15 @@ func (c *regionProvinceServiceClient) UpdateRegionProvinceCustom(ctx context.Con
// for forward compatibility
type RegionProvinceServiceServer interface {
// Deprecated: Do not use.
// 查找所有省份
// 根据国家|地区ID查找所有省份
FindAllEnabledRegionProvincesWithCountryId(context.Context, *FindAllEnabledRegionProvincesWithCountryIdRequest) (*FindAllEnabledRegionProvincesWithCountryIdResponse, error)
// Deprecated: Do not use.
// 查找单个省份信息
FindEnabledRegionProvince(context.Context, *FindEnabledRegionProvinceRequest) (*FindEnabledRegionProvinceResponse, error)
// 查找所有省份
// 根据国家|地区ID查找所有省份
FindAllRegionProvincesWithRegionCountryId(context.Context, *FindAllRegionProvincesWithRegionCountryIdRequest) (*FindAllRegionProvincesWithRegionCountryIdResponse, error)
// 查找所有国家|地区的所有省份
FindAllRegionProvinces(context.Context, *FindAllRegionProvincesRequest) (*FindAllRegionProvincesResponse, error)
// 查找单个省份信息
FindRegionProvince(context.Context, *FindRegionProvinceRequest) (*FindRegionProvinceResponse, error)
// 修改国家/地区定制信息
@@ -130,6 +144,9 @@ func (UnimplementedRegionProvinceServiceServer) FindEnabledRegionProvince(contex
func (UnimplementedRegionProvinceServiceServer) FindAllRegionProvincesWithRegionCountryId(context.Context, *FindAllRegionProvincesWithRegionCountryIdRequest) (*FindAllRegionProvincesWithRegionCountryIdResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method FindAllRegionProvincesWithRegionCountryId not implemented")
}
func (UnimplementedRegionProvinceServiceServer) FindAllRegionProvinces(context.Context, *FindAllRegionProvincesRequest) (*FindAllRegionProvincesResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method FindAllRegionProvinces not implemented")
}
func (UnimplementedRegionProvinceServiceServer) FindRegionProvince(context.Context, *FindRegionProvinceRequest) (*FindRegionProvinceResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method FindRegionProvince not implemented")
}
@@ -202,6 +219,24 @@ func _RegionProvinceService_FindAllRegionProvincesWithRegionCountryId_Handler(sr
return interceptor(ctx, in, info, handler)
}
func _RegionProvinceService_FindAllRegionProvinces_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(FindAllRegionProvincesRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(RegionProvinceServiceServer).FindAllRegionProvinces(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: RegionProvinceService_FindAllRegionProvinces_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(RegionProvinceServiceServer).FindAllRegionProvinces(ctx, req.(*FindAllRegionProvincesRequest))
}
return interceptor(ctx, in, info, handler)
}
func _RegionProvinceService_FindRegionProvince_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(FindRegionProvinceRequest)
if err := dec(in); err != nil {
@@ -257,6 +292,10 @@ var RegionProvinceService_ServiceDesc = grpc.ServiceDesc{
MethodName: "findAllRegionProvincesWithRegionCountryId",
Handler: _RegionProvinceService_FindAllRegionProvincesWithRegionCountryId_Handler,
},
{
MethodName: "findAllRegionProvinces",
Handler: _RegionProvinceService_FindAllRegionProvinces_Handler,
},
{
MethodName: "findRegionProvince",
Handler: _RegionProvinceService_FindRegionProvince_Handler,

File diff suppressed because it is too large Load Diff

View File

@@ -22,6 +22,8 @@ const (
ServerService_CreateServer_FullMethodName = "/pb.ServerService/createServer"
ServerService_CreateBasicHTTPServer_FullMethodName = "/pb.ServerService/createBasicHTTPServer"
ServerService_CreateBasicTCPServer_FullMethodName = "/pb.ServerService/createBasicTCPServer"
ServerService_AddServerOrigin_FullMethodName = "/pb.ServerService/addServerOrigin"
ServerService_DeleteServerOrigin_FullMethodName = "/pb.ServerService/deleteServerOrigin"
ServerService_UpdateServerBasic_FullMethodName = "/pb.ServerService/updateServerBasic"
ServerService_UpdateServerGroupIds_FullMethodName = "/pb.ServerService/updateServerGroupIds"
ServerService_UpdateServerIsOn_FullMethodName = "/pb.ServerService/updateServerIsOn"
@@ -43,6 +45,7 @@ const (
ServerService_CountAllEnabledServersMatch_FullMethodName = "/pb.ServerService/countAllEnabledServersMatch"
ServerService_ListEnabledServersMatch_FullMethodName = "/pb.ServerService/listEnabledServersMatch"
ServerService_DeleteServer_FullMethodName = "/pb.ServerService/deleteServer"
ServerService_DeleteServers_FullMethodName = "/pb.ServerService/deleteServers"
ServerService_FindEnabledServer_FullMethodName = "/pb.ServerService/findEnabledServer"
ServerService_FindEnabledServerConfig_FullMethodName = "/pb.ServerService/findEnabledServerConfig"
ServerService_FindEnabledServerType_FullMethodName = "/pb.ServerService/findEnabledServerType"
@@ -66,6 +69,7 @@ const (
ServerService_UpdateEnabledUserServerBasic_FullMethodName = "/pb.ServerService/updateEnabledUserServerBasic"
ServerService_UploadServerHTTPRequestStat_FullMethodName = "/pb.ServerService/uploadServerHTTPRequestStat"
ServerService_CheckServerNameDuplicationInNodeCluster_FullMethodName = "/pb.ServerService/checkServerNameDuplicationInNodeCluster"
ServerService_CheckServerNameInServer_FullMethodName = "/pb.ServerService/checkServerNameInServer"
ServerService_FindLatestServers_FullMethodName = "/pb.ServerService/findLatestServers"
ServerService_FindNearbyServers_FullMethodName = "/pb.ServerService/findNearbyServers"
ServerService_PurgeServerCache_FullMethodName = "/pb.ServerService/purgeServerCache"
@@ -92,6 +96,10 @@ type ServerServiceClient interface {
CreateBasicHTTPServer(ctx context.Context, in *CreateBasicHTTPServerRequest, opts ...grpc.CallOption) (*CreateBasicHTTPServerResponse, error)
// 快速创建基本的TCP网站
CreateBasicTCPServer(ctx context.Context, in *CreateBasicTCPServerRequest, opts ...grpc.CallOption) (*CreateBasicTCPServerResponse, error)
// 为网站添加源站
AddServerOrigin(ctx context.Context, in *AddServerOriginRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
// 从网站中删除某个源站
DeleteServerOrigin(ctx context.Context, in *DeleteServerOriginRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
// 修改网站基本信息
UpdateServerBasic(ctx context.Context, in *UpdateServerBasicRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
// 修改网站所在分组
@@ -132,8 +140,10 @@ type ServerServiceClient interface {
CountAllEnabledServersMatch(ctx context.Context, in *CountAllEnabledServersMatchRequest, opts ...grpc.CallOption) (*RPCCountResponse, error)
// 列出单页网站
ListEnabledServersMatch(ctx context.Context, in *ListEnabledServersMatchRequest, opts ...grpc.CallOption) (*ListEnabledServersMatchResponse, error)
// 禁用某网站
// 删除某网站
DeleteServer(ctx context.Context, in *DeleteServerRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
// 删除一组网站
DeleteServers(ctx context.Context, in *DeleteServersRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
// 查找单个网站
FindEnabledServer(ctx context.Context, in *FindEnabledServerRequest, opts ...grpc.CallOption) (*FindEnabledServerResponse, error)
// 查找网站配置
@@ -178,8 +188,10 @@ type ServerServiceClient interface {
UpdateEnabledUserServerBasic(ctx context.Context, in *UpdateEnabledUserServerBasicRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
// 上传HTTP请求待统计数据
UploadServerHTTPRequestStat(ctx context.Context, in *UploadServerHTTPRequestStatRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
// 检查域名是否已经存在
// 检查域名是否在集群中已经存在
CheckServerNameDuplicationInNodeCluster(ctx context.Context, in *CheckServerNameDuplicationInNodeClusterRequest, opts ...grpc.CallOption) (*CheckServerNameDuplicationInNodeClusterResponse, error)
// 检查域名是否在网站中已经绑定
CheckServerNameInServer(ctx context.Context, in *CheckServerNameInServerRequest, opts ...grpc.CallOption) (*CheckServerNameInServerResponse, error)
// 查找最近访问的网站
FindLatestServers(ctx context.Context, in *FindLatestServersRequest, opts ...grpc.CallOption) (*FindLatestServersResponse, error)
// 查找某个网站附近的网站
@@ -245,6 +257,24 @@ func (c *serverServiceClient) CreateBasicTCPServer(ctx context.Context, in *Crea
return out, nil
}
func (c *serverServiceClient) AddServerOrigin(ctx context.Context, in *AddServerOriginRequest, opts ...grpc.CallOption) (*RPCSuccess, error) {
out := new(RPCSuccess)
err := c.cc.Invoke(ctx, ServerService_AddServerOrigin_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *serverServiceClient) DeleteServerOrigin(ctx context.Context, in *DeleteServerOriginRequest, opts ...grpc.CallOption) (*RPCSuccess, error) {
out := new(RPCSuccess)
err := c.cc.Invoke(ctx, ServerService_DeleteServerOrigin_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *serverServiceClient) UpdateServerBasic(ctx context.Context, in *UpdateServerBasicRequest, opts ...grpc.CallOption) (*RPCSuccess, error) {
out := new(RPCSuccess)
err := c.cc.Invoke(ctx, ServerService_UpdateServerBasic_FullMethodName, in, out, opts...)
@@ -434,6 +464,15 @@ func (c *serverServiceClient) DeleteServer(ctx context.Context, in *DeleteServer
return out, nil
}
func (c *serverServiceClient) DeleteServers(ctx context.Context, in *DeleteServersRequest, opts ...grpc.CallOption) (*RPCSuccess, error) {
out := new(RPCSuccess)
err := c.cc.Invoke(ctx, ServerService_DeleteServers_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *serverServiceClient) FindEnabledServer(ctx context.Context, in *FindEnabledServerRequest, opts ...grpc.CallOption) (*FindEnabledServerResponse, error) {
out := new(FindEnabledServerResponse)
err := c.cc.Invoke(ctx, ServerService_FindEnabledServer_FullMethodName, in, out, opts...)
@@ -641,6 +680,15 @@ func (c *serverServiceClient) CheckServerNameDuplicationInNodeCluster(ctx contex
return out, nil
}
func (c *serverServiceClient) CheckServerNameInServer(ctx context.Context, in *CheckServerNameInServerRequest, opts ...grpc.CallOption) (*CheckServerNameInServerResponse, error) {
out := new(CheckServerNameInServerResponse)
err := c.cc.Invoke(ctx, ServerService_CheckServerNameInServer_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *serverServiceClient) FindLatestServers(ctx context.Context, in *FindLatestServersRequest, opts ...grpc.CallOption) (*FindLatestServersResponse, error) {
out := new(FindLatestServersResponse)
err := c.cc.Invoke(ctx, ServerService_FindLatestServers_FullMethodName, in, out, opts...)
@@ -777,6 +825,10 @@ type ServerServiceServer interface {
CreateBasicHTTPServer(context.Context, *CreateBasicHTTPServerRequest) (*CreateBasicHTTPServerResponse, error)
// 快速创建基本的TCP网站
CreateBasicTCPServer(context.Context, *CreateBasicTCPServerRequest) (*CreateBasicTCPServerResponse, error)
// 为网站添加源站
AddServerOrigin(context.Context, *AddServerOriginRequest) (*RPCSuccess, error)
// 从网站中删除某个源站
DeleteServerOrigin(context.Context, *DeleteServerOriginRequest) (*RPCSuccess, error)
// 修改网站基本信息
UpdateServerBasic(context.Context, *UpdateServerBasicRequest) (*RPCSuccess, error)
// 修改网站所在分组
@@ -817,8 +869,10 @@ type ServerServiceServer interface {
CountAllEnabledServersMatch(context.Context, *CountAllEnabledServersMatchRequest) (*RPCCountResponse, error)
// 列出单页网站
ListEnabledServersMatch(context.Context, *ListEnabledServersMatchRequest) (*ListEnabledServersMatchResponse, error)
// 禁用某网站
// 删除某网站
DeleteServer(context.Context, *DeleteServerRequest) (*RPCSuccess, error)
// 删除一组网站
DeleteServers(context.Context, *DeleteServersRequest) (*RPCSuccess, error)
// 查找单个网站
FindEnabledServer(context.Context, *FindEnabledServerRequest) (*FindEnabledServerResponse, error)
// 查找网站配置
@@ -863,8 +917,10 @@ type ServerServiceServer interface {
UpdateEnabledUserServerBasic(context.Context, *UpdateEnabledUserServerBasicRequest) (*RPCSuccess, error)
// 上传HTTP请求待统计数据
UploadServerHTTPRequestStat(context.Context, *UploadServerHTTPRequestStatRequest) (*RPCSuccess, error)
// 检查域名是否已经存在
// 检查域名是否在集群中已经存在
CheckServerNameDuplicationInNodeCluster(context.Context, *CheckServerNameDuplicationInNodeClusterRequest) (*CheckServerNameDuplicationInNodeClusterResponse, error)
// 检查域名是否在网站中已经绑定
CheckServerNameInServer(context.Context, *CheckServerNameInServerRequest) (*CheckServerNameInServerResponse, error)
// 查找最近访问的网站
FindLatestServers(context.Context, *FindLatestServersRequest) (*FindLatestServersResponse, error)
// 查找某个网站附近的网站
@@ -908,6 +964,12 @@ func (UnimplementedServerServiceServer) CreateBasicHTTPServer(context.Context, *
func (UnimplementedServerServiceServer) CreateBasicTCPServer(context.Context, *CreateBasicTCPServerRequest) (*CreateBasicTCPServerResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method CreateBasicTCPServer not implemented")
}
func (UnimplementedServerServiceServer) AddServerOrigin(context.Context, *AddServerOriginRequest) (*RPCSuccess, error) {
return nil, status.Errorf(codes.Unimplemented, "method AddServerOrigin not implemented")
}
func (UnimplementedServerServiceServer) DeleteServerOrigin(context.Context, *DeleteServerOriginRequest) (*RPCSuccess, error) {
return nil, status.Errorf(codes.Unimplemented, "method DeleteServerOrigin not implemented")
}
func (UnimplementedServerServiceServer) UpdateServerBasic(context.Context, *UpdateServerBasicRequest) (*RPCSuccess, error) {
return nil, status.Errorf(codes.Unimplemented, "method UpdateServerBasic not implemented")
}
@@ -971,6 +1033,9 @@ func (UnimplementedServerServiceServer) ListEnabledServersMatch(context.Context,
func (UnimplementedServerServiceServer) DeleteServer(context.Context, *DeleteServerRequest) (*RPCSuccess, error) {
return nil, status.Errorf(codes.Unimplemented, "method DeleteServer not implemented")
}
func (UnimplementedServerServiceServer) DeleteServers(context.Context, *DeleteServersRequest) (*RPCSuccess, error) {
return nil, status.Errorf(codes.Unimplemented, "method DeleteServers not implemented")
}
func (UnimplementedServerServiceServer) FindEnabledServer(context.Context, *FindEnabledServerRequest) (*FindEnabledServerResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method FindEnabledServer not implemented")
}
@@ -1040,6 +1105,9 @@ func (UnimplementedServerServiceServer) UploadServerHTTPRequestStat(context.Cont
func (UnimplementedServerServiceServer) CheckServerNameDuplicationInNodeCluster(context.Context, *CheckServerNameDuplicationInNodeClusterRequest) (*CheckServerNameDuplicationInNodeClusterResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method CheckServerNameDuplicationInNodeCluster not implemented")
}
func (UnimplementedServerServiceServer) CheckServerNameInServer(context.Context, *CheckServerNameInServerRequest) (*CheckServerNameInServerResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method CheckServerNameInServer not implemented")
}
func (UnimplementedServerServiceServer) FindLatestServers(context.Context, *FindLatestServersRequest) (*FindLatestServersResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method FindLatestServers not implemented")
}
@@ -1148,6 +1216,42 @@ func _ServerService_CreateBasicTCPServer_Handler(srv interface{}, ctx context.Co
return interceptor(ctx, in, info, handler)
}
func _ServerService_AddServerOrigin_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(AddServerOriginRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(ServerServiceServer).AddServerOrigin(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: ServerService_AddServerOrigin_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ServerServiceServer).AddServerOrigin(ctx, req.(*AddServerOriginRequest))
}
return interceptor(ctx, in, info, handler)
}
func _ServerService_DeleteServerOrigin_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(DeleteServerOriginRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(ServerServiceServer).DeleteServerOrigin(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: ServerService_DeleteServerOrigin_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ServerServiceServer).DeleteServerOrigin(ctx, req.(*DeleteServerOriginRequest))
}
return interceptor(ctx, in, info, handler)
}
func _ServerService_UpdateServerBasic_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(UpdateServerBasicRequest)
if err := dec(in); err != nil {
@@ -1526,6 +1630,24 @@ func _ServerService_DeleteServer_Handler(srv interface{}, ctx context.Context, d
return interceptor(ctx, in, info, handler)
}
func _ServerService_DeleteServers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(DeleteServersRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(ServerServiceServer).DeleteServers(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: ServerService_DeleteServers_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ServerServiceServer).DeleteServers(ctx, req.(*DeleteServersRequest))
}
return interceptor(ctx, in, info, handler)
}
func _ServerService_FindEnabledServer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(FindEnabledServerRequest)
if err := dec(in); err != nil {
@@ -1940,6 +2062,24 @@ func _ServerService_CheckServerNameDuplicationInNodeCluster_Handler(srv interfac
return interceptor(ctx, in, info, handler)
}
func _ServerService_CheckServerNameInServer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(CheckServerNameInServerRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(ServerServiceServer).CheckServerNameInServer(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: ServerService_CheckServerNameInServer_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ServerServiceServer).CheckServerNameInServer(ctx, req.(*CheckServerNameInServerRequest))
}
return interceptor(ctx, in, info, handler)
}
func _ServerService_FindLatestServers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(FindLatestServersRequest)
if err := dec(in); err != nil {
@@ -2211,6 +2351,14 @@ var ServerService_ServiceDesc = grpc.ServiceDesc{
MethodName: "createBasicTCPServer",
Handler: _ServerService_CreateBasicTCPServer_Handler,
},
{
MethodName: "addServerOrigin",
Handler: _ServerService_AddServerOrigin_Handler,
},
{
MethodName: "deleteServerOrigin",
Handler: _ServerService_DeleteServerOrigin_Handler,
},
{
MethodName: "updateServerBasic",
Handler: _ServerService_UpdateServerBasic_Handler,
@@ -2295,6 +2443,10 @@ var ServerService_ServiceDesc = grpc.ServiceDesc{
MethodName: "deleteServer",
Handler: _ServerService_DeleteServer_Handler,
},
{
MethodName: "deleteServers",
Handler: _ServerService_DeleteServers_Handler,
},
{
MethodName: "findEnabledServer",
Handler: _ServerService_FindEnabledServer_Handler,
@@ -2387,6 +2539,10 @@ var ServerService_ServiceDesc = grpc.ServiceDesc{
MethodName: "checkServerNameDuplicationInNodeCluster",
Handler: _ServerService_CheckServerNameDuplicationInNodeCluster_Handler,
},
{
MethodName: "checkServerNameInServer",
Handler: _ServerService_CheckServerNameInServer_Handler,
},
{
MethodName: "findLatestServers",
Handler: _ServerService_FindLatestServers_Handler,

View File

@@ -0,0 +1,762 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.31.0
// protoc v3.19.4
// source: service_user_script.proto
package pb
import (
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)
)
// 查找单个用户脚本信息
type FindUserScriptRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
UserScriptId int64 `protobuf:"varint,1,opt,name=userScriptId,proto3" json:"userScriptId,omitempty"` // 用户脚本ID
}
func (x *FindUserScriptRequest) Reset() {
*x = FindUserScriptRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_service_user_script_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FindUserScriptRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FindUserScriptRequest) ProtoMessage() {}
func (x *FindUserScriptRequest) ProtoReflect() protoreflect.Message {
mi := &file_service_user_script_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 FindUserScriptRequest.ProtoReflect.Descriptor instead.
func (*FindUserScriptRequest) Descriptor() ([]byte, []int) {
return file_service_user_script_proto_rawDescGZIP(), []int{0}
}
func (x *FindUserScriptRequest) GetUserScriptId() int64 {
if x != nil {
return x.UserScriptId
}
return 0
}
type FindUserScriptResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
UserScript *UserScript `protobuf:"bytes,1,opt,name=userScript,proto3" json:"userScript,omitempty"` // 用户脚本信息
}
func (x *FindUserScriptResponse) Reset() {
*x = FindUserScriptResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_service_user_script_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FindUserScriptResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FindUserScriptResponse) ProtoMessage() {}
func (x *FindUserScriptResponse) ProtoReflect() protoreflect.Message {
mi := &file_service_user_script_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 FindUserScriptResponse.ProtoReflect.Descriptor instead.
func (*FindUserScriptResponse) Descriptor() ([]byte, []int) {
return file_service_user_script_proto_rawDescGZIP(), []int{1}
}
func (x *FindUserScriptResponse) GetUserScript() *UserScript {
if x != nil {
return x.UserScript
}
return nil
}
// 根据代码MD5查找脚本
type FindUserScriptWithMD5Request struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
CodeMD5 string `protobuf:"bytes,1,opt,name=codeMD5,proto3" json:"codeMD5,omitempty"` // 代码MD532位
}
func (x *FindUserScriptWithMD5Request) Reset() {
*x = FindUserScriptWithMD5Request{}
if protoimpl.UnsafeEnabled {
mi := &file_service_user_script_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FindUserScriptWithMD5Request) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FindUserScriptWithMD5Request) ProtoMessage() {}
func (x *FindUserScriptWithMD5Request) ProtoReflect() protoreflect.Message {
mi := &file_service_user_script_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 FindUserScriptWithMD5Request.ProtoReflect.Descriptor instead.
func (*FindUserScriptWithMD5Request) Descriptor() ([]byte, []int) {
return file_service_user_script_proto_rawDescGZIP(), []int{2}
}
func (x *FindUserScriptWithMD5Request) GetCodeMD5() string {
if x != nil {
return x.CodeMD5
}
return ""
}
type FindUserScriptWithMD5Response struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
UserScript *UserScript `protobuf:"bytes,1,opt,name=userScript,proto3" json:"userScript,omitempty"` // 用户脚本信息
}
func (x *FindUserScriptWithMD5Response) Reset() {
*x = FindUserScriptWithMD5Response{}
if protoimpl.UnsafeEnabled {
mi := &file_service_user_script_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FindUserScriptWithMD5Response) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FindUserScriptWithMD5Response) ProtoMessage() {}
func (x *FindUserScriptWithMD5Response) ProtoReflect() protoreflect.Message {
mi := &file_service_user_script_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 FindUserScriptWithMD5Response.ProtoReflect.Descriptor instead.
func (*FindUserScriptWithMD5Response) Descriptor() ([]byte, []int) {
return file_service_user_script_proto_rawDescGZIP(), []int{3}
}
func (x *FindUserScriptWithMD5Response) GetUserScript() *UserScript {
if x != nil {
return x.UserScript
}
return nil
}
// 计算用户脚本数量
type CountUserScriptsRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
UserId int64 `protobuf:"varint,1,opt,name=userId,proto3" json:"userId,omitempty"` // 所属用户ID
IsAuditing bool `protobuf:"varint,2,opt,name=isAuditing,proto3" json:"isAuditing,omitempty"` // 是否正在审核
}
func (x *CountUserScriptsRequest) Reset() {
*x = CountUserScriptsRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_service_user_script_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CountUserScriptsRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CountUserScriptsRequest) ProtoMessage() {}
func (x *CountUserScriptsRequest) ProtoReflect() protoreflect.Message {
mi := &file_service_user_script_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 CountUserScriptsRequest.ProtoReflect.Descriptor instead.
func (*CountUserScriptsRequest) Descriptor() ([]byte, []int) {
return file_service_user_script_proto_rawDescGZIP(), []int{4}
}
func (x *CountUserScriptsRequest) GetUserId() int64 {
if x != nil {
return x.UserId
}
return 0
}
func (x *CountUserScriptsRequest) GetIsAuditing() bool {
if x != nil {
return x.IsAuditing
}
return false
}
// 列出单页用户脚本
type ListUserScriptsRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
UserId int64 `protobuf:"varint,1,opt,name=userId,proto3" json:"userId,omitempty"` // 所属用户ID
IsAuditing bool `protobuf:"varint,2,opt,name=isAuditing,proto3" json:"isAuditing,omitempty"` // 是否正在审核
Offset int64 `protobuf:"varint,3,opt,name=offset,proto3" json:"offset,omitempty"` // 开始读取位置
Size int64 `protobuf:"varint,4,opt,name=size,proto3" json:"size,omitempty"` // 读取数量
}
func (x *ListUserScriptsRequest) Reset() {
*x = ListUserScriptsRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_service_user_script_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListUserScriptsRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListUserScriptsRequest) ProtoMessage() {}
func (x *ListUserScriptsRequest) ProtoReflect() protoreflect.Message {
mi := &file_service_user_script_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 ListUserScriptsRequest.ProtoReflect.Descriptor instead.
func (*ListUserScriptsRequest) Descriptor() ([]byte, []int) {
return file_service_user_script_proto_rawDescGZIP(), []int{5}
}
func (x *ListUserScriptsRequest) GetUserId() int64 {
if x != nil {
return x.UserId
}
return 0
}
func (x *ListUserScriptsRequest) GetIsAuditing() bool {
if x != nil {
return x.IsAuditing
}
return false
}
func (x *ListUserScriptsRequest) GetOffset() int64 {
if x != nil {
return x.Offset
}
return 0
}
func (x *ListUserScriptsRequest) GetSize() int64 {
if x != nil {
return x.Size
}
return 0
}
type ListUserScriptsResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
UserScripts []*UserScript `protobuf:"bytes,1,rep,name=userScripts,proto3" json:"userScripts,omitempty"` // 用户脚本列表
}
func (x *ListUserScriptsResponse) Reset() {
*x = ListUserScriptsResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_service_user_script_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListUserScriptsResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListUserScriptsResponse) ProtoMessage() {}
func (x *ListUserScriptsResponse) ProtoReflect() protoreflect.Message {
mi := &file_service_user_script_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 ListUserScriptsResponse.ProtoReflect.Descriptor instead.
func (*ListUserScriptsResponse) Descriptor() ([]byte, []int) {
return file_service_user_script_proto_rawDescGZIP(), []int{6}
}
func (x *ListUserScriptsResponse) GetUserScripts() []*UserScript {
if x != nil {
return x.UserScripts
}
return nil
}
// 审核并通过用户脚本
type PassUserScriptRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
UserScriptId int64 `protobuf:"varint,1,opt,name=userScriptId,proto3" json:"userScriptId,omitempty"` // 用户脚本ID
}
func (x *PassUserScriptRequest) Reset() {
*x = PassUserScriptRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_service_user_script_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PassUserScriptRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PassUserScriptRequest) ProtoMessage() {}
func (x *PassUserScriptRequest) ProtoReflect() protoreflect.Message {
mi := &file_service_user_script_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 PassUserScriptRequest.ProtoReflect.Descriptor instead.
func (*PassUserScriptRequest) Descriptor() ([]byte, []int) {
return file_service_user_script_proto_rawDescGZIP(), []int{7}
}
func (x *PassUserScriptRequest) GetUserScriptId() int64 {
if x != nil {
return x.UserScriptId
}
return 0
}
// 审核并驳回用户脚本
type RejectUserScriptRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
UserScriptId int64 `protobuf:"varint,1,opt,name=userScriptId,proto3" json:"userScriptId,omitempty"` // 用户脚本ID
Reason string `protobuf:"bytes,2,opt,name=reason,proto3" json:"reason,omitempty"` // 驳回理由
}
func (x *RejectUserScriptRequest) Reset() {
*x = RejectUserScriptRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_service_user_script_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *RejectUserScriptRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RejectUserScriptRequest) ProtoMessage() {}
func (x *RejectUserScriptRequest) ProtoReflect() protoreflect.Message {
mi := &file_service_user_script_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 RejectUserScriptRequest.ProtoReflect.Descriptor instead.
func (*RejectUserScriptRequest) Descriptor() ([]byte, []int) {
return file_service_user_script_proto_rawDescGZIP(), []int{8}
}
func (x *RejectUserScriptRequest) GetUserScriptId() int64 {
if x != nil {
return x.UserScriptId
}
return 0
}
func (x *RejectUserScriptRequest) GetReason() string {
if x != nil {
return x.Reason
}
return ""
}
var File_service_user_script_proto protoreflect.FileDescriptor
var file_service_user_script_proto_rawDesc = []byte{
0x0a, 0x19, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x73,
0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x1a,
0x1e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x75, 0x73,
0x65, 0x72, 0x5f, 0x73, 0x63, 0x72, 0x69, 0x70, 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, 0x3b, 0x0a, 0x15, 0x46, 0x69,
0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x75, 0x73, 0x65, 0x72, 0x53, 0x63, 0x72, 0x69, 0x70,
0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x75, 0x73, 0x65, 0x72, 0x53,
0x63, 0x72, 0x69, 0x70, 0x74, 0x49, 0x64, 0x22, 0x48, 0x0a, 0x16, 0x46, 0x69, 0x6e, 0x64, 0x55,
0x73, 0x65, 0x72, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
0x65, 0x12, 0x2e, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x18,
0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53,
0x63, 0x72, 0x69, 0x70, 0x74, 0x52, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x53, 0x63, 0x72, 0x69, 0x70,
0x74, 0x22, 0x38, 0x0a, 0x1c, 0x46, 0x69, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x53, 0x63, 0x72,
0x69, 0x70, 0x74, 0x57, 0x69, 0x74, 0x68, 0x4d, 0x44, 0x35, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x64, 0x65, 0x4d, 0x44, 0x35, 0x18, 0x01, 0x20, 0x01,
0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x64, 0x65, 0x4d, 0x44, 0x35, 0x22, 0x4f, 0x0a, 0x1d, 0x46,
0x69, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x57, 0x69, 0x74,
0x68, 0x4d, 0x44, 0x35, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x0a,
0x75, 0x73, 0x65, 0x72, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74,
0x52, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x22, 0x51, 0x0a, 0x17,
0x43, 0x6f, 0x75, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x73,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49,
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12,
0x1e, 0x0a, 0x0a, 0x69, 0x73, 0x41, 0x75, 0x64, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20,
0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x41, 0x75, 0x64, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x22,
0x7c, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x53, 0x63, 0x72, 0x69, 0x70,
0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65,
0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49,
0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x73, 0x41, 0x75, 0x64, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x18,
0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x41, 0x75, 0x64, 0x69, 0x74, 0x69, 0x6e,
0x67, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28,
0x03, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a,
0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x22, 0x4b, 0x0a,
0x17, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x73,
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x0b, 0x75, 0x73, 0x65, 0x72,
0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e,
0x70, 0x62, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x52, 0x0b, 0x75,
0x73, 0x65, 0x72, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x73, 0x22, 0x3b, 0x0a, 0x15, 0x50, 0x61,
0x73, 0x73, 0x55, 0x73, 0x65, 0x72, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x75, 0x73, 0x65, 0x72, 0x53, 0x63, 0x72, 0x69, 0x70,
0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x75, 0x73, 0x65, 0x72, 0x53,
0x63, 0x72, 0x69, 0x70, 0x74, 0x49, 0x64, 0x22, 0x55, 0x0a, 0x17, 0x52, 0x65, 0x6a, 0x65, 0x63,
0x74, 0x55, 0x73, 0x65, 0x72, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x75, 0x73, 0x65, 0x72, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74,
0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x75, 0x73, 0x65, 0x72, 0x53, 0x63,
0x72, 0x69, 0x70, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e,
0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x32, 0xcb,
0x03, 0x0a, 0x11, 0x55, 0x73, 0x65, 0x72, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x53, 0x65, 0x72,
0x76, 0x69, 0x63, 0x65, 0x12, 0x47, 0x0a, 0x0e, 0x66, 0x69, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72,
0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x12, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64,
0x55, 0x73, 0x65, 0x72, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x1a, 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x53,
0x63, 0x72, 0x69, 0x70, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a,
0x15, 0x66, 0x69, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x57,
0x69, 0x74, 0x68, 0x4d, 0x44, 0x35, 0x12, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64,
0x55, 0x73, 0x65, 0x72, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x57, 0x69, 0x74, 0x68, 0x4d, 0x44,
0x35, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69,
0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x57, 0x69, 0x74, 0x68,
0x4d, 0x44, 0x35, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x10, 0x63,
0x6f, 0x75, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x73, 0x12,
0x1b, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x53, 0x63,
0x72, 0x69, 0x70, 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, 0x4a, 0x0a, 0x0f, 0x6c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x53, 0x63,
0x72, 0x69, 0x70, 0x74, 0x73, 0x12, 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x55,
0x73, 0x65, 0x72, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x1a, 0x1b, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x53,
0x63, 0x72, 0x69, 0x70, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3b,
0x0a, 0x0e, 0x70, 0x61, 0x73, 0x73, 0x55, 0x73, 0x65, 0x72, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74,
0x12, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x50, 0x61, 0x73, 0x73, 0x55, 0x73, 0x65, 0x72, 0x53, 0x63,
0x72, 0x69, 0x70, 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, 0x3f, 0x0a, 0x10, 0x72,
0x65, 0x6a, 0x65, 0x63, 0x74, 0x55, 0x73, 0x65, 0x72, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x12,
0x1b, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x55, 0x73, 0x65, 0x72, 0x53,
0x63, 0x72, 0x69, 0x70, 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_script_proto_rawDescOnce sync.Once
file_service_user_script_proto_rawDescData = file_service_user_script_proto_rawDesc
)
func file_service_user_script_proto_rawDescGZIP() []byte {
file_service_user_script_proto_rawDescOnce.Do(func() {
file_service_user_script_proto_rawDescData = protoimpl.X.CompressGZIP(file_service_user_script_proto_rawDescData)
})
return file_service_user_script_proto_rawDescData
}
var file_service_user_script_proto_msgTypes = make([]protoimpl.MessageInfo, 9)
var file_service_user_script_proto_goTypes = []interface{}{
(*FindUserScriptRequest)(nil), // 0: pb.FindUserScriptRequest
(*FindUserScriptResponse)(nil), // 1: pb.FindUserScriptResponse
(*FindUserScriptWithMD5Request)(nil), // 2: pb.FindUserScriptWithMD5Request
(*FindUserScriptWithMD5Response)(nil), // 3: pb.FindUserScriptWithMD5Response
(*CountUserScriptsRequest)(nil), // 4: pb.CountUserScriptsRequest
(*ListUserScriptsRequest)(nil), // 5: pb.ListUserScriptsRequest
(*ListUserScriptsResponse)(nil), // 6: pb.ListUserScriptsResponse
(*PassUserScriptRequest)(nil), // 7: pb.PassUserScriptRequest
(*RejectUserScriptRequest)(nil), // 8: pb.RejectUserScriptRequest
(*UserScript)(nil), // 9: pb.UserScript
(*RPCCountResponse)(nil), // 10: pb.RPCCountResponse
(*RPCSuccess)(nil), // 11: pb.RPCSuccess
}
var file_service_user_script_proto_depIdxs = []int32{
9, // 0: pb.FindUserScriptResponse.userScript:type_name -> pb.UserScript
9, // 1: pb.FindUserScriptWithMD5Response.userScript:type_name -> pb.UserScript
9, // 2: pb.ListUserScriptsResponse.userScripts:type_name -> pb.UserScript
0, // 3: pb.UserScriptService.findUserScript:input_type -> pb.FindUserScriptRequest
2, // 4: pb.UserScriptService.findUserScriptWithMD5:input_type -> pb.FindUserScriptWithMD5Request
4, // 5: pb.UserScriptService.countUserScripts:input_type -> pb.CountUserScriptsRequest
5, // 6: pb.UserScriptService.listUserScripts:input_type -> pb.ListUserScriptsRequest
7, // 7: pb.UserScriptService.passUserScript:input_type -> pb.PassUserScriptRequest
8, // 8: pb.UserScriptService.rejectUserScript:input_type -> pb.RejectUserScriptRequest
1, // 9: pb.UserScriptService.findUserScript:output_type -> pb.FindUserScriptResponse
3, // 10: pb.UserScriptService.findUserScriptWithMD5:output_type -> pb.FindUserScriptWithMD5Response
10, // 11: pb.UserScriptService.countUserScripts:output_type -> pb.RPCCountResponse
6, // 12: pb.UserScriptService.listUserScripts:output_type -> pb.ListUserScriptsResponse
11, // 13: pb.UserScriptService.passUserScript:output_type -> pb.RPCSuccess
11, // 14: pb.UserScriptService.rejectUserScript:output_type -> pb.RPCSuccess
9, // [9:15] is the sub-list for method output_type
3, // [3:9] 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_script_proto_init() }
func file_service_user_script_proto_init() {
if File_service_user_script_proto != nil {
return
}
file_models_model_user_script_proto_init()
file_models_rpc_messages_proto_init()
if !protoimpl.UnsafeEnabled {
file_service_user_script_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FindUserScriptRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_user_script_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FindUserScriptResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_user_script_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FindUserScriptWithMD5Request); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_user_script_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FindUserScriptWithMD5Response); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_user_script_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CountUserScriptsRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_user_script_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListUserScriptsRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_user_script_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListUserScriptsResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_user_script_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PassUserScriptRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_user_script_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RejectUserScriptRequest); 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_script_proto_rawDesc,
NumEnums: 0,
NumMessages: 9,
NumExtensions: 0,
NumServices: 1,
},
GoTypes: file_service_user_script_proto_goTypes,
DependencyIndexes: file_service_user_script_proto_depIdxs,
MessageInfos: file_service_user_script_proto_msgTypes,
}.Build()
File_service_user_script_proto = out.File
file_service_user_script_proto_rawDesc = nil
file_service_user_script_proto_goTypes = nil
file_service_user_script_proto_depIdxs = nil
}

View File

@@ -0,0 +1,304 @@
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.3.0
// - protoc v3.19.4
// source: service_user_script.proto
package pb
import (
context "context"
grpc "google.golang.org/grpc"
codes "google.golang.org/grpc/codes"
status "google.golang.org/grpc/status"
)
// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
// Requires gRPC-Go v1.32.0 or later.
const _ = grpc.SupportPackageIsVersion7
const (
UserScriptService_FindUserScript_FullMethodName = "/pb.UserScriptService/findUserScript"
UserScriptService_FindUserScriptWithMD5_FullMethodName = "/pb.UserScriptService/findUserScriptWithMD5"
UserScriptService_CountUserScripts_FullMethodName = "/pb.UserScriptService/countUserScripts"
UserScriptService_ListUserScripts_FullMethodName = "/pb.UserScriptService/listUserScripts"
UserScriptService_PassUserScript_FullMethodName = "/pb.UserScriptService/passUserScript"
UserScriptService_RejectUserScript_FullMethodName = "/pb.UserScriptService/rejectUserScript"
)
// UserScriptServiceClient is the client API for UserScriptService service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
type UserScriptServiceClient interface {
// 查找单个用户脚本信息
FindUserScript(ctx context.Context, in *FindUserScriptRequest, opts ...grpc.CallOption) (*FindUserScriptResponse, error)
// 根据代码MD5查找脚本
FindUserScriptWithMD5(ctx context.Context, in *FindUserScriptWithMD5Request, opts ...grpc.CallOption) (*FindUserScriptWithMD5Response, error)
// 计算用户脚本数量
CountUserScripts(ctx context.Context, in *CountUserScriptsRequest, opts ...grpc.CallOption) (*RPCCountResponse, error)
// 列出单页用户脚本
ListUserScripts(ctx context.Context, in *ListUserScriptsRequest, opts ...grpc.CallOption) (*ListUserScriptsResponse, error)
// 审核并通过用户脚本
PassUserScript(ctx context.Context, in *PassUserScriptRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
// 审核并驳回用户脚本
RejectUserScript(ctx context.Context, in *RejectUserScriptRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
}
type userScriptServiceClient struct {
cc grpc.ClientConnInterface
}
func NewUserScriptServiceClient(cc grpc.ClientConnInterface) UserScriptServiceClient {
return &userScriptServiceClient{cc}
}
func (c *userScriptServiceClient) FindUserScript(ctx context.Context, in *FindUserScriptRequest, opts ...grpc.CallOption) (*FindUserScriptResponse, error) {
out := new(FindUserScriptResponse)
err := c.cc.Invoke(ctx, UserScriptService_FindUserScript_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *userScriptServiceClient) FindUserScriptWithMD5(ctx context.Context, in *FindUserScriptWithMD5Request, opts ...grpc.CallOption) (*FindUserScriptWithMD5Response, error) {
out := new(FindUserScriptWithMD5Response)
err := c.cc.Invoke(ctx, UserScriptService_FindUserScriptWithMD5_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *userScriptServiceClient) CountUserScripts(ctx context.Context, in *CountUserScriptsRequest, opts ...grpc.CallOption) (*RPCCountResponse, error) {
out := new(RPCCountResponse)
err := c.cc.Invoke(ctx, UserScriptService_CountUserScripts_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *userScriptServiceClient) ListUserScripts(ctx context.Context, in *ListUserScriptsRequest, opts ...grpc.CallOption) (*ListUserScriptsResponse, error) {
out := new(ListUserScriptsResponse)
err := c.cc.Invoke(ctx, UserScriptService_ListUserScripts_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *userScriptServiceClient) PassUserScript(ctx context.Context, in *PassUserScriptRequest, opts ...grpc.CallOption) (*RPCSuccess, error) {
out := new(RPCSuccess)
err := c.cc.Invoke(ctx, UserScriptService_PassUserScript_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *userScriptServiceClient) RejectUserScript(ctx context.Context, in *RejectUserScriptRequest, opts ...grpc.CallOption) (*RPCSuccess, error) {
out := new(RPCSuccess)
err := c.cc.Invoke(ctx, UserScriptService_RejectUserScript_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// UserScriptServiceServer is the server API for UserScriptService service.
// All implementations should embed UnimplementedUserScriptServiceServer
// for forward compatibility
type UserScriptServiceServer interface {
// 查找单个用户脚本信息
FindUserScript(context.Context, *FindUserScriptRequest) (*FindUserScriptResponse, error)
// 根据代码MD5查找脚本
FindUserScriptWithMD5(context.Context, *FindUserScriptWithMD5Request) (*FindUserScriptWithMD5Response, error)
// 计算用户脚本数量
CountUserScripts(context.Context, *CountUserScriptsRequest) (*RPCCountResponse, error)
// 列出单页用户脚本
ListUserScripts(context.Context, *ListUserScriptsRequest) (*ListUserScriptsResponse, error)
// 审核并通过用户脚本
PassUserScript(context.Context, *PassUserScriptRequest) (*RPCSuccess, error)
// 审核并驳回用户脚本
RejectUserScript(context.Context, *RejectUserScriptRequest) (*RPCSuccess, error)
}
// UnimplementedUserScriptServiceServer should be embedded to have forward compatible implementations.
type UnimplementedUserScriptServiceServer struct {
}
func (UnimplementedUserScriptServiceServer) FindUserScript(context.Context, *FindUserScriptRequest) (*FindUserScriptResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method FindUserScript not implemented")
}
func (UnimplementedUserScriptServiceServer) FindUserScriptWithMD5(context.Context, *FindUserScriptWithMD5Request) (*FindUserScriptWithMD5Response, error) {
return nil, status.Errorf(codes.Unimplemented, "method FindUserScriptWithMD5 not implemented")
}
func (UnimplementedUserScriptServiceServer) CountUserScripts(context.Context, *CountUserScriptsRequest) (*RPCCountResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method CountUserScripts not implemented")
}
func (UnimplementedUserScriptServiceServer) ListUserScripts(context.Context, *ListUserScriptsRequest) (*ListUserScriptsResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method ListUserScripts not implemented")
}
func (UnimplementedUserScriptServiceServer) PassUserScript(context.Context, *PassUserScriptRequest) (*RPCSuccess, error) {
return nil, status.Errorf(codes.Unimplemented, "method PassUserScript not implemented")
}
func (UnimplementedUserScriptServiceServer) RejectUserScript(context.Context, *RejectUserScriptRequest) (*RPCSuccess, error) {
return nil, status.Errorf(codes.Unimplemented, "method RejectUserScript not implemented")
}
// UnsafeUserScriptServiceServer may be embedded to opt out of forward compatibility for this service.
// Use of this interface is not recommended, as added methods to UserScriptServiceServer will
// result in compilation errors.
type UnsafeUserScriptServiceServer interface {
mustEmbedUnimplementedUserScriptServiceServer()
}
func RegisterUserScriptServiceServer(s grpc.ServiceRegistrar, srv UserScriptServiceServer) {
s.RegisterService(&UserScriptService_ServiceDesc, srv)
}
func _UserScriptService_FindUserScript_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(FindUserScriptRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(UserScriptServiceServer).FindUserScript(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: UserScriptService_FindUserScript_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(UserScriptServiceServer).FindUserScript(ctx, req.(*FindUserScriptRequest))
}
return interceptor(ctx, in, info, handler)
}
func _UserScriptService_FindUserScriptWithMD5_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(FindUserScriptWithMD5Request)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(UserScriptServiceServer).FindUserScriptWithMD5(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: UserScriptService_FindUserScriptWithMD5_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(UserScriptServiceServer).FindUserScriptWithMD5(ctx, req.(*FindUserScriptWithMD5Request))
}
return interceptor(ctx, in, info, handler)
}
func _UserScriptService_CountUserScripts_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(CountUserScriptsRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(UserScriptServiceServer).CountUserScripts(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: UserScriptService_CountUserScripts_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(UserScriptServiceServer).CountUserScripts(ctx, req.(*CountUserScriptsRequest))
}
return interceptor(ctx, in, info, handler)
}
func _UserScriptService_ListUserScripts_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ListUserScriptsRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(UserScriptServiceServer).ListUserScripts(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: UserScriptService_ListUserScripts_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(UserScriptServiceServer).ListUserScripts(ctx, req.(*ListUserScriptsRequest))
}
return interceptor(ctx, in, info, handler)
}
func _UserScriptService_PassUserScript_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(PassUserScriptRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(UserScriptServiceServer).PassUserScript(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: UserScriptService_PassUserScript_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(UserScriptServiceServer).PassUserScript(ctx, req.(*PassUserScriptRequest))
}
return interceptor(ctx, in, info, handler)
}
func _UserScriptService_RejectUserScript_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(RejectUserScriptRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(UserScriptServiceServer).RejectUserScript(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: UserScriptService_RejectUserScript_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(UserScriptServiceServer).RejectUserScript(ctx, req.(*RejectUserScriptRequest))
}
return interceptor(ctx, in, info, handler)
}
// UserScriptService_ServiceDesc is the grpc.ServiceDesc for UserScriptService service.
// It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy)
var UserScriptService_ServiceDesc = grpc.ServiceDesc{
ServiceName: "pb.UserScriptService",
HandlerType: (*UserScriptServiceServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "findUserScript",
Handler: _UserScriptService_FindUserScript_Handler,
},
{
MethodName: "findUserScriptWithMD5",
Handler: _UserScriptService_FindUserScriptWithMD5_Handler,
},
{
MethodName: "countUserScripts",
Handler: _UserScriptService_CountUserScripts_Handler,
},
{
MethodName: "listUserScripts",
Handler: _UserScriptService_ListUserScripts_Handler,
},
{
MethodName: "passUserScript",
Handler: _UserScriptService_PassUserScript_Handler,
},
{
MethodName: "rejectUserScript",
Handler: _UserScriptService_RejectUserScript_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "service_user_script.proto",
}

View File

@@ -3,6 +3,8 @@ option go_package = "./pb";
package pb;
import "models/model_node_cluster.proto";
message HTTPCacheTaskKey {
int64 id = 1; // 缓存键ID
int64 taskId = 2; // 任务ID
@@ -13,4 +15,6 @@ message HTTPCacheTaskKey {
bool isDoing = 9; // 是否执行中
bytes errorsJSON = 7; // 错误信息
int64 nodeClusterId = 8; // 所属集群ID
NodeCluster nodeCluster = 30; // 所属集群,不一定有内容
}

View File

@@ -3,15 +3,19 @@ option go_package = "./pb";
package pb;
// WAF策略
message HTTPFirewallPolicy {
int64 id = 1;
string name = 2;
string mode = 7;
bool isOn = 3;
string description = 4;
bytes inboundJSON = 5;
bytes outboundJSON = 6;
int64 serverId = 8;
bool useLocalFirewall = 9;
bytes synFloodJSON = 10;
int64 id = 1; // 策略ID
string name = 2; // 名称
string mode = 7; // 模式
bool isOn = 3; // 是否启用
string description = 4; // 描述
bytes inboundJSON = 5; // 入站配置
bytes outboundJSON = 6; // 出站配置
int64 serverId = 8; // 所属网站ID如果为0表示公共策略
bool useLocalFirewall = 9; // 是否使用本机防火墙
bytes synFloodJSON = 10; // synflood配置
bytes blockOptionsJSON = 11; // 阻止动作配置
bytes pageOptionsJSON = 13; // 显示网页动作配置
bytes captchaOptionsJSON = 12; // 人机识别配置
}

View File

@@ -4,21 +4,27 @@ option go_package = "./pb";
package pb;
message Plan {
int64 id = 1;
bool isOn = 2;
string name = 3;
int64 clusterId = 4;
bytes trafficLimitJSON = 5;
bytes featuresJSON = 6;
string priceType = 7;
bytes trafficPriceJSON = 8;
bytes bandwidthPriceJSON = 12;
double monthlyPrice = 9;
double seasonallyPrice = 10;
double yearlyPrice = 11;
int64 id = 1; // 套餐ID
bool isOn = 2; // 是否启用
string name = 3; // 套餐名称
string description = 21; // 套餐简介
int64 clusterId = 4; // 集群ID
bytes trafficLimitJSON = 5; // 流量限制
bytes bandwidthLimitPerNodeJSON = 22; // 单节点带宽限制
bool hasFullFeatures = 20; // 是否有所有权限
bytes featuresJSON = 6; // 权限列表,[code1, code2, ...]
string priceType = 7; // 价格类型traffic, bandwidth, period
bytes trafficPriceJSON = 8; // 流量价格配置
bytes bandwidthPriceJSON = 12; // 带宽价格配置
double monthlyPrice = 9; // 月度价格
double seasonallyPrice = 10; // 季度价格
double yearlyPrice = 11; // 年度价格
int32 totalServers = 13; // 可以添加的网站数
int32 totalServerNamesPerServer = 14; // 每个网站可以添加的域名数
int32 totalServerNames = 15; // 可以添加的域名总数
int64 dailyRequests = 16; // 每日访问量额度
int64 monthlyRequests = 17; // 每月访问量额度
int64 dailyWebsocketConnections = 18; // 每日Websocket连接数额度
int64 monthlyWebsocketConnections = 19; // 每月Websocket连接数额度
bytes maxUploadSizeJSON = 23; // 文件最大上传尺寸 @link json:size_capacity
}

View File

@@ -0,0 +1,22 @@
syntax = "proto3";
option go_package = "./pb";
package pb;
import "models/model_post_category.proto";
// 文章
message Post {
int64 id = 1; // ID
int64 postCategoryId = 2; // 分类ID
string productCode = 3; // 产品代号
string type = 4; // 类型normal, url
string subject = 5; // 标题
string url = 6; // URL
string body = 7; // 内容
int64 createdAt = 8; // 创建时间
bool isPublished = 9; // 是否已发布
int64 publishedAt = 10; // 发布时间
PostCategory postCategory = 30; // 分类信息
}

View File

@@ -0,0 +1,12 @@
syntax = "proto3";
option go_package = "./pb";
package pb;
// 文章分类
message PostCategory {
int64 id = 1; // ID
string name = 2; // 名称
string code = 3; // 文章代号
bool isOn = 4; // 是否启用
}

View File

@@ -13,4 +13,5 @@ message RegionCountry {
repeated string customCodes = 6;
string displayName = 7;
bool isCommon = 8; // 是否常用
string routeCode = 9; // 线路代号
}

View File

@@ -3,6 +3,9 @@ option go_package = "./pb";
package pb;
import "models/model_region_country.proto";
// 省份|州|区域信息
message RegionProvince {
int64 id = 1;
string name = 2;
@@ -11,4 +14,6 @@ message RegionProvince {
string customName = 5;
repeated string customCodes = 6;
string displayName = 7;
RegionCountry regionCountry = 30; // 国家|地区信息
}

View File

@@ -20,4 +20,5 @@ message ServerBandwidthStat {
int64 countCachedRequests = 13; // 总缓存请求数
int64 countAttackRequests = 14; // 总攻击请求数
int64 userPlanId = 15; // 绑定的用户套餐ID
int64 countWebsocketConnections = 16; // Websocket连接数
}

View File

@@ -3,8 +3,10 @@ option go_package = "./pb";
package pb;
// 用户功能定义
message UserFeature {
string code = 1;
string name = 2;
string description = 3;
string code = 1; // 代号
string name = 2; // 名称
string description = 3; // 描述
bool supportPlan = 4; // 是否支持套餐
}

View File

@@ -0,0 +1,23 @@
syntax = "proto3";
option go_package = "./pb";
package pb;
import "models/model_user.proto";
// 用户脚本
message UserScript {
int64 id = 1; // 用户脚本ID
int64 userId = 2; // 用户ID
int64 adminId = 3; // 审核的管理员
string code = 4; // 脚本代码
string codeMD5 = 5; // 脚本代码MD5
int64 createdAt = 6; // 创建时间
bool isRejected = 7; // 是否被驳回
int64 rejectedAt = 8; // 驳回时间
string rejectedReason = 9; // 驳回原因
bool isPassed = 10; // 是否被通过
int64 passedAt = 11; // 通过时间
User user = 30; // 用户信息
}

View File

@@ -16,9 +16,12 @@ service AdminService {
// 检查管理员是否存在
rpc checkAdminExists (CheckAdminExistsRequest) returns (CheckAdminExistsResponse);
// 检查用户名是否存在
// 检查管理员用户名是否存在
rpc checkAdminUsername (CheckAdminUsernameRequest) returns (CheckAdminUsernameResponse);
// 使用用管理员户名查找管理员信息
rpc findAdminWithUsername(FindAdminWithUsernameRequest) returns (FindAdminWithUsernameResponse);
// 获取管理员名称
rpc findAdminFullname (FindAdminFullnameRequest) returns (FindAdminFullnameResponse);
@@ -60,6 +63,9 @@ service AdminService {
// 修改管理员使用的界面风格
rpc updateAdminTheme (UpdateAdminThemeRequest) returns (RPCSuccess);
// 修改管理员使用的语言
rpc updateAdminLang(UpdateAdminLangRequest) returns (RPCSuccess);
}
// 登录
@@ -84,7 +90,7 @@ message CheckAdminExistsResponse {
string message = 2;
}
// 检查用户名是否存在
// 检查管理员用户名是否存在
message CheckAdminUsernameRequest {
int64 adminId = 1;
string username = 2;
@@ -94,6 +100,15 @@ message CheckAdminUsernameResponse {
bool exists = 1;
}
// 使用用管理员户名查找管理员信息
message FindAdminWithUsernameRequest {
string username = 1; // 管理员用户名
}
message FindAdminWithUsernameResponse {
Admin admin = 1; // 管理员信息
}
// 获取管理员名称
message FindAdminFullnameRequest {
int64 adminId = 1;
@@ -291,5 +306,10 @@ message ComposeAdminDashboardResponse {
// 修改管理员使用的界面风格
message UpdateAdminThemeRequest {
int64 adminId = 1;
string theme = 2;
string theme = 2; // 风格代号
}
// 修改管理员使用的语言
message UpdateAdminLangRequest {
string langCode = 1; // 语言代号en-us, zh-cn, ...,如果为空表示默认
}

View File

@@ -95,11 +95,12 @@ message DeleteDNSProviderRequest {
// 查找单个服务商
message FindEnabledDNSProviderRequest {
int64 dnsProviderId = 1;
int64 dnsProviderId = 1; // DNS服务商ID
bool maskParams = 2; // 是否对参数中的密钥进行掩码
}
message FindEnabledDNSProviderResponse {
DNSProvider dnsProvider = 1;
DNSProvider dnsProvider = 1; // DNS服务商信息
}
// 取得所有服务商类型

View File

@@ -50,6 +50,9 @@ service HTTPFirewallPolicyService {
// 检查IP状态
rpc checkHTTPFirewallPolicyIPStatus (CheckHTTPFirewallPolicyIPStatusRequest) returns (CheckHTTPFirewallPolicyIPStatusResponse);
// 获取防火墙对应的网站ID
rpc findServerIdWithHTTPFirewallPolicyId(FindServerIdWithHTTPFirewallPolicyIdRequest) returns (FindServerIdWithHTTPFirewallPolicyIdResponse);
}
// 获取所有可用策略
@@ -95,8 +98,9 @@ message UpdateHTTPFirewallPolicyRequest {
string name = 3;
string description = 4;
repeated string firewallGroupCodes = 5;
bytes blockOptionsJSON = 6;
bytes captchaOptionsJSON = 11;
bytes blockOptionsJSON = 6; // 阻止动作配置
bytes pageOptionsJSON = 15; // 显示网页动作配置
bytes captchaOptionsJSON = 11; // 验证码动作配置
string mode = 7;
bool useLocalFirewall = 8; // 是否使用本地防火墙
bytes synFloodJSON = 9; // SYN Flood相关配置
@@ -174,11 +178,20 @@ message CheckHTTPFirewallPolicyIPStatusRequest {
message CheckHTTPFirewallPolicyIPStatusResponse {
bool isOk = 1; // 是否查询成功
string error = 2;
string error = 2; // 错误信息
bool isFound = 3; // 是否找到
bool isAllowed = 4; // 是否允许
IPList ipList = 5; // 匹配的IPList
IPItem ipItem = 6; // 匹配的IPItem
RegionCountry regionCountry = 7; // 匹配到封禁的地区
RegionProvince regionProvince = 8; // 匹配到封禁的省份
}
// 获取防火墙对应的网站ID
message FindServerIdWithHTTPFirewallPolicyIdRequest {
int64 httpFirewallPolicyId = 1; // 防火墙策略ID
}
message FindServerIdWithHTTPFirewallPolicyIdResponse {
int64 serverId = 1; // 防火墙策略对应的网站ID公共的防火墙策略的网站ID为0
}

View File

@@ -121,6 +121,15 @@ service HTTPWebService {
// 查找UserAgent设置
rpc findHTTPWebUserAgent(FindHTTPWebUserAgentRequest) returns (FindHTTPWebUserAgentResponse);
// 修改HLS设置
rpc updateHTTPWebHLS(UpdateHTTPWebHLSRequest) returns (RPCSuccess);
// 查找HLS设置
rpc findHTTPWebHLS(FindHTTPWebHLSRequest) returns (FindHTTPWebHLSResponse);
// 根据WebId查找ServerId
rpc findServerIdWithHTTPWebId(FindServerIdWithHTTPWebIdRequest) returns (FindServerIdWithHTTPWebIdResponse);
}
// 创建Web配置
@@ -379,4 +388,28 @@ message FindHTTPWebUserAgentRequest {
message FindHTTPWebUserAgentResponse {
bytes userAgentJSON = 1;
}
// 修改HLS设置
message UpdateHTTPWebHLSRequest {
int64 httpWebId = 1; // Web配置ID
bytes hlsJSON = 2; // HLS配置
}
// 查找HLS设置
message FindHTTPWebHLSRequest {
int64 httpWebId = 1; // Web配置ID
}
message FindHTTPWebHLSResponse {
bytes hlsJSON = 1; // HLS配置
}
// 根据WebId查找ServerId
message FindServerIdWithHTTPWebIdRequest {
int64 httpWebId = 1; // Web设置ID
}
message FindServerIdWithHTTPWebIdResponse {
int64 serverId = 1; // 网站ID
}

View File

@@ -50,8 +50,14 @@ service IPItemService {
// 列出所有名单中的IP
rpc listAllEnabledIPItems(ListAllEnabledIPItemsRequest) returns (ListAllEnabledIPItemsResponse);
// 列出所有名单中的IP ID
rpc listAllIPItemIds(ListAllIPItemIdsRequest) returns (ListAllIPItemIdsResponse);
// 设置所有为已读
rpc updateIPItemsRead(UpdateIPItemsReadRequest) returns (RPCSuccess);
// 查找IP对应的名单所属网站ID
rpc findServerIdWithIPItemId(FindServerIdWithIPItemIdRequest) returns (FindServerIdWithIPItemIdResponse);
}
// 创建IP
@@ -233,7 +239,33 @@ message ListAllEnabledIPItemsResponse {
}
}
// 列出所有名单中的IP ID
message ListAllIPItemIdsRequest {
string keyword = 8; // 关键词
string ip = 1; // 单个IP搜索单个IP时需要
bool globalOnly = 2; // 是否为自动添加的IP
bool unread = 5; // 是否未读
string eventLevel = 6; // 事件级别
string listType = 7; // 列表类型black|white
int64 userId = 9; // 用户ID只有管理员才有权限指定用户ID
int64 offset = 3; // 读取位置从0开始
int64 size = 4; // 每次读取数量
}
message ListAllIPItemIdsResponse {
repeated int64 ipItemIds = 1; // IP ID列表
}
// 设置所有为已读
message UpdateIPItemsReadRequest {
}
// 查找IP对应的名单所属网站ID
message FindServerIdWithIPItemIdRequest {
int64 ipItemId = 1; // IP ID
}
message FindServerIdWithIPItemIdResponse {
int64 serverId = 1; // 网站ID
}

View File

@@ -31,6 +31,9 @@ service IPListService {
// 根据IP来搜索IP名单
rpc findEnabledIPListContainsIP(FindEnabledIPListContainsIPRequest) returns (FindEnabledIPListContainsIPResponse);
// 查找IP名单对应的网站ID
rpc findServerIdWithIPListId(FindServerIdWithIPListIdRequest) returns (FindServerIdWithIPListIdResponse);
}
// 创建IP列表
@@ -108,4 +111,13 @@ message FindEnabledIPListContainsIPRequest {
message FindEnabledIPListContainsIPResponse {
repeated IPList ipLists = 1;
}
// 查找IP名单对应的网站ID
message FindServerIdWithIPListIdRequest {
int64 ipListId = 1; // IP名单ID
}
message FindServerIdWithIPListIdResponse {
int64 serverId = 1; // 网站ID如果是公共IP名单则对应的网站ID为0
}

View File

@@ -205,21 +205,27 @@ service NodeService {
// 查找节点的网络安全策略
rpc findNodeNetworkSecurityPolicy(FindNodeNetworkSecurityPolicyRequest) returns (FindNodeNetworkSecurityPolicyResponse);
// 查找节点的WebP策略
rpc findNodeWebPPolicies(FindNodeWebPPoliciesRequest) returns (FindNodeWebPPoliciesResponse);
// 修改节点的启用状态
rpc updateNodeIsOn(UpdateNodeIsOnRequest) returns (RPCSuccess);
}
// 创建节点
message CreateNodeRequest {
string name = 1;
int64 nodeClusterId = 2;
NodeLogin nodeLogin = 3;
int64 nodeGroupId = 4;
int64 dnsDomainId = 5 [deprecated = true];
repeated string dnsRoutes = 6;
int64 nodeRegionId = 7;
string name = 1; // 节点名称
int64 nodeClusterId = 2; // 节点所属集群
NodeLogin nodeLogin = 3; // 节点登录信息
int64 nodeGroupId = 4; // 节点所属分组
int64 dnsDomainId = 5 [deprecated = true]; // 节点域名ID此参数已过期请不要再使用
repeated string dnsRoutes = 6; // 节点DNS线路列表
int64 nodeRegionId = 7; // 节点所属区域
}
message CreateNodeResponse {
int64 nodeId = 1;
int64 nodeId = 1; // 节点ID
}
// 注册集群节点
@@ -305,20 +311,20 @@ message UpdateNodeRequest {
// 获取单个节点信息
message FindEnabledNodeRequest {
int64 nodeId = 1;
int64 nodeId = 1; // 节点ID
}
message FindEnabledNodeResponse {
Node node = 1;
Node node = 1; // 节点信息
}
// 获取单个节点基本信息
message FindEnabledBasicNodeRequest {
int64 nodeId = 1;
int64 nodeId = 1; // 节点ID
}
message FindEnabledBasicNodeResponse {
BasicNode node = 1;
BasicNode node = 1; // 节点基本信息
}
// 组合单个节点配置
@@ -827,4 +833,24 @@ message FindNodeNetworkSecurityPolicyRequest {
message FindNodeNetworkSecurityPolicyResponse {
bytes networkSecurityPolicyJSON = 1; // 网络安全策略
}
// 查找节点的WebP策略
message FindNodeWebPPoliciesRequest {
}
message FindNodeWebPPoliciesResponse {
repeated WebPPolicy webPPolicies = 1; // WebP策略列表
message WebPPolicy {
int64 nodeClusterId = 1; // 集群ID
bytes webPPolicyJSON = 2; // WebP策略配置
}
}
// 修改节点的启用状态
message UpdateNodeIsOnRequest {
int64 nodeId = 1; // 节点ID
bool isOn = 2; // 是否启用
}

View File

@@ -244,7 +244,9 @@ message CountAllEnabledNodeClustersRequest {
message ListEnabledNodeClustersRequest {
int64 offset = 1;
int64 size = 2;
string keyword = 3;
string keyword = 3; // 可选项,搜索关键词
bool idDesc = 4; // 可选项是否按照ID倒序排列
bool idAsc = 5; // 可选项是否按照ID正序排列
}
message ListEnabledNodeClustersResponse {
@@ -482,7 +484,7 @@ message FindEnabledNodeClusterConfigInfoResponse {
bool hasMessageReceivers = 4; // 已设置消息通知接收人
bool isTOAEnabled = 5; // 启用了TOA
bool hasMetricItems = 6; // 有指标统计设置
bool webpIsOn = 7; // 是否定义了WebP策略
bool webPIsOn = 7; // 是否定义了WebP策略
bool uamIsOn = 10; // 是否定义了UAM策略
bool httpCCIsOn = 12; // 是否定义了CC策略
bool hasSystemServices = 8; // 启用了系统服务
@@ -510,7 +512,7 @@ message FindEnabledNodeClusterWebPPolicyResponse {
// 设置集群WebP策略
message UpdateNodeClusterWebPPolicyRequest {
int64 nodeClusterId = 1;
bytes webpPolicyJSON = 2;
bytes webPPolicyJSON = 2;
}
// 读取集群的UAM策略

View File

@@ -29,7 +29,7 @@ message CreateOriginRequest {
bytes ossJSON = 15; // OSS配置信息源站网络地址中protocol为oss:开头时需要设置此项
string description = 3; // 描述,为可选项
int32 weight = 4; // 权重不小于0一般设置为10
bool isOn = 5; // 是否启用
bool isOn = 5; // 是否启用一般为true
bytes connTimeoutJSON = 6; // 可选项,连接超时时间
bytes readTimeoutJSON = 7; // 可选项,读取超时时间
bytes idleTimeoutJSON = 8; // 可选项,空闲超时时间
@@ -69,18 +69,18 @@ message UpdateOriginRequest {
// 查找单个源站信息
message FindEnabledOriginRequest {
int64 originId = 1;
int64 originId = 1; // 源站ID
}
message FindEnabledOriginResponse {
Origin Origin = 1;
Origin Origin = 1; // 源站信息
}
// 查找源站配置
message FindEnabledOriginConfigRequest {
int64 originId = 1;
int64 originId = 1; // 源站ID
}
message FindEnabledOriginConfigResponse {
bytes originJSON = 1;
bytes originJSON = 1; // 源站信息
}

View File

@@ -20,33 +20,48 @@ service PlanService {
// 查找单个套餐
rpc findEnabledPlan(FindEnabledPlanRequest) returns (FindEnabledPlanResponse);
// 查找套餐基本信息
rpc findBasicPlan(FindBasicPlanRequest) returns (FindBasicPlanResponse);
// 计算套餐数量
rpc countAllEnabledPlans(CountAllEnabledPlansRequest) returns (RPCCountResponse);
// 列出单页套餐
rpc listEnabledPlans(ListEnabledPlansRequest) returns (ListEnabledPlansResponse);
// 列出所有可用的套餐
rpc findAllAvailablePlans(FindAllAvailablePlansRequest) returns (FindAllAvailablePlansResponse);
// 列出所有可用的套餐的基本信息
rpc findAllAvailableBasicPlans(FindAllAvailableBasicPlansRequest) returns (FindAllAvailableBasicPlansResponse);
// 对套餐进行排序
rpc sortPlans(SortPlansRequest) returns (RPCSuccess);
}
// 创建套餐
message CreatePlanRequest {
string name = 1;
int64 clusterId = 2;
bytes trafficLimitJSON = 3;
bytes featuresJSON = 4;
string priceType = 5;
bytes trafficPriceJSON = 6;
bytes bandwidthPriceJSON = 10;
float monthlyPrice = 7;
float seasonallyPrice = 8;
float yearlyPrice = 9;
string name = 1; // 套餐名称
string description = 19; // 套餐简介
int64 clusterId = 2; // 集群ID
bytes trafficLimitJSON = 3; // 流量限制
bytes bandwidthLimitPerNodeJSON = 20; // 单节点带宽限制 @link json:bit_size_capacity
bool hasFullFeatures = 18; // 是否有所有权限
bytes featuresJSON = 4; // 权限列表,[code1, code2, ...]
string priceType = 5; // 价格类型traffic, bandwidth, period
bytes trafficPriceJSON = 6; // 流量价格配置
bytes bandwidthPriceJSON = 10; // 带宽价格配置
float monthlyPrice = 7; // 月度价格
float seasonallyPrice = 8; // 季度价格
float yearlyPrice = 9; // 年度价格
int32 totalServers = 11; // 可以添加的网站数
int32 totalServerNamesPerServer = 12; // 每个网站可以添加的域名数
int32 totalServerNames = 13; // 可以添加的域名总数
int64 dailyRequests = 14; // 每日访问量额度
int64 monthlyRequests = 15; // 每月访问量额度
int64 dailyWebsocketConnections = 16; // 每日Websocket连接数额度
int64 monthlyWebsocketConnections = 17; // 每月Websocket连接数额度
bytes maxUploadSizeJSON = 21; // 文件最大上传尺寸 @link json:size_capacity
}
message CreatePlanResponse {
@@ -55,37 +70,52 @@ message CreatePlanResponse {
// 修改套餐
message UpdatePlanRequest {
int64 planId = 1;
string name = 2;
bool isOn = 3;
int64 clusterId = 4;
bytes trafficLimitJSON = 5;
bytes featuresJSON = 6;
string priceType = 7;
bytes trafficPriceJSON = 8;
bytes bandwidthPriceJSON = 12;
float monthlyPrice = 9;
float seasonallyPrice = 10;
float yearlyPrice = 11;
int64 planId = 1; // 套餐ID
string name = 2; // 套餐名称
string description = 21; // 套餐简介
bool isOn = 3; // 是否启用
int64 clusterId = 4; // 集群ID
bytes trafficLimitJSON = 5; // 流量限制
bytes bandwidthLimitPerNodeJSON = 22; // 单节点带宽限制
bool hasFullFeatures = 20; // 是否有所有权限
bytes featuresJSON = 6; // 权限列表,[code1, code2, ...]
string priceType = 7; // 价格类型traffic, bandwidth, period
bytes trafficPriceJSON = 8; // 流量价格配置
bytes bandwidthPriceJSON = 12; // 带宽价格配置
float monthlyPrice = 9; // 月费用
float seasonallyPrice = 10; // 季度费用
float yearlyPrice = 11; // 年度费用
int32 totalServers = 13; // 可以添加的网站数
int32 totalServerNamesPerServer = 14; // 每个网站可以添加的域名数
int32 totalServerNames = 15; // 可以添加的域名总数
int64 dailyRequests = 16; // 每日访问量额度
int64 monthlyRequests = 17; // 每月访问量额度
int64 dailyWebsocketConnections = 18; // 每日Websocket连接数额度
int64 monthlyWebsocketConnections = 19; // 每月Websocket连接数额度
bytes maxUploadSizeJSON = 23; // 文件最大上传尺寸 @link json:size_capacity
}
// 删除套餐
message DeletePlanRequest {
int64 planId = 1;
int64 planId = 1; // 套餐ID
}
// 查找单个套餐
message FindEnabledPlanRequest {
int64 planId = 1;
int64 planId = 1; // 套餐ID
}
message FindEnabledPlanResponse {
Plan plan = 1;
Plan plan = 1; // 套餐信息
}
// 查找套餐基本信息
message FindBasicPlanRequest {
int64 planId = 1; // 套餐ID
}
message FindBasicPlanResponse {
Plan plan = 1; // 套餐信息(只读取基本信息)
}
// 计算套餐数量
@@ -100,10 +130,28 @@ message ListEnabledPlansRequest {
}
message ListEnabledPlansResponse {
repeated Plan plans = 1;
repeated Plan plans = 1; // 套餐列表
}
// 列出所有可用的套餐
message FindAllAvailablePlansRequest {
}
message FindAllAvailablePlansResponse {
repeated Plan plans = 1; // 套餐列表
}
// 列出所有可用的套餐的基本信息
message FindAllAvailableBasicPlansRequest {
}
message FindAllAvailableBasicPlansResponse {
repeated Plan plans = 1; // 套餐列表
}
// 对套餐进行排序
message SortPlansRequest {
repeated int64 planIds = 1;
repeated int64 planIds = 1; // 排序后的套餐ID列表
}

View File

@@ -0,0 +1,99 @@
syntax = "proto3";
option go_package = "./pb";
package pb;
import "models/model_post.proto";
import "models/rpc_messages.proto";
// 文章管理服务
service PostService {
// 创建文章
rpc createPost(CreatePostRequest) returns (CreatePostResponse);
// 修改文章
rpc updatePost(UpdatePostRequest) returns (RPCSuccess);
// 删除文章
rpc deletePost(DeletePostRequest) returns (RPCSuccess);
// 发布文章
rpc publishPost(PublishPostRequest) returns (RPCSuccess);
// 计算文章数量
rpc countPosts(CountPostsRequest) returns (RPCCountResponse);
// 列出单页文章
rpc listPosts(ListPostsRequest) returns (ListPostsResponse);
// 查询单篇文章
rpc findPost(FindPostRequest) returns (FindPostResponse);
}
// 创建文章
message CreatePostRequest {
int64 postCategoryId = 1; // 文章分类ID
string type = 2; // 类型normal, url
string productCode = 3; // 产品代号
string subject = 4; // 标题
string url = 5; // 跳转的URLtype=url
string body = 6; // 文章内容type=normal
}
message CreatePostResponse {
int64 postId = 1; // 文章ID
}
// 修改文章
message UpdatePostRequest {
int64 postId = 1; // 文章ID
int64 postCategoryId = 2; // 文章分类ID
string productCode = 3; // 产品代号
string subject = 4; // 标题
string type = 5; // 类型normal, url
string url = 6; // 跳转的URLtype=url
string body = 7; // 文章内容type=normal
}
// 删除文章
message DeletePostRequest {
int64 postId = 1; // 文章ID
}
// 发布文章
message PublishPostRequest {
int64 postId = 1; // 文章ID
}
// 计算文章数量
message CountPostsRequest {
int64 postCategoryId = 1; // 分类ID
string productCode = 2; // 产品代号
bool publishedOnly = 3; // 只列出已发布的
}
// 列出单页文章
message ListPostsRequest {
int64 offset = 1;
int64 size = 2;
string productCode = 3; // 产品代号
int64 postCategoryId = 4; // 分类ID
string postCategoryCode = 5; // 分类代号
string excludingPostCategoryCode = 6; // 排除的分类代号
bool publishedOnly = 7; // 只列出已发布的
bool containsBody = 8; // 是否包含文章内容
}
message ListPostsResponse {
repeated Post posts = 1; // 文章列表
}
// 查询单篇文章
message FindPostRequest {
int64 postId = 1; // 文章ID
}
message FindPostResponse {
Post post = 1; // 文章信息
}

View File

@@ -0,0 +1,86 @@
syntax = "proto3";
option go_package = "./pb";
package pb;
import "models/model_post_category.proto";
import "models/rpc_messages.proto";
// 文章分类管理服务
service PostCategoryService {
// 创建分类
rpc createPostCategory(CreatePostCategoryRequest) returns (CreatePostCategoryResponse);
// 修改分类
rpc updatePostCategory(UpdatePostCategoryRequest) returns (RPCSuccess);
// 删除分类
rpc deletePostCategory(DeletePostCategoryRequest) returns (RPCSuccess);
// 列出所有分类
rpc findAllPostCategories(FindAllPostCategoriesRequest) returns (FindAllPostCategoriesResponse);
// 列出所有可用分类
rpc findAllAvailablePostCategories(FindAllAvailablePostCategoriesRequest) returns (FindAllAvailablePostCategoriesResponse);
// 查询单个分类
rpc findPostCategory(FindPostCategoryRequest) returns (FindPostCategoryResponse);
// 对分类进行排序
rpc sortPostCategories(SortPostCategoriesRequest) returns (RPCSuccess);
}
// 创建分类
message CreatePostCategoryRequest {
string name = 1; // 分类名称
string code = 2; // 分类代号
}
message CreatePostCategoryResponse {
int64 postCategoryId = 1; // 分类ID
}
// 修改分类
message UpdatePostCategoryRequest {
int64 postCategoryId = 1; // 分类ID
string name = 2; // 分类名称
string code = 3; // 分类代号
bool isOn = 4; // 是否启用
}
// 删除分类
message DeletePostCategoryRequest {
int64 postCategoryId = 1; // 分类ID
}
// 列出所有分类
message FindAllPostCategoriesRequest {
}
message FindAllPostCategoriesResponse {
repeated PostCategory postCategories = 1; // 分类列表
}
// 列出所有可用分类
message FindAllAvailablePostCategoriesRequest {
}
message FindAllAvailablePostCategoriesResponse {
repeated PostCategory postCategories = 1; // 分类列表
}
// 查询单个分类
message FindPostCategoryRequest {
int64 postCategoryId = 1; // 分类ID
}
message FindPostCategoryResponse {
PostCategory postCategory = 1; // 分类信息
}
// 对分类进行排序
message SortPostCategoriesRequest {
repeated int64 postCategoryIds = 1; // 分类ID列表
}

View File

@@ -8,7 +8,7 @@ import "models/rpc_messages.proto";
// 省份相关服务
service RegionProvinceService {
// 查找所有省份
// 根据国家|地区ID查找所有省份
rpc findAllEnabledRegionProvincesWithCountryId (FindAllEnabledRegionProvincesWithCountryIdRequest) returns (FindAllEnabledRegionProvincesWithCountryIdResponse) {
option deprecated = true;
};
@@ -18,9 +18,12 @@ service RegionProvinceService {
option deprecated = true;
};
// 查找所有省份
// 根据国家|地区ID查找所有省份
rpc findAllRegionProvincesWithRegionCountryId (FindAllRegionProvincesWithRegionCountryIdRequest) returns (FindAllRegionProvincesWithRegionCountryIdResponse);
// 查找所有国家|地区的所有省份
rpc findAllRegionProvinces(FindAllRegionProvincesRequest) returns (FindAllRegionProvincesResponse);
// 查找单个省份信息
rpc findRegionProvince (FindRegionProvinceRequest) returns (FindRegionProvinceResponse);
@@ -28,45 +31,54 @@ service RegionProvinceService {
rpc updateRegionProvinceCustom(UpdateRegionProvinceCustomRequest) returns (RPCSuccess);
}
// 查找所有省份
// 根据国家|地区ID查找所有省份
message FindAllEnabledRegionProvincesWithCountryIdRequest {
int64 regionCountryId = 1;
int64 regionCountryId = 1; // 国家|地区ID
}
message FindAllEnabledRegionProvincesWithCountryIdResponse {
repeated RegionProvince regionProvinces = 1;
repeated RegionProvince regionProvinces = 1; // 省份列表
}
// 查找单个省份信息
message FindEnabledRegionProvinceRequest {
int64 regionProvinceId = 1;
int64 regionProvinceId = 1; // 省份ID
}
message FindEnabledRegionProvinceResponse {
RegionProvince regionProvince = 1;
RegionProvince regionProvince = 1; // 省份信息
}
// 查找所有省份
// 根据国家|地区ID查找所有省份
message FindAllRegionProvincesWithRegionCountryIdRequest {
int64 regionCountryId = 1;
int64 regionCountryId = 1; // 国家|地区ID
}
message FindAllRegionProvincesWithRegionCountryIdResponse {
repeated RegionProvince regionProvinces = 1;
repeated RegionProvince regionProvinces = 1; // 省份列表
}
// 查找所有国家|地区的所有省份
message FindAllRegionProvincesRequest {
}
message FindAllRegionProvincesResponse {
repeated RegionProvince regionProvinces = 1; // 省份列表
}
// 查找单个省份信息
message FindRegionProvinceRequest {
int64 regionProvinceId = 1;
int64 regionProvinceId = 1; // 省份ID
}
message FindRegionProvinceResponse {
RegionProvince regionProvince = 1;
RegionProvince regionProvince = 1; // 省份信息
}
// 修改省份定制信息
message UpdateRegionProvinceCustomRequest {
int64 regionProvinceId = 1;
string customName = 2;
repeated string customCodes = 3;
int64 regionProvinceId = 1; // 省份ID
string customName = 2; // 自定义名称
repeated string customCodes = 3; // 自定义代号
}

View File

@@ -20,6 +20,12 @@ service ServerService {
// 快速创建基本的TCP网站
rpc createBasicTCPServer(CreateBasicTCPServerRequest) returns (CreateBasicTCPServerResponse);
// 为网站添加源站
rpc addServerOrigin(AddServerOriginRequest) returns (RPCSuccess);
// 从网站中删除某个源站
rpc deleteServerOrigin(DeleteServerOriginRequest) returns (RPCSuccess);
// 修改网站基本信息
rpc updateServerBasic (UpdateServerBasicRequest) returns (RPCSuccess);
@@ -80,9 +86,12 @@ service ServerService {
// 列出单页网站
rpc listEnabledServersMatch (ListEnabledServersMatchRequest) returns (ListEnabledServersMatchResponse);
// 禁用某网站
// 删除某网站
rpc deleteServer (DeleteServerRequest) returns (RPCSuccess);
// 删除一组网站
rpc deleteServers(DeleteServersRequest) returns (RPCSuccess);
// 查找单个网站
rpc findEnabledServer (FindEnabledServerRequest) returns (FindEnabledServerResponse);
@@ -149,9 +158,12 @@ service ServerService {
// 上传HTTP请求待统计数据
rpc uploadServerHTTPRequestStat (UploadServerHTTPRequestStatRequest) returns (RPCSuccess);
// 检查域名是否已经存在
// 检查域名是否在集群中已经存在
rpc checkServerNameDuplicationInNodeCluster (CheckServerNameDuplicationInNodeClusterRequest) returns (CheckServerNameDuplicationInNodeClusterResponse);
// 检查域名是否在网站中已经绑定
rpc checkServerNameInServer(CheckServerNameInServerRequest) returns (CheckServerNameInServerResponse);
// 查找最近访问的网站
rpc findLatestServers (FindLatestServersRequest) returns (FindLatestServersResponse);
@@ -255,6 +267,19 @@ message CreateBasicTCPServerResponse {
int64 serverId = 1; // 所创建的网站ID
}
// 为网站添加源站
message AddServerOriginRequest {
int64 serverId = 1; // 网站ID
int64 originId = 2; // 源站ID通过 OriginService 创建和查询
bool isPrimary = 3; // 是否为主要源站
}
// 从网站中删除某个源站
message DeleteServerOriginRequest {
int64 serverId = 1; // 网站ID
int64 originId = 2; // 源站ID通过 OriginService 创建和查询
}
// 修改网站基本信息
message UpdateServerBasicRequest {
int64 serverId = 1; // 网站ID
@@ -407,11 +432,16 @@ message ListEnabledServersMatchResponse {
repeated Server servers = 1;
}
// 禁用网站
// 删除某网站
message DeleteServerRequest {
int64 serverId = 1; // 网站ID
}
// 删除一组网站
message DeleteServersRequest {
repeated int64 serverIds = 1; // 网站ID列表[1, 2, ...]
}
// 查找单个网站
message FindEnabledServerRequest {
int64 serverId = 1; // 网站ID
@@ -419,7 +449,7 @@ message FindEnabledServerRequest {
}
message FindEnabledServerResponse {
Server server = 1;
Server server = 1; // 网站信息
}
// 查找网站配置
@@ -631,7 +661,7 @@ message UploadServerHTTPRequestStatRequest {
}
}
// 检查域名是否已经存在
// 检查域名是否在集群中已经存在
message CheckServerNameDuplicationInNodeClusterRequest {
int64 nodeClusterId = 1;
repeated string serverNames = 2; // 可以同时检查一批域名
@@ -643,6 +673,17 @@ message CheckServerNameDuplicationInNodeClusterResponse {
repeated string duplicatedServerNames = 1;
}
// 检查域名是否在网站中已经绑定
message CheckServerNameInServerRequest {
int64 serverId = 1; // 网站ID
string serverName = 2; // 域名
}
message CheckServerNameInServerResponse {
bool exists = 1; // 是否存在
}
// 查找最近访问的网站
message FindLatestServersRequest {
int64 size = 1;

View File

@@ -0,0 +1,75 @@
syntax = "proto3";
option go_package = "./pb";
package pb;
import "models/model_user_script.proto";
import "models/rpc_messages.proto";
// 用户脚本服务
service UserScriptService {
// 查找单个用户脚本信息
rpc findUserScript(FindUserScriptRequest) returns (FindUserScriptResponse);
// 根据代码MD5查找脚本
rpc findUserScriptWithMD5(FindUserScriptWithMD5Request) returns (FindUserScriptWithMD5Response);
// 计算用户脚本数量
rpc countUserScripts(CountUserScriptsRequest) returns (RPCCountResponse);
// 列出单页用户脚本
rpc listUserScripts(ListUserScriptsRequest) returns (ListUserScriptsResponse);
// 审核并通过用户脚本
rpc passUserScript(PassUserScriptRequest) returns (RPCSuccess);
// 审核并驳回用户脚本
rpc rejectUserScript(RejectUserScriptRequest) returns (RPCSuccess);
}
// 查找单个用户脚本信息
message FindUserScriptRequest {
int64 userScriptId = 1; // 用户脚本ID
}
message FindUserScriptResponse {
UserScript userScript = 1; // 用户脚本信息
}
// 根据代码MD5查找脚本
message FindUserScriptWithMD5Request {
string codeMD5 = 1; // 代码MD532位
}
message FindUserScriptWithMD5Response {
UserScript userScript = 1; // 用户脚本信息
}
// 计算用户脚本数量
message CountUserScriptsRequest {
int64 userId = 1; // 所属用户ID
bool isAuditing = 2; // 是否正在审核
}
// 列出单页用户脚本
message ListUserScriptsRequest {
int64 userId = 1; // 所属用户ID
bool isAuditing = 2; // 是否正在审核
int64 offset = 3; // 开始读取位置
int64 size = 4; // 读取数量
}
message ListUserScriptsResponse {
repeated UserScript userScripts = 1; // 用户脚本列表
}
// 审核并通过用户脚本
message PassUserScriptRequest {
int64 userScriptId = 1; // 用户脚本ID
}
// 审核并驳回用户脚本
message RejectUserScriptRequest {
int64 userScriptId = 1; // 用户脚本ID
string reason = 2; // 驳回理由
}

View File

@@ -31,4 +31,5 @@ const (
ConfigCodeTraffic ConfigCode = "traffic"
ConfigCodeRequestScripts ConfigCode = "requestScripts"
ConfigCodeReverseProxy ConfigCode = "reverseProxy"
ConfigCodeMultimedia ConfigCode = "multimedia"
)

Some files were not shown because too many files have changed in this diff Show More