Compare commits
41 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e70d6bb33b | ||
|
|
8a8803cee9 | ||
|
|
184fbd384e | ||
|
|
fc3c607c8d | ||
|
|
1760e8b9c8 | ||
|
|
deea02b1ab | ||
|
|
7f0822000c | ||
|
|
6a36625bc2 | ||
|
|
eca0b997f8 | ||
|
|
8746107b73 | ||
|
|
729311f605 | ||
|
|
99a2801591 | ||
|
|
8a045c77c9 | ||
|
|
619ae043e2 | ||
|
|
9ee5c896d1 | ||
|
|
4209969214 | ||
|
|
a59c84ef0d | ||
|
|
988aca8d84 | ||
|
|
310875f8ec | ||
|
|
615fdc24d8 | ||
|
|
acd78085fa | ||
|
|
0d90dde90b | ||
|
|
3996a051ff | ||
|
|
dd14b4ab3d | ||
|
|
e50bcdf181 | ||
|
|
a145b799a2 | ||
|
|
cad0fd5ff2 | ||
|
|
57c249b791 | ||
|
|
7ee1cc9cf4 | ||
|
|
605b01db64 | ||
|
|
bbe76743b1 | ||
|
|
53563f040f | ||
|
|
9226001362 | ||
|
|
4270c08ab7 | ||
|
|
671fd5dcc2 | ||
|
|
e8a3dfba71 | ||
|
|
ba41c16123 | ||
|
|
490a17558c | ||
|
|
61f7a14428 | ||
|
|
a7336fafbf | ||
|
|
7dbf5add34 |
@@ -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"
|
||||
390
build/rpc.json
390
build/rpc.json
@@ -946,6 +946,17 @@
|
||||
"admin"
|
||||
],
|
||||
"isDeprecated": false
|
||||
},
|
||||
{
|
||||
"name": "updateAdminLang",
|
||||
"requestMessageName": "UpdateAdminLangRequest",
|
||||
"responseMessageName": "RPCSuccess",
|
||||
"code": "rpc updateAdminLang(UpdateAdminLangRequest) returns (RPCSuccess);",
|
||||
"doc": "修改管理员使用的语言",
|
||||
"roles": [
|
||||
"admin"
|
||||
],
|
||||
"isDeprecated": false
|
||||
}
|
||||
],
|
||||
"filename": "service_admin.proto",
|
||||
@@ -2592,6 +2603,18 @@
|
||||
"admin"
|
||||
],
|
||||
"isDeprecated": false
|
||||
},
|
||||
{
|
||||
"name": "findServerIdWithHTTPFirewallPolicyId",
|
||||
"requestMessageName": "FindServerIdWithHTTPFirewallPolicyIdRequest",
|
||||
"responseMessageName": "FindServerIdWithHTTPFirewallPolicyIdResponse",
|
||||
"code": "rpc findServerIdWithHTTPFirewallPolicyId(FindServerIdWithHTTPFirewallPolicyIdRequest) returns (FindServerIdWithHTTPFirewallPolicyIdResponse);",
|
||||
"doc": "获取防火墙对应的网站ID",
|
||||
"roles": [
|
||||
"admin",
|
||||
"user"
|
||||
],
|
||||
"isDeprecated": false
|
||||
}
|
||||
],
|
||||
"filename": "service_http_firewall_policy.proto",
|
||||
@@ -3440,7 +3463,8 @@
|
||||
"code": "rpc updateHTTPWebRequestScripts(UpdateHTTPWebRequestScriptsRequest) returns (RPCSuccess);",
|
||||
"doc": "修改请求脚本",
|
||||
"roles": [
|
||||
"admin"
|
||||
"admin",
|
||||
"user"
|
||||
],
|
||||
"isDeprecated": false
|
||||
},
|
||||
@@ -3550,6 +3574,18 @@
|
||||
"user"
|
||||
],
|
||||
"isDeprecated": false
|
||||
},
|
||||
{
|
||||
"name": "findServerIdWithHTTPWebId",
|
||||
"requestMessageName": "FindServerIdWithHTTPWebIdRequest",
|
||||
"responseMessageName": "FindServerIdWithHTTPWebIdResponse",
|
||||
"code": "rpc findServerIdWithHTTPWebId(FindServerIdWithHTTPWebIdRequest) returns (FindServerIdWithHTTPWebIdResponse);",
|
||||
"doc": "根据WebId查找ServerId",
|
||||
"roles": [
|
||||
"admin",
|
||||
"user"
|
||||
],
|
||||
"isDeprecated": false
|
||||
}
|
||||
],
|
||||
"filename": "service_http_web.proto",
|
||||
@@ -3747,6 +3783,15 @@
|
||||
],
|
||||
"isDeprecated": false
|
||||
},
|
||||
{
|
||||
"name": "listAllIPItemIds",
|
||||
"requestMessageName": "ListAllIPItemIdsRequest",
|
||||
"responseMessageName": "ListAllIPItemIdsResponse",
|
||||
"code": "rpc listAllIPItemIds(ListAllIPItemIdsRequest) returns (ListAllIPItemIdsResponse);",
|
||||
"doc": "列出所有名单中的IP ID",
|
||||
"roles": [],
|
||||
"isDeprecated": false
|
||||
},
|
||||
{
|
||||
"name": "updateIPItemsRead",
|
||||
"requestMessageName": "UpdateIPItemsReadRequest",
|
||||
@@ -3758,6 +3803,18 @@
|
||||
"user"
|
||||
],
|
||||
"isDeprecated": false
|
||||
},
|
||||
{
|
||||
"name": "findServerIdWithIPItemId",
|
||||
"requestMessageName": "FindServerIdWithIPItemIdRequest",
|
||||
"responseMessageName": "FindServerIdWithIPItemIdResponse",
|
||||
"code": "rpc findServerIdWithIPItemId(FindServerIdWithIPItemIdRequest) returns (FindServerIdWithIPItemIdResponse);",
|
||||
"doc": "查找IP对应的名单所属网站ID",
|
||||
"roles": [
|
||||
"admin",
|
||||
"user"
|
||||
],
|
||||
"isDeprecated": false
|
||||
}
|
||||
],
|
||||
"filename": "service_ip_item.proto",
|
||||
@@ -4110,6 +4167,18 @@
|
||||
"admin"
|
||||
],
|
||||
"isDeprecated": false
|
||||
},
|
||||
{
|
||||
"name": "findServerIdWithIPListId",
|
||||
"requestMessageName": "FindServerIdWithIPListIdRequest",
|
||||
"responseMessageName": "FindServerIdWithIPListIdResponse",
|
||||
"code": "rpc findServerIdWithIPListId(FindServerIdWithIPListIdRequest) returns (FindServerIdWithIPListIdResponse);",
|
||||
"doc": "查找IP名单对应的网站ID",
|
||||
"roles": [
|
||||
"admin",
|
||||
"user"
|
||||
],
|
||||
"isDeprecated": false
|
||||
}
|
||||
],
|
||||
"filename": "service_ip_list.proto",
|
||||
@@ -5649,6 +5718,17 @@
|
||||
"node"
|
||||
],
|
||||
"isDeprecated": false
|
||||
},
|
||||
{
|
||||
"name": "findNodeWebPPolicies",
|
||||
"requestMessageName": "FindNodeWebPPoliciesRequest",
|
||||
"responseMessageName": "FindNodeWebPPoliciesResponse",
|
||||
"code": "rpc findNodeWebPPolicies(FindNodeWebPPoliciesRequest) returns (FindNodeWebPPoliciesResponse);",
|
||||
"doc": "查找节点的WebP策略",
|
||||
"roles": [
|
||||
"node"
|
||||
],
|
||||
"isDeprecated": false
|
||||
}
|
||||
],
|
||||
"filename": "service_node.proto",
|
||||
@@ -9441,6 +9521,17 @@
|
||||
"responseMessageName": "ListEnabledPlansResponse",
|
||||
"code": "rpc listEnabledPlans(ListEnabledPlansRequest) returns (ListEnabledPlansResponse);",
|
||||
"doc": "列出单页套餐",
|
||||
"roles": [
|
||||
"admin"
|
||||
],
|
||||
"isDeprecated": false
|
||||
},
|
||||
{
|
||||
"name": "findAllAvailablePlans",
|
||||
"requestMessageName": "FindAllAvailablePlansRequest",
|
||||
"responseMessageName": "FindAllAvailablePlansResponse",
|
||||
"code": "rpc findAllAvailablePlans(FindAllAvailablePlansRequest) returns (FindAllAvailablePlansResponse);",
|
||||
"doc": "列出所有可用的套餐",
|
||||
"roles": [
|
||||
"admin",
|
||||
"user"
|
||||
@@ -10753,7 +10844,19 @@
|
||||
"requestMessageName": "CheckServerNameDuplicationInNodeClusterRequest",
|
||||
"responseMessageName": "CheckServerNameDuplicationInNodeClusterResponse",
|
||||
"code": "rpc checkServerNameDuplicationInNodeCluster (CheckServerNameDuplicationInNodeClusterRequest) returns (CheckServerNameDuplicationInNodeClusterResponse);",
|
||||
"doc": "检查域名是否已经存在",
|
||||
"doc": "检查域名是否在集群中已经存在",
|
||||
"roles": [
|
||||
"admin",
|
||||
"user"
|
||||
],
|
||||
"isDeprecated": false
|
||||
},
|
||||
{
|
||||
"name": "checkServerNameInServer",
|
||||
"requestMessageName": "CheckServerNameInServerRequest",
|
||||
"responseMessageName": "CheckServerNameInServerResponse",
|
||||
"code": "rpc checkServerNameInServer(CheckServerNameInServerRequest) returns (CheckServerNameInServerResponse);",
|
||||
"doc": "检查域名是否在网站中已经绑定",
|
||||
"roles": [
|
||||
"admin",
|
||||
"user"
|
||||
@@ -13245,6 +13348,80 @@
|
||||
"filename": "service_user_plan.proto",
|
||||
"doc": "用户购买的套餐管理服务"
|
||||
},
|
||||
{
|
||||
"name": "UserScriptService",
|
||||
"methods": [
|
||||
{
|
||||
"name": "findUserScript",
|
||||
"requestMessageName": "FindUserScriptRequest",
|
||||
"responseMessageName": "FindUserScriptResponse",
|
||||
"code": "rpc findUserScript(FindUserScriptRequest) returns (FindUserScriptResponse);",
|
||||
"doc": "查找单个用户脚本信息",
|
||||
"roles": [
|
||||
"admin"
|
||||
],
|
||||
"isDeprecated": false
|
||||
},
|
||||
{
|
||||
"name": "findUserScriptWithMD5",
|
||||
"requestMessageName": "FindUserScriptWithMD5Request",
|
||||
"responseMessageName": "FindUserScriptWithMD5Response",
|
||||
"code": "rpc findUserScriptWithMD5(FindUserScriptWithMD5Request) returns (FindUserScriptWithMD5Response);",
|
||||
"doc": "根据代码MD5查找脚本",
|
||||
"roles": [
|
||||
"admin",
|
||||
"user"
|
||||
],
|
||||
"isDeprecated": false
|
||||
},
|
||||
{
|
||||
"name": "countUserScripts",
|
||||
"requestMessageName": "CountUserScriptsRequest",
|
||||
"responseMessageName": "RPCCountResponse",
|
||||
"code": "rpc countUserScripts(CountUserScriptsRequest) returns (RPCCountResponse);",
|
||||
"doc": "计算用户脚本数量",
|
||||
"roles": [
|
||||
"admin"
|
||||
],
|
||||
"isDeprecated": false
|
||||
},
|
||||
{
|
||||
"name": "listUserScripts",
|
||||
"requestMessageName": "ListUserScriptsRequest",
|
||||
"responseMessageName": "ListUserScriptsResponse",
|
||||
"code": "rpc listUserScripts(ListUserScriptsRequest) returns (ListUserScriptsResponse);",
|
||||
"doc": "列出单页用户脚本",
|
||||
"roles": [
|
||||
"admin"
|
||||
],
|
||||
"isDeprecated": false
|
||||
},
|
||||
{
|
||||
"name": "passUserScript",
|
||||
"requestMessageName": "PassUserScriptRequest",
|
||||
"responseMessageName": "RPCSuccess",
|
||||
"code": "rpc passUserScript(PassUserScriptRequest) returns (RPCSuccess);",
|
||||
"doc": "审核并通过用户脚本",
|
||||
"roles": [
|
||||
"admin"
|
||||
],
|
||||
"isDeprecated": false
|
||||
},
|
||||
{
|
||||
"name": "rejectUserScript",
|
||||
"requestMessageName": "RejectUserScriptRequest",
|
||||
"responseMessageName": "RPCSuccess",
|
||||
"code": "rpc rejectUserScript(RejectUserScriptRequest) returns (RPCSuccess);",
|
||||
"doc": "审核并驳回用户脚本",
|
||||
"roles": [
|
||||
"admin"
|
||||
],
|
||||
"isDeprecated": false
|
||||
}
|
||||
],
|
||||
"filename": "service_user_script.proto",
|
||||
"doc": "用户脚本服务"
|
||||
},
|
||||
{
|
||||
"name": "UserTicketService",
|
||||
"methods": [
|
||||
@@ -13784,7 +13961,7 @@
|
||||
},
|
||||
{
|
||||
"name": "CheckHTTPFirewallPolicyIPStatusResponse",
|
||||
"code": "message CheckHTTPFirewallPolicyIPStatusResponse {\n\tbool isOk = 1; // 是否查询成功\n\tstring error = 2;\n\tbool isFound = 3; // 是否找到\n\tbool isAllowed = 4; // 是否允许\n\tIPList ipList = 5; // 匹配的IPList\n\tIPItem ipItem = 6; // 匹配的IPItem\n\tRegionCountry regionCountry = 7; // 匹配到封禁的地区\n\tRegionProvince regionProvince = 8; // 匹配到封禁的省份\n}",
|
||||
"code": "message CheckHTTPFirewallPolicyIPStatusResponse {\n\tbool isOk = 1; // 是否查询成功\n\tstring error = 2; // 错误信息\n\tbool isFound = 3; // 是否找到\n\tbool isAllowed = 4; // 是否允许\n\tIPList ipList = 5; // 匹配的IPList\n\tIPItem ipItem = 6; // 匹配的IPItem\n\tRegionCountry regionCountry = 7; // 匹配到封禁的地区\n\tRegionProvince regionProvince = 8; // 匹配到封禁的省份\n}",
|
||||
"doc": ""
|
||||
},
|
||||
{
|
||||
@@ -13880,13 +14057,23 @@
|
||||
{
|
||||
"name": "CheckServerNameDuplicationInNodeClusterRequest",
|
||||
"code": "message CheckServerNameDuplicationInNodeClusterRequest {\n\tint64 nodeClusterId = 1;\n\trepeated string serverNames = 2; // 可以同时检查一批域名\n\tint64 excludeServerId = 3; // 要排除的网站ID\n\tbool supportWildcard = 4;// 支持泛解析\n}",
|
||||
"doc": "检查域名是否已经存在"
|
||||
"doc": "检查域名是否在集群中已经存在"
|
||||
},
|
||||
{
|
||||
"name": "CheckServerNameDuplicationInNodeClusterResponse",
|
||||
"code": "message CheckServerNameDuplicationInNodeClusterResponse {\n\trepeated string duplicatedServerNames = 1;\n}",
|
||||
"doc": ""
|
||||
},
|
||||
{
|
||||
"name": "CheckServerNameInServerRequest",
|
||||
"code": "message CheckServerNameInServerRequest {\n\tint64 serverId = 1; // 网站ID\n\tstring serverName = 2; // 域名\n}",
|
||||
"doc": "检查域名是否在网站中已经绑定"
|
||||
},
|
||||
{
|
||||
"name": "CheckServerNameInServerResponse",
|
||||
"code": "message CheckServerNameInServerResponse {\n\tbool exists = 1; // 是否存在\n}",
|
||||
"doc": ""
|
||||
},
|
||||
{
|
||||
"name": "CheckTownsWithIPLibraryFileIdRequest",
|
||||
"code": "message CheckTownsWithIPLibraryFileIdRequest {\n\tint64 ipLibraryFileId = 1;\n}",
|
||||
@@ -14634,9 +14821,14 @@
|
||||
},
|
||||
{
|
||||
"name": "CountUserAccountsRequest",
|
||||
"code": "message CountUserAccountsRequest {\n\tstring keyword = 1;\n}",
|
||||
"code": "message CountUserAccountsRequest {\n\tstring keyword = 1; // 关键词\n}",
|
||||
"doc": "计算账户数量"
|
||||
},
|
||||
{
|
||||
"name": "CountUserScriptsRequest",
|
||||
"code": "message CountUserScriptsRequest {\n\tint64 userId = 1; // 所属用户ID\n\tbool isAuditing = 2; // 是否正在审核\n}",
|
||||
"doc": "计算用户脚本数量"
|
||||
},
|
||||
{
|
||||
"name": "CountUserTicketLogsRequest",
|
||||
"code": "message CountUserTicketLogsRequest {\n\tint64 userTicketId = 1;\n}",
|
||||
@@ -15454,7 +15646,7 @@
|
||||
},
|
||||
{
|
||||
"name": "CreatePlanRequest",
|
||||
"code": "message CreatePlanRequest {\n\tstring name = 1;\n\tint64 clusterId = 2;\n\tbytes trafficLimitJSON = 3;\n\tbytes featuresJSON = 4;\n\tstring priceType = 5;\n\tbytes trafficPriceJSON = 6;\n\tbytes bandwidthPriceJSON = 10;\n\tfloat monthlyPrice = 7;\n\tfloat seasonallyPrice = 8;\n\tfloat yearlyPrice = 9;\n\tint32 totalServers = 11; // 可以添加的网站数\n\tint32 totalServerNamesPerServer = 12; // 每个网站可以添加的域名数\n\tint32 totalServerNames = 13; // 可以添加的域名总数\n\tint64 dailyRequests = 14; // 每日访问量额度\n\tint64 monthlyRequests = 15; // 每月访问量额度\n}",
|
||||
"code": "message CreatePlanRequest {\n\tstring name = 1; // 套餐名称\n\tstring description = 19; // 套餐简介\n\tint64 clusterId = 2; // 集群ID\n\tbytes trafficLimitJSON = 3; // 流量限制\n\tbool hasFullFeatures = 18; // 是否有所有权限\n\tbytes featuresJSON = 4; // 权限列表,[code1, code2, ...]\n\tstring priceType = 5; // 价格类型:traffic, bandwidth, period\n\tbytes trafficPriceJSON = 6; // 流量价格配置\n\tbytes bandwidthPriceJSON = 10; // 带宽价格配置\n\tfloat monthlyPrice = 7; // 月度价格\n\tfloat seasonallyPrice = 8; // 季度价格\n\tfloat yearlyPrice = 9; // 年度价格\n\tint32 totalServers = 11; // 可以添加的网站数\n\tint32 totalServerNamesPerServer = 12; // 每个网站可以添加的域名数\n\tint32 totalServerNames = 13; // 可以添加的域名总数\n\tint64 dailyRequests = 14; // 每日访问量额度\n\tint64 monthlyRequests = 15; // 每月访问量额度\n\tint64 dailyWebsocketConnections = 16; // 每日Websocket连接数额度\n\tint64 monthlyWebsocketConnections = 17; // 每月Websocket连接数额度\n}",
|
||||
"doc": "创建套餐"
|
||||
},
|
||||
{
|
||||
@@ -15489,7 +15681,7 @@
|
||||
},
|
||||
{
|
||||
"name": "CreateReverseProxyResponse",
|
||||
"code": "message CreateReverseProxyResponse {\n\tint64 reverseProxyId = 1;\n}",
|
||||
"code": "message CreateReverseProxyResponse {\n\tint64 reverseProxyId = 1; // 反向代理ID\n}",
|
||||
"doc": ""
|
||||
},
|
||||
{
|
||||
@@ -16054,7 +16246,7 @@
|
||||
},
|
||||
{
|
||||
"name": "DeletePlanRequest",
|
||||
"code": "message DeletePlanRequest {\n\tint64 planId = 1;\n}",
|
||||
"code": "message DeletePlanRequest {\n\tint64 planId = 1; // 套餐ID\n}",
|
||||
"doc": "删除套餐"
|
||||
},
|
||||
{
|
||||
@@ -16597,6 +16789,16 @@
|
||||
"code": "message FindAllAvailableOrderMethodsResponse {\n\trepeated OrderMethod orderMethods = 1;\n}",
|
||||
"doc": ""
|
||||
},
|
||||
{
|
||||
"name": "FindAllAvailablePlansRequest",
|
||||
"code": "message FindAllAvailablePlansRequest {\n\n}",
|
||||
"doc": "列出所有可用的套餐"
|
||||
},
|
||||
{
|
||||
"name": "FindAllAvailablePlansResponse",
|
||||
"code": "message FindAllAvailablePlansResponse {\n\trepeated Plan plans = 1; // 套餐列表\n}",
|
||||
"doc": ""
|
||||
},
|
||||
{
|
||||
"name": "FindAllAvailableTrafficPackagePeriodsRequest",
|
||||
"code": "message FindAllAvailableTrafficPackagePeriodsRequest {\n\n}",
|
||||
@@ -18084,7 +18286,7 @@
|
||||
},
|
||||
{
|
||||
"name": "FindEnabledNodeClusterConfigInfoResponse",
|
||||
"code": "message FindEnabledNodeClusterConfigInfoResponse {\n\tbool healthCheckIsOn = 1; // 启用了健康检查\n\tbool hasFirewallActions = 2; // 有防火墙动作设置\n\tbool hasThresholds = 3; // 有节点阈值设置\n\tbool hasMessageReceivers = 4; // 已设置消息通知接收人\n\tbool isTOAEnabled = 5; // 启用了TOA\n\tbool hasMetricItems = 6; // 有指标统计设置\n\tbool webpIsOn = 7; // 是否定义了WebP策略\n\tbool uamIsOn = 10; // 是否定义了UAM策略\n\tbool httpCCIsOn = 12; // 是否定义了CC策略\n\tbool hasSystemServices = 8; // 启用了系统服务\n\tbool hasDDoSProtection = 9; // 启用了DDoS防护\n\tbool hasHTTPPagesPolicy = 11; // 是否设置了自定义页面策略\n\tbool http3IsOn = 13; // 是否启用HTTP3\n\tbool hasNetworkSecurityPolicy = 14; // 设置了网络安全策略\n}",
|
||||
"code": "message FindEnabledNodeClusterConfigInfoResponse {\n\tbool healthCheckIsOn = 1; // 启用了健康检查\n\tbool hasFirewallActions = 2; // 有防火墙动作设置\n\tbool hasThresholds = 3; // 有节点阈值设置\n\tbool hasMessageReceivers = 4; // 已设置消息通知接收人\n\tbool isTOAEnabled = 5; // 启用了TOA\n\tbool hasMetricItems = 6; // 有指标统计设置\n\tbool webPIsOn = 7; // 是否定义了WebP策略\n\tbool uamIsOn = 10; // 是否定义了UAM策略\n\tbool httpCCIsOn = 12; // 是否定义了CC策略\n\tbool hasSystemServices = 8; // 启用了系统服务\n\tbool hasDDoSProtection = 9; // 启用了DDoS防护\n\tbool hasHTTPPagesPolicy = 11; // 是否设置了自定义页面策略\n\tbool http3IsOn = 13; // 是否启用HTTP3\n\tbool hasNetworkSecurityPolicy = 14; // 设置了网络安全策略\n}",
|
||||
"doc": ""
|
||||
},
|
||||
{
|
||||
@@ -18299,12 +18501,12 @@
|
||||
},
|
||||
{
|
||||
"name": "FindEnabledPlanRequest",
|
||||
"code": "message FindEnabledPlanRequest {\n\tint64 planId = 1;\n}",
|
||||
"code": "message FindEnabledPlanRequest {\n\tint64 planId = 1; // 套餐ID\n}",
|
||||
"doc": "查找单个套餐"
|
||||
},
|
||||
{
|
||||
"name": "FindEnabledPlanResponse",
|
||||
"code": "message FindEnabledPlanResponse {\n\tPlan plan = 1;\n}",
|
||||
"code": "message FindEnabledPlanResponse {\n\tPlan plan = 1; // 套餐信息\n}",
|
||||
"doc": ""
|
||||
},
|
||||
{
|
||||
@@ -18369,22 +18571,22 @@
|
||||
},
|
||||
{
|
||||
"name": "FindEnabledReverseProxyConfigRequest",
|
||||
"code": "message FindEnabledReverseProxyConfigRequest {\n\tint64 reverseProxyId = 1;\n}",
|
||||
"code": "message FindEnabledReverseProxyConfigRequest {\n\tint64 reverseProxyId = 1; // 反向代理ID\n}",
|
||||
"doc": "查找反向代理配置"
|
||||
},
|
||||
{
|
||||
"name": "FindEnabledReverseProxyConfigResponse",
|
||||
"code": "message FindEnabledReverseProxyConfigResponse {\n\tbytes reverseProxyJSON = 1;\n}",
|
||||
"code": "message FindEnabledReverseProxyConfigResponse {\n\tbytes reverseProxyJSON = 1; // 反向代理配置\n}",
|
||||
"doc": ""
|
||||
},
|
||||
{
|
||||
"name": "FindEnabledReverseProxyRequest",
|
||||
"code": "message FindEnabledReverseProxyRequest {\n\tint64 reverseProxyId = 1;\n}",
|
||||
"code": "message FindEnabledReverseProxyRequest {\n\tint64 reverseProxyId = 1; // 反向代理ID\n}",
|
||||
"doc": "查找反向代理"
|
||||
},
|
||||
{
|
||||
"name": "FindEnabledReverseProxyResponse",
|
||||
"code": "message FindEnabledReverseProxyResponse {\n\tReverseProxy reverseProxy = 1;\n}",
|
||||
"code": "message FindEnabledReverseProxyResponse {\n\tReverseProxy reverseProxy = 1; // 反向代理信息\n}",
|
||||
"doc": ""
|
||||
},
|
||||
{
|
||||
@@ -18499,22 +18701,22 @@
|
||||
},
|
||||
{
|
||||
"name": "FindEnabledUserAccountRequest",
|
||||
"code": "message FindEnabledUserAccountRequest {\n\tint64 userAccountId = 1;\n}",
|
||||
"code": "message FindEnabledUserAccountRequest {\n\tint64 userAccountId = 1; // 用户账户ID\n}",
|
||||
"doc": "查找单个账户"
|
||||
},
|
||||
{
|
||||
"name": "FindEnabledUserAccountResponse",
|
||||
"code": "message FindEnabledUserAccountResponse {\n\tUserAccount userAccount = 1;\n}",
|
||||
"code": "message FindEnabledUserAccountResponse {\n\tUserAccount userAccount = 1; // 用户账户\n}",
|
||||
"doc": ""
|
||||
},
|
||||
{
|
||||
"name": "FindEnabledUserAccountWithUserIdRequest",
|
||||
"code": "message FindEnabledUserAccountWithUserIdRequest {\n\tint64 userId = 1;\n}",
|
||||
"code": "message FindEnabledUserAccountWithUserIdRequest {\n\tint64 userId = 1; // 用户ID\n}",
|
||||
"doc": "根据用户ID查找单个账户"
|
||||
},
|
||||
{
|
||||
"name": "FindEnabledUserAccountWithUserIdResponse",
|
||||
"code": "message FindEnabledUserAccountWithUserIdResponse {\n\tUserAccount userAccount = 1;\n}",
|
||||
"code": "message FindEnabledUserAccountWithUserIdResponse {\n\tUserAccount userAccount = 1; // 用户账户\n}",
|
||||
"doc": ""
|
||||
},
|
||||
{
|
||||
@@ -19432,6 +19634,16 @@
|
||||
"code": "message FindNodeUAMPoliciesResponse {\n\trepeated UAMPolicy uamPolicies = 1; // UAM策略列表\n\n\n\tmessage UAMPolicy {\n\t\tint64 nodeClusterId = 1; // 集群ID\n\t\tbytes uamPolicyJSON = 2; // UAM策略配置\n\t}\n}",
|
||||
"doc": ""
|
||||
},
|
||||
{
|
||||
"name": "FindNodeWebPPoliciesRequest",
|
||||
"code": "message FindNodeWebPPoliciesRequest {\n\n}",
|
||||
"doc": "查找节点的WebP策略"
|
||||
},
|
||||
{
|
||||
"name": "FindNodeWebPPoliciesResponse",
|
||||
"code": "message FindNodeWebPPoliciesResponse {\n\trepeated WebPPolicy webPPolicies = 1; // WebP策略列表\n\n\n\tmessage WebPPolicy {\n\t\tint64 nodeClusterId = 1; // 集群ID\n\t\tbytes webPPolicyJSON = 2; // WebP策略配置\n\t}\n}",
|
||||
"doc": ""
|
||||
},
|
||||
{
|
||||
"name": "FindNotifyingNodeTasksRequest",
|
||||
"code": "message FindNotifyingNodeTasksRequest {\n\tint64 size = 1;\n}",
|
||||
@@ -19572,6 +19784,46 @@
|
||||
"code": "message FindServerIdWithDNSNameResponse {\n\tint64 serverId = 1; // 网站ID\n}",
|
||||
"doc": ""
|
||||
},
|
||||
{
|
||||
"name": "FindServerIdWithHTTPFirewallPolicyIdRequest",
|
||||
"code": "message FindServerIdWithHTTPFirewallPolicyIdRequest {\n\tint64 httpFirewallPolicyId = 1; // 防火墙策略ID\n}",
|
||||
"doc": "获取防火墙对应的网站ID"
|
||||
},
|
||||
{
|
||||
"name": "FindServerIdWithHTTPFirewallPolicyIdResponse",
|
||||
"code": "message FindServerIdWithHTTPFirewallPolicyIdResponse {\n\tint64 serverId = 1; // 防火墙策略对应的网站ID,公共的防火墙策略的网站ID为0\n}",
|
||||
"doc": ""
|
||||
},
|
||||
{
|
||||
"name": "FindServerIdWithHTTPWebIdRequest",
|
||||
"code": "message FindServerIdWithHTTPWebIdRequest {\n\tint64 httpWebId = 1; // Web设置ID\n}",
|
||||
"doc": "根据WebId查找ServerId"
|
||||
},
|
||||
{
|
||||
"name": "FindServerIdWithHTTPWebIdResponse",
|
||||
"code": "message FindServerIdWithHTTPWebIdResponse {\n\tint64 serverId = 1; // 网站ID\n}",
|
||||
"doc": ""
|
||||
},
|
||||
{
|
||||
"name": "FindServerIdWithIPItemIdRequest",
|
||||
"code": "message FindServerIdWithIPItemIdRequest {\n\tint64 ipItemId = 1; // IP ID\n}",
|
||||
"doc": "查找IP对应的名单所属网站ID"
|
||||
},
|
||||
{
|
||||
"name": "FindServerIdWithIPItemIdResponse",
|
||||
"code": "message FindServerIdWithIPItemIdResponse {\n\tint64 serverId = 1; // 网站ID\n}",
|
||||
"doc": ""
|
||||
},
|
||||
{
|
||||
"name": "FindServerIdWithIPListIdRequest",
|
||||
"code": "message FindServerIdWithIPListIdRequest {\n\tint64 ipListId = 1; // IP名单ID\n}",
|
||||
"doc": "查找IP名单对应的网站ID"
|
||||
},
|
||||
{
|
||||
"name": "FindServerIdWithIPListIdResponse",
|
||||
"code": "message FindServerIdWithIPListIdResponse {\n\tint64 serverId = 1; // 网站ID(如果是公共IP名单,则对应的网站ID为0)\n}",
|
||||
"doc": ""
|
||||
},
|
||||
{
|
||||
"name": "FindServerNamesRequest",
|
||||
"code": "message FindServerNamesRequest {\n\tint64 serverId = 1; // 网站ID\n}",
|
||||
@@ -19782,6 +20034,26 @@
|
||||
"code": "message FindUserPriceInfoResponse {\n\tstring priceType = 1;\n\tstring pricePeriod = 2;\n}",
|
||||
"doc": ""
|
||||
},
|
||||
{
|
||||
"name": "FindUserScriptRequest",
|
||||
"code": "message FindUserScriptRequest {\n\tint64 userScriptId = 1; // 用户脚本ID\n}",
|
||||
"doc": "查找单个用户脚本信息"
|
||||
},
|
||||
{
|
||||
"name": "FindUserScriptResponse",
|
||||
"code": "message FindUserScriptResponse {\n\tUserScript userScript = 1; // 用户脚本信息\n}",
|
||||
"doc": ""
|
||||
},
|
||||
{
|
||||
"name": "FindUserScriptWithMD5Request",
|
||||
"code": "message FindUserScriptWithMD5Request {\n\tstring codeMD5 = 1; // 代码MD5(32位)\n}",
|
||||
"doc": "根据代码MD5查找脚本"
|
||||
},
|
||||
{
|
||||
"name": "FindUserScriptWithMD5Response",
|
||||
"code": "message FindUserScriptWithMD5Response {\n\tUserScript userScript = 1; // 用户脚本信息\n}",
|
||||
"doc": ""
|
||||
},
|
||||
{
|
||||
"name": "FindUserTicketCategoryRequest",
|
||||
"code": "message FindUserTicketCategoryRequest {\n\tint64 userTicketCategoryId = 1;\n}",
|
||||
@@ -19914,8 +20186,8 @@
|
||||
},
|
||||
{
|
||||
"name": "HTTPFirewallPolicy",
|
||||
"code": "message HTTPFirewallPolicy {\n\tint64 id = 1;\n\tstring name = 2;\n\tstring mode = 7;\n\tbool isOn = 3;\n\tstring description = 4;\n\tbytes inboundJSON = 5;\n\tbytes outboundJSON = 6;\n\tint64 serverId = 8;\n\tbool useLocalFirewall = 9;\n\tbytes synFloodJSON = 10;\n}",
|
||||
"doc": ""
|
||||
"code": "message HTTPFirewallPolicy {\n\tint64 id = 1; // 策略ID\n\tstring name = 2; // 名称\n\tstring mode = 7; // 模式\n\tbool isOn = 3; // 是否启用\n\tstring description = 4; // 描述\n\tbytes inboundJSON = 5; // 入站配置\n\tbytes outboundJSON = 6; // 出站配置\n\tint64 serverId = 8; // 所属网站ID(如果为0表示公共策略)\n\tbool useLocalFirewall = 9; // 是否使用本机防火墙\n\tbytes synFloodJSON = 10; // synflood配置\n\tbytes blockOptionsJSON = 11; // 拦截配置\n\tbytes captchaOptionsJSON = 12; // 人机识别配置\n}",
|
||||
"doc": "WAF策略"
|
||||
},
|
||||
{
|
||||
"name": "HTTPFirewallRuleGroup",
|
||||
@@ -20052,6 +20324,16 @@
|
||||
"code": "message ListAllEnabledIPItemsResponse {\n\trepeated Result results = 1;\n\n\n\tmessage Result {\n\t\tIPList ipList = 1; // 所属名单\n\t\tIPItem ipItem = 2; // IP信息\n\t\tServer server = 3; // 所属服务\n\t\tHTTPFirewallPolicy httpFirewallPolicy = 4; // 所属WAF策略\n\t}\n}",
|
||||
"doc": ""
|
||||
},
|
||||
{
|
||||
"name": "ListAllIPItemIdsRequest",
|
||||
"code": "message ListAllIPItemIdsRequest {\n\tstring keyword = 8; // 关键词\n\tstring ip = 1; // 单个IP,搜索单个IP时需要\n\tbool globalOnly = 2; // 是否为自动添加的IP\n\tbool unread = 5; // 是否未读\n\tstring eventLevel = 6; // 事件级别\n\tstring listType = 7; // 列表类型:black|white\n\tint64 userId = 9; // 用户ID,只有管理员才有权限指定用户ID\n\tint64 offset = 3; // 读取位置,从0开始\n\tint64 size = 4; // 每次读取数量\n}",
|
||||
"doc": "列出所有名单中的IP ID"
|
||||
},
|
||||
{
|
||||
"name": "ListAllIPItemIdsResponse",
|
||||
"code": "message ListAllIPItemIdsResponse {\n\trepeated int64 ipItemIds = 1; // IP ID列表\n}",
|
||||
"doc": ""
|
||||
},
|
||||
{
|
||||
"name": "ListBasicDNSDomainsWithDNSProviderIdRequest",
|
||||
"code": "message ListBasicDNSDomainsWithDNSProviderIdRequest {\n\tint64 dnsProviderId = 1;\n\tbool isDeleted = 2;\n\tbool isDown = 3;\n\tint64 offset = 4;\n\tint64 size = 5;\n}",
|
||||
@@ -20249,7 +20531,7 @@
|
||||
},
|
||||
{
|
||||
"name": "ListEnabledPlansResponse",
|
||||
"code": "message ListEnabledPlansResponse {\n\trepeated Plan plans = 1;\n}",
|
||||
"code": "message ListEnabledPlansResponse {\n\trepeated Plan plans = 1; // 套餐列表\n}",
|
||||
"doc": ""
|
||||
},
|
||||
{
|
||||
@@ -20699,12 +20981,12 @@
|
||||
},
|
||||
{
|
||||
"name": "ListUserAccountsRequest",
|
||||
"code": "message ListUserAccountsRequest {\n\tstring keyword = 1;\n\tint64 offset = 2;\n\tint64 size = 3;\n}",
|
||||
"code": "message ListUserAccountsRequest {\n\tstring keyword = 1; // 关键词\n\tint64 offset = 2;\n\tint64 size = 3;\n}",
|
||||
"doc": "列出单页账户"
|
||||
},
|
||||
{
|
||||
"name": "ListUserAccountsResponse",
|
||||
"code": "message ListUserAccountsResponse {\n\trepeated UserAccount userAccounts = 1;\n}",
|
||||
"code": "message ListUserAccountsResponse {\n\trepeated UserAccount userAccounts = 1; // 用户账户列表\n}",
|
||||
"doc": ""
|
||||
},
|
||||
{
|
||||
@@ -20717,6 +20999,16 @@
|
||||
"code": "message ListUserBillsResponse {\n\trepeated UserBill userBills = 1;\n}",
|
||||
"doc": ""
|
||||
},
|
||||
{
|
||||
"name": "ListUserScriptsRequest",
|
||||
"code": "message ListUserScriptsRequest {\n\tint64 userId = 1; // 所属用户ID\n\tbool isAuditing = 2; // 是否正在审核\n\tint64 offset = 3; // 开始读取位置\n\tint64 size = 4; // 读取数量\n}",
|
||||
"doc": "列出单页用户脚本"
|
||||
},
|
||||
{
|
||||
"name": "ListUserScriptsResponse",
|
||||
"code": "message ListUserScriptsResponse {\n\trepeated UserScript userScripts = 1; // 用户脚本列表\n}",
|
||||
"doc": ""
|
||||
},
|
||||
{
|
||||
"name": "ListUserTicketLogsRequest",
|
||||
"code": "message ListUserTicketLogsRequest {\n\tint64 userTicketId = 1;\n\tint64 offset = 2;\n\tint64 size = 3;\n}",
|
||||
@@ -21077,6 +21369,11 @@
|
||||
"code": "message Origin {\n\tint64 id = 1;\n\tbool isOn = 2;\n\tstring name = 3;\n\tNetworkAddress addr = 4; // 源站网络地址\n\tbytes ossJSON = 9; // 源站网络地址为oss:开头时有此内容\n\tstring description = 5;\n\trepeated string domains = 6;\n\tstring host = 7;\n\tbool followPort = 8;\n\tbool http2Enabled = 10; // 是否支持HTTP/2,只在HTTPS源站时生效\n}",
|
||||
"doc": ""
|
||||
},
|
||||
{
|
||||
"name": "PassUserScriptRequest",
|
||||
"code": "message PassUserScriptRequest {\n\tint64 userScriptId = 1; // 用户脚本ID\n}",
|
||||
"doc": "审核并通过用户脚本"
|
||||
},
|
||||
{
|
||||
"name": "PayUserBillRequest",
|
||||
"code": "message PayUserBillRequest {\n\tint64 userBillId = 1;\n}",
|
||||
@@ -21094,7 +21391,7 @@
|
||||
},
|
||||
{
|
||||
"name": "Plan",
|
||||
"code": "message Plan {\n\tint64 id = 1;\n\tbool isOn = 2;\n\tstring name = 3;\n\tint64 clusterId = 4;\n\tbytes trafficLimitJSON = 5;\n\tbytes featuresJSON = 6;\n\tstring priceType = 7;\n\tbytes trafficPriceJSON = 8;\n\tbytes bandwidthPriceJSON = 12;\n\tdouble monthlyPrice = 9;\n\tdouble seasonallyPrice = 10;\n\tdouble yearlyPrice = 11;\n\tint32 totalServers = 13; // 可以添加的网站数\n\tint32 totalServerNamesPerServer = 14; // 每个网站可以添加的域名数\n\tint32 totalServerNames = 15; // 可以添加的域名总数\n\tint64 dailyRequests = 16; // 每日访问量额度\n\tint64 monthlyRequests = 17; // 每月访问量额度\n}",
|
||||
"code": "message Plan {\n\tint64 id = 1; // 套餐ID\n\tbool isOn = 2; // 是否启用\n\tstring name = 3; // 套餐名称\n\tstring description = 21; // 套餐简介\n\tint64 clusterId = 4; // 集群ID\n\tbytes trafficLimitJSON = 5; // 流量限制\n\tbool hasFullFeatures = 20; // 是否有所有权限\n\tbytes featuresJSON = 6; // 权限列表,[code1, code2, ...]\n\tstring priceType = 7; // 价格类型:traffic, bandwidth, period\n\tbytes trafficPriceJSON = 8; // 流量价格配置\n\tbytes bandwidthPriceJSON = 12; // 带宽价格配置\n\tdouble monthlyPrice = 9; // 月度价格\n\tdouble seasonallyPrice = 10; // 季度价格\n\tdouble yearlyPrice = 11; // 年度价格\n\tint32 totalServers = 13; // 可以添加的网站数\n\tint32 totalServerNamesPerServer = 14; // 每个网站可以添加的域名数\n\tint32 totalServerNames = 15; // 可以添加的域名总数\n\tint64 dailyRequests = 16; // 每日访问量额度\n\tint64 monthlyRequests = 17; // 每月访问量额度\n\tint64 dailyWebsocketConnections = 18; // 每日Websocket连接数额度\n\tint64 monthlyWebsocketConnections = 19; // 每月Websocket连接数额度\n}",
|
||||
"doc": ""
|
||||
},
|
||||
{
|
||||
@@ -21202,6 +21499,11 @@
|
||||
"code": "message RejectUserIdentityRequest {\n\tint64 userIdentityId = 1;\n\tstring reason = 2;\n}",
|
||||
"doc": "拒绝用户实名认证信息"
|
||||
},
|
||||
{
|
||||
"name": "RejectUserScriptRequest",
|
||||
"code": "message RejectUserScriptRequest {\n\tint64 userScriptId = 1; // 用户脚本ID\n\tstring reason = 2; // 驳回理由\n}",
|
||||
"doc": "审核并驳回用户脚本"
|
||||
},
|
||||
{
|
||||
"name": "RenewUserADInstanceRequest",
|
||||
"code": "message RenewUserADInstanceRequest {\n\tint64 userADInstanceId = 1;\n\tint64 adPackagePeriodId = 2;\n}",
|
||||
@@ -21359,7 +21661,7 @@
|
||||
},
|
||||
{
|
||||
"name": "ServerBandwidthStat",
|
||||
"code": "message ServerBandwidthStat {\n\tint64 id = 1; // ID\n\tint64 userId = 2; // 用户ID\n\tint64 serverId = 3; //服务ID\n\tstring day = 4; // 日期,格式YYYYMMDD\n\tstring timeAt = 5; // 时间,格式HHII\n\tint64 bytes = 6; // 峰值带宽字节\n\tint64 totalBytes = 9; // 总流量\n\tint64 bits = 7; // 峰值带宽比特\n\tint64 nodeRegionId = 8; // 节点所在区域ID\n\tint64 cachedBytes = 10; // 总缓存流量\n\tint64 attackBytes = 11; // 总攻击流量\n\tint64 countRequests = 12; // 总请求数\n\tint64 countCachedRequests = 13; // 总缓存请求数\n\tint64 countAttackRequests = 14; // 总攻击请求数\n\tint64 userPlanId = 15; // 绑定的用户套餐ID\n}",
|
||||
"code": "message ServerBandwidthStat {\n\tint64 id = 1; // ID\n\tint64 userId = 2; // 用户ID\n\tint64 serverId = 3; //服务ID\n\tstring day = 4; // 日期,格式YYYYMMDD\n\tstring timeAt = 5; // 时间,格式HHII\n\tint64 bytes = 6; // 峰值带宽字节\n\tint64 totalBytes = 9; // 总流量\n\tint64 bits = 7; // 峰值带宽比特\n\tint64 nodeRegionId = 8; // 节点所在区域ID\n\tint64 cachedBytes = 10; // 总缓存流量\n\tint64 attackBytes = 11; // 总攻击流量\n\tint64 countRequests = 12; // 总请求数\n\tint64 countCachedRequests = 13; // 总缓存请求数\n\tint64 countAttackRequests = 14; // 总攻击请求数\n\tint64 userPlanId = 15; // 绑定的用户套餐ID\n\tint64 countWebsocketConnections = 16; // Websocket连接数\n}",
|
||||
"doc": "带宽统计数据"
|
||||
},
|
||||
{
|
||||
@@ -21414,7 +21716,7 @@
|
||||
},
|
||||
{
|
||||
"name": "SortPlansRequest",
|
||||
"code": "message SortPlansRequest {\n\trepeated int64 planIds = 1;\n}",
|
||||
"code": "message SortPlansRequest {\n\trepeated int64 planIds = 1; // 排序后的套餐ID列表\n}",
|
||||
"doc": "对套餐进行排序"
|
||||
},
|
||||
{
|
||||
@@ -21652,6 +21954,11 @@
|
||||
"code": "message UpdateAdminInfoRequest {\n\tint64 adminId = 1;\n\tstring fullname = 2;\n}",
|
||||
"doc": "修改管理员信息"
|
||||
},
|
||||
{
|
||||
"name": "UpdateAdminLangRequest",
|
||||
"code": "message UpdateAdminLangRequest {\n\tstring langCode = 1; // 语言代号:en-us, zh-cn, ...,如果为空表示默认\n}",
|
||||
"doc": "修改管理员使用的语言"
|
||||
},
|
||||
{
|
||||
"name": "UpdateAdminLoginRequest",
|
||||
"code": "message UpdateAdminLoginRequest {\n\tint64 adminId = 1;\n\tstring username = 2;\n\tstring password = 3;\n}",
|
||||
@@ -21664,7 +21971,7 @@
|
||||
},
|
||||
{
|
||||
"name": "UpdateAdminThemeRequest",
|
||||
"code": "message UpdateAdminThemeRequest {\n\tint64 adminId = 1;\n\tstring theme = 2;\n}",
|
||||
"code": "message UpdateAdminThemeRequest {\n\tint64 adminId = 1;\n\tstring theme = 2; // 风格代号\n}",
|
||||
"doc": "修改管理员使用的界面风格"
|
||||
},
|
||||
{
|
||||
@@ -22339,7 +22646,7 @@
|
||||
},
|
||||
{
|
||||
"name": "UpdateNodeClusterWebPPolicyRequest",
|
||||
"code": "message UpdateNodeClusterWebPPolicyRequest {\n\tint64 nodeClusterId = 1;\n\tbytes webpPolicyJSON = 2;\n}",
|
||||
"code": "message UpdateNodeClusterWebPPolicyRequest {\n\tint64 nodeClusterId = 1;\n\tbytes webPPolicyJSON = 2;\n}",
|
||||
"doc": "设置集群WebP策略"
|
||||
},
|
||||
{
|
||||
@@ -22484,7 +22791,7 @@
|
||||
},
|
||||
{
|
||||
"name": "UpdatePlanRequest",
|
||||
"code": "message UpdatePlanRequest {\n\tint64 planId = 1;\n\tstring name = 2;\n\tbool isOn = 3;\n\tint64 clusterId = 4;\n\tbytes trafficLimitJSON = 5;\n\tbytes featuresJSON = 6;\n\tstring priceType = 7;\n\tbytes trafficPriceJSON = 8;\n\tbytes bandwidthPriceJSON = 12;\n\tfloat monthlyPrice = 9;\n\tfloat seasonallyPrice = 10;\n\tfloat yearlyPrice = 11;\n\tint32 totalServers = 13; // 可以添加的网站数\n\tint32 totalServerNamesPerServer = 14; // 每个网站可以添加的域名数\n\tint32 totalServerNames = 15; // 可以添加的域名总数\n\tint64 dailyRequests = 16; // 每日访问量额度\n\tint64 monthlyRequests = 17; // 每月访问量额度\n}",
|
||||
"code": "message UpdatePlanRequest {\n\tint64 planId = 1; // 套餐ID\n\tstring name = 2; // 套餐名称\n\tstring description = 21; // 套餐简介\n\tbool isOn = 3; // 是否启用\n\tint64 clusterId = 4; // 集群ID\n\tbytes trafficLimitJSON = 5; // 流量限制\n\tbool hasFullFeatures = 20; // 是否有所有权限\n\tbytes featuresJSON = 6; // 权限列表,[code1, code2, ...]\n\tstring priceType = 7; // 价格类型:traffic, bandwidth, period\n\tbytes trafficPriceJSON = 8; // 流量价格配置\n\tbytes bandwidthPriceJSON = 12; // 带宽价格配置\n\tfloat monthlyPrice = 9; // 月费用\n\tfloat seasonallyPrice = 10; // 季度费用\n\tfloat yearlyPrice = 11; // 年度费用\n\tint32 totalServers = 13; // 可以添加的网站数\n\tint32 totalServerNamesPerServer = 14; // 每个网站可以添加的域名数\n\tint32 totalServerNames = 15; // 可以添加的域名总数\n\tint64 dailyRequests = 16; // 每日访问量额度\n\tint64 monthlyRequests = 17; // 每月访问量额度\n\tint64 dailyWebsocketConnections = 18; // 每日Websocket连接数额度\n\tint64 monthlyWebsocketConnections = 19; // 每月Websocket连接数额度\n}",
|
||||
"doc": "修改套餐"
|
||||
},
|
||||
{
|
||||
@@ -22539,12 +22846,12 @@
|
||||
},
|
||||
{
|
||||
"name": "UpdateReverseProxyBackupOriginsRequest",
|
||||
"code": "message UpdateReverseProxyBackupOriginsRequest {\n\tint64 reverseProxyId = 1;\n\tbytes originsJSON = 2;\n}",
|
||||
"code": "message UpdateReverseProxyBackupOriginsRequest {\n\tint64 reverseProxyId = 1; // 反向代理ID\n\tbytes originsJSON = 2; // 源站配置 @link json:origin_refs\n}",
|
||||
"doc": "修改备用源站信息"
|
||||
},
|
||||
{
|
||||
"name": "UpdateReverseProxyPrimaryOriginsRequest",
|
||||
"code": "message UpdateReverseProxyPrimaryOriginsRequest {\n\tint64 reverseProxyId = 1;\n\tbytes originsJSON = 2;\n}",
|
||||
"code": "message UpdateReverseProxyPrimaryOriginsRequest {\n\tint64 reverseProxyId = 1; // 反向代理ID\n\tbytes originsJSON = 2; // 源站配置 @link json:origin_refs\n}",
|
||||
"doc": "修改主要源站信息"
|
||||
},
|
||||
{
|
||||
@@ -22554,7 +22861,7 @@
|
||||
},
|
||||
{
|
||||
"name": "UpdateReverseProxySchedulingRequest",
|
||||
"code": "message UpdateReverseProxySchedulingRequest {\n\tint64 reverseProxyId = 1;\n\tbytes schedulingJSON = 2;\n}",
|
||||
"code": "message UpdateReverseProxySchedulingRequest {\n\tint64 reverseProxyId = 1; // 反向代理ID\n\tbytes schedulingJSON = 2; // 调度配置 @link json:scheduling\n}",
|
||||
"doc": "修改反向代理调度算法"
|
||||
},
|
||||
{
|
||||
@@ -22729,7 +23036,7 @@
|
||||
},
|
||||
{
|
||||
"name": "UpdateUserAccountRequest",
|
||||
"code": "message UpdateUserAccountRequest {\n\tint64 userAccountId = 1;\n\tdouble delta = 2;\n\tstring eventType = 3;\n\tstring description = 4;\n\tbytes paramsJSON = 5;\n}",
|
||||
"code": "message UpdateUserAccountRequest {\n\tint64 userAccountId = 1; // 用户账户ID(非用户ID)\n\tdouble delta = 2; // 操作的数值,正值表示增加,负值表示减少\n\tstring eventType = 3; // 事件类型:charge, award, buyPlan, payBill, refund, withdraw, buyNSPlan, buyTrafficPackage, buyAntiDDoSPackage, renewAntiDDoSPackage\n\tstring description = 4; // 描述\n\tbytes paramsJSON = 5; // 相关参数\n}",
|
||||
"doc": "修改用户账户"
|
||||
},
|
||||
{
|
||||
@@ -22844,7 +23151,7 @@
|
||||
},
|
||||
{
|
||||
"name": "User",
|
||||
"code": "message User {\n\tint64 id = 1; // 用户ID\n\tstring username = 2; // 用户名\n\tstring fullname = 3; // 全称\n\tstring mobile = 4; // 手机号码\n\tstring tel = 5; // 联系电话\n\tstring email = 6; // 联系邮箱\n\tstring verifiedEmail = 20; // 已验证邮箱\n\tstring verifiedMobile = 23; // 已验证手机号码\n\tstring remark = 7;\n\tbool isOn = 8;\n\tint64 createdAt = 9;\n\tstring registeredIP = 12;\n\tbool isVerified = 13;\n\tbool isRejected = 14;\n\tstring rejectReason = 15;\n\tbool isDeleted = 16;\n\tbool isIndividualIdentified = 17; // 是否已通过个人验证\n\tbool isEnterpriseIdentified = 18; // 是否已通过企业验证\n\tstring bandwidthAlgo = 21; // 带宽算法\n\tstring lang = 22; // 语言代号\n\n\tLogin otpLogin = 19; // OTP认证\n\n\tNodeCluster nodeCluster = 10;\n\trepeated UserFeature features = 11;\n}",
|
||||
"code": "message User {\n\tint64 id = 1; // 用户ID\n\tstring username = 2; // 用户名\n\tstring fullname = 3; // 全称\n\tstring mobile = 4; // 手机号码\n\tstring tel = 5; // 联系电话\n\tstring email = 6; // 联系邮箱\n\tstring verifiedEmail = 20; // 已验证邮箱\n\tstring verifiedMobile = 23; // 已验证手机号码\n\tstring remark = 7; // 备注\n\tbool isOn = 8; // 是否启用\n\tint64 createdAt = 9; // 创建时间\n\tstring registeredIP = 12; // 注册IP\n\tbool isVerified = 13; // 是否已实名认证\n\tbool isRejected = 14; // 实名认证是否已拒绝\n\tstring rejectReason = 15; // 实名认证拒绝理由\n\tbool isDeleted = 16; // 是否已删除\n\tbool isIndividualIdentified = 17; // 是否已通过个人验证\n\tbool isEnterpriseIdentified = 18; // 是否已通过企业验证\n\tstring bandwidthAlgo = 21; // 带宽算法\n\tstring lang = 22; // 语言代号\n\n\tLogin otpLogin = 19; // OTP认证\n\n\tNodeCluster nodeCluster = 10; // 集群信息\n\trepeated UserFeature features = 11; // 开通功能\n}",
|
||||
"doc": ""
|
||||
},
|
||||
{
|
||||
@@ -22859,7 +23166,7 @@
|
||||
},
|
||||
{
|
||||
"name": "UserAccount",
|
||||
"code": "message UserAccount {\n\tint64 id = 1;\n\tint64 userId = 2;\n\tdouble total = 3;\n\tdouble totalFrozen = 4;\n\n\tUser user = 30;\n}",
|
||||
"code": "message UserAccount {\n\tint64 id = 1; // 账户ID\n\tint64 userId = 2; // 用户ID\n\tdouble total = 3; // 总可用余额\n\tdouble totalFrozen = 4; // 总冻结余额\n\n\tUser user = 30; // 用户信息\n}",
|
||||
"doc": ""
|
||||
},
|
||||
{
|
||||
@@ -22889,8 +23196,8 @@
|
||||
},
|
||||
{
|
||||
"name": "UserFeature",
|
||||
"code": "message UserFeature {\n\tstring code = 1;\n\tstring name = 2;\n\tstring description = 3;\n}",
|
||||
"doc": ""
|
||||
"code": "message UserFeature {\n\tstring code = 1; // 代号\n\tstring name = 2; // 名称\n\tstring description = 3; // 描述\n\tbool supportPlan = 4; // 是否支持套餐\n}",
|
||||
"doc": "用户功能定义"
|
||||
},
|
||||
{
|
||||
"name": "UserIdentity",
|
||||
@@ -22917,6 +23224,11 @@
|
||||
"code": "message UserPlan {\n\tint64 id = 1; // 套餐ID\n\tint64 userId = 2; // 用户ID\n\tint64 planId = 3; // 套餐定义ID\n\tbool isOn = 4; // 是否启用\n\tstring dayTo = 5; // 到期日期Y-m-d\n\tstring name = 6; // 自定义备注名称\n\n\tUser user = 30; // 用户信息\n\tPlan plan = 31; // 套餐定义信息\n\trepeated Server servers = 33; // 绑定的网站列表\n\n\tServer server = 32 [deprecated = true]; // 绑定的网站,已过期,使用 servers 代替\n}",
|
||||
"doc": ""
|
||||
},
|
||||
{
|
||||
"name": "UserScript",
|
||||
"code": "message UserScript {\n\tint64 id = 1; // 用户脚本ID\n\tint64 userId = 2; // 用户ID\n\tint64 adminId = 3; // 审核的管理员\n\tstring code = 4; // 脚本代码\n\tstring codeMD5 = 5; // 脚本代码MD5\n\tint64 createdAt = 6; // 创建时间\n\tbool isRejected = 7; // 是否被驳回\n\tint64 rejectedAt = 8; // 驳回时间\n\tstring rejectedReason = 9; // 驳回原因\n\tbool isPassed = 10; // 是否被通过\n\tint64 passedAt = 11; // 通过时间\n\n\tUser user = 30; // 用户信息\n}",
|
||||
"doc": "用户脚本"
|
||||
},
|
||||
{
|
||||
"name": "UserTicket",
|
||||
"code": "message UserTicket {\n\tint64 id = 1;\n\tint64 categoryId = 2;\n\tint64 userId = 3;\n\tstring subject = 4;\n\tstring body = 5;\n\tstring status = 6;\n\tint64 createdAt = 7;\n\tint64 lastLogAt = 8;\n\n\tUserTicketCategory userTicketCategory = 30;\n\tUser user = 31;\n\tUserTicketLog latestUserTicketLog = 32;\n}",
|
||||
@@ -23024,7 +23336,7 @@
|
||||
},
|
||||
{
|
||||
"name": "json:http_cache_config",
|
||||
"content": "# HTTP缓存配置\n## 定义\n~~~json\n{\n \"isPrior\": \"是否覆盖上级配置\",\n \"isOn\": \"是否启用配置\",\n \"addStatusHeader\": \"是否增加命中状态Header(X-Cache)\",\n \"addAgeHeader\": \"是否增加Age Header\",\n \"enableCacheControlMaxAge\": \"是否支持Cache-Control: max-age=...\",\n \"disablePolicyRefs\": \"是否停用策略中定义的条件\",\n \"purgeIsOn\": \"是否允许使用Purge方法清理\",\n \"purgeKey\": \"Purge时使用的X-Edge-Purge-Key\",\n \"stale\": \"陈旧缓存使用策略\",\n \"cacheRefs\": [\"缓存条件1\", \"缓存条件2\", ...]\n}\n~~~\n其中:\n* `缓存条件` - 参考 {json:http_cache_ref}\n\n## 示例\n### 无缓存条件\n~~~json\n{\n \"isPrior\": true,\n \"isOn\": true,\n \"addStatusHeader\": true,\n \"addAgeHeader\": true,\n \"enableCacheControlMaxAge\": true,\n \"disablePolicyRefs\": false,\n \"purgeIsOn\": false,\n \"purgeKey\": \"\",\n \"stale\": null,\n \"cacheRefs\": []\n}\n~~~\n\n### 加入缓存条件\n~~~json\n{\n \"isPrior\": true,\n \"isOn\": true,\n \"addStatusHeader\": true,\n \"addAgeHeader\": true,\n \"enableCacheControlMaxAge\": true,\n \"disablePolicyRefs\": false,\n \"purgeIsOn\": false,\n \"purgeKey\": \"\",\n \"stale\": null,\n \"cacheRefs\": [\n {\n\t \"id\": 0,\n\t \"isOn\": true,\n\t \"key\": \"${scheme}://${host}${requestPath}${isArgs}${args}\",\n\t \"life\": {\"count\": 2, \"unit\": \"hour\"},\n\t \"status\": [200],\n \"maxSize\": {\"count\": 32, \"unit\": \"mb\"},\n \"minSize\": {\"count\": 0, \"unit\": \"kb\"},\n \"skipCacheControlValues\": [\"private\", \"no-cache\", \"no-store\"],\n \"skipSetCookie\": true,\n \"enableRequestCachePragma\": false,\n \"conds\": {\n \"isOn\": true,\n \"connector\": \"or\",\n \"groups\": [\n {\n \"isOn\": true,\n \"connector\": \"and\",\n \"conds\": [\n {\n \"type\": \"url-extension\",\n \"isRequest\": true,\n \"param\": \"${requestPathLowerExtension}\",\n \"operator\": \"in\",\n \"value\": \"[\\\".css\\\",\\\".png\\\",\\\".js\\\",\\\".woff2\\\"]\",\n \"isReverse\": false,\n \"isCaseInsensitive\": false,\n \"typeName\": \"URL扩展名\"\n }\n ],\n \"isReverse\": false,\n \"description\": \"\"\n }\n ]\n },\n \"allowChunkedEncoding\": true,\n \"allowPartialContent\": false,\n \"isReverse\": false,\n \"methods\": []\n\t}\n ]\n}\n~~~\n"
|
||||
"content": "# HTTP缓存配置\n## 定义\n~~~json\n{\n \"isPrior\": \"是否覆盖上级配置\",\n \"isOn\": \"是否启用配置\",\n \"addStatusHeader\": \"是否增加命中状态Header(X-Cache)\",\n \"addAgeHeader\": \"是否增加Age Header\",\n \"enableCacheControlMaxAge\": \"是否支持Cache-Control: max-age=...\",\n \"disablePolicyRefs\": \"是否停用策略中定义的条件\",\n \"purgeIsOn\": \"是否允许使用Purge方法清理\",\n \"purgeKey\": \"Purge时使用的X-Edge-Purge-Key\",\n \"stale\": \"陈旧缓存使用策略\",\n \"key\": \"主域名配置\",\n \"cacheRefs\": [\"缓存条件1\", \"缓存条件2\", ...]\n}\n~~~\n其中:\n* `缓存条件` - 参考 {json:http_cache_ref}\n* `主域名配置` 参考本文“主域名”配置部分\n\n## 示例\n### 无缓存条件\n~~~json\n{\n \"isPrior\": true,\n \"isOn\": true,\n \"addStatusHeader\": true,\n \"addAgeHeader\": true,\n \"enableCacheControlMaxAge\": true,\n \"disablePolicyRefs\": false,\n \"purgeIsOn\": false,\n \"purgeKey\": \"\",\n \"stale\": null,\n \"cacheRefs\": []\n}\n~~~\n\n### 加入缓存条件\n~~~json\n{\n \"isPrior\": true,\n \"isOn\": true,\n \"addStatusHeader\": true,\n \"addAgeHeader\": true,\n \"enableCacheControlMaxAge\": true,\n \"disablePolicyRefs\": false,\n \"purgeIsOn\": false,\n \"purgeKey\": \"\",\n \"stale\": null,\n \"cacheRefs\": [\n {\n\t \"id\": 0,\n\t \"isOn\": true,\n\t \"key\": \"${scheme}://${host}${requestPath}${isArgs}${args}\",\n\t \"life\": {\"count\": 2, \"unit\": \"hour\"},\n\t \"status\": [200],\n \"maxSize\": {\"count\": 32, \"unit\": \"mb\"},\n \"minSize\": {\"count\": 0, \"unit\": \"kb\"},\n \"skipCacheControlValues\": [\"private\", \"no-cache\", \"no-store\"],\n \"skipSetCookie\": true,\n \"enableRequestCachePragma\": false,\n \"conds\": {\n \"isOn\": true,\n \"connector\": \"or\",\n \"groups\": [\n {\n \"isOn\": true,\n \"connector\": \"and\",\n \"conds\": [\n {\n \"type\": \"url-extension\",\n \"isRequest\": true,\n \"param\": \"${requestPathLowerExtension}\",\n \"operator\": \"in\",\n \"value\": \"[\\\".css\\\",\\\".png\\\",\\\".js\\\",\\\".woff2\\\"]\",\n \"isReverse\": false,\n \"isCaseInsensitive\": false,\n \"typeName\": \"URL扩展名\"\n }\n ],\n \"isReverse\": false,\n \"description\": \"\"\n }\n ]\n },\n \"allowChunkedEncoding\": true,\n \"allowPartialContent\": false,\n \"isReverse\": false,\n \"methods\": []\n\t}\n ]\n}\n~~~\n\n\n## 主域名配置\n~~~json\n{\n \"isOn\": \"true|false\",\n \"scheme\": \"https|http\",\n \"host\": \"域名,必须是当前网站已绑定的域名\"\n}\n~~~\n\n### 示例\n#### 不使用主域名\n~~~json\n{\n \"isOn\": false\n}\n~~~\n\n#### 使用主域名\n~~~json\n{\n \"isOn\": true,\n \"scheme\": \"https\",\n \"host\": \"example.com\"\n}\n~~~\n\n如果启用主域名,则缓存键值中的域名会被自动换成主域名,清理缓存的时候也需要使用此主域名。"
|
||||
},
|
||||
{
|
||||
"name": "json:http_cache_ref",
|
||||
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,8 +20,8 @@ type Reader struct {
|
||||
|
||||
regionMap map[string]*ipRegion // 缓存重复的区域用来节约内存
|
||||
|
||||
ipV4Items []*ipv4Item
|
||||
ipV6Items []*ipv6Item
|
||||
ipV4Items []ipv4Item
|
||||
ipV6Items []ipv6Item
|
||||
|
||||
lastIPFrom uint64
|
||||
lastCountryId uint16
|
||||
@@ -162,11 +162,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 +296,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,
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -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> <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
|
||||
@@ -300,7 +304,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" // 节点列表
|
||||
@@ -489,7 +493,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" // 今天
|
||||
@@ -615,6 +619,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设置
|
||||
|
||||
@@ -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...)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
724
pkg/langs/messages/messages_en_us.go
Normal file
724
pkg/langs/messages/messages_en_us.go
Normal file
@@ -0,0 +1,724 @@
|
||||
// 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> <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_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": "",
|
||||
"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_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_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_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": "",
|
||||
})
|
||||
}
|
||||
@@ -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> <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",
|
||||
@@ -301,7 +305,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": "节点列表",
|
||||
@@ -490,7 +494,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": "今天",
|
||||
@@ -616,6 +620,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设置",
|
||||
|
||||
4
pkg/langs/protos/README.md
Normal file
4
pkg/langs/protos/README.md
Normal 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
|
||||
~~~
|
||||
19
pkg/langs/protos/en-us/admin_common.json
Normal file
19
pkg/langs/protos/en-us/admin_common.json
Normal 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"
|
||||
}
|
||||
9
pkg/langs/protos/en-us/admin_dashboard.json
Normal file
9
pkg/langs/protos/en-us/admin_dashboard.json
Normal 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> <a href=\"${lang.system@home_page}/docs/APINode/QA.md\" target=\"_blank\">[调整数据库binlog设置]</a>"
|
||||
}
|
||||
74
pkg/langs/protos/en-us/admin_menu.json
Normal file
74
pkg/langs/protos/en-us/admin_menu.json
Normal 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"
|
||||
}
|
||||
20
pkg/langs/protos/en-us/admin_setting.json
Normal file
20
pkg/langs/protos/en-us/admin_setting.json
Normal 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"
|
||||
}
|
||||
27
pkg/langs/protos/en-us/node_cluster_menu.json
Normal file
27
pkg/langs/protos/en-us/node_cluster_menu.json
Normal 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"
|
||||
}
|
||||
18
pkg/langs/protos/en-us/node_menu.json
Normal file
18
pkg/langs/protos/en-us/node_menu.json
Normal 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"
|
||||
}
|
||||
88
pkg/langs/protos/en-us/server.json
Normal file
88
pkg/langs/protos/en-us/server.json
Normal file
@@ -0,0 +1,88 @@
|
||||
{
|
||||
"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_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 启用状态"
|
||||
}
|
||||
3
pkg/langs/protos/en-us/system.json
Normal file
3
pkg/langs/protos/en-us/system.json
Normal file
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"home_page": "https://goedge.cn"
|
||||
}
|
||||
@@ -1 +0,0 @@
|
||||
After change the messages, remember to run 'langs generate' to generate Go codes.
|
||||
@@ -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": "网络安全",
|
||||
|
||||
@@ -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": "工单系统",
|
||||
|
||||
3
pkg/langs/protos/zh-cn/admin_user_ui.json
Normal file
3
pkg/langs/protos/zh-cn/admin_user_ui.json
Normal file
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"log_update_ui_settings": "修改用户界面设置"
|
||||
}
|
||||
@@ -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}",
|
||||
|
||||
@@ -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}",
|
||||
|
||||
@@ -83,6 +83,6 @@
|
||||
"log_update_server_groups": "修改网站 %d 所属分组",
|
||||
"log_enable_server": "启用网站 %d",
|
||||
"log_disable_server": "停用网站 %d",
|
||||
"log_update_server_name": "修改网站名称",
|
||||
"log_update_server_name": "修改网站 %d 名称",
|
||||
"log_update_server_is_on":"修改网站 %d 启用状态"
|
||||
}
|
||||
4
pkg/langs/protos/zh-cn/server_user_script.json
Normal file
4
pkg/langs/protos/zh-cn/server_user_script.json
Normal file
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"log_pass_user_script": "通过用户脚本 %d",
|
||||
"log_reject_user_script": "驳回用户脚本 %d"
|
||||
}
|
||||
@@ -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
|
||||
|
||||
@@ -28,6 +28,7 @@ var uamPolicyLocker = &sync.RWMutex{}
|
||||
var httpCCPolicyLocker = &sync.RWMutex{}
|
||||
var http3PolicyLocker = &sync.RWMutex{}
|
||||
var httpPagesPolicyLocker = &sync.RWMutex{}
|
||||
var webPPolicyLocker = &sync.RWMutex{}
|
||||
|
||||
type ServerError struct {
|
||||
Id int64
|
||||
@@ -210,6 +211,9 @@ func CloneNodeConfig(nodeConfig *NodeConfig) (*NodeConfig, error) {
|
||||
httpPagesPolicyLocker.RLock()
|
||||
defer httpPagesPolicyLocker.RUnlock()
|
||||
|
||||
webPPolicyLocker.RLock()
|
||||
defer webPPolicyLocker.RUnlock()
|
||||
|
||||
var newConfigValue = reflect.Indirect(reflect.ValueOf(&NodeConfig{}))
|
||||
var oldValue = reflect.Indirect(reflect.ValueOf(nodeConfig))
|
||||
var valueType = oldValue.Type()
|
||||
@@ -376,14 +380,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()
|
||||
@@ -675,12 +682,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()
|
||||
|
||||
@@ -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"
|
||||
}
|
||||
~~~
|
||||
|
||||
如果启用主域名,则缓存键值中的域名会被自动换成主域名,清理缓存的时候也需要使用此主域名。
|
||||
@@ -20,21 +20,24 @@ 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"` // 拦截配置
|
||||
CaptchaOptionsJSON []byte `protobuf:"bytes,12,opt,name=captchaOptionsJSON,proto3" json:"captchaOptionsJSON,omitempty"` // 人机识别配置
|
||||
}
|
||||
|
||||
func (x *HTTPFirewallPolicy) Reset() {
|
||||
@@ -139,12 +142,26 @@ func (x *HTTPFirewallPolicy) GetSynFloodJSON() []byte {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *HTTPFirewallPolicy) GetBlockOptionsJSON() []byte {
|
||||
if x != nil {
|
||||
return x.BlockOptionsJSON
|
||||
}
|
||||
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, 0x90, 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 +181,13 @@ 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, 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 (
|
||||
|
||||
@@ -25,23 +25,27 @@ 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"` // 流量限制
|
||||
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连接数额度
|
||||
}
|
||||
|
||||
func (x *Plan) Reset() {
|
||||
@@ -97,6 +101,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 +122,13 @@ func (x *Plan) GetTrafficLimitJSON() []byte {
|
||||
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 +213,78 @@ 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
|
||||
}
|
||||
|
||||
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, 0xc0, 0x06,
|
||||
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, 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,
|
||||
0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
}
|
||||
|
||||
var (
|
||||
|
||||
@@ -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 (
|
||||
|
||||
@@ -25,29 +25,29 @@ type User struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` // 用户ID
|
||||
Username string `protobuf:"bytes,2,opt,name=username,proto3" json:"username,omitempty"` // 用户名
|
||||
Fullname string `protobuf:"bytes,3,opt,name=fullname,proto3" json:"fullname,omitempty"` // 全称
|
||||
Mobile string `protobuf:"bytes,4,opt,name=mobile,proto3" json:"mobile,omitempty"` // 手机号码
|
||||
Tel string `protobuf:"bytes,5,opt,name=tel,proto3" json:"tel,omitempty"` // 联系电话
|
||||
Email string `protobuf:"bytes,6,opt,name=email,proto3" json:"email,omitempty"` // 联系邮箱
|
||||
VerifiedEmail string `protobuf:"bytes,20,opt,name=verifiedEmail,proto3" json:"verifiedEmail,omitempty"` // 已验证邮箱
|
||||
VerifiedMobile string `protobuf:"bytes,23,opt,name=verifiedMobile,proto3" json:"verifiedMobile,omitempty"` // 已验证手机号码
|
||||
Remark string `protobuf:"bytes,7,opt,name=remark,proto3" json:"remark,omitempty"`
|
||||
IsOn bool `protobuf:"varint,8,opt,name=isOn,proto3" json:"isOn,omitempty"`
|
||||
CreatedAt int64 `protobuf:"varint,9,opt,name=createdAt,proto3" json:"createdAt,omitempty"`
|
||||
RegisteredIP string `protobuf:"bytes,12,opt,name=registeredIP,proto3" json:"registeredIP,omitempty"`
|
||||
IsVerified bool `protobuf:"varint,13,opt,name=isVerified,proto3" json:"isVerified,omitempty"`
|
||||
IsRejected bool `protobuf:"varint,14,opt,name=isRejected,proto3" json:"isRejected,omitempty"`
|
||||
RejectReason string `protobuf:"bytes,15,opt,name=rejectReason,proto3" json:"rejectReason,omitempty"`
|
||||
IsDeleted bool `protobuf:"varint,16,opt,name=isDeleted,proto3" json:"isDeleted,omitempty"`
|
||||
Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` // 用户ID
|
||||
Username string `protobuf:"bytes,2,opt,name=username,proto3" json:"username,omitempty"` // 用户名
|
||||
Fullname string `protobuf:"bytes,3,opt,name=fullname,proto3" json:"fullname,omitempty"` // 全称
|
||||
Mobile string `protobuf:"bytes,4,opt,name=mobile,proto3" json:"mobile,omitempty"` // 手机号码
|
||||
Tel string `protobuf:"bytes,5,opt,name=tel,proto3" json:"tel,omitempty"` // 联系电话
|
||||
Email string `protobuf:"bytes,6,opt,name=email,proto3" json:"email,omitempty"` // 联系邮箱
|
||||
VerifiedEmail string `protobuf:"bytes,20,opt,name=verifiedEmail,proto3" json:"verifiedEmail,omitempty"` // 已验证邮箱
|
||||
VerifiedMobile string `protobuf:"bytes,23,opt,name=verifiedMobile,proto3" json:"verifiedMobile,omitempty"` // 已验证手机号码
|
||||
Remark string `protobuf:"bytes,7,opt,name=remark,proto3" json:"remark,omitempty"` // 备注
|
||||
IsOn bool `protobuf:"varint,8,opt,name=isOn,proto3" json:"isOn,omitempty"` // 是否启用
|
||||
CreatedAt int64 `protobuf:"varint,9,opt,name=createdAt,proto3" json:"createdAt,omitempty"` // 创建时间
|
||||
RegisteredIP string `protobuf:"bytes,12,opt,name=registeredIP,proto3" json:"registeredIP,omitempty"` // 注册IP
|
||||
IsVerified bool `protobuf:"varint,13,opt,name=isVerified,proto3" json:"isVerified,omitempty"` // 是否已实名认证
|
||||
IsRejected bool `protobuf:"varint,14,opt,name=isRejected,proto3" json:"isRejected,omitempty"` // 实名认证是否已拒绝
|
||||
RejectReason string `protobuf:"bytes,15,opt,name=rejectReason,proto3" json:"rejectReason,omitempty"` // 实名认证拒绝理由
|
||||
IsDeleted bool `protobuf:"varint,16,opt,name=isDeleted,proto3" json:"isDeleted,omitempty"` // 是否已删除
|
||||
IsIndividualIdentified bool `protobuf:"varint,17,opt,name=isIndividualIdentified,proto3" json:"isIndividualIdentified,omitempty"` // 是否已通过个人验证
|
||||
IsEnterpriseIdentified bool `protobuf:"varint,18,opt,name=isEnterpriseIdentified,proto3" json:"isEnterpriseIdentified,omitempty"` // 是否已通过企业验证
|
||||
BandwidthAlgo string `protobuf:"bytes,21,opt,name=bandwidthAlgo,proto3" json:"bandwidthAlgo,omitempty"` // 带宽算法
|
||||
Lang string `protobuf:"bytes,22,opt,name=lang,proto3" json:"lang,omitempty"` // 语言代号
|
||||
OtpLogin *Login `protobuf:"bytes,19,opt,name=otpLogin,proto3" json:"otpLogin,omitempty"` // OTP认证
|
||||
NodeCluster *NodeCluster `protobuf:"bytes,10,opt,name=nodeCluster,proto3" json:"nodeCluster,omitempty"`
|
||||
Features []*UserFeature `protobuf:"bytes,11,rep,name=features,proto3" json:"features,omitempty"`
|
||||
NodeCluster *NodeCluster `protobuf:"bytes,10,opt,name=nodeCluster,proto3" json:"nodeCluster,omitempty"` // 集群信息
|
||||
Features []*UserFeature `protobuf:"bytes,11,rep,name=features,proto3" json:"features,omitempty"` // 开通功能
|
||||
}
|
||||
|
||||
func (x *User) Reset() {
|
||||
|
||||
@@ -25,11 +25,11 @@ type UserAccount struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
|
||||
UserId int64 `protobuf:"varint,2,opt,name=userId,proto3" json:"userId,omitempty"`
|
||||
Total float64 `protobuf:"fixed64,3,opt,name=total,proto3" json:"total,omitempty"`
|
||||
TotalFrozen float64 `protobuf:"fixed64,4,opt,name=totalFrozen,proto3" json:"totalFrozen,omitempty"`
|
||||
User *User `protobuf:"bytes,30,opt,name=user,proto3" json:"user,omitempty"`
|
||||
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
|
||||
Total float64 `protobuf:"fixed64,3,opt,name=total,proto3" json:"total,omitempty"` // 总可用余额
|
||||
TotalFrozen float64 `protobuf:"fixed64,4,opt,name=totalFrozen,proto3" json:"totalFrozen,omitempty"` // 总冻结余额
|
||||
User *User `protobuf:"bytes,30,opt,name=user,proto3" json:"user,omitempty"` // 用户信息
|
||||
}
|
||||
|
||||
func (x *UserAccount) Reset() {
|
||||
|
||||
@@ -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 (
|
||||
|
||||
255
pkg/rpc/pb/model_user_script.pb.go
Normal file
255
pkg/rpc/pb/model_user_script.pb.go
Normal 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
|
||||
}
|
||||
@@ -1695,7 +1695,7 @@ type UpdateAdminThemeRequest struct {
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
AdminId int64 `protobuf:"varint,1,opt,name=adminId,proto3" json:"adminId,omitempty"`
|
||||
Theme string `protobuf:"bytes,2,opt,name=theme,proto3" json:"theme,omitempty"`
|
||||
Theme string `protobuf:"bytes,2,opt,name=theme,proto3" json:"theme,omitempty"` // 风格代号
|
||||
}
|
||||
|
||||
func (x *UpdateAdminThemeRequest) Reset() {
|
||||
@@ -1744,6 +1744,54 @@ func (x *UpdateAdminThemeRequest) GetTheme() string {
|
||||
return ""
|
||||
}
|
||||
|
||||
// 修改管理员使用的语言
|
||||
type UpdateAdminLangRequest struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
LangCode string `protobuf:"bytes,1,opt,name=langCode,proto3" json:"langCode,omitempty"` // 语言代号:en-us, zh-cn, ...,如果为空表示默认
|
||||
}
|
||||
|
||||
func (x *UpdateAdminLangRequest) Reset() {
|
||||
*x = UpdateAdminLangRequest{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_service_admin_proto_msgTypes[28]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *UpdateAdminLangRequest) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*UpdateAdminLangRequest) ProtoMessage() {}
|
||||
|
||||
func (x *UpdateAdminLangRequest) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_service_admin_proto_msgTypes[28]
|
||||
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 UpdateAdminLangRequest.ProtoReflect.Descriptor instead.
|
||||
func (*UpdateAdminLangRequest) Descriptor() ([]byte, []int) {
|
||||
return file_service_admin_proto_rawDescGZIP(), []int{28}
|
||||
}
|
||||
|
||||
func (x *UpdateAdminLangRequest) GetLangCode() string {
|
||||
if x != nil {
|
||||
return x.LangCode
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
type ComposeAdminDashboardResponse_DailyTrafficStat struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
@@ -1761,7 +1809,7 @@ type ComposeAdminDashboardResponse_DailyTrafficStat struct {
|
||||
func (x *ComposeAdminDashboardResponse_DailyTrafficStat) Reset() {
|
||||
*x = ComposeAdminDashboardResponse_DailyTrafficStat{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_service_admin_proto_msgTypes[28]
|
||||
mi := &file_service_admin_proto_msgTypes[29]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
@@ -1774,7 +1822,7 @@ func (x *ComposeAdminDashboardResponse_DailyTrafficStat) String() string {
|
||||
func (*ComposeAdminDashboardResponse_DailyTrafficStat) ProtoMessage() {}
|
||||
|
||||
func (x *ComposeAdminDashboardResponse_DailyTrafficStat) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_service_admin_proto_msgTypes[28]
|
||||
mi := &file_service_admin_proto_msgTypes[29]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
@@ -1856,7 +1904,7 @@ type ComposeAdminDashboardResponse_HourlyTrafficStat struct {
|
||||
func (x *ComposeAdminDashboardResponse_HourlyTrafficStat) Reset() {
|
||||
*x = ComposeAdminDashboardResponse_HourlyTrafficStat{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_service_admin_proto_msgTypes[29]
|
||||
mi := &file_service_admin_proto_msgTypes[30]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
@@ -1869,7 +1917,7 @@ func (x *ComposeAdminDashboardResponse_HourlyTrafficStat) String() string {
|
||||
func (*ComposeAdminDashboardResponse_HourlyTrafficStat) ProtoMessage() {}
|
||||
|
||||
func (x *ComposeAdminDashboardResponse_HourlyTrafficStat) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_service_admin_proto_msgTypes[29]
|
||||
mi := &file_service_admin_proto_msgTypes[30]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
@@ -1948,7 +1996,7 @@ type ComposeAdminDashboardResponse_NodeStat struct {
|
||||
func (x *ComposeAdminDashboardResponse_NodeStat) Reset() {
|
||||
*x = ComposeAdminDashboardResponse_NodeStat{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_service_admin_proto_msgTypes[30]
|
||||
mi := &file_service_admin_proto_msgTypes[31]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
@@ -1961,7 +2009,7 @@ func (x *ComposeAdminDashboardResponse_NodeStat) String() string {
|
||||
func (*ComposeAdminDashboardResponse_NodeStat) ProtoMessage() {}
|
||||
|
||||
func (x *ComposeAdminDashboardResponse_NodeStat) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_service_admin_proto_msgTypes[30]
|
||||
mi := &file_service_admin_proto_msgTypes[31]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
@@ -2019,7 +2067,7 @@ type ComposeAdminDashboardResponse_DomainStat struct {
|
||||
func (x *ComposeAdminDashboardResponse_DomainStat) Reset() {
|
||||
*x = ComposeAdminDashboardResponse_DomainStat{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_service_admin_proto_msgTypes[31]
|
||||
mi := &file_service_admin_proto_msgTypes[32]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
@@ -2032,7 +2080,7 @@ func (x *ComposeAdminDashboardResponse_DomainStat) String() string {
|
||||
func (*ComposeAdminDashboardResponse_DomainStat) ProtoMessage() {}
|
||||
|
||||
func (x *ComposeAdminDashboardResponse_DomainStat) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_service_admin_proto_msgTypes[31]
|
||||
mi := &file_service_admin_proto_msgTypes[32]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
@@ -2092,7 +2140,7 @@ type ComposeAdminDashboardResponse_CountryStat struct {
|
||||
func (x *ComposeAdminDashboardResponse_CountryStat) Reset() {
|
||||
*x = ComposeAdminDashboardResponse_CountryStat{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_service_admin_proto_msgTypes[32]
|
||||
mi := &file_service_admin_proto_msgTypes[33]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
@@ -2105,7 +2153,7 @@ func (x *ComposeAdminDashboardResponse_CountryStat) String() string {
|
||||
func (*ComposeAdminDashboardResponse_CountryStat) ProtoMessage() {}
|
||||
|
||||
func (x *ComposeAdminDashboardResponse_CountryStat) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_service_admin_proto_msgTypes[32]
|
||||
mi := &file_service_admin_proto_msgTypes[33]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
@@ -2176,7 +2224,7 @@ type ComposeAdminDashboardResponse_UpgradeInfo struct {
|
||||
func (x *ComposeAdminDashboardResponse_UpgradeInfo) Reset() {
|
||||
*x = ComposeAdminDashboardResponse_UpgradeInfo{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_service_admin_proto_msgTypes[33]
|
||||
mi := &file_service_admin_proto_msgTypes[34]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
@@ -2189,7 +2237,7 @@ func (x *ComposeAdminDashboardResponse_UpgradeInfo) String() string {
|
||||
func (*ComposeAdminDashboardResponse_UpgradeInfo) ProtoMessage() {}
|
||||
|
||||
func (x *ComposeAdminDashboardResponse_UpgradeInfo) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_service_admin_proto_msgTypes[33]
|
||||
mi := &file_service_admin_proto_msgTypes[34]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
@@ -2543,90 +2591,97 @@ var file_service_admin_proto_rawDesc = []byte{
|
||||
0x6e, 0x54, 0x68, 0x65, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a,
|
||||
0x07, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07,
|
||||
0x61, 0x64, 0x6d, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x68, 0x65, 0x6d, 0x65,
|
||||
0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x68, 0x65, 0x6d, 0x65, 0x32, 0x9a, 0x0a,
|
||||
0x0a, 0x0c, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x3b,
|
||||
0x0a, 0x0a, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x15, 0x2e, 0x70,
|
||||
0x62, 0x2e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75,
|
||||
0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x41, 0x64,
|
||||
0x6d, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x10, 0x63,
|
||||
0x68, 0x65, 0x63, 0x6b, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x12,
|
||||
0x1b, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x45,
|
||||
0x78, 0x69, 0x73, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x70,
|
||||
0x62, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x45, 0x78, 0x69, 0x73,
|
||||
0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x12, 0x63, 0x68,
|
||||
0x65, 0x63, 0x6b, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x55, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65,
|
||||
0x12, 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x41, 0x64, 0x6d, 0x69, 0x6e,
|
||||
0x55, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
|
||||
0x1e, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x55,
|
||||
0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
|
||||
0x50, 0x0a, 0x11, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x46, 0x75, 0x6c, 0x6c,
|
||||
0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x64,
|
||||
0x6d, 0x69, 0x6e, 0x46, 0x75, 0x6c, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65,
|
||||
0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x64, 0x6d, 0x69,
|
||||
0x6e, 0x46, 0x75, 0x6c, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
|
||||
0x65, 0x12, 0x4d, 0x0a, 0x10, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
|
||||
0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x1b, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45,
|
||||
0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65,
|
||||
0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62,
|
||||
0x6c, 0x65, 0x64, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
|
||||
0x12, 0x56, 0x0a, 0x13, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x55, 0x70, 0x64, 0x61,
|
||||
0x74, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x1e, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65,
|
||||
0x61, 0x74, 0x65, 0x4f, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e,
|
||||
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65,
|
||||
0x61, 0x74, 0x65, 0x4f, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e,
|
||||
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3d, 0x0a, 0x0f, 0x75, 0x70, 0x64, 0x61,
|
||||
0x74, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1a, 0x2e, 0x70, 0x62,
|
||||
0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f,
|
||||
0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x68, 0x65, 0x6d, 0x65, 0x22, 0x34, 0x0a,
|
||||
0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x4c, 0x61, 0x6e, 0x67,
|
||||
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x43,
|
||||
0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x43,
|
||||
0x6f, 0x64, 0x65, 0x32, 0xd9, 0x0a, 0x0a, 0x0c, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x53, 0x65, 0x72,
|
||||
0x76, 0x69, 0x63, 0x65, 0x12, 0x3b, 0x0a, 0x0a, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x41, 0x64, 0x6d,
|
||||
0x69, 0x6e, 0x12, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x41, 0x64, 0x6d,
|
||||
0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x70, 0x62, 0x2e, 0x4c,
|
||||
0x6f, 0x67, 0x69, 0x6e, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
|
||||
0x65, 0x12, 0x4d, 0x0a, 0x10, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x45,
|
||||
0x78, 0x69, 0x73, 0x74, 0x73, 0x12, 0x1b, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b,
|
||||
0x41, 0x64, 0x6d, 0x69, 0x6e, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
|
||||
0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x41, 0x64, 0x6d,
|
||||
0x69, 0x6e, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
|
||||
0x12, 0x53, 0x0a, 0x12, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x55, 0x73,
|
||||
0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x68, 0x65, 0x63,
|
||||
0x6b, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x55, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x65,
|
||||
0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b,
|
||||
0x41, 0x64, 0x6d, 0x69, 0x6e, 0x55, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73,
|
||||
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, 0x11, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x64, 0x6d,
|
||||
0x69, 0x6e, 0x46, 0x75, 0x6c, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x2e, 0x70, 0x62, 0x2e,
|
||||
0x46, 0x69, 0x6e, 0x64, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x46, 0x75, 0x6c, 0x6c, 0x6e, 0x61, 0x6d,
|
||||
0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69,
|
||||
0x6e, 0x64, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x46, 0x75, 0x6c, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x52,
|
||||
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x10, 0x66, 0x69, 0x6e, 0x64, 0x45,
|
||||
0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x1b, 0x2e, 0x70, 0x62,
|
||||
0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x41, 0x64, 0x6d, 0x69,
|
||||
0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69,
|
||||
0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65,
|
||||
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x13, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65,
|
||||
0x4f, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x1e, 0x2e,
|
||||
0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74,
|
||||
0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e,
|
||||
0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74,
|
||||
0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3d,
|
||||
0x0a, 0x0f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x49, 0x6e, 0x66,
|
||||
0x6f, 0x12, 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x64, 0x6d,
|
||||
0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 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, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x4c, 0x6f, 0x67, 0x69,
|
||||
0x6e, 0x12, 0x1b, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x64, 0x6d,
|
||||
0x69, 0x6e, 0x4c, 0x6f, 0x67, 0x69, 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, 0x56,
|
||||
0x0a, 0x13, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x4d, 0x6f,
|
||||
0x64, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x1e, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41,
|
||||
0x6c, 0x6c, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65,
|
||||
0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41,
|
||||
0x6c, 0x6c, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65,
|
||||
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65,
|
||||
0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x16, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74,
|
||||
0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e,
|
||||
0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65,
|
||||
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65,
|
||||
0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x16, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74,
|
||||
0x65, 0x41, 0x64, 0x6d, 0x69, 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, 0x4f, 0x0a,
|
||||
0x15, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
|
||||
0x41, 0x64, 0x6d, 0x69, 0x6e, 0x73, 0x12, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e,
|
||||
0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x41, 0x64, 0x6d, 0x69, 0x6e,
|
||||
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, 0x50,
|
||||
0x0a, 0x11, 0x6c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x41, 0x64, 0x6d,
|
||||
0x69, 0x6e, 0x73, 0x12, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61,
|
||||
0x62, 0x6c, 0x65, 0x64, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
|
||||
0x74, 0x1a, 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c,
|
||||
0x65, 0x64, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
|
||||
0x12, 0x35, 0x0a, 0x0b, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12,
|
||||
0x16, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x64, 0x6d, 0x69, 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, 0x3f, 0x0a, 0x10, 0x75, 0x70, 0x64, 0x61, 0x74,
|
||||
0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x12, 0x1b, 0x2e, 0x70, 0x62,
|
||||
0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x4c, 0x6f, 0x67, 0x69,
|
||||
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, 0x56, 0x0a, 0x13, 0x66, 0x69, 0x6e, 0x64,
|
||||
0x41, 0x6c, 0x6c, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x12,
|
||||
0x1e, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x41, 0x64, 0x6d, 0x69,
|
||||
0x6e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
|
||||
0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x41, 0x64, 0x6d, 0x69,
|
||||
0x6e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
|
||||
0x12, 0x3e, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12,
|
||||
0x16, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e,
|
||||
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65,
|
||||
0x61, 0x74, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
|
||||
0x12, 0x35, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12,
|
||||
0x16, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x64, 0x6d, 0x69, 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, 0x4f, 0x0a, 0x15, 0x63, 0x6f, 0x75, 0x6e, 0x74,
|
||||
0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x73,
|
||||
0x12, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e,
|
||||
0x61, 0x62, 0x6c, 0x65, 0x64, 0x41, 0x64, 0x6d, 0x69, 0x6e, 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, 0x50, 0x0a, 0x11, 0x6c, 0x69, 0x73, 0x74,
|
||||
0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x73, 0x12, 0x1c, 0x2e,
|
||||
0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x41, 0x64,
|
||||
0x6d, 0x69, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x70, 0x62,
|
||||
0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x41, 0x64, 0x6d, 0x69,
|
||||
0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x0b, 0x64, 0x65,
|
||||
0x6c, 0x65, 0x74, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x16, 0x2e, 0x70, 0x62, 0x2e, 0x44,
|
||||
0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x64, 0x6d, 0x69, 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, 0x68, 0x0a, 0x19, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x4f,
|
||||
0x54, 0x50, 0x57, 0x69, 0x74, 0x68, 0x55, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x24,
|
||||
0x2e, 0x70, 0x62, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x4f, 0x54,
|
||||
0x50, 0x57, 0x69, 0x74, 0x68, 0x55, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71,
|
||||
0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x41,
|
||||
0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x68, 0x0a, 0x19, 0x63, 0x68, 0x65, 0x63, 0x6b,
|
||||
0x41, 0x64, 0x6d, 0x69, 0x6e, 0x4f, 0x54, 0x50, 0x57, 0x69, 0x74, 0x68, 0x55, 0x73, 0x65, 0x72,
|
||||
0x6e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x41,
|
||||
0x64, 0x6d, 0x69, 0x6e, 0x4f, 0x54, 0x50, 0x57, 0x69, 0x74, 0x68, 0x55, 0x73, 0x65, 0x72, 0x6e,
|
||||
0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x15, 0x63,
|
||||
0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x44, 0x61, 0x73, 0x68, 0x62,
|
||||
0x6f, 0x61, 0x72, 0x64, 0x12, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73,
|
||||
0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52,
|
||||
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x70,
|
||||
0x6f, 0x73, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72,
|
||||
0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x10, 0x75, 0x70, 0x64,
|
||||
0x61, 0x74, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x54, 0x68, 0x65, 0x6d, 0x65, 0x12, 0x1b, 0x2e,
|
||||
0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x54, 0x68,
|
||||
0x65, 0x6d, 0x65, 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,
|
||||
0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x70, 0x62, 0x2e,
|
||||
0x43, 0x68, 0x65, 0x63, 0x6b, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x4f, 0x54, 0x50, 0x57, 0x69, 0x74,
|
||||
0x68, 0x55, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
|
||||
0x65, 0x12, 0x5c, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x41, 0x64, 0x6d, 0x69,
|
||||
0x6e, 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x12, 0x20, 0x2e, 0x70, 0x62, 0x2e,
|
||||
0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x44, 0x61, 0x73, 0x68,
|
||||
0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x70,
|
||||
0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x44, 0x61,
|
||||
0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
|
||||
0x3f, 0x0a, 0x10, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x54, 0x68,
|
||||
0x65, 0x6d, 0x65, 0x12, 0x1b, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41,
|
||||
0x64, 0x6d, 0x69, 0x6e, 0x54, 0x68, 0x65, 0x6d, 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, 0x3d, 0x0a, 0x0f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x4c,
|
||||
0x61, 0x6e, 0x67, 0x12, 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41,
|
||||
0x64, 0x6d, 0x69, 0x6e, 0x4c, 0x61, 0x6e, 0x67, 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 (
|
||||
@@ -2641,7 +2696,7 @@ func file_service_admin_proto_rawDescGZIP() []byte {
|
||||
return file_service_admin_proto_rawDescData
|
||||
}
|
||||
|
||||
var file_service_admin_proto_msgTypes = make([]protoimpl.MessageInfo, 34)
|
||||
var file_service_admin_proto_msgTypes = make([]protoimpl.MessageInfo, 35)
|
||||
var file_service_admin_proto_goTypes = []interface{}{
|
||||
(*LoginAdminRequest)(nil), // 0: pb.LoginAdminRequest
|
||||
(*LoginAdminResponse)(nil), // 1: pb.LoginAdminResponse
|
||||
@@ -2671,34 +2726,35 @@ var file_service_admin_proto_goTypes = []interface{}{
|
||||
(*ComposeAdminDashboardRequest)(nil), // 25: pb.ComposeAdminDashboardRequest
|
||||
(*ComposeAdminDashboardResponse)(nil), // 26: pb.ComposeAdminDashboardResponse
|
||||
(*UpdateAdminThemeRequest)(nil), // 27: pb.UpdateAdminThemeRequest
|
||||
(*ComposeAdminDashboardResponse_DailyTrafficStat)(nil), // 28: pb.ComposeAdminDashboardResponse.DailyTrafficStat
|
||||
(*ComposeAdminDashboardResponse_HourlyTrafficStat)(nil), // 29: pb.ComposeAdminDashboardResponse.HourlyTrafficStat
|
||||
(*ComposeAdminDashboardResponse_NodeStat)(nil), // 30: pb.ComposeAdminDashboardResponse.NodeStat
|
||||
(*ComposeAdminDashboardResponse_DomainStat)(nil), // 31: pb.ComposeAdminDashboardResponse.DomainStat
|
||||
(*ComposeAdminDashboardResponse_CountryStat)(nil), // 32: pb.ComposeAdminDashboardResponse.CountryStat
|
||||
(*ComposeAdminDashboardResponse_UpgradeInfo)(nil), // 33: pb.ComposeAdminDashboardResponse.UpgradeInfo
|
||||
(*Admin)(nil), // 34: pb.Admin
|
||||
(*AdminModuleList)(nil), // 35: pb.AdminModuleList
|
||||
(*MetricDataChart)(nil), // 36: pb.MetricDataChart
|
||||
(*RPCSuccess)(nil), // 37: pb.RPCSuccess
|
||||
(*RPCCountResponse)(nil), // 38: pb.RPCCountResponse
|
||||
(*UpdateAdminLangRequest)(nil), // 28: pb.UpdateAdminLangRequest
|
||||
(*ComposeAdminDashboardResponse_DailyTrafficStat)(nil), // 29: pb.ComposeAdminDashboardResponse.DailyTrafficStat
|
||||
(*ComposeAdminDashboardResponse_HourlyTrafficStat)(nil), // 30: pb.ComposeAdminDashboardResponse.HourlyTrafficStat
|
||||
(*ComposeAdminDashboardResponse_NodeStat)(nil), // 31: pb.ComposeAdminDashboardResponse.NodeStat
|
||||
(*ComposeAdminDashboardResponse_DomainStat)(nil), // 32: pb.ComposeAdminDashboardResponse.DomainStat
|
||||
(*ComposeAdminDashboardResponse_CountryStat)(nil), // 33: pb.ComposeAdminDashboardResponse.CountryStat
|
||||
(*ComposeAdminDashboardResponse_UpgradeInfo)(nil), // 34: pb.ComposeAdminDashboardResponse.UpgradeInfo
|
||||
(*Admin)(nil), // 35: pb.Admin
|
||||
(*AdminModuleList)(nil), // 36: pb.AdminModuleList
|
||||
(*MetricDataChart)(nil), // 37: pb.MetricDataChart
|
||||
(*RPCSuccess)(nil), // 38: pb.RPCSuccess
|
||||
(*RPCCountResponse)(nil), // 39: pb.RPCCountResponse
|
||||
}
|
||||
var file_service_admin_proto_depIdxs = []int32{
|
||||
34, // 0: pb.FindEnabledAdminResponse.admin:type_name -> pb.Admin
|
||||
35, // 1: pb.FindAllAdminModulesResponse.adminModules:type_name -> pb.AdminModuleList
|
||||
34, // 2: pb.ListEnabledAdminsResponse.admins:type_name -> pb.Admin
|
||||
28, // 3: pb.ComposeAdminDashboardResponse.dailyTrafficStats:type_name -> pb.ComposeAdminDashboardResponse.DailyTrafficStat
|
||||
29, // 4: pb.ComposeAdminDashboardResponse.hourlyTrafficStats:type_name -> pb.ComposeAdminDashboardResponse.HourlyTrafficStat
|
||||
33, // 5: pb.ComposeAdminDashboardResponse.nodeUpgradeInfo:type_name -> pb.ComposeAdminDashboardResponse.UpgradeInfo
|
||||
33, // 6: pb.ComposeAdminDashboardResponse.apiNodeUpgradeInfo:type_name -> pb.ComposeAdminDashboardResponse.UpgradeInfo
|
||||
33, // 7: pb.ComposeAdminDashboardResponse.userNodeUpgradeInfo:type_name -> pb.ComposeAdminDashboardResponse.UpgradeInfo
|
||||
33, // 8: pb.ComposeAdminDashboardResponse.authorityNodeUpgradeInfo:type_name -> pb.ComposeAdminDashboardResponse.UpgradeInfo
|
||||
33, // 9: pb.ComposeAdminDashboardResponse.nsNodeUpgradeInfo:type_name -> pb.ComposeAdminDashboardResponse.UpgradeInfo
|
||||
33, // 10: pb.ComposeAdminDashboardResponse.reportNodeUpgradeInfo:type_name -> pb.ComposeAdminDashboardResponse.UpgradeInfo
|
||||
30, // 11: pb.ComposeAdminDashboardResponse.topNodeStats:type_name -> pb.ComposeAdminDashboardResponse.NodeStat
|
||||
31, // 12: pb.ComposeAdminDashboardResponse.topDomainStats:type_name -> pb.ComposeAdminDashboardResponse.DomainStat
|
||||
32, // 13: pb.ComposeAdminDashboardResponse.topCountryStats:type_name -> pb.ComposeAdminDashboardResponse.CountryStat
|
||||
36, // 14: pb.ComposeAdminDashboardResponse.metricDataCharts:type_name -> pb.MetricDataChart
|
||||
35, // 0: pb.FindEnabledAdminResponse.admin:type_name -> pb.Admin
|
||||
36, // 1: pb.FindAllAdminModulesResponse.adminModules:type_name -> pb.AdminModuleList
|
||||
35, // 2: pb.ListEnabledAdminsResponse.admins:type_name -> pb.Admin
|
||||
29, // 3: pb.ComposeAdminDashboardResponse.dailyTrafficStats:type_name -> pb.ComposeAdminDashboardResponse.DailyTrafficStat
|
||||
30, // 4: pb.ComposeAdminDashboardResponse.hourlyTrafficStats:type_name -> pb.ComposeAdminDashboardResponse.HourlyTrafficStat
|
||||
34, // 5: pb.ComposeAdminDashboardResponse.nodeUpgradeInfo:type_name -> pb.ComposeAdminDashboardResponse.UpgradeInfo
|
||||
34, // 6: pb.ComposeAdminDashboardResponse.apiNodeUpgradeInfo:type_name -> pb.ComposeAdminDashboardResponse.UpgradeInfo
|
||||
34, // 7: pb.ComposeAdminDashboardResponse.userNodeUpgradeInfo:type_name -> pb.ComposeAdminDashboardResponse.UpgradeInfo
|
||||
34, // 8: pb.ComposeAdminDashboardResponse.authorityNodeUpgradeInfo:type_name -> pb.ComposeAdminDashboardResponse.UpgradeInfo
|
||||
34, // 9: pb.ComposeAdminDashboardResponse.nsNodeUpgradeInfo:type_name -> pb.ComposeAdminDashboardResponse.UpgradeInfo
|
||||
34, // 10: pb.ComposeAdminDashboardResponse.reportNodeUpgradeInfo:type_name -> pb.ComposeAdminDashboardResponse.UpgradeInfo
|
||||
31, // 11: pb.ComposeAdminDashboardResponse.topNodeStats:type_name -> pb.ComposeAdminDashboardResponse.NodeStat
|
||||
32, // 12: pb.ComposeAdminDashboardResponse.topDomainStats:type_name -> pb.ComposeAdminDashboardResponse.DomainStat
|
||||
33, // 13: pb.ComposeAdminDashboardResponse.topCountryStats:type_name -> pb.ComposeAdminDashboardResponse.CountryStat
|
||||
37, // 14: pb.ComposeAdminDashboardResponse.metricDataCharts:type_name -> pb.MetricDataChart
|
||||
0, // 15: pb.AdminService.loginAdmin:input_type -> pb.LoginAdminRequest
|
||||
2, // 16: pb.AdminService.checkAdminExists:input_type -> pb.CheckAdminExistsRequest
|
||||
4, // 17: pb.AdminService.checkAdminUsername:input_type -> pb.CheckAdminUsernameRequest
|
||||
@@ -2716,25 +2772,27 @@ var file_service_admin_proto_depIdxs = []int32{
|
||||
23, // 29: pb.AdminService.checkAdminOTPWithUsername:input_type -> pb.CheckAdminOTPWithUsernameRequest
|
||||
25, // 30: pb.AdminService.composeAdminDashboard:input_type -> pb.ComposeAdminDashboardRequest
|
||||
27, // 31: pb.AdminService.updateAdminTheme:input_type -> pb.UpdateAdminThemeRequest
|
||||
1, // 32: pb.AdminService.loginAdmin:output_type -> pb.LoginAdminResponse
|
||||
3, // 33: pb.AdminService.checkAdminExists:output_type -> pb.CheckAdminExistsResponse
|
||||
5, // 34: pb.AdminService.checkAdminUsername:output_type -> pb.CheckAdminUsernameResponse
|
||||
7, // 35: pb.AdminService.findAdminFullname:output_type -> pb.FindAdminFullnameResponse
|
||||
9, // 36: pb.AdminService.findEnabledAdmin:output_type -> pb.FindEnabledAdminResponse
|
||||
11, // 37: pb.AdminService.createOrUpdateAdmin:output_type -> pb.CreateOrUpdateAdminResponse
|
||||
37, // 38: pb.AdminService.updateAdminInfo:output_type -> pb.RPCSuccess
|
||||
37, // 39: pb.AdminService.updateAdminLogin:output_type -> pb.RPCSuccess
|
||||
15, // 40: pb.AdminService.findAllAdminModules:output_type -> pb.FindAllAdminModulesResponse
|
||||
17, // 41: pb.AdminService.createAdmin:output_type -> pb.CreateAdminResponse
|
||||
37, // 42: pb.AdminService.updateAdmin:output_type -> pb.RPCSuccess
|
||||
38, // 43: pb.AdminService.countAllEnabledAdmins:output_type -> pb.RPCCountResponse
|
||||
21, // 44: pb.AdminService.listEnabledAdmins:output_type -> pb.ListEnabledAdminsResponse
|
||||
37, // 45: pb.AdminService.deleteAdmin:output_type -> pb.RPCSuccess
|
||||
24, // 46: pb.AdminService.checkAdminOTPWithUsername:output_type -> pb.CheckAdminOTPWithUsernameResponse
|
||||
26, // 47: pb.AdminService.composeAdminDashboard:output_type -> pb.ComposeAdminDashboardResponse
|
||||
37, // 48: pb.AdminService.updateAdminTheme:output_type -> pb.RPCSuccess
|
||||
32, // [32:49] is the sub-list for method output_type
|
||||
15, // [15:32] is the sub-list for method input_type
|
||||
28, // 32: pb.AdminService.updateAdminLang:input_type -> pb.UpdateAdminLangRequest
|
||||
1, // 33: pb.AdminService.loginAdmin:output_type -> pb.LoginAdminResponse
|
||||
3, // 34: pb.AdminService.checkAdminExists:output_type -> pb.CheckAdminExistsResponse
|
||||
5, // 35: pb.AdminService.checkAdminUsername:output_type -> pb.CheckAdminUsernameResponse
|
||||
7, // 36: pb.AdminService.findAdminFullname:output_type -> pb.FindAdminFullnameResponse
|
||||
9, // 37: pb.AdminService.findEnabledAdmin:output_type -> pb.FindEnabledAdminResponse
|
||||
11, // 38: pb.AdminService.createOrUpdateAdmin:output_type -> pb.CreateOrUpdateAdminResponse
|
||||
38, // 39: pb.AdminService.updateAdminInfo:output_type -> pb.RPCSuccess
|
||||
38, // 40: pb.AdminService.updateAdminLogin:output_type -> pb.RPCSuccess
|
||||
15, // 41: pb.AdminService.findAllAdminModules:output_type -> pb.FindAllAdminModulesResponse
|
||||
17, // 42: pb.AdminService.createAdmin:output_type -> pb.CreateAdminResponse
|
||||
38, // 43: pb.AdminService.updateAdmin:output_type -> pb.RPCSuccess
|
||||
39, // 44: pb.AdminService.countAllEnabledAdmins:output_type -> pb.RPCCountResponse
|
||||
21, // 45: pb.AdminService.listEnabledAdmins:output_type -> pb.ListEnabledAdminsResponse
|
||||
38, // 46: pb.AdminService.deleteAdmin:output_type -> pb.RPCSuccess
|
||||
24, // 47: pb.AdminService.checkAdminOTPWithUsername:output_type -> pb.CheckAdminOTPWithUsernameResponse
|
||||
26, // 48: pb.AdminService.composeAdminDashboard:output_type -> pb.ComposeAdminDashboardResponse
|
||||
38, // 49: pb.AdminService.updateAdminTheme:output_type -> pb.RPCSuccess
|
||||
38, // 50: pb.AdminService.updateAdminLang:output_type -> pb.RPCSuccess
|
||||
33, // [33:51] is the sub-list for method output_type
|
||||
15, // [15:33] is the sub-list for method input_type
|
||||
15, // [15:15] is the sub-list for extension type_name
|
||||
15, // [15:15] is the sub-list for extension extendee
|
||||
0, // [0:15] is the sub-list for field type_name
|
||||
@@ -3087,7 +3145,7 @@ func file_service_admin_proto_init() {
|
||||
}
|
||||
}
|
||||
file_service_admin_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*ComposeAdminDashboardResponse_DailyTrafficStat); i {
|
||||
switch v := v.(*UpdateAdminLangRequest); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
@@ -3099,7 +3157,7 @@ func file_service_admin_proto_init() {
|
||||
}
|
||||
}
|
||||
file_service_admin_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*ComposeAdminDashboardResponse_HourlyTrafficStat); i {
|
||||
switch v := v.(*ComposeAdminDashboardResponse_DailyTrafficStat); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
@@ -3111,7 +3169,7 @@ func file_service_admin_proto_init() {
|
||||
}
|
||||
}
|
||||
file_service_admin_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*ComposeAdminDashboardResponse_NodeStat); i {
|
||||
switch v := v.(*ComposeAdminDashboardResponse_HourlyTrafficStat); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
@@ -3123,7 +3181,7 @@ func file_service_admin_proto_init() {
|
||||
}
|
||||
}
|
||||
file_service_admin_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*ComposeAdminDashboardResponse_DomainStat); i {
|
||||
switch v := v.(*ComposeAdminDashboardResponse_NodeStat); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
@@ -3135,7 +3193,7 @@ func file_service_admin_proto_init() {
|
||||
}
|
||||
}
|
||||
file_service_admin_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*ComposeAdminDashboardResponse_CountryStat); i {
|
||||
switch v := v.(*ComposeAdminDashboardResponse_DomainStat); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
@@ -3147,6 +3205,18 @@ func file_service_admin_proto_init() {
|
||||
}
|
||||
}
|
||||
file_service_admin_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*ComposeAdminDashboardResponse_CountryStat); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_service_admin_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*ComposeAdminDashboardResponse_UpgradeInfo); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
@@ -3165,7 +3235,7 @@ func file_service_admin_proto_init() {
|
||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||
RawDescriptor: file_service_admin_proto_rawDesc,
|
||||
NumEnums: 0,
|
||||
NumMessages: 34,
|
||||
NumMessages: 35,
|
||||
NumExtensions: 0,
|
||||
NumServices: 1,
|
||||
},
|
||||
|
||||
@@ -36,6 +36,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.
|
||||
@@ -76,6 +77,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 {
|
||||
@@ -239,6 +242,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
|
||||
@@ -277,6 +289,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.
|
||||
@@ -334,6 +348,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
|
||||
@@ -652,6 +669,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)
|
||||
@@ -727,6 +762,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",
|
||||
|
||||
@@ -1170,8 +1170,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 +1268,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{
|
||||
@@ -1477,97 +1572,117 @@ var file_service_http_firewall_policy_proto_rawDesc = []byte{
|
||||
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,
|
||||
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,
|
||||
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, 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,
|
||||
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, 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, 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,
|
||||
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, 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,
|
||||
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, 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,
|
||||
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, 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,
|
||||
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,
|
||||
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, 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, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62,
|
||||
0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 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, 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 +1697,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 +1750,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 +2024,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 +2055,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,
|
||||
},
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -2538,6 +2538,101 @@ func (x *FindHTTPWebUserAgentResponse) GetUserAgentJSON() []byte {
|
||||
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[48]
|
||||
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[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 FindServerIdWithHTTPWebIdRequest.ProtoReflect.Descriptor instead.
|
||||
func (*FindServerIdWithHTTPWebIdRequest) Descriptor() ([]byte, []int) {
|
||||
return file_service_http_web_proto_rawDescGZIP(), []int{48}
|
||||
}
|
||||
|
||||
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[49]
|
||||
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[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 FindServerIdWithHTTPWebIdResponse.ProtoReflect.Descriptor instead.
|
||||
func (*FindServerIdWithHTTPWebIdResponse) Descriptor() ([]byte, []int) {
|
||||
return file_service_http_web_proto_rawDescGZIP(), []int{49}
|
||||
}
|
||||
|
||||
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 +2893,212 @@ 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,
|
||||
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, 0xb9, 0x18, 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, 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,
|
||||
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,
|
||||
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,
|
||||
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,
|
||||
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,
|
||||
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,
|
||||
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, 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,
|
||||
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,
|
||||
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, 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, 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, 0x54, 0x50, 0x57, 0x65, 0x62, 0x55, 0x73, 0x65, 0x72, 0x41, 0x67, 0x65, 0x6e,
|
||||
0x74, 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 +3113,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, 50)
|
||||
var file_service_http_web_proto_goTypes = []interface{}{
|
||||
(*CreateHTTPWebRequest)(nil), // 0: pb.CreateHTTPWebRequest
|
||||
(*CreateHTTPWebResponse)(nil), // 1: pb.CreateHTTPWebResponse
|
||||
@@ -3053,11 +3163,13 @@ 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
|
||||
(*FindServerIdWithHTTPWebIdRequest)(nil), // 48: pb.FindServerIdWithHTTPWebIdRequest
|
||||
(*FindServerIdWithHTTPWebIdResponse)(nil), // 49: pb.FindServerIdWithHTTPWebIdResponse
|
||||
(*HTTPWeb)(nil), // 50: pb.HTTPWeb
|
||||
(*RPCSuccess)(nil), // 51: pb.RPCSuccess
|
||||
}
|
||||
var file_service_http_web_proto_depIdxs = []int32{
|
||||
48, // 0: pb.FindEnabledHTTPWebResponse.httpWeb:type_name -> pb.HTTPWeb
|
||||
50, // 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 +3208,48 @@ 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.findServerIdWithHTTPWebId:input_type -> pb.FindServerIdWithHTTPWebIdRequest
|
||||
1, // 40: pb.HTTPWebService.createHTTPWeb:output_type -> pb.CreateHTTPWebResponse
|
||||
3, // 41: pb.HTTPWebService.findEnabledHTTPWeb:output_type -> pb.FindEnabledHTTPWebResponse
|
||||
5, // 42: pb.HTTPWebService.findEnabledHTTPWebConfig:output_type -> pb.FindEnabledHTTPWebConfigResponse
|
||||
51, // 43: pb.HTTPWebService.updateHTTPWeb:output_type -> pb.RPCSuccess
|
||||
51, // 44: pb.HTTPWebService.updateHTTPWebCompression:output_type -> pb.RPCSuccess
|
||||
51, // 45: pb.HTTPWebService.updateHTTPWebOptimization:output_type -> pb.RPCSuccess
|
||||
51, // 46: pb.HTTPWebService.updateHTTPWebWebP:output_type -> pb.RPCSuccess
|
||||
51, // 47: pb.HTTPWebService.updateHTTPWebRemoteAddr:output_type -> pb.RPCSuccess
|
||||
51, // 48: pb.HTTPWebService.updateHTTPWebCharset:output_type -> pb.RPCSuccess
|
||||
51, // 49: pb.HTTPWebService.updateHTTPWebRequestHeader:output_type -> pb.RPCSuccess
|
||||
51, // 50: pb.HTTPWebService.updateHTTPWebResponseHeader:output_type -> pb.RPCSuccess
|
||||
51, // 51: pb.HTTPWebService.updateHTTPWebShutdown:output_type -> pb.RPCSuccess
|
||||
51, // 52: pb.HTTPWebService.updateHTTPWebPages:output_type -> pb.RPCSuccess
|
||||
51, // 53: pb.HTTPWebService.updateHTTPWebAccessLog:output_type -> pb.RPCSuccess
|
||||
51, // 54: pb.HTTPWebService.updateHTTPWebStat:output_type -> pb.RPCSuccess
|
||||
51, // 55: pb.HTTPWebService.updateHTTPWebCache:output_type -> pb.RPCSuccess
|
||||
51, // 56: pb.HTTPWebService.updateHTTPWebFirewall:output_type -> pb.RPCSuccess
|
||||
51, // 57: pb.HTTPWebService.updateHTTPWebLocations:output_type -> pb.RPCSuccess
|
||||
51, // 58: pb.HTTPWebService.updateHTTPWebRedirectToHTTPS:output_type -> pb.RPCSuccess
|
||||
51, // 59: pb.HTTPWebService.updateHTTPWebWebsocket:output_type -> pb.RPCSuccess
|
||||
51, // 60: pb.HTTPWebService.updateHTTPWebFastcgi:output_type -> pb.RPCSuccess
|
||||
51, // 61: pb.HTTPWebService.updateHTTPWebRewriteRules:output_type -> pb.RPCSuccess
|
||||
51, // 62: pb.HTTPWebService.updateHTTPWebHostRedirects:output_type -> pb.RPCSuccess
|
||||
27, // 63: pb.HTTPWebService.findHTTPWebHostRedirects:output_type -> pb.FindHTTPWebHostRedirectsResponse
|
||||
51, // 64: pb.HTTPWebService.updateHTTPWebAuth:output_type -> pb.RPCSuccess
|
||||
51, // 65: pb.HTTPWebService.updateHTTPWebCommon:output_type -> pb.RPCSuccess
|
||||
51, // 66: pb.HTTPWebService.updateHTTPWebRequestLimit:output_type -> pb.RPCSuccess
|
||||
32, // 67: pb.HTTPWebService.findHTTPWebRequestLimit:output_type -> pb.FindHTTPWebRequestLimitResponse
|
||||
51, // 68: pb.HTTPWebService.updateHTTPWebRequestScripts:output_type -> pb.RPCSuccess
|
||||
35, // 69: pb.HTTPWebService.findHTTPWebRequestScripts:output_type -> pb.FindHTTPWebRequestScriptsResponse
|
||||
51, // 70: pb.HTTPWebService.updateHTTPWebUAM:output_type -> pb.RPCSuccess
|
||||
38, // 71: pb.HTTPWebService.findHTTPWebUAM:output_type -> pb.FindHTTPWebUAMResponse
|
||||
51, // 72: pb.HTTPWebService.updateHTTPWebCC:output_type -> pb.RPCSuccess
|
||||
41, // 73: pb.HTTPWebService.findHTTPWebCC:output_type -> pb.FindHTTPWebCCResponse
|
||||
51, // 74: pb.HTTPWebService.updateHTTPWebReferers:output_type -> pb.RPCSuccess
|
||||
44, // 75: pb.HTTPWebService.findHTTPWebReferers:output_type -> pb.FindHTTPWebReferersResponse
|
||||
51, // 76: pb.HTTPWebService.updateHTTPWebUserAgent:output_type -> pb.RPCSuccess
|
||||
47, // 77: pb.HTTPWebService.findHTTPWebUserAgent:output_type -> pb.FindHTTPWebUserAgentResponse
|
||||
49, // 78: pb.HTTPWebService.findServerIdWithHTTPWebId:output_type -> pb.FindServerIdWithHTTPWebIdResponse
|
||||
40, // [40:79] is the sub-list for method output_type
|
||||
1, // [1:40] 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 +3839,30 @@ 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.(*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[49].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 +3870,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: 50,
|
||||
NumExtensions: 0,
|
||||
NumServices: 1,
|
||||
},
|
||||
|
||||
@@ -57,6 +57,7 @@ const (
|
||||
HTTPWebService_FindHTTPWebReferers_FullMethodName = "/pb.HTTPWebService/findHTTPWebReferers"
|
||||
HTTPWebService_UpdateHTTPWebUserAgent_FullMethodName = "/pb.HTTPWebService/updateHTTPWebUserAgent"
|
||||
HTTPWebService_FindHTTPWebUserAgent_FullMethodName = "/pb.HTTPWebService/findHTTPWebUserAgent"
|
||||
HTTPWebService_FindServerIdWithHTTPWebId_FullMethodName = "/pb.HTTPWebService/findServerIdWithHTTPWebId"
|
||||
)
|
||||
|
||||
// HTTPWebServiceClient is the client API for HTTPWebService service.
|
||||
@@ -139,6 +140,8 @@ 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)
|
||||
// 根据WebId查找ServerId
|
||||
FindServerIdWithHTTPWebId(ctx context.Context, in *FindServerIdWithHTTPWebIdRequest, opts ...grpc.CallOption) (*FindServerIdWithHTTPWebIdResponse, error)
|
||||
}
|
||||
|
||||
type hTTPWebServiceClient struct {
|
||||
@@ -491,6 +494,15 @@ func (c *hTTPWebServiceClient) FindHTTPWebUserAgent(ctx context.Context, in *Fin
|
||||
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 +583,8 @@ type HTTPWebServiceServer interface {
|
||||
UpdateHTTPWebUserAgent(context.Context, *UpdateHTTPWebUserAgentRequest) (*RPCSuccess, error)
|
||||
// 查找UserAgent设置
|
||||
FindHTTPWebUserAgent(context.Context, *FindHTTPWebUserAgentRequest) (*FindHTTPWebUserAgentResponse, error)
|
||||
// 根据WebId查找ServerId
|
||||
FindServerIdWithHTTPWebId(context.Context, *FindServerIdWithHTTPWebIdRequest) (*FindServerIdWithHTTPWebIdResponse, error)
|
||||
}
|
||||
|
||||
// UnimplementedHTTPWebServiceServer should be embedded to have forward compatible implementations.
|
||||
@@ -691,6 +705,9 @@ 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) 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 +1404,24 @@ func _HTTPWebService_FindHTTPWebUserAgent_Handler(srv interface{}, ctx context.C
|
||||
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 +1581,10 @@ var HTTPWebService_ServiceDesc = grpc.ServiceDesc{
|
||||
MethodName: "findHTTPWebUserAgent",
|
||||
Handler: _HTTPWebService_FindHTTPWebUserAgent_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "findServerIdWithHTTPWebId",
|
||||
Handler: _HTTPWebService_FindServerIdWithHTTPWebId_Handler,
|
||||
},
|
||||
},
|
||||
Streams: []grpc.StreamDesc{},
|
||||
Metadata: "service_http_web.proto",
|
||||
|
||||
@@ -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,
|
||||
},
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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,
|
||||
},
|
||||
|
||||
@@ -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
@@ -2987,7 +2987,7 @@ type FindEnabledNodeClusterConfigInfoResponse struct {
|
||||
HasMessageReceivers bool `protobuf:"varint,4,opt,name=hasMessageReceivers,proto3" json:"hasMessageReceivers,omitempty"` // 已设置消息通知接收人
|
||||
IsTOAEnabled bool `protobuf:"varint,5,opt,name=isTOAEnabled,proto3" json:"isTOAEnabled,omitempty"` // 启用了TOA
|
||||
HasMetricItems bool `protobuf:"varint,6,opt,name=hasMetricItems,proto3" json:"hasMetricItems,omitempty"` // 有指标统计设置
|
||||
WebpIsOn bool `protobuf:"varint,7,opt,name=webpIsOn,proto3" json:"webpIsOn,omitempty"` // 是否定义了WebP策略
|
||||
WebPIsOn bool `protobuf:"varint,7,opt,name=webPIsOn,proto3" json:"webPIsOn,omitempty"` // 是否定义了WebP策略
|
||||
UamIsOn bool `protobuf:"varint,10,opt,name=uamIsOn,proto3" json:"uamIsOn,omitempty"` // 是否定义了UAM策略
|
||||
HttpCCIsOn bool `protobuf:"varint,12,opt,name=httpCCIsOn,proto3" json:"httpCCIsOn,omitempty"` // 是否定义了CC策略
|
||||
HasSystemServices bool `protobuf:"varint,8,opt,name=hasSystemServices,proto3" json:"hasSystemServices,omitempty"` // 启用了系统服务
|
||||
@@ -3071,9 +3071,9 @@ func (x *FindEnabledNodeClusterConfigInfoResponse) GetHasMetricItems() bool {
|
||||
return false
|
||||
}
|
||||
|
||||
func (x *FindEnabledNodeClusterConfigInfoResponse) GetWebpIsOn() bool {
|
||||
func (x *FindEnabledNodeClusterConfigInfoResponse) GetWebPIsOn() bool {
|
||||
if x != nil {
|
||||
return x.WebpIsOn
|
||||
return x.WebPIsOn
|
||||
}
|
||||
return false
|
||||
}
|
||||
@@ -3285,7 +3285,7 @@ type UpdateNodeClusterWebPPolicyRequest struct {
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
NodeClusterId int64 `protobuf:"varint,1,opt,name=nodeClusterId,proto3" json:"nodeClusterId,omitempty"`
|
||||
WebpPolicyJSON []byte `protobuf:"bytes,2,opt,name=webpPolicyJSON,proto3" json:"webpPolicyJSON,omitempty"`
|
||||
WebPPolicyJSON []byte `protobuf:"bytes,2,opt,name=webPPolicyJSON,proto3" json:"webPPolicyJSON,omitempty"`
|
||||
}
|
||||
|
||||
func (x *UpdateNodeClusterWebPPolicyRequest) Reset() {
|
||||
@@ -3327,9 +3327,9 @@ func (x *UpdateNodeClusterWebPPolicyRequest) GetNodeClusterId() int64 {
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *UpdateNodeClusterWebPPolicyRequest) GetWebpPolicyJSON() []byte {
|
||||
func (x *UpdateNodeClusterWebPPolicyRequest) GetWebPPolicyJSON() []byte {
|
||||
if x != nil {
|
||||
return x.WebpPolicyJSON
|
||||
return x.WebPPolicyJSON
|
||||
}
|
||||
return nil
|
||||
}
|
||||
@@ -4902,8 +4902,8 @@ var file_service_node_cluster_proto_rawDesc = []byte{
|
||||
0x41, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x68, 0x61, 0x73, 0x4d,
|
||||
0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08,
|
||||
0x52, 0x0e, 0x68, 0x61, 0x73, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x73,
|
||||
0x12, 0x1a, 0x0a, 0x08, 0x77, 0x65, 0x62, 0x70, 0x49, 0x73, 0x4f, 0x6e, 0x18, 0x07, 0x20, 0x01,
|
||||
0x28, 0x08, 0x52, 0x08, 0x77, 0x65, 0x62, 0x70, 0x49, 0x73, 0x4f, 0x6e, 0x12, 0x18, 0x0a, 0x07,
|
||||
0x12, 0x1a, 0x0a, 0x08, 0x77, 0x65, 0x62, 0x50, 0x49, 0x73, 0x4f, 0x6e, 0x18, 0x07, 0x20, 0x01,
|
||||
0x28, 0x08, 0x52, 0x08, 0x77, 0x65, 0x62, 0x50, 0x49, 0x73, 0x4f, 0x6e, 0x12, 0x18, 0x0a, 0x07,
|
||||
0x75, 0x61, 0x6d, 0x49, 0x73, 0x4f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x75,
|
||||
0x61, 0x6d, 0x49, 0x73, 0x4f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x68, 0x74, 0x74, 0x70, 0x43, 0x43,
|
||||
0x49, 0x73, 0x4f, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x68, 0x74, 0x74, 0x70,
|
||||
@@ -4943,8 +4943,8 @@ var file_service_node_cluster_proto_rawDesc = []byte{
|
||||
0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x6e,
|
||||
0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01,
|
||||
0x28, 0x03, 0x52, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49,
|
||||
0x64, 0x12, 0x26, 0x0a, 0x0e, 0x77, 0x65, 0x62, 0x70, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4a,
|
||||
0x53, 0x4f, 0x4e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0e, 0x77, 0x65, 0x62, 0x70, 0x50,
|
||||
0x64, 0x12, 0x26, 0x0a, 0x0e, 0x77, 0x65, 0x62, 0x50, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4a,
|
||||
0x53, 0x4f, 0x4e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0e, 0x77, 0x65, 0x62, 0x50, 0x50,
|
||||
0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x4e, 0x0a, 0x26, 0x46, 0x69, 0x6e,
|
||||
0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73,
|
||||
0x74, 0x65, 0x72, 0x55, 0x41, 0x4d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75,
|
||||
|
||||
@@ -83,6 +83,7 @@ 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"
|
||||
)
|
||||
|
||||
// NodeServiceClient is the client API for NodeService service.
|
||||
@@ -217,6 +218,8 @@ 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)
|
||||
}
|
||||
|
||||
type nodeServiceClient struct {
|
||||
@@ -825,6 +828,15 @@ 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
|
||||
}
|
||||
|
||||
// NodeServiceServer is the server API for NodeService service.
|
||||
// All implementations should embed UnimplementedNodeServiceServer
|
||||
// for forward compatibility
|
||||
@@ -957,6 +969,8 @@ type NodeServiceServer interface {
|
||||
FindNodeTOAConfig(context.Context, *FindNodeTOAConfigRequest) (*FindNodeTOAConfigResponse, error)
|
||||
// 查找节点的网络安全策略
|
||||
FindNodeNetworkSecurityPolicy(context.Context, *FindNodeNetworkSecurityPolicyRequest) (*FindNodeNetworkSecurityPolicyResponse, error)
|
||||
// 查找节点的WebP策略
|
||||
FindNodeWebPPolicies(context.Context, *FindNodeWebPPoliciesRequest) (*FindNodeWebPPoliciesResponse, error)
|
||||
}
|
||||
|
||||
// UnimplementedNodeServiceServer should be embedded to have forward compatible implementations.
|
||||
@@ -1155,6 +1169,9 @@ 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")
|
||||
}
|
||||
|
||||
// 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 +2344,24 @@ 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)
|
||||
}
|
||||
|
||||
// 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 +2621,10 @@ var NodeService_ServiceDesc = grpc.ServiceDesc{
|
||||
MethodName: "findNodeNetworkSecurityPolicy",
|
||||
Handler: _NodeService_FindNodeNetworkSecurityPolicy_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "findNodeWebPPolicies",
|
||||
Handler: _NodeService_FindNodeWebPPolicies_Handler,
|
||||
},
|
||||
},
|
||||
Streams: []grpc.StreamDesc{
|
||||
{
|
||||
|
||||
@@ -26,21 +26,25 @@ type CreatePlanRequest struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
|
||||
ClusterId int64 `protobuf:"varint,2,opt,name=clusterId,proto3" json:"clusterId,omitempty"`
|
||||
TrafficLimitJSON []byte `protobuf:"bytes,3,opt,name=trafficLimitJSON,proto3" json:"trafficLimitJSON,omitempty"`
|
||||
FeaturesJSON []byte `protobuf:"bytes,4,opt,name=featuresJSON,proto3" json:"featuresJSON,omitempty"`
|
||||
PriceType string `protobuf:"bytes,5,opt,name=priceType,proto3" json:"priceType,omitempty"`
|
||||
TrafficPriceJSON []byte `protobuf:"bytes,6,opt,name=trafficPriceJSON,proto3" json:"trafficPriceJSON,omitempty"`
|
||||
BandwidthPriceJSON []byte `protobuf:"bytes,10,opt,name=bandwidthPriceJSON,proto3" json:"bandwidthPriceJSON,omitempty"`
|
||||
MonthlyPrice float32 `protobuf:"fixed32,7,opt,name=monthlyPrice,proto3" json:"monthlyPrice,omitempty"`
|
||||
SeasonallyPrice float32 `protobuf:"fixed32,8,opt,name=seasonallyPrice,proto3" json:"seasonallyPrice,omitempty"`
|
||||
YearlyPrice float32 `protobuf:"fixed32,9,opt,name=yearlyPrice,proto3" json:"yearlyPrice,omitempty"`
|
||||
TotalServers int32 `protobuf:"varint,11,opt,name=totalServers,proto3" json:"totalServers,omitempty"` // 可以添加的网站数
|
||||
TotalServerNamesPerServer int32 `protobuf:"varint,12,opt,name=totalServerNamesPerServer,proto3" json:"totalServerNamesPerServer,omitempty"` // 每个网站可以添加的域名数
|
||||
TotalServerNames int32 `protobuf:"varint,13,opt,name=totalServerNames,proto3" json:"totalServerNames,omitempty"` // 可以添加的域名总数
|
||||
DailyRequests int64 `protobuf:"varint,14,opt,name=dailyRequests,proto3" json:"dailyRequests,omitempty"` // 每日访问量额度
|
||||
MonthlyRequests int64 `protobuf:"varint,15,opt,name=monthlyRequests,proto3" json:"monthlyRequests,omitempty"` // 每月访问量额度
|
||||
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // 套餐名称
|
||||
Description string `protobuf:"bytes,19,opt,name=description,proto3" json:"description,omitempty"` // 套餐简介
|
||||
ClusterId int64 `protobuf:"varint,2,opt,name=clusterId,proto3" json:"clusterId,omitempty"` // 集群ID
|
||||
TrafficLimitJSON []byte `protobuf:"bytes,3,opt,name=trafficLimitJSON,proto3" json:"trafficLimitJSON,omitempty"` // 流量限制
|
||||
HasFullFeatures bool `protobuf:"varint,18,opt,name=hasFullFeatures,proto3" json:"hasFullFeatures,omitempty"` // 是否有所有权限
|
||||
FeaturesJSON []byte `protobuf:"bytes,4,opt,name=featuresJSON,proto3" json:"featuresJSON,omitempty"` // 权限列表,[code1, code2, ...]
|
||||
PriceType string `protobuf:"bytes,5,opt,name=priceType,proto3" json:"priceType,omitempty"` // 价格类型:traffic, bandwidth, period
|
||||
TrafficPriceJSON []byte `protobuf:"bytes,6,opt,name=trafficPriceJSON,proto3" json:"trafficPriceJSON,omitempty"` // 流量价格配置
|
||||
BandwidthPriceJSON []byte `protobuf:"bytes,10,opt,name=bandwidthPriceJSON,proto3" json:"bandwidthPriceJSON,omitempty"` // 带宽价格配置
|
||||
MonthlyPrice float32 `protobuf:"fixed32,7,opt,name=monthlyPrice,proto3" json:"monthlyPrice,omitempty"` // 月度价格
|
||||
SeasonallyPrice float32 `protobuf:"fixed32,8,opt,name=seasonallyPrice,proto3" json:"seasonallyPrice,omitempty"` // 季度价格
|
||||
YearlyPrice float32 `protobuf:"fixed32,9,opt,name=yearlyPrice,proto3" json:"yearlyPrice,omitempty"` // 年度价格
|
||||
TotalServers int32 `protobuf:"varint,11,opt,name=totalServers,proto3" json:"totalServers,omitempty"` // 可以添加的网站数
|
||||
TotalServerNamesPerServer int32 `protobuf:"varint,12,opt,name=totalServerNamesPerServer,proto3" json:"totalServerNamesPerServer,omitempty"` // 每个网站可以添加的域名数
|
||||
TotalServerNames int32 `protobuf:"varint,13,opt,name=totalServerNames,proto3" json:"totalServerNames,omitempty"` // 可以添加的域名总数
|
||||
DailyRequests int64 `protobuf:"varint,14,opt,name=dailyRequests,proto3" json:"dailyRequests,omitempty"` // 每日访问量额度
|
||||
MonthlyRequests int64 `protobuf:"varint,15,opt,name=monthlyRequests,proto3" json:"monthlyRequests,omitempty"` // 每月访问量额度
|
||||
DailyWebsocketConnections int64 `protobuf:"varint,16,opt,name=dailyWebsocketConnections,proto3" json:"dailyWebsocketConnections,omitempty"` // 每日Websocket连接数额度
|
||||
MonthlyWebsocketConnections int64 `protobuf:"varint,17,opt,name=monthlyWebsocketConnections,proto3" json:"monthlyWebsocketConnections,omitempty"` // 每月Websocket连接数额度
|
||||
}
|
||||
|
||||
func (x *CreatePlanRequest) Reset() {
|
||||
@@ -82,6 +86,13 @@ func (x *CreatePlanRequest) GetName() string {
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *CreatePlanRequest) GetDescription() string {
|
||||
if x != nil {
|
||||
return x.Description
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *CreatePlanRequest) GetClusterId() int64 {
|
||||
if x != nil {
|
||||
return x.ClusterId
|
||||
@@ -96,6 +107,13 @@ func (x *CreatePlanRequest) GetTrafficLimitJSON() []byte {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *CreatePlanRequest) GetHasFullFeatures() bool {
|
||||
if x != nil {
|
||||
return x.HasFullFeatures
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
func (x *CreatePlanRequest) GetFeaturesJSON() []byte {
|
||||
if x != nil {
|
||||
return x.FeaturesJSON
|
||||
@@ -180,6 +198,20 @@ func (x *CreatePlanRequest) GetMonthlyRequests() int64 {
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *CreatePlanRequest) GetDailyWebsocketConnections() int64 {
|
||||
if x != nil {
|
||||
return x.DailyWebsocketConnections
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *CreatePlanRequest) GetMonthlyWebsocketConnections() int64 {
|
||||
if x != nil {
|
||||
return x.MonthlyWebsocketConnections
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
type CreatePlanResponse struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
@@ -233,23 +265,27 @@ type UpdatePlanRequest struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
PlanId int64 `protobuf:"varint,1,opt,name=planId,proto3" json:"planId,omitempty"`
|
||||
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
|
||||
IsOn bool `protobuf:"varint,3,opt,name=isOn,proto3" json:"isOn,omitempty"`
|
||||
ClusterId int64 `protobuf:"varint,4,opt,name=clusterId,proto3" json:"clusterId,omitempty"`
|
||||
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 float32 `protobuf:"fixed32,9,opt,name=monthlyPrice,proto3" json:"monthlyPrice,omitempty"`
|
||||
SeasonallyPrice float32 `protobuf:"fixed32,10,opt,name=seasonallyPrice,proto3" json:"seasonallyPrice,omitempty"`
|
||||
YearlyPrice float32 `protobuf:"fixed32,11,opt,name=yearlyPrice,proto3" json:"yearlyPrice,omitempty"`
|
||||
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"` // 每月访问量额度
|
||||
PlanId int64 `protobuf:"varint,1,opt,name=planId,proto3" json:"planId,omitempty"` // 套餐ID
|
||||
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` // 套餐名称
|
||||
Description string `protobuf:"bytes,21,opt,name=description,proto3" json:"description,omitempty"` // 套餐简介
|
||||
IsOn bool `protobuf:"varint,3,opt,name=isOn,proto3" json:"isOn,omitempty"` // 是否启用
|
||||
ClusterId int64 `protobuf:"varint,4,opt,name=clusterId,proto3" json:"clusterId,omitempty"` // 集群ID
|
||||
TrafficLimitJSON []byte `protobuf:"bytes,5,opt,name=trafficLimitJSON,proto3" json:"trafficLimitJSON,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 float32 `protobuf:"fixed32,9,opt,name=monthlyPrice,proto3" json:"monthlyPrice,omitempty"` // 月费用
|
||||
SeasonallyPrice float32 `protobuf:"fixed32,10,opt,name=seasonallyPrice,proto3" json:"seasonallyPrice,omitempty"` // 季度费用
|
||||
YearlyPrice float32 `protobuf:"fixed32,11,opt,name=yearlyPrice,proto3" json:"yearlyPrice,omitempty"` // 年度费用
|
||||
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连接数额度
|
||||
}
|
||||
|
||||
func (x *UpdatePlanRequest) Reset() {
|
||||
@@ -298,6 +334,13 @@ func (x *UpdatePlanRequest) GetName() string {
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *UpdatePlanRequest) GetDescription() string {
|
||||
if x != nil {
|
||||
return x.Description
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *UpdatePlanRequest) GetIsOn() bool {
|
||||
if x != nil {
|
||||
return x.IsOn
|
||||
@@ -319,6 +362,13 @@ func (x *UpdatePlanRequest) GetTrafficLimitJSON() []byte {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *UpdatePlanRequest) GetHasFullFeatures() bool {
|
||||
if x != nil {
|
||||
return x.HasFullFeatures
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
func (x *UpdatePlanRequest) GetFeaturesJSON() []byte {
|
||||
if x != nil {
|
||||
return x.FeaturesJSON
|
||||
@@ -403,13 +453,27 @@ func (x *UpdatePlanRequest) GetMonthlyRequests() int64 {
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *UpdatePlanRequest) GetDailyWebsocketConnections() int64 {
|
||||
if x != nil {
|
||||
return x.DailyWebsocketConnections
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *UpdatePlanRequest) GetMonthlyWebsocketConnections() int64 {
|
||||
if x != nil {
|
||||
return x.MonthlyWebsocketConnections
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
// 删除套餐
|
||||
type DeletePlanRequest struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
PlanId int64 `protobuf:"varint,1,opt,name=planId,proto3" json:"planId,omitempty"`
|
||||
PlanId int64 `protobuf:"varint,1,opt,name=planId,proto3" json:"planId,omitempty"` // 套餐ID
|
||||
}
|
||||
|
||||
func (x *DeletePlanRequest) Reset() {
|
||||
@@ -457,7 +521,7 @@ type FindEnabledPlanRequest struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
PlanId int64 `protobuf:"varint,1,opt,name=planId,proto3" json:"planId,omitempty"`
|
||||
PlanId int64 `protobuf:"varint,1,opt,name=planId,proto3" json:"planId,omitempty"` // 套餐ID
|
||||
}
|
||||
|
||||
func (x *FindEnabledPlanRequest) Reset() {
|
||||
@@ -504,7 +568,7 @@ type FindEnabledPlanResponse struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Plan *Plan `protobuf:"bytes,1,opt,name=plan,proto3" json:"plan,omitempty"`
|
||||
Plan *Plan `protobuf:"bytes,1,opt,name=plan,proto3" json:"plan,omitempty"` // 套餐信息
|
||||
}
|
||||
|
||||
func (x *FindEnabledPlanResponse) Reset() {
|
||||
@@ -646,7 +710,7 @@ type ListEnabledPlansResponse struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Plans []*Plan `protobuf:"bytes,1,rep,name=plans,proto3" json:"plans,omitempty"`
|
||||
Plans []*Plan `protobuf:"bytes,1,rep,name=plans,proto3" json:"plans,omitempty"` // 套餐列表
|
||||
}
|
||||
|
||||
func (x *ListEnabledPlansResponse) Reset() {
|
||||
@@ -688,19 +752,105 @@ func (x *ListEnabledPlansResponse) GetPlans() []*Plan {
|
||||
return nil
|
||||
}
|
||||
|
||||
// 列出所有可用的套餐
|
||||
type FindAllAvailablePlansRequest struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
}
|
||||
|
||||
func (x *FindAllAvailablePlansRequest) Reset() {
|
||||
*x = FindAllAvailablePlansRequest{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_service_plan_proto_msgTypes[9]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *FindAllAvailablePlansRequest) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*FindAllAvailablePlansRequest) ProtoMessage() {}
|
||||
|
||||
func (x *FindAllAvailablePlansRequest) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_service_plan_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 FindAllAvailablePlansRequest.ProtoReflect.Descriptor instead.
|
||||
func (*FindAllAvailablePlansRequest) Descriptor() ([]byte, []int) {
|
||||
return file_service_plan_proto_rawDescGZIP(), []int{9}
|
||||
}
|
||||
|
||||
type FindAllAvailablePlansResponse struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Plans []*Plan `protobuf:"bytes,1,rep,name=plans,proto3" json:"plans,omitempty"` // 套餐列表
|
||||
}
|
||||
|
||||
func (x *FindAllAvailablePlansResponse) Reset() {
|
||||
*x = FindAllAvailablePlansResponse{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_service_plan_proto_msgTypes[10]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *FindAllAvailablePlansResponse) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*FindAllAvailablePlansResponse) ProtoMessage() {}
|
||||
|
||||
func (x *FindAllAvailablePlansResponse) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_service_plan_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 FindAllAvailablePlansResponse.ProtoReflect.Descriptor instead.
|
||||
func (*FindAllAvailablePlansResponse) Descriptor() ([]byte, []int) {
|
||||
return file_service_plan_proto_rawDescGZIP(), []int{10}
|
||||
}
|
||||
|
||||
func (x *FindAllAvailablePlansResponse) GetPlans() []*Plan {
|
||||
if x != nil {
|
||||
return x.Plans
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// 对套餐进行排序
|
||||
type SortPlansRequest struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
PlanIds []int64 `protobuf:"varint,1,rep,packed,name=planIds,proto3" json:"planIds,omitempty"`
|
||||
PlanIds []int64 `protobuf:"varint,1,rep,packed,name=planIds,proto3" json:"planIds,omitempty"` // 排序后的套餐ID列表
|
||||
}
|
||||
|
||||
func (x *SortPlansRequest) Reset() {
|
||||
*x = SortPlansRequest{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_service_plan_proto_msgTypes[9]
|
||||
mi := &file_service_plan_proto_msgTypes[11]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
@@ -713,7 +863,7 @@ func (x *SortPlansRequest) String() string {
|
||||
func (*SortPlansRequest) ProtoMessage() {}
|
||||
|
||||
func (x *SortPlansRequest) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_service_plan_proto_msgTypes[9]
|
||||
mi := &file_service_plan_proto_msgTypes[11]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
@@ -726,7 +876,7 @@ func (x *SortPlansRequest) ProtoReflect() protoreflect.Message {
|
||||
|
||||
// Deprecated: Use SortPlansRequest.ProtoReflect.Descriptor instead.
|
||||
func (*SortPlansRequest) Descriptor() ([]byte, []int) {
|
||||
return file_service_plan_proto_rawDescGZIP(), []int{9}
|
||||
return file_service_plan_proto_rawDescGZIP(), []int{11}
|
||||
}
|
||||
|
||||
func (x *SortPlansRequest) GetPlanIds() []int64 {
|
||||
@@ -743,142 +893,179 @@ var file_service_plan_proto_rawDesc = []byte{
|
||||
0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x1a, 0x17, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73,
|
||||
0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74,
|
||||
0x6f, 0x1a, 0x19, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x72, 0x70, 0x63, 0x5f, 0x6d, 0x65,
|
||||
0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xdd, 0x04, 0x0a,
|
||||
0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa9, 0x06, 0x0a,
|
||||
0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65,
|
||||
0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
|
||||
0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65,
|
||||
0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74,
|
||||
0x65, 0x72, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x10, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x4c,
|
||||
0x69, 0x6d, 0x69, 0x74, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x10,
|
||||
0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4a, 0x53, 0x4f, 0x4e,
|
||||
0x12, 0x22, 0x0a, 0x0c, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x4a, 0x53, 0x4f, 0x4e,
|
||||
0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73,
|
||||
0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x72, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70,
|
||||
0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x69, 0x63, 0x65, 0x54, 0x79,
|
||||
0x70, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x50, 0x72, 0x69,
|
||||
0x63, 0x65, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x10, 0x74, 0x72,
|
||||
0x61, 0x66, 0x66, 0x69, 0x63, 0x50, 0x72, 0x69, 0x63, 0x65, 0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x2e,
|
||||
0x0a, 0x12, 0x62, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x50, 0x72, 0x69, 0x63, 0x65,
|
||||
0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x12, 0x62, 0x61, 0x6e, 0x64,
|
||||
0x77, 0x69, 0x64, 0x74, 0x68, 0x50, 0x72, 0x69, 0x63, 0x65, 0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x22,
|
||||
0x0a, 0x0c, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x07,
|
||||
0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x50, 0x72, 0x69,
|
||||
0x63, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x73, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x6c, 0x79,
|
||||
0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0f, 0x73, 0x65, 0x61,
|
||||
0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x6c, 0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x20, 0x0a, 0x0b,
|
||||
0x79, 0x65, 0x61, 0x72, 0x6c, 0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28,
|
||||
0x02, 0x52, 0x0b, 0x79, 0x65, 0x61, 0x72, 0x6c, 0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x22,
|
||||
0x0a, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x18, 0x0b,
|
||||
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,
|
||||
0x0c, 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, 0x0d, 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, 0x0e, 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, 0x0f, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x6d, 0x6f, 0x6e,
|
||||
0x74, 0x68, 0x6c, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x22, 0x2c, 0x0a, 0x12,
|
||||
0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
|
||||
0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6c, 0x61, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01,
|
||||
0x28, 0x03, 0x52, 0x06, 0x70, 0x6c, 0x61, 0x6e, 0x49, 0x64, 0x22, 0x89, 0x05, 0x0a, 0x11, 0x55,
|
||||
0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
|
||||
0x12, 0x16, 0x0a, 0x06, 0x70, 0x6c, 0x61, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03,
|
||||
0x52, 0x06, 0x70, 0x6c, 0x61, 0x6e, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65,
|
||||
0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04,
|
||||
0x69, 0x73, 0x4f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x4f, 0x6e,
|
||||
0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x04, 0x20,
|
||||
0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x2a,
|
||||
0x0a, 0x10, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4a, 0x53,
|
||||
0x4f, 0x4e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x10, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69,
|
||||
0x63, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x22, 0x0a, 0x0c, 0x66, 0x65,
|
||||
0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c,
|
||||
0x52, 0x0c, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x1c,
|
||||
0x0a, 0x09, 0x70, 0x72, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28,
|
||||
0x09, 0x52, 0x09, 0x70, 0x72, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2a, 0x0a, 0x10,
|
||||
0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x50, 0x72, 0x69, 0x63, 0x65, 0x4a, 0x53, 0x4f, 0x4e,
|
||||
0x18, 0x08, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x10, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x50,
|
||||
0x72, 0x69, 0x63, 0x65, 0x4a, 0x53, 0x4f, 0x4e, 0x12, 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, 0x02, 0x52, 0x0c,
|
||||
0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x28, 0x0a, 0x0f,
|
||||
0x73, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x6c, 0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18,
|
||||
0x0a, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0f, 0x73, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x6c,
|
||||
0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x79, 0x65, 0x61, 0x72, 0x6c, 0x79,
|
||||
0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, 0x79, 0x65, 0x61,
|
||||
0x72, 0x6c, 0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 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,
|
||||
0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69,
|
||||
0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x13, 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, 0x02, 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, 0x03, 0x20, 0x01, 0x28, 0x0c,
|
||||
0x52, 0x10, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4a, 0x53,
|
||||
0x4f, 0x4e, 0x12, 0x28, 0x0a, 0x0f, 0x68, 0x61, 0x73, 0x46, 0x75, 0x6c, 0x6c, 0x46, 0x65, 0x61,
|
||||
0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x12, 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, 0x04, 0x20, 0x01,
|
||||
0x28, 0x0c, 0x52, 0x0c, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x4a, 0x53, 0x4f, 0x4e,
|
||||
0x12, 0x1c, 0x0a, 0x09, 0x70, 0x72, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20,
|
||||
0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2a,
|
||||
0x0a, 0x10, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x50, 0x72, 0x69, 0x63, 0x65, 0x4a, 0x53,
|
||||
0x4f, 0x4e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x10, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69,
|
||||
0x63, 0x50, 0x72, 0x69, 0x63, 0x65, 0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x2e, 0x0a, 0x12, 0x62, 0x61,
|
||||
0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x50, 0x72, 0x69, 0x63, 0x65, 0x4a, 0x53, 0x4f, 0x4e,
|
||||
0x18, 0x0a, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x12, 0x62, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74,
|
||||
0x68, 0x50, 0x72, 0x69, 0x63, 0x65, 0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x22, 0x0a, 0x0c, 0x6d, 0x6f,
|
||||
0x6e, 0x74, 0x68, 0x6c, 0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x02,
|
||||
0x52, 0x0c, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x28,
|
||||
0x0a, 0x0f, 0x73, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x6c, 0x79, 0x50, 0x72, 0x69, 0x63,
|
||||
0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0f, 0x73, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x61,
|
||||
0x6c, 0x6c, 0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x79, 0x65, 0x61, 0x72,
|
||||
0x6c, 0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, 0x79,
|
||||
0x65, 0x61, 0x72, 0x6c, 0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x74, 0x6f,
|
||||
0x74, 0x61, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x18, 0x0b, 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, 0x0c, 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,
|
||||
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, 0x22, 0x2b, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65,
|
||||
0x50, 0x6c, 0x61, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x70,
|
||||
0x6c, 0x61, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x70, 0x6c, 0x61,
|
||||
0x6e, 0x49, 0x64, 0x22, 0x30, 0x0a, 0x16, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c,
|
||||
0x65, 0x64, 0x50, 0x6c, 0x61, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a,
|
||||
0x06, 0x70, 0x6c, 0x61, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x70,
|
||||
0x6c, 0x61, 0x6e, 0x49, 0x64, 0x22, 0x37, 0x0a, 0x17, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61,
|
||||
0x62, 0x6c, 0x65, 0x64, 0x50, 0x6c, 0x61, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
|
||||
0x12, 0x1c, 0x0a, 0x04, 0x70, 0x6c, 0x61, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x08,
|
||||
0x2e, 0x70, 0x62, 0x2e, 0x50, 0x6c, 0x61, 0x6e, 0x52, 0x04, 0x70, 0x6c, 0x61, 0x6e, 0x22, 0x1d,
|
||||
0x0a, 0x1b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65,
|
||||
0x64, 0x50, 0x6c, 0x61, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x45, 0x0a,
|
||||
0x17, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x50, 0x6c, 0x61, 0x6e,
|
||||
0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73,
|
||||
0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74,
|
||||
0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04,
|
||||
0x73, 0x69, 0x7a, 0x65, 0x22, 0x3a, 0x0a, 0x18, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62,
|
||||
0x6c, 0x65, 0x64, 0x50, 0x6c, 0x61, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
|
||||
0x12, 0x1e, 0x0a, 0x05, 0x70, 0x6c, 0x61, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
|
||||
0x08, 0x2e, 0x70, 0x62, 0x2e, 0x50, 0x6c, 0x61, 0x6e, 0x52, 0x05, 0x70, 0x6c, 0x61, 0x6e, 0x73,
|
||||
0x22, 0x2c, 0x0a, 0x10, 0x53, 0x6f, 0x72, 0x74, 0x50, 0x6c, 0x61, 0x6e, 0x73, 0x52, 0x65, 0x71,
|
||||
0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x6c, 0x61, 0x6e, 0x49, 0x64, 0x73, 0x18,
|
||||
0x01, 0x20, 0x03, 0x28, 0x03, 0x52, 0x07, 0x70, 0x6c, 0x61, 0x6e, 0x49, 0x64, 0x73, 0x32, 0xd1,
|
||||
0x03, 0x0a, 0x0b, 0x50, 0x6c, 0x61, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x3b,
|
||||
0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x12, 0x15, 0x2e, 0x70,
|
||||
0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x52, 0x65, 0x71, 0x75,
|
||||
0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50,
|
||||
0x6c, 0x61, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x33, 0x0a, 0x0a, 0x75,
|
||||
0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x12, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x55,
|
||||
0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6c, 0x61, 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, 0x33, 0x0a, 0x0a, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x12, 0x15,
|
||||
0x2e, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x6c, 0x61, 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, 0x4a, 0x0a, 0x0f, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61,
|
||||
0x62, 0x6c, 0x65, 0x64, 0x50, 0x6c, 0x61, 0x6e, 0x12, 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69,
|
||||
0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x50, 0x6c, 0x61, 0x6e, 0x52, 0x65, 0x71,
|
||||
0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e,
|
||||
0x61, 0x62, 0x6c, 0x65, 0x64, 0x50, 0x6c, 0x61, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
|
||||
0x65, 0x12, 0x4d, 0x0a, 0x14, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61,
|
||||
0x62, 0x6c, 0x65, 0x64, 0x50, 0x6c, 0x61, 0x6e, 0x73, 0x12, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x43,
|
||||
0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x50, 0x6c,
|
||||
0x61, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e,
|
||||
0x52, 0x50, 0x43, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
|
||||
0x12, 0x4d, 0x0a, 0x10, 0x6c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x50,
|
||||
0x6c, 0x61, 0x6e, 0x73, 0x12, 0x1b, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e,
|
||||
0x61, 0x62, 0x6c, 0x65, 0x64, 0x50, 0x6c, 0x61, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
|
||||
0x74, 0x1a, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c,
|
||||
0x65, 0x64, 0x50, 0x6c, 0x61, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
|
||||
0x31, 0x0a, 0x09, 0x73, 0x6f, 0x72, 0x74, 0x50, 0x6c, 0x61, 0x6e, 0x73, 0x12, 0x14, 0x2e, 0x70,
|
||||
0x62, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x50, 0x6c, 0x61, 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, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
|
||||
0x6f, 0x33,
|
||||
0x18, 0x0d, 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, 0x0e, 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, 0x0f, 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, 0x10, 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, 0x11, 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, 0x22, 0x2c, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61,
|
||||
0x74, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16,
|
||||
0x0a, 0x06, 0x70, 0x6c, 0x61, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06,
|
||||
0x70, 0x6c, 0x61, 0x6e, 0x49, 0x64, 0x22, 0xd5, 0x06, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74,
|
||||
0x65, 0x50, 0x6c, 0x61, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06,
|
||||
0x70, 0x6c, 0x61, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x70, 0x6c,
|
||||
0x61, 0x6e, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01,
|
||||
0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 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, 0x12, 0x0a, 0x04, 0x69, 0x73,
|
||||
0x4f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x12, 0x1c,
|
||||
0x0a, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28,
|
||||
0x03, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x10,
|
||||
0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4a, 0x53, 0x4f, 0x4e,
|
||||
0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x10, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x4c,
|
||||
0x69, 0x6d, 0x69, 0x74, 0x4a, 0x53, 0x4f, 0x4e, 0x12, 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, 0x02, 0x52, 0x0c, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x50,
|
||||
0x72, 0x69, 0x63, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x73, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x61, 0x6c,
|
||||
0x6c, 0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0f, 0x73,
|
||||
0x65, 0x61, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x6c, 0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x20,
|
||||
0x0a, 0x0b, 0x79, 0x65, 0x61, 0x72, 0x6c, 0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x0b, 0x20,
|
||||
0x01, 0x28, 0x02, 0x52, 0x0b, 0x79, 0x65, 0x61, 0x72, 0x6c, 0x79, 0x50, 0x72, 0x69, 0x63, 0x65,
|
||||
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, 0x22, 0x2b,
|
||||
0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x52, 0x65, 0x71, 0x75,
|
||||
0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6c, 0x61, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20,
|
||||
0x01, 0x28, 0x03, 0x52, 0x06, 0x70, 0x6c, 0x61, 0x6e, 0x49, 0x64, 0x22, 0x30, 0x0a, 0x16, 0x46,
|
||||
0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x50, 0x6c, 0x61, 0x6e, 0x52, 0x65,
|
||||
0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6c, 0x61, 0x6e, 0x49, 0x64, 0x18,
|
||||
0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x70, 0x6c, 0x61, 0x6e, 0x49, 0x64, 0x22, 0x37, 0x0a,
|
||||
0x17, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x50, 0x6c, 0x61, 0x6e,
|
||||
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x04, 0x70, 0x6c, 0x61, 0x6e,
|
||||
0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x70, 0x62, 0x2e, 0x50, 0x6c, 0x61, 0x6e,
|
||||
0x52, 0x04, 0x70, 0x6c, 0x61, 0x6e, 0x22, 0x1d, 0x0a, 0x1b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41,
|
||||
0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x50, 0x6c, 0x61, 0x6e, 0x73, 0x52, 0x65,
|
||||
0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x45, 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61,
|
||||
0x62, 0x6c, 0x65, 0x64, 0x50, 0x6c, 0x61, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
|
||||
0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03,
|
||||
0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65,
|
||||
0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x22, 0x3a, 0x0a, 0x18,
|
||||
0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x50, 0x6c, 0x61, 0x6e, 0x73,
|
||||
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1e, 0x0a, 0x05, 0x70, 0x6c, 0x61, 0x6e,
|
||||
0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x70, 0x62, 0x2e, 0x50, 0x6c, 0x61,
|
||||
0x6e, 0x52, 0x05, 0x70, 0x6c, 0x61, 0x6e, 0x73, 0x22, 0x1e, 0x0a, 0x1c, 0x46, 0x69, 0x6e, 0x64,
|
||||
0x41, 0x6c, 0x6c, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x6c, 0x61, 0x6e,
|
||||
0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x3f, 0x0a, 0x1d, 0x46, 0x69, 0x6e, 0x64,
|
||||
0x41, 0x6c, 0x6c, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x6c, 0x61, 0x6e,
|
||||
0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1e, 0x0a, 0x05, 0x70, 0x6c, 0x61,
|
||||
0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x70, 0x62, 0x2e, 0x50, 0x6c,
|
||||
0x61, 0x6e, 0x52, 0x05, 0x70, 0x6c, 0x61, 0x6e, 0x73, 0x22, 0x2c, 0x0a, 0x10, 0x53, 0x6f, 0x72,
|
||||
0x74, 0x50, 0x6c, 0x61, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a,
|
||||
0x07, 0x70, 0x6c, 0x61, 0x6e, 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x03, 0x52, 0x07,
|
||||
0x70, 0x6c, 0x61, 0x6e, 0x49, 0x64, 0x73, 0x32, 0xaf, 0x04, 0x0a, 0x0b, 0x50, 0x6c, 0x61, 0x6e,
|
||||
0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x3b, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74,
|
||||
0x65, 0x50, 0x6c, 0x61, 0x6e, 0x12, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74,
|
||||
0x65, 0x50, 0x6c, 0x61, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x70,
|
||||
0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x52, 0x65, 0x73, 0x70,
|
||||
0x6f, 0x6e, 0x73, 0x65, 0x12, 0x33, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6c,
|
||||
0x61, 0x6e, 0x12, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6c,
|
||||
0x61, 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, 0x33, 0x0a, 0x0a, 0x64, 0x65, 0x6c,
|
||||
0x65, 0x74, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x12, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c,
|
||||
0x65, 0x74, 0x65, 0x50, 0x6c, 0x61, 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, 0x4a,
|
||||
0x0a, 0x0f, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x50, 0x6c, 0x61,
|
||||
0x6e, 0x12, 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c,
|
||||
0x65, 0x64, 0x50, 0x6c, 0x61, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e,
|
||||
0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x50, 0x6c,
|
||||
0x61, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x14, 0x63, 0x6f,
|
||||
0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x50, 0x6c, 0x61,
|
||||
0x6e, 0x73, 0x12, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c,
|
||||
0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x50, 0x6c, 0x61, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75,
|
||||
0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x43, 0x6f, 0x75, 0x6e,
|
||||
0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x10, 0x6c, 0x69, 0x73,
|
||||
0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x50, 0x6c, 0x61, 0x6e, 0x73, 0x12, 0x1b, 0x2e,
|
||||
0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x50, 0x6c,
|
||||
0x61, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x70, 0x62, 0x2e,
|
||||
0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x50, 0x6c, 0x61, 0x6e, 0x73,
|
||||
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x15, 0x66, 0x69, 0x6e, 0x64,
|
||||
0x41, 0x6c, 0x6c, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x6c, 0x61, 0x6e,
|
||||
0x73, 0x12, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x41, 0x76,
|
||||
0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75,
|
||||
0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c,
|
||||
0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x73, 0x52, 0x65,
|
||||
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x31, 0x0a, 0x09, 0x73, 0x6f, 0x72, 0x74, 0x50, 0x6c,
|
||||
0x61, 0x6e, 0x73, 0x12, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x50, 0x6c, 0x61,
|
||||
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, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70,
|
||||
0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
}
|
||||
|
||||
var (
|
||||
@@ -893,44 +1080,49 @@ func file_service_plan_proto_rawDescGZIP() []byte {
|
||||
return file_service_plan_proto_rawDescData
|
||||
}
|
||||
|
||||
var file_service_plan_proto_msgTypes = make([]protoimpl.MessageInfo, 10)
|
||||
var file_service_plan_proto_msgTypes = make([]protoimpl.MessageInfo, 12)
|
||||
var file_service_plan_proto_goTypes = []interface{}{
|
||||
(*CreatePlanRequest)(nil), // 0: pb.CreatePlanRequest
|
||||
(*CreatePlanResponse)(nil), // 1: pb.CreatePlanResponse
|
||||
(*UpdatePlanRequest)(nil), // 2: pb.UpdatePlanRequest
|
||||
(*DeletePlanRequest)(nil), // 3: pb.DeletePlanRequest
|
||||
(*FindEnabledPlanRequest)(nil), // 4: pb.FindEnabledPlanRequest
|
||||
(*FindEnabledPlanResponse)(nil), // 5: pb.FindEnabledPlanResponse
|
||||
(*CountAllEnabledPlansRequest)(nil), // 6: pb.CountAllEnabledPlansRequest
|
||||
(*ListEnabledPlansRequest)(nil), // 7: pb.ListEnabledPlansRequest
|
||||
(*ListEnabledPlansResponse)(nil), // 8: pb.ListEnabledPlansResponse
|
||||
(*SortPlansRequest)(nil), // 9: pb.SortPlansRequest
|
||||
(*Plan)(nil), // 10: pb.Plan
|
||||
(*RPCSuccess)(nil), // 11: pb.RPCSuccess
|
||||
(*RPCCountResponse)(nil), // 12: pb.RPCCountResponse
|
||||
(*CreatePlanRequest)(nil), // 0: pb.CreatePlanRequest
|
||||
(*CreatePlanResponse)(nil), // 1: pb.CreatePlanResponse
|
||||
(*UpdatePlanRequest)(nil), // 2: pb.UpdatePlanRequest
|
||||
(*DeletePlanRequest)(nil), // 3: pb.DeletePlanRequest
|
||||
(*FindEnabledPlanRequest)(nil), // 4: pb.FindEnabledPlanRequest
|
||||
(*FindEnabledPlanResponse)(nil), // 5: pb.FindEnabledPlanResponse
|
||||
(*CountAllEnabledPlansRequest)(nil), // 6: pb.CountAllEnabledPlansRequest
|
||||
(*ListEnabledPlansRequest)(nil), // 7: pb.ListEnabledPlansRequest
|
||||
(*ListEnabledPlansResponse)(nil), // 8: pb.ListEnabledPlansResponse
|
||||
(*FindAllAvailablePlansRequest)(nil), // 9: pb.FindAllAvailablePlansRequest
|
||||
(*FindAllAvailablePlansResponse)(nil), // 10: pb.FindAllAvailablePlansResponse
|
||||
(*SortPlansRequest)(nil), // 11: pb.SortPlansRequest
|
||||
(*Plan)(nil), // 12: pb.Plan
|
||||
(*RPCSuccess)(nil), // 13: pb.RPCSuccess
|
||||
(*RPCCountResponse)(nil), // 14: pb.RPCCountResponse
|
||||
}
|
||||
var file_service_plan_proto_depIdxs = []int32{
|
||||
10, // 0: pb.FindEnabledPlanResponse.plan:type_name -> pb.Plan
|
||||
10, // 1: pb.ListEnabledPlansResponse.plans:type_name -> pb.Plan
|
||||
0, // 2: pb.PlanService.createPlan:input_type -> pb.CreatePlanRequest
|
||||
2, // 3: pb.PlanService.updatePlan:input_type -> pb.UpdatePlanRequest
|
||||
3, // 4: pb.PlanService.deletePlan:input_type -> pb.DeletePlanRequest
|
||||
4, // 5: pb.PlanService.findEnabledPlan:input_type -> pb.FindEnabledPlanRequest
|
||||
6, // 6: pb.PlanService.countAllEnabledPlans:input_type -> pb.CountAllEnabledPlansRequest
|
||||
7, // 7: pb.PlanService.listEnabledPlans:input_type -> pb.ListEnabledPlansRequest
|
||||
9, // 8: pb.PlanService.sortPlans:input_type -> pb.SortPlansRequest
|
||||
1, // 9: pb.PlanService.createPlan:output_type -> pb.CreatePlanResponse
|
||||
11, // 10: pb.PlanService.updatePlan:output_type -> pb.RPCSuccess
|
||||
11, // 11: pb.PlanService.deletePlan:output_type -> pb.RPCSuccess
|
||||
5, // 12: pb.PlanService.findEnabledPlan:output_type -> pb.FindEnabledPlanResponse
|
||||
12, // 13: pb.PlanService.countAllEnabledPlans:output_type -> pb.RPCCountResponse
|
||||
8, // 14: pb.PlanService.listEnabledPlans:output_type -> pb.ListEnabledPlansResponse
|
||||
11, // 15: pb.PlanService.sortPlans:output_type -> pb.RPCSuccess
|
||||
9, // [9:16] is the sub-list for method output_type
|
||||
2, // [2:9] is the sub-list for method input_type
|
||||
2, // [2:2] is the sub-list for extension type_name
|
||||
2, // [2:2] is the sub-list for extension extendee
|
||||
0, // [0:2] is the sub-list for field type_name
|
||||
12, // 0: pb.FindEnabledPlanResponse.plan:type_name -> pb.Plan
|
||||
12, // 1: pb.ListEnabledPlansResponse.plans:type_name -> pb.Plan
|
||||
12, // 2: pb.FindAllAvailablePlansResponse.plans:type_name -> pb.Plan
|
||||
0, // 3: pb.PlanService.createPlan:input_type -> pb.CreatePlanRequest
|
||||
2, // 4: pb.PlanService.updatePlan:input_type -> pb.UpdatePlanRequest
|
||||
3, // 5: pb.PlanService.deletePlan:input_type -> pb.DeletePlanRequest
|
||||
4, // 6: pb.PlanService.findEnabledPlan:input_type -> pb.FindEnabledPlanRequest
|
||||
6, // 7: pb.PlanService.countAllEnabledPlans:input_type -> pb.CountAllEnabledPlansRequest
|
||||
7, // 8: pb.PlanService.listEnabledPlans:input_type -> pb.ListEnabledPlansRequest
|
||||
9, // 9: pb.PlanService.findAllAvailablePlans:input_type -> pb.FindAllAvailablePlansRequest
|
||||
11, // 10: pb.PlanService.sortPlans:input_type -> pb.SortPlansRequest
|
||||
1, // 11: pb.PlanService.createPlan:output_type -> pb.CreatePlanResponse
|
||||
13, // 12: pb.PlanService.updatePlan:output_type -> pb.RPCSuccess
|
||||
13, // 13: pb.PlanService.deletePlan:output_type -> pb.RPCSuccess
|
||||
5, // 14: pb.PlanService.findEnabledPlan:output_type -> pb.FindEnabledPlanResponse
|
||||
14, // 15: pb.PlanService.countAllEnabledPlans:output_type -> pb.RPCCountResponse
|
||||
8, // 16: pb.PlanService.listEnabledPlans:output_type -> pb.ListEnabledPlansResponse
|
||||
10, // 17: pb.PlanService.findAllAvailablePlans:output_type -> pb.FindAllAvailablePlansResponse
|
||||
13, // 18: pb.PlanService.sortPlans:output_type -> pb.RPCSuccess
|
||||
11, // [11:19] is the sub-list for method output_type
|
||||
3, // [3:11] 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_plan_proto_init() }
|
||||
@@ -1050,6 +1242,30 @@ func file_service_plan_proto_init() {
|
||||
}
|
||||
}
|
||||
file_service_plan_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*FindAllAvailablePlansRequest); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_service_plan_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*FindAllAvailablePlansResponse); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_service_plan_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*SortPlansRequest); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
@@ -1068,7 +1284,7 @@ func file_service_plan_proto_init() {
|
||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||
RawDescriptor: file_service_plan_proto_rawDesc,
|
||||
NumEnums: 0,
|
||||
NumMessages: 10,
|
||||
NumMessages: 12,
|
||||
NumExtensions: 0,
|
||||
NumServices: 1,
|
||||
},
|
||||
|
||||
@@ -19,13 +19,14 @@ 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_CountAllEnabledPlans_FullMethodName = "/pb.PlanService/countAllEnabledPlans"
|
||||
PlanService_ListEnabledPlans_FullMethodName = "/pb.PlanService/listEnabledPlans"
|
||||
PlanService_FindAllAvailablePlans_FullMethodName = "/pb.PlanService/findAllAvailablePlans"
|
||||
PlanService_SortPlans_FullMethodName = "/pb.PlanService/sortPlans"
|
||||
)
|
||||
|
||||
// PlanServiceClient is the client API for PlanService service.
|
||||
@@ -44,6 +45,8 @@ type PlanServiceClient interface {
|
||||
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)
|
||||
// 对套餐进行排序
|
||||
SortPlans(ctx context.Context, in *SortPlansRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
|
||||
}
|
||||
@@ -110,6 +113,15 @@ 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) 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...)
|
||||
@@ -135,6 +147,8 @@ type PlanServiceServer interface {
|
||||
CountAllEnabledPlans(context.Context, *CountAllEnabledPlansRequest) (*RPCCountResponse, error)
|
||||
// 列出单页套餐
|
||||
ListEnabledPlans(context.Context, *ListEnabledPlansRequest) (*ListEnabledPlansResponse, error)
|
||||
// 列出所有可用的套餐
|
||||
FindAllAvailablePlans(context.Context, *FindAllAvailablePlansRequest) (*FindAllAvailablePlansResponse, error)
|
||||
// 对套餐进行排序
|
||||
SortPlans(context.Context, *SortPlansRequest) (*RPCSuccess, error)
|
||||
}
|
||||
@@ -161,6 +175,9 @@ func (UnimplementedPlanServiceServer) CountAllEnabledPlans(context.Context, *Cou
|
||||
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) SortPlans(context.Context, *SortPlansRequest) (*RPCSuccess, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method SortPlans not implemented")
|
||||
}
|
||||
@@ -284,6 +301,24 @@ 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_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 {
|
||||
@@ -333,6 +368,10 @@ var PlanService_ServiceDesc = grpc.ServiceDesc{
|
||||
MethodName: "listEnabledPlans",
|
||||
Handler: _PlanService_ListEnabledPlans_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "findAllAvailablePlans",
|
||||
Handler: _PlanService_FindAllAvailablePlans_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "sortPlans",
|
||||
Handler: _PlanService_SortPlans_Handler,
|
||||
|
||||
@@ -89,7 +89,7 @@ type CreateReverseProxyResponse struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
ReverseProxyId int64 `protobuf:"varint,1,opt,name=reverseProxyId,proto3" json:"reverseProxyId,omitempty"`
|
||||
ReverseProxyId int64 `protobuf:"varint,1,opt,name=reverseProxyId,proto3" json:"reverseProxyId,omitempty"` // 反向代理ID
|
||||
}
|
||||
|
||||
func (x *CreateReverseProxyResponse) Reset() {
|
||||
@@ -137,7 +137,7 @@ type FindEnabledReverseProxyRequest struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
ReverseProxyId int64 `protobuf:"varint,1,opt,name=reverseProxyId,proto3" json:"reverseProxyId,omitempty"`
|
||||
ReverseProxyId int64 `protobuf:"varint,1,opt,name=reverseProxyId,proto3" json:"reverseProxyId,omitempty"` // 反向代理ID
|
||||
}
|
||||
|
||||
func (x *FindEnabledReverseProxyRequest) Reset() {
|
||||
@@ -184,7 +184,7 @@ type FindEnabledReverseProxyResponse struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
ReverseProxy *ReverseProxy `protobuf:"bytes,1,opt,name=reverseProxy,proto3" json:"reverseProxy,omitempty"`
|
||||
ReverseProxy *ReverseProxy `protobuf:"bytes,1,opt,name=reverseProxy,proto3" json:"reverseProxy,omitempty"` // 反向代理信息
|
||||
}
|
||||
|
||||
func (x *FindEnabledReverseProxyResponse) Reset() {
|
||||
@@ -232,7 +232,7 @@ type FindEnabledReverseProxyConfigRequest struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
ReverseProxyId int64 `protobuf:"varint,1,opt,name=reverseProxyId,proto3" json:"reverseProxyId,omitempty"`
|
||||
ReverseProxyId int64 `protobuf:"varint,1,opt,name=reverseProxyId,proto3" json:"reverseProxyId,omitempty"` // 反向代理ID
|
||||
}
|
||||
|
||||
func (x *FindEnabledReverseProxyConfigRequest) Reset() {
|
||||
@@ -279,7 +279,7 @@ type FindEnabledReverseProxyConfigResponse struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
ReverseProxyJSON []byte `protobuf:"bytes,1,opt,name=reverseProxyJSON,proto3" json:"reverseProxyJSON,omitempty"`
|
||||
ReverseProxyJSON []byte `protobuf:"bytes,1,opt,name=reverseProxyJSON,proto3" json:"reverseProxyJSON,omitempty"` // 反向代理配置
|
||||
}
|
||||
|
||||
func (x *FindEnabledReverseProxyConfigResponse) Reset() {
|
||||
@@ -327,8 +327,8 @@ type UpdateReverseProxySchedulingRequest struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
ReverseProxyId int64 `protobuf:"varint,1,opt,name=reverseProxyId,proto3" json:"reverseProxyId,omitempty"`
|
||||
SchedulingJSON []byte `protobuf:"bytes,2,opt,name=schedulingJSON,proto3" json:"schedulingJSON,omitempty"`
|
||||
ReverseProxyId int64 `protobuf:"varint,1,opt,name=reverseProxyId,proto3" json:"reverseProxyId,omitempty"` // 反向代理ID
|
||||
SchedulingJSON []byte `protobuf:"bytes,2,opt,name=schedulingJSON,proto3" json:"schedulingJSON,omitempty"` // 调度配置 @link json:scheduling
|
||||
}
|
||||
|
||||
func (x *UpdateReverseProxySchedulingRequest) Reset() {
|
||||
@@ -383,8 +383,8 @@ type UpdateReverseProxyPrimaryOriginsRequest struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
ReverseProxyId int64 `protobuf:"varint,1,opt,name=reverseProxyId,proto3" json:"reverseProxyId,omitempty"`
|
||||
OriginsJSON []byte `protobuf:"bytes,2,opt,name=originsJSON,proto3" json:"originsJSON,omitempty"`
|
||||
ReverseProxyId int64 `protobuf:"varint,1,opt,name=reverseProxyId,proto3" json:"reverseProxyId,omitempty"` // 反向代理ID
|
||||
OriginsJSON []byte `protobuf:"bytes,2,opt,name=originsJSON,proto3" json:"originsJSON,omitempty"` // 源站配置 @link json:origin_refs
|
||||
}
|
||||
|
||||
func (x *UpdateReverseProxyPrimaryOriginsRequest) Reset() {
|
||||
@@ -439,8 +439,8 @@ type UpdateReverseProxyBackupOriginsRequest struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
ReverseProxyId int64 `protobuf:"varint,1,opt,name=reverseProxyId,proto3" json:"reverseProxyId,omitempty"`
|
||||
OriginsJSON []byte `protobuf:"bytes,2,opt,name=originsJSON,proto3" json:"originsJSON,omitempty"`
|
||||
ReverseProxyId int64 `protobuf:"varint,1,opt,name=reverseProxyId,proto3" json:"reverseProxyId,omitempty"` // 反向代理ID
|
||||
OriginsJSON []byte `protobuf:"bytes,2,opt,name=originsJSON,proto3" json:"originsJSON,omitempty"` // 源站配置 @link json:origin_refs
|
||||
}
|
||||
|
||||
func (x *UpdateReverseProxyBackupOriginsRequest) Reset() {
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -66,6 +66,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"
|
||||
@@ -178,8 +179,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)
|
||||
// 查找某个网站附近的网站
|
||||
@@ -641,6 +644,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...)
|
||||
@@ -863,8 +875,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)
|
||||
// 查找某个网站附近的网站
|
||||
@@ -1040,6 +1054,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")
|
||||
}
|
||||
@@ -1940,6 +1957,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 {
|
||||
@@ -2387,6 +2422,10 @@ var ServerService_ServiceDesc = grpc.ServiceDesc{
|
||||
MethodName: "checkServerNameDuplicationInNodeCluster",
|
||||
Handler: _ServerService_CheckServerNameDuplicationInNodeCluster_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "checkServerNameInServer",
|
||||
Handler: _ServerService_CheckServerNameInServer_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "findLatestServers",
|
||||
Handler: _ServerService_FindLatestServers_Handler,
|
||||
|
||||
@@ -26,7 +26,7 @@ type CountUserAccountsRequest struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Keyword string `protobuf:"bytes,1,opt,name=keyword,proto3" json:"keyword,omitempty"`
|
||||
Keyword string `protobuf:"bytes,1,opt,name=keyword,proto3" json:"keyword,omitempty"` // 关键词
|
||||
}
|
||||
|
||||
func (x *CountUserAccountsRequest) Reset() {
|
||||
@@ -74,7 +74,7 @@ type ListUserAccountsRequest struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Keyword string `protobuf:"bytes,1,opt,name=keyword,proto3" json:"keyword,omitempty"`
|
||||
Keyword string `protobuf:"bytes,1,opt,name=keyword,proto3" json:"keyword,omitempty"` // 关键词
|
||||
Offset int64 `protobuf:"varint,2,opt,name=offset,proto3" json:"offset,omitempty"`
|
||||
Size int64 `protobuf:"varint,3,opt,name=size,proto3" json:"size,omitempty"`
|
||||
}
|
||||
@@ -137,7 +137,7 @@ type ListUserAccountsResponse struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
UserAccounts []*UserAccount `protobuf:"bytes,1,rep,name=userAccounts,proto3" json:"userAccounts,omitempty"`
|
||||
UserAccounts []*UserAccount `protobuf:"bytes,1,rep,name=userAccounts,proto3" json:"userAccounts,omitempty"` // 用户账户列表
|
||||
}
|
||||
|
||||
func (x *ListUserAccountsResponse) Reset() {
|
||||
@@ -185,7 +185,7 @@ type FindEnabledUserAccountWithUserIdRequest struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
UserId int64 `protobuf:"varint,1,opt,name=userId,proto3" json:"userId,omitempty"`
|
||||
UserId int64 `protobuf:"varint,1,opt,name=userId,proto3" json:"userId,omitempty"` // 用户ID
|
||||
}
|
||||
|
||||
func (x *FindEnabledUserAccountWithUserIdRequest) Reset() {
|
||||
@@ -232,7 +232,7 @@ type FindEnabledUserAccountWithUserIdResponse struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
UserAccount *UserAccount `protobuf:"bytes,1,opt,name=userAccount,proto3" json:"userAccount,omitempty"`
|
||||
UserAccount *UserAccount `protobuf:"bytes,1,opt,name=userAccount,proto3" json:"userAccount,omitempty"` // 用户账户
|
||||
}
|
||||
|
||||
func (x *FindEnabledUserAccountWithUserIdResponse) Reset() {
|
||||
@@ -280,7 +280,7 @@ type FindEnabledUserAccountRequest struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
UserAccountId int64 `protobuf:"varint,1,opt,name=userAccountId,proto3" json:"userAccountId,omitempty"`
|
||||
UserAccountId int64 `protobuf:"varint,1,opt,name=userAccountId,proto3" json:"userAccountId,omitempty"` // 用户账户ID
|
||||
}
|
||||
|
||||
func (x *FindEnabledUserAccountRequest) Reset() {
|
||||
@@ -327,7 +327,7 @@ type FindEnabledUserAccountResponse struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
UserAccount *UserAccount `protobuf:"bytes,1,opt,name=userAccount,proto3" json:"userAccount,omitempty"`
|
||||
UserAccount *UserAccount `protobuf:"bytes,1,opt,name=userAccount,proto3" json:"userAccount,omitempty"` // 用户账户
|
||||
}
|
||||
|
||||
func (x *FindEnabledUserAccountResponse) Reset() {
|
||||
@@ -375,11 +375,11 @@ type UpdateUserAccountRequest struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
UserAccountId int64 `protobuf:"varint,1,opt,name=userAccountId,proto3" json:"userAccountId,omitempty"`
|
||||
Delta float64 `protobuf:"fixed64,2,opt,name=delta,proto3" json:"delta,omitempty"`
|
||||
EventType string `protobuf:"bytes,3,opt,name=eventType,proto3" json:"eventType,omitempty"`
|
||||
Description string `protobuf:"bytes,4,opt,name=description,proto3" json:"description,omitempty"`
|
||||
ParamsJSON []byte `protobuf:"bytes,5,opt,name=paramsJSON,proto3" json:"paramsJSON,omitempty"`
|
||||
UserAccountId int64 `protobuf:"varint,1,opt,name=userAccountId,proto3" json:"userAccountId,omitempty"` // 用户账户ID(非用户ID)
|
||||
Delta float64 `protobuf:"fixed64,2,opt,name=delta,proto3" json:"delta,omitempty"` // 操作的数值,正值表示增加,负值表示减少
|
||||
EventType string `protobuf:"bytes,3,opt,name=eventType,proto3" json:"eventType,omitempty"` // 事件类型:charge, award, buyPlan, payBill, refund, withdraw, buyNSPlan, buyTrafficPackage, buyAntiDDoSPackage, renewAntiDDoSPackage
|
||||
Description string `protobuf:"bytes,4,opt,name=description,proto3" json:"description,omitempty"` // 描述
|
||||
ParamsJSON []byte `protobuf:"bytes,5,opt,name=paramsJSON,proto3" json:"paramsJSON,omitempty"` // 相关参数
|
||||
}
|
||||
|
||||
func (x *UpdateUserAccountRequest) Reset() {
|
||||
|
||||
762
pkg/rpc/pb/service_user_script.pb.go
Normal file
762
pkg/rpc/pb/service_user_script.pb.go
Normal 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"` // 代码MD5(32位)
|
||||
}
|
||||
|
||||
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
|
||||
}
|
||||
304
pkg/rpc/pb/service_user_script_grpc.pb.go
Normal file
304
pkg/rpc/pb/service_user_script_grpc.pb.go
Normal 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",
|
||||
}
|
||||
@@ -3,15 +3,18 @@ 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 captchaOptionsJSON = 12; // 人机识别配置
|
||||
}
|
||||
@@ -4,21 +4,25 @@ 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; // 流量限制
|
||||
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连接数额度
|
||||
}
|
||||
@@ -20,4 +20,5 @@ message ServerBandwidthStat {
|
||||
int64 countCachedRequests = 13; // 总缓存请求数
|
||||
int64 countAttackRequests = 14; // 总攻击请求数
|
||||
int64 userPlanId = 15; // 绑定的用户套餐ID
|
||||
int64 countWebsocketConnections = 16; // Websocket连接数
|
||||
}
|
||||
@@ -16,14 +16,14 @@ message User {
|
||||
string email = 6; // 联系邮箱
|
||||
string verifiedEmail = 20; // 已验证邮箱
|
||||
string verifiedMobile = 23; // 已验证手机号码
|
||||
string remark = 7;
|
||||
bool isOn = 8;
|
||||
int64 createdAt = 9;
|
||||
string registeredIP = 12;
|
||||
bool isVerified = 13;
|
||||
bool isRejected = 14;
|
||||
string rejectReason = 15;
|
||||
bool isDeleted = 16;
|
||||
string remark = 7; // 备注
|
||||
bool isOn = 8; // 是否启用
|
||||
int64 createdAt = 9; // 创建时间
|
||||
string registeredIP = 12; // 注册IP
|
||||
bool isVerified = 13; // 是否已实名认证
|
||||
bool isRejected = 14; // 实名认证是否已拒绝
|
||||
string rejectReason = 15; // 实名认证拒绝理由
|
||||
bool isDeleted = 16; // 是否已删除
|
||||
bool isIndividualIdentified = 17; // 是否已通过个人验证
|
||||
bool isEnterpriseIdentified = 18; // 是否已通过企业验证
|
||||
string bandwidthAlgo = 21; // 带宽算法
|
||||
@@ -31,6 +31,6 @@ message User {
|
||||
|
||||
Login otpLogin = 19; // OTP认证
|
||||
|
||||
NodeCluster nodeCluster = 10;
|
||||
repeated UserFeature features = 11;
|
||||
NodeCluster nodeCluster = 10; // 集群信息
|
||||
repeated UserFeature features = 11; // 开通功能
|
||||
}
|
||||
@@ -6,10 +6,10 @@ package pb;
|
||||
import "models/model_user.proto";
|
||||
|
||||
message UserAccount {
|
||||
int64 id = 1;
|
||||
int64 userId = 2;
|
||||
double total = 3;
|
||||
double totalFrozen = 4;
|
||||
int64 id = 1; // 账户ID
|
||||
int64 userId = 2; // 用户ID
|
||||
double total = 3; // 总可用余额
|
||||
double totalFrozen = 4; // 总冻结余额
|
||||
|
||||
User user = 30;
|
||||
User user = 30; // 用户信息
|
||||
}
|
||||
@@ -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; // 是否支持套餐
|
||||
}
|
||||
23
pkg/rpc/protos/models/model_user_script.proto
Normal file
23
pkg/rpc/protos/models/model_user_script.proto
Normal 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; // 用户信息
|
||||
}
|
||||
@@ -60,6 +60,9 @@ service AdminService {
|
||||
|
||||
// 修改管理员使用的界面风格
|
||||
rpc updateAdminTheme (UpdateAdminThemeRequest) returns (RPCSuccess);
|
||||
|
||||
// 修改管理员使用的语言
|
||||
rpc updateAdminLang(UpdateAdminLangRequest) returns (RPCSuccess);
|
||||
}
|
||||
|
||||
// 登录
|
||||
@@ -291,5 +294,10 @@ message ComposeAdminDashboardResponse {
|
||||
// 修改管理员使用的界面风格
|
||||
message UpdateAdminThemeRequest {
|
||||
int64 adminId = 1;
|
||||
string theme = 2;
|
||||
string theme = 2; // 风格代号
|
||||
}
|
||||
|
||||
// 修改管理员使用的语言
|
||||
message UpdateAdminLangRequest {
|
||||
string langCode = 1; // 语言代号:en-us, zh-cn, ...,如果为空表示默认
|
||||
}
|
||||
@@ -50,6 +50,9 @@ service HTTPFirewallPolicyService {
|
||||
|
||||
// 检查IP状态
|
||||
rpc checkHTTPFirewallPolicyIPStatus (CheckHTTPFirewallPolicyIPStatusRequest) returns (CheckHTTPFirewallPolicyIPStatusResponse);
|
||||
|
||||
// 获取防火墙对应的网站ID
|
||||
rpc findServerIdWithHTTPFirewallPolicyId(FindServerIdWithHTTPFirewallPolicyIdRequest) returns (FindServerIdWithHTTPFirewallPolicyIdResponse);
|
||||
}
|
||||
|
||||
// 获取所有可用策略
|
||||
@@ -174,11 +177,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
|
||||
}
|
||||
@@ -121,6 +121,9 @@ service HTTPWebService {
|
||||
|
||||
// 查找UserAgent设置
|
||||
rpc findHTTPWebUserAgent(FindHTTPWebUserAgentRequest) returns (FindHTTPWebUserAgentResponse);
|
||||
|
||||
// 根据WebId查找ServerId
|
||||
rpc findServerIdWithHTTPWebId(FindServerIdWithHTTPWebIdRequest) returns (FindServerIdWithHTTPWebIdResponse);
|
||||
}
|
||||
|
||||
// 创建Web配置
|
||||
@@ -379,4 +382,13 @@ message FindHTTPWebUserAgentRequest {
|
||||
|
||||
message FindHTTPWebUserAgentResponse {
|
||||
bytes userAgentJSON = 1;
|
||||
}
|
||||
|
||||
// 根据WebId查找ServerId
|
||||
message FindServerIdWithHTTPWebIdRequest {
|
||||
int64 httpWebId = 1; // Web设置ID
|
||||
}
|
||||
|
||||
message FindServerIdWithHTTPWebIdResponse {
|
||||
int64 serverId = 1; // 网站ID
|
||||
}
|
||||
@@ -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
|
||||
}
|
||||
@@ -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)
|
||||
}
|
||||
@@ -205,6 +205,9 @@ service NodeService {
|
||||
|
||||
// 查找节点的网络安全策略
|
||||
rpc findNodeNetworkSecurityPolicy(FindNodeNetworkSecurityPolicyRequest) returns (FindNodeNetworkSecurityPolicyResponse);
|
||||
|
||||
// 查找节点的WebP策略
|
||||
rpc findNodeWebPPolicies(FindNodeWebPPoliciesRequest) returns (FindNodeWebPPoliciesResponse);
|
||||
}
|
||||
|
||||
// 创建节点
|
||||
@@ -827,4 +830,18 @@ 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策略配置
|
||||
}
|
||||
}
|
||||
@@ -482,7 +482,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 +510,7 @@ message FindEnabledNodeClusterWebPPolicyResponse {
|
||||
// 设置集群WebP策略
|
||||
message UpdateNodeClusterWebPPolicyRequest {
|
||||
int64 nodeClusterId = 1;
|
||||
bytes webpPolicyJSON = 2;
|
||||
bytes webPPolicyJSON = 2;
|
||||
}
|
||||
|
||||
// 读取集群的UAM策略
|
||||
|
||||
@@ -26,27 +26,34 @@ service PlanService {
|
||||
// 列出单页套餐
|
||||
rpc listEnabledPlans(ListEnabledPlansRequest) returns (ListEnabledPlansResponse);
|
||||
|
||||
// 列出所有可用的套餐
|
||||
rpc findAllAvailablePlans(FindAllAvailablePlansRequest) returns (FindAllAvailablePlansResponse);
|
||||
|
||||
// 对套餐进行排序
|
||||
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; // 流量限制
|
||||
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连接数额度
|
||||
}
|
||||
|
||||
message CreatePlanResponse {
|
||||
@@ -55,37 +62,41 @@ 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; // 流量限制
|
||||
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连接数额度
|
||||
}
|
||||
|
||||
// 删除套餐
|
||||
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; // 套餐信息
|
||||
}
|
||||
|
||||
// 计算套餐数量
|
||||
@@ -100,10 +111,19 @@ message ListEnabledPlansRequest {
|
||||
}
|
||||
|
||||
message ListEnabledPlansResponse {
|
||||
repeated Plan plans = 1;
|
||||
repeated Plan plans = 1; // 套餐列表
|
||||
}
|
||||
|
||||
// 列出所有可用的套餐
|
||||
message FindAllAvailablePlansRequest {
|
||||
|
||||
}
|
||||
|
||||
message FindAllAvailablePlansResponse {
|
||||
repeated Plan plans = 1; // 套餐列表
|
||||
}
|
||||
|
||||
// 对套餐进行排序
|
||||
message SortPlansRequest {
|
||||
repeated int64 planIds = 1;
|
||||
repeated int64 planIds = 1; // 排序后的套餐ID列表
|
||||
}
|
||||
@@ -38,43 +38,43 @@ message CreateReverseProxyRequest {
|
||||
}
|
||||
|
||||
message CreateReverseProxyResponse {
|
||||
int64 reverseProxyId = 1;
|
||||
int64 reverseProxyId = 1; // 反向代理ID
|
||||
}
|
||||
|
||||
// 查找反向代理
|
||||
message FindEnabledReverseProxyRequest {
|
||||
int64 reverseProxyId = 1;
|
||||
int64 reverseProxyId = 1; // 反向代理ID
|
||||
}
|
||||
|
||||
message FindEnabledReverseProxyResponse {
|
||||
ReverseProxy reverseProxy = 1;
|
||||
ReverseProxy reverseProxy = 1; // 反向代理信息
|
||||
}
|
||||
|
||||
// 查找反向代理配置
|
||||
message FindEnabledReverseProxyConfigRequest {
|
||||
int64 reverseProxyId = 1;
|
||||
int64 reverseProxyId = 1; // 反向代理ID
|
||||
}
|
||||
|
||||
message FindEnabledReverseProxyConfigResponse {
|
||||
bytes reverseProxyJSON = 1;
|
||||
bytes reverseProxyJSON = 1; // 反向代理配置
|
||||
}
|
||||
|
||||
// 修改反向代理调度算法
|
||||
message UpdateReverseProxySchedulingRequest {
|
||||
int64 reverseProxyId = 1;
|
||||
bytes schedulingJSON = 2;
|
||||
int64 reverseProxyId = 1; // 反向代理ID
|
||||
bytes schedulingJSON = 2; // 调度配置 @link json:scheduling
|
||||
}
|
||||
|
||||
// 修改主要源站信息
|
||||
message UpdateReverseProxyPrimaryOriginsRequest {
|
||||
int64 reverseProxyId = 1;
|
||||
bytes originsJSON = 2;
|
||||
int64 reverseProxyId = 1; // 反向代理ID
|
||||
bytes originsJSON = 2; // 源站配置 @link json:origin_refs
|
||||
}
|
||||
|
||||
// 修改备用源站信息
|
||||
message UpdateReverseProxyBackupOriginsRequest {
|
||||
int64 reverseProxyId = 1;
|
||||
bytes originsJSON = 2;
|
||||
int64 reverseProxyId = 1; // 反向代理ID
|
||||
bytes originsJSON = 2; // 源站配置 @link json:origin_refs
|
||||
}
|
||||
|
||||
// 修改反向代理设置
|
||||
|
||||
@@ -149,9 +149,12 @@ service ServerService {
|
||||
// 上传HTTP请求待统计数据
|
||||
rpc uploadServerHTTPRequestStat (UploadServerHTTPRequestStatRequest) returns (RPCSuccess);
|
||||
|
||||
// 检查域名是否已经存在
|
||||
// 检查域名是否在集群中已经存在
|
||||
rpc checkServerNameDuplicationInNodeCluster (CheckServerNameDuplicationInNodeClusterRequest) returns (CheckServerNameDuplicationInNodeClusterResponse);
|
||||
|
||||
// 检查域名是否在网站中已经绑定
|
||||
rpc checkServerNameInServer(CheckServerNameInServerRequest) returns (CheckServerNameInServerResponse);
|
||||
|
||||
// 查找最近访问的网站
|
||||
rpc findLatestServers (FindLatestServersRequest) returns (FindLatestServersResponse);
|
||||
|
||||
@@ -631,7 +634,7 @@ message UploadServerHTTPRequestStatRequest {
|
||||
}
|
||||
}
|
||||
|
||||
// 检查域名是否已经存在
|
||||
// 检查域名是否在集群中已经存在
|
||||
message CheckServerNameDuplicationInNodeClusterRequest {
|
||||
int64 nodeClusterId = 1;
|
||||
repeated string serverNames = 2; // 可以同时检查一批域名
|
||||
@@ -643,6 +646,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;
|
||||
|
||||
@@ -26,43 +26,43 @@ service UserAccountService {
|
||||
|
||||
// 计算账户数量
|
||||
message CountUserAccountsRequest {
|
||||
string keyword = 1;
|
||||
string keyword = 1; // 关键词
|
||||
}
|
||||
|
||||
// 列出单页账户
|
||||
message ListUserAccountsRequest {
|
||||
string keyword = 1;
|
||||
string keyword = 1; // 关键词
|
||||
int64 offset = 2;
|
||||
int64 size = 3;
|
||||
}
|
||||
|
||||
message ListUserAccountsResponse {
|
||||
repeated UserAccount userAccounts = 1;
|
||||
repeated UserAccount userAccounts = 1; // 用户账户列表
|
||||
}
|
||||
|
||||
// 根据用户ID查找单个账户
|
||||
message FindEnabledUserAccountWithUserIdRequest {
|
||||
int64 userId = 1;
|
||||
int64 userId = 1; // 用户ID
|
||||
}
|
||||
|
||||
message FindEnabledUserAccountWithUserIdResponse {
|
||||
UserAccount userAccount = 1;
|
||||
UserAccount userAccount = 1; // 用户账户
|
||||
}
|
||||
|
||||
// 查找单个账户
|
||||
message FindEnabledUserAccountRequest {
|
||||
int64 userAccountId = 1;
|
||||
int64 userAccountId = 1; // 用户账户ID
|
||||
}
|
||||
|
||||
message FindEnabledUserAccountResponse {
|
||||
UserAccount userAccount = 1;
|
||||
UserAccount userAccount = 1; // 用户账户
|
||||
}
|
||||
|
||||
// 修改用户账户
|
||||
message UpdateUserAccountRequest {
|
||||
int64 userAccountId = 1;
|
||||
double delta = 2;
|
||||
string eventType = 3;
|
||||
string description = 4;
|
||||
bytes paramsJSON = 5;
|
||||
int64 userAccountId = 1; // 用户账户ID(非用户ID)
|
||||
double delta = 2; // 操作的数值,正值表示增加,负值表示减少
|
||||
string eventType = 3; // 事件类型:charge, award, buyPlan, payBill, refund, withdraw, buyNSPlan, buyTrafficPackage, buyAntiDDoSPackage, renewAntiDDoSPackage
|
||||
string description = 4; // 描述
|
||||
bytes paramsJSON = 5; // 相关参数
|
||||
}
|
||||
75
pkg/rpc/protos/service_user_script.proto
Normal file
75
pkg/rpc/protos/service_user_script.proto
Normal 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; // 代码MD5(32位)
|
||||
}
|
||||
|
||||
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; // 驳回理由
|
||||
}
|
||||
@@ -10,6 +10,7 @@ const (
|
||||
CaptchaTypeDefault CaptchaType = "default"
|
||||
CaptchaTypeOneClick CaptchaType = "oneClick"
|
||||
CaptchaTypeSlide CaptchaType = "slide"
|
||||
CaptchaTypeGeeTest CaptchaType = "geetest"
|
||||
)
|
||||
|
||||
// FindAllCaptchaTypes Find all captcha types
|
||||
@@ -30,6 +31,11 @@ func FindAllCaptchaTypes() []*shared.Definition {
|
||||
Name: "滑动解锁",
|
||||
Description: "通过滑动方块解锁来验证人机。",
|
||||
},
|
||||
{
|
||||
Code: CaptchaTypeGeeTest,
|
||||
Name: "极验-行为验",
|
||||
Description: "使用极验-行为验提供的人机验证方式。",
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,11 @@
|
||||
package firewallconfigs
|
||||
|
||||
type GeeTestConfig struct {
|
||||
IsOn bool `yaml:"isOn" json:"isOn"`
|
||||
CaptchaId string `yaml:"captchaId" json:"captchaId"`
|
||||
CaptchaKey string `yaml:"captchaKey" json:"captchaKey"`
|
||||
}
|
||||
|
||||
type HTTPFirewallCaptchaAction struct {
|
||||
IsPrior bool `yaml:"isPrior" json:"isPrior"`
|
||||
|
||||
@@ -10,6 +16,8 @@ type HTTPFirewallCaptchaAction struct {
|
||||
FailBlockTimeout int `yaml:"failBlockTimeout" json:"failBlockTimeout"` // 失败拦截时间
|
||||
FailBlockScopeAll bool `yaml:"failBlockScopeAll" json:"failBlockScopeAll"` // 是否全局有效
|
||||
|
||||
// 验证码相关配置
|
||||
|
||||
CountLetters int8 `yaml:"countLetters" json:"countLetters"` // 字符数量
|
||||
|
||||
UIIsOn bool `yaml:"uiIsOn" json:"uiIsOn"` // 是否使用自定义UI
|
||||
@@ -24,6 +32,10 @@ type HTTPFirewallCaptchaAction struct {
|
||||
CookieId string `yaml:"cookieId" json:"cookieId"` // TODO
|
||||
|
||||
Lang string `yaml:"lang" json:"lang"` // 语言,zh-CN, en-US ... TODO 需要实现,目前是根据浏览器Accept-Language动态获取
|
||||
|
||||
// 极验相关配置
|
||||
// MUST be struct
|
||||
GeeTestConfig GeeTestConfig `yaml:"geeTestConfig" json:"geeTestConfig"`
|
||||
}
|
||||
|
||||
func DefaultHTTPFirewallCaptchaAction() *HTTPFirewallCaptchaAction {
|
||||
|
||||
@@ -8,7 +8,7 @@ var AllActions = []*HTTPFirewallActionDefinition{
|
||||
{
|
||||
Name: "阻止",
|
||||
Code: HTTPFirewallActionBlock,
|
||||
Description: "阻止请求并中断当前连接。",
|
||||
Description: "阻止请求并中断当前连接,并自动将当前客户端IP加入到系统黑名单;使用此动作时,请先自行严格测试设置的规则是否正确,避免因错误封禁而导致用户无法正常访问的严重后果!",
|
||||
Category: HTTPFirewallActionCategoryBlock,
|
||||
},
|
||||
{
|
||||
|
||||
@@ -24,4 +24,5 @@ type HTTPFirewallCheckpointDefinition struct {
|
||||
IsComposed bool `json:"isComposed"` // 是否为组合的checkpoint
|
||||
Priority int `json:"priority"` // 优先级
|
||||
DataType string `json:"dataType"` // 数据类型:number, bool等
|
||||
Version string `json:"version"` // 被加入的版本号
|
||||
}
|
||||
|
||||
@@ -8,17 +8,17 @@ import (
|
||||
// AllCheckpoints all check points list
|
||||
var AllCheckpoints = []*HTTPFirewallCheckpointDefinition{
|
||||
{
|
||||
Name: "通用请求Header长度限制",
|
||||
Name: "通用请求报头长度限制",
|
||||
Prefix: "requestGeneralHeaderLength",
|
||||
Description: "通用Header比如Cache-Control、Accept之类的长度限制,防止缓冲区溢出攻击",
|
||||
Description: "通用报头比如Cache-Control、Accept之类的长度限制,防止缓冲区溢出攻击。",
|
||||
IsRequest: true,
|
||||
IsComposed: true,
|
||||
Priority: 100,
|
||||
},
|
||||
{
|
||||
Name: "通用响应Header长度限制",
|
||||
Name: "通用响应报头长度限制",
|
||||
Prefix: "responseGeneralHeaderLength",
|
||||
Description: "通用Header比如Cache-Control、Date之类的长度限制,防止缓冲区溢出攻击",
|
||||
Description: "通用报头比如Cache-Control、Date之类的长度限制,防止缓冲区溢出攻击。",
|
||||
IsRequest: false,
|
||||
IsComposed: true,
|
||||
Priority: 100,
|
||||
@@ -26,77 +26,77 @@ var AllCheckpoints = []*HTTPFirewallCheckpointDefinition{
|
||||
{
|
||||
Name: "客户端地址(IP)",
|
||||
Prefix: "remoteAddr",
|
||||
Description: "试图通过分析X-Forwarded-For等Header获取的客户端地址,比如192.168.1.100,存在伪造的可能",
|
||||
Description: "试图通过分析X-Forwarded-For等报头获取的客户端地址,比如192.168.1.100,存在伪造的可能。",
|
||||
IsRequest: true,
|
||||
Priority: 100,
|
||||
},
|
||||
{
|
||||
Name: "客户端源地址(IP)",
|
||||
Prefix: "rawRemoteAddr",
|
||||
Description: "直接连接的客户端地址,比如192.168.1.100",
|
||||
Description: "直接连接的客户端地址,比如192.168.1.100。",
|
||||
IsRequest: true,
|
||||
Priority: 100,
|
||||
},
|
||||
{
|
||||
Name: "客户端端口",
|
||||
Prefix: "remotePort",
|
||||
Description: "直接连接的客户端地址端口",
|
||||
Description: "直接连接的客户端地址端口。",
|
||||
IsRequest: true,
|
||||
Priority: 100,
|
||||
},
|
||||
{
|
||||
Name: "客户端用户名",
|
||||
Prefix: "remoteUser",
|
||||
Description: "通过BasicAuth登录的客户端用户名",
|
||||
Description: "通过BasicAuth登录的客户端用户名。",
|
||||
IsRequest: true,
|
||||
Priority: 100,
|
||||
},
|
||||
{
|
||||
Name: "请求URI",
|
||||
Prefix: "requestURI",
|
||||
Description: "包含URL参数的请求URI,类似于 /hello/world?lang=go,不包含域名部分",
|
||||
Description: "包含URL参数的请求URI,类似于 /hello/world?lang=go,不包含域名部分。",
|
||||
IsRequest: true,
|
||||
Priority: 100,
|
||||
},
|
||||
{
|
||||
Name: "请求路径",
|
||||
Prefix: "requestPath",
|
||||
Description: "不包含URL参数的请求路径,类似于 /hello/world,不包含域名部分",
|
||||
Description: "不包含URL参数的请求路径,类似于 /hello/world,不包含域名部分。",
|
||||
IsRequest: true,
|
||||
Priority: 100,
|
||||
},
|
||||
{
|
||||
Name: "请求完整URL",
|
||||
Prefix: "requestURL",
|
||||
Description: "完整的请求URL,包含协议、域名、请求路径、参数等,类似于 https://example.com/hello?name=lily",
|
||||
Description: "完整的请求URL,包含协议、域名、请求路径、参数等,类似于 https://example.com/hello?name=lily 。",
|
||||
IsRequest: true,
|
||||
Priority: 100,
|
||||
},
|
||||
{
|
||||
Name: "请求内容长度",
|
||||
Prefix: "requestLength",
|
||||
Description: "请求Header中的Content-Length",
|
||||
Description: "请求报头中的Content-Length。",
|
||||
IsRequest: true,
|
||||
Priority: 100,
|
||||
},
|
||||
{
|
||||
Name: "请求体内容",
|
||||
Prefix: "requestBody",
|
||||
Description: "通常在POST或者PUT等操作时会附带请求体,最大限制32M",
|
||||
Description: "通常在POST或者PUT等操作时会附带请求体,最大限制32M。",
|
||||
IsRequest: true,
|
||||
Priority: 5,
|
||||
},
|
||||
{
|
||||
Name: "请求URI和请求体组合",
|
||||
Prefix: "requestAll",
|
||||
Description: "${requestURI}和${requestBody}组合",
|
||||
Description: "${requestURI}和${requestBody}组合。",
|
||||
IsRequest: true,
|
||||
Priority: 5,
|
||||
},
|
||||
{
|
||||
Name: "请求表单参数",
|
||||
Prefix: "requestForm",
|
||||
Description: "获取POST或者其他方法发送的表单参数,最大请求体限制32M",
|
||||
Description: "获取POST或者其他方法发送的表单参数,最大请求体限制32M。",
|
||||
IsRequest: true,
|
||||
HasParams: true,
|
||||
Priority: 5,
|
||||
@@ -104,7 +104,7 @@ var AllCheckpoints = []*HTTPFirewallCheckpointDefinition{
|
||||
{
|
||||
Name: "上传文件",
|
||||
Prefix: "requestUpload",
|
||||
Description: "获取POST上传的文件信息,最大请求体限制32M",
|
||||
Description: "获取POST上传的文件信息,最大请求体限制32M。",
|
||||
Params: []*KeyValue{
|
||||
NewKeyValue("最小文件尺寸", "minSize"),
|
||||
NewKeyValue("最大文件尺寸", "maxSize"),
|
||||
@@ -119,7 +119,7 @@ var AllCheckpoints = []*HTTPFirewallCheckpointDefinition{
|
||||
{
|
||||
Name: "请求JSON参数",
|
||||
Prefix: "requestJSON",
|
||||
Description: "获取POST或者其他方法发送的JSON,最大请求体限制32M,使用点(.)符号表示多级数据",
|
||||
Description: "获取POST或者其他方法发送的JSON,最大请求体限制32M,使用点(.)符号表示多级数据。",
|
||||
IsRequest: true,
|
||||
HasParams: true,
|
||||
Priority: 5,
|
||||
@@ -127,78 +127,86 @@ var AllCheckpoints = []*HTTPFirewallCheckpointDefinition{
|
||||
{
|
||||
Name: "请求方法",
|
||||
Prefix: "requestMethod",
|
||||
Description: "比如GET、POST",
|
||||
Description: "比如GET、POST。",
|
||||
IsRequest: true,
|
||||
Priority: 100,
|
||||
},
|
||||
{
|
||||
Name: "请求协议",
|
||||
Prefix: "scheme",
|
||||
Description: "比如http或https",
|
||||
Description: "比如http或https。",
|
||||
IsRequest: true,
|
||||
Priority: 100,
|
||||
},
|
||||
{
|
||||
Name: "HTTP协议版本",
|
||||
Prefix: "proto",
|
||||
Description: "比如HTTP/1.1",
|
||||
Description: "比如HTTP/1.1。",
|
||||
IsRequest: true,
|
||||
Priority: 100,
|
||||
},
|
||||
{
|
||||
Name: "主机名",
|
||||
Prefix: "host",
|
||||
Description: "比如goedge.cn",
|
||||
Description: "比如example.com。",
|
||||
IsRequest: true,
|
||||
Priority: 100,
|
||||
},
|
||||
{
|
||||
Name: "CNAME",
|
||||
Prefix: "cname",
|
||||
Description: "当前网站服务CNAME,比如38b48e4f.goedge.cn",
|
||||
Description: "当前网站服务CNAME,比如38b48e4f.example.com。",
|
||||
IsRequest: true,
|
||||
Priority: 100,
|
||||
},
|
||||
{
|
||||
Name: "是否为CNAME",
|
||||
Prefix: "isCNAME",
|
||||
Description: "是否为CNAME,值为1(是)或0(否)",
|
||||
Description: "是否为CNAME,值为1(是)或0(否)。",
|
||||
IsRequest: true,
|
||||
Priority: 100,
|
||||
DataType: "bool",
|
||||
},
|
||||
{
|
||||
Name: "请求来源URL",
|
||||
Name: "请求来源",
|
||||
Prefix: "refererOrigin",
|
||||
Description: "请求报头中的Referer和Origin值。",
|
||||
IsRequest: true,
|
||||
Priority: 100,
|
||||
Version: "1.3.2",
|
||||
},
|
||||
{
|
||||
Name: "请求来源Referer",
|
||||
Prefix: "referer",
|
||||
Description: "请求Header中的Referer值",
|
||||
Description: "请求报头中的Referer值。",
|
||||
IsRequest: true,
|
||||
Priority: 100,
|
||||
},
|
||||
{
|
||||
Name: "客户端信息",
|
||||
Prefix: "userAgent",
|
||||
Description: "比如Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103",
|
||||
Description: "比如Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103。",
|
||||
IsRequest: true,
|
||||
Priority: 100,
|
||||
},
|
||||
{
|
||||
Name: "内容类型",
|
||||
Prefix: "contentType",
|
||||
Description: "请求Header的Content-Type",
|
||||
Description: "请求报头的Content-Type。",
|
||||
IsRequest: true,
|
||||
Priority: 100,
|
||||
},
|
||||
{
|
||||
Name: "所有cookie组合字符串",
|
||||
Prefix: "cookies",
|
||||
Description: "比如sid=IxZVPFhE&city=beijing&uid=18237",
|
||||
Description: "比如sid=IxZVPFhE&city=beijing&uid=18237。",
|
||||
IsRequest: true,
|
||||
Priority: 100,
|
||||
},
|
||||
{
|
||||
Name: "单个cookie值",
|
||||
Prefix: "cookie",
|
||||
Description: "单个cookie值",
|
||||
Description: "单个cookie值。",
|
||||
IsRequest: true,
|
||||
HasParams: true,
|
||||
Priority: 100,
|
||||
@@ -206,29 +214,37 @@ var AllCheckpoints = []*HTTPFirewallCheckpointDefinition{
|
||||
{
|
||||
Name: "所有URL参数组合",
|
||||
Prefix: "args",
|
||||
Description: "比如name=lu&age=20",
|
||||
Description: "比如name=lu&age=20。",
|
||||
IsRequest: true,
|
||||
Priority: 100,
|
||||
},
|
||||
{
|
||||
Name: "单个URL参数值",
|
||||
Prefix: "arg",
|
||||
Description: "单个URL参数值",
|
||||
Description: "单个URL参数值。",
|
||||
IsRequest: true,
|
||||
HasParams: true,
|
||||
Priority: 100,
|
||||
},
|
||||
{
|
||||
Name: "所有Header信息",
|
||||
Name: "所有请求报头内容",
|
||||
Prefix: "headers",
|
||||
Description: "使用\\n隔开的Header信息字符串",
|
||||
Description: "使用换行符(\\n)隔开的报头内容字符串,每行均为\"NAME: VALUE格式\"。",
|
||||
IsRequest: true,
|
||||
Priority: 100,
|
||||
},
|
||||
{
|
||||
Name: "单个Header值",
|
||||
Name: "所有请求报头名称",
|
||||
Prefix: "headerNames",
|
||||
Description: "使用换行符(\\n)隔开的报头名称字符串,每行一个名称。",
|
||||
IsRequest: true,
|
||||
Priority: 100,
|
||||
Version: "1.3.2",
|
||||
},
|
||||
{
|
||||
Name: "单个请求报头值",
|
||||
Prefix: "header",
|
||||
Description: "单个Header值",
|
||||
Description: "单个报头值。",
|
||||
IsRequest: true,
|
||||
HasParams: true,
|
||||
Priority: 100,
|
||||
@@ -236,7 +252,7 @@ var AllCheckpoints = []*HTTPFirewallCheckpointDefinition{
|
||||
{
|
||||
Name: "国家/地区名称",
|
||||
Prefix: "geoCountryName",
|
||||
Description: "国家/地区名称",
|
||||
Description: "当前客户端所处国家/地区名称。",
|
||||
IsRequest: true,
|
||||
HasParams: false,
|
||||
Priority: 90,
|
||||
@@ -244,7 +260,7 @@ var AllCheckpoints = []*HTTPFirewallCheckpointDefinition{
|
||||
{
|
||||
Name: "省份名称",
|
||||
Prefix: "geoProvinceName",
|
||||
Description: "中国省份名称",
|
||||
Description: "当前客户端所处中国省份名称。",
|
||||
IsRequest: true,
|
||||
HasParams: false,
|
||||
Priority: 90,
|
||||
@@ -252,7 +268,7 @@ var AllCheckpoints = []*HTTPFirewallCheckpointDefinition{
|
||||
{
|
||||
Name: "城市名称",
|
||||
Prefix: "geoCityName",
|
||||
Description: "中国城市名称",
|
||||
Description: "当前客户端所处中国城市名称。",
|
||||
IsRequest: true,
|
||||
HasParams: false,
|
||||
Priority: 90,
|
||||
@@ -260,7 +276,7 @@ var AllCheckpoints = []*HTTPFirewallCheckpointDefinition{
|
||||
{
|
||||
Name: "ISP名称",
|
||||
Prefix: "ispName",
|
||||
Description: "ISP名称",
|
||||
Description: "当前客户端所处ISP名称。",
|
||||
IsRequest: true,
|
||||
HasParams: false,
|
||||
Priority: 90,
|
||||
@@ -268,7 +284,7 @@ var AllCheckpoints = []*HTTPFirewallCheckpointDefinition{
|
||||
{
|
||||
Name: "CC统计",
|
||||
Prefix: "cc2",
|
||||
Description: "对统计对象进行统计",
|
||||
Description: "对统计对象进行统计。",
|
||||
HasParams: false,
|
||||
IsRequest: true,
|
||||
IsComposed: true,
|
||||
@@ -277,7 +293,7 @@ var AllCheckpoints = []*HTTPFirewallCheckpointDefinition{
|
||||
{
|
||||
Name: "防盗链",
|
||||
Prefix: "refererBlock",
|
||||
Description: "对统计对象进行统计",
|
||||
Description: "对统计对象进行统计。",
|
||||
HasParams: false,
|
||||
IsRequest: true,
|
||||
IsComposed: true,
|
||||
@@ -286,7 +302,7 @@ var AllCheckpoints = []*HTTPFirewallCheckpointDefinition{
|
||||
{
|
||||
Name: "CC统计(旧)",
|
||||
Prefix: "cc",
|
||||
Description: "统计某段时间段内的请求信息(不推荐再使用,请使用新的CC2统计代替)",
|
||||
Description: "统计某段时间段内的请求信息(不推荐再使用,请使用新的CC2统计代替)。",
|
||||
HasParams: true,
|
||||
Params: []*KeyValue{
|
||||
NewKeyValue("请求数", "requests"),
|
||||
@@ -366,14 +382,14 @@ var AllCheckpoints = []*HTTPFirewallCheckpointDefinition{
|
||||
{
|
||||
Name: "响应状态码",
|
||||
Prefix: "status",
|
||||
Description: "响应状态码,比如200、404、500",
|
||||
Description: "响应状态码,比如200、404、500。",
|
||||
IsRequest: false,
|
||||
Priority: 100,
|
||||
},
|
||||
{
|
||||
Name: "响应Header",
|
||||
Name: "响应报头",
|
||||
Prefix: "responseHeader",
|
||||
Description: "响应Header值",
|
||||
Description: "响应报头值。",
|
||||
IsRequest: false,
|
||||
HasParams: true,
|
||||
Priority: 100,
|
||||
@@ -381,14 +397,14 @@ var AllCheckpoints = []*HTTPFirewallCheckpointDefinition{
|
||||
{
|
||||
Name: "响应内容",
|
||||
Prefix: "responseBody",
|
||||
Description: "响应内容字符串",
|
||||
Description: "响应内容字符串。",
|
||||
IsRequest: false,
|
||||
Priority: 5,
|
||||
},
|
||||
{
|
||||
Name: "响应内容长度",
|
||||
Prefix: "bytesSent",
|
||||
Description: "响应内容长度,通过响应的Header Content-Length获取",
|
||||
Description: "响应内容长度,通过响应的报头Content-Length获取。",
|
||||
IsRequest: false,
|
||||
Priority: 100,
|
||||
},
|
||||
|
||||
@@ -19,6 +19,9 @@ func TestRuleCheckpoint_Markdown(t *testing.T) {
|
||||
row += "* 名称:" + def.Name + "\n"
|
||||
row += "* 代号:`${" + def.Prefix + "}`\n"
|
||||
row += "* 描述:" + def.Description + "\n"
|
||||
if len(def.Version) > 0 {
|
||||
row += "* 版本:v" + def.Version + "\n"
|
||||
}
|
||||
result = append(result, row)
|
||||
}
|
||||
|
||||
|
||||
@@ -2,12 +2,13 @@ package firewallconfigs
|
||||
|
||||
import "encoding/json"
|
||||
|
||||
const DefaultMaxRequestBodySize int64 = 512 << 10
|
||||
const DefaultMaxRequestBodySize int64 = 256 << 10
|
||||
|
||||
// HTTPFirewallPolicy 防火墙策略
|
||||
type HTTPFirewallPolicy struct {
|
||||
Id int64 `yaml:"id" json:"id"`
|
||||
IsOn bool `yaml:"isOn" json:"isOn"`
|
||||
ServerId int64 `yaml:"serverId" json:"serverId"` // 所属网站ID
|
||||
Name string `yaml:"name" json:"name"`
|
||||
Description string `yaml:"description" json:"description"`
|
||||
Inbound *HTTPFirewallInboundConfig `yaml:"inbound" json:"inbound"`
|
||||
|
||||
@@ -7,6 +7,7 @@ const (
|
||||
ServerCaptchaTypeDefault ServerCaptchaType = CaptchaTypeDefault
|
||||
ServerCaptchaTypeOneClick ServerCaptchaType = CaptchaTypeOneClick
|
||||
ServerCaptchaTypeSlide ServerCaptchaType = CaptchaTypeSlide
|
||||
ServerCaptchaTypeGeeTest ServerCaptchaType = CaptchaTypeGeeTest
|
||||
)
|
||||
|
||||
type HTTPFirewallRef struct {
|
||||
|
||||
@@ -4,33 +4,39 @@ type HTTPFirewallRuleOperator = string
|
||||
type HTTPFirewallRuleCaseInsensitive = string
|
||||
|
||||
const (
|
||||
HTTPFirewallRuleOperatorGt HTTPFirewallRuleOperator = "gt"
|
||||
HTTPFirewallRuleOperatorGte HTTPFirewallRuleOperator = "gte"
|
||||
HTTPFirewallRuleOperatorLt HTTPFirewallRuleOperator = "lt"
|
||||
HTTPFirewallRuleOperatorLte HTTPFirewallRuleOperator = "lte"
|
||||
HTTPFirewallRuleOperatorEq HTTPFirewallRuleOperator = "eq"
|
||||
HTTPFirewallRuleOperatorNeq HTTPFirewallRuleOperator = "neq"
|
||||
HTTPFirewallRuleOperatorEqString HTTPFirewallRuleOperator = "eq string"
|
||||
HTTPFirewallRuleOperatorNeqString HTTPFirewallRuleOperator = "neq string"
|
||||
HTTPFirewallRuleOperatorMatch HTTPFirewallRuleOperator = "match"
|
||||
HTTPFirewallRuleOperatorNotMatch HTTPFirewallRuleOperator = "not match"
|
||||
HTTPFirewallRuleOperatorWildcardMatch HTTPFirewallRuleOperator = "wildcard match"
|
||||
HTTPFirewallRuleOperatorWildcardNotMatch HTTPFirewallRuleOperator = "wildcard not match"
|
||||
HTTPFirewallRuleOperatorContains HTTPFirewallRuleOperator = "contains"
|
||||
HTTPFirewallRuleOperatorNotContains HTTPFirewallRuleOperator = "not contains"
|
||||
HTTPFirewallRuleOperatorPrefix HTTPFirewallRuleOperator = "prefix"
|
||||
HTTPFirewallRuleOperatorSuffix HTTPFirewallRuleOperator = "suffix"
|
||||
HTTPFirewallRuleOperatorContainsAny HTTPFirewallRuleOperator = "contains any"
|
||||
HTTPFirewallRuleOperatorContainsAll HTTPFirewallRuleOperator = "contains all"
|
||||
HTTPFirewallRuleOperatorHasKey HTTPFirewallRuleOperator = "has key" // has key in slice or map
|
||||
HTTPFirewallRuleOperatorVersionGt HTTPFirewallRuleOperator = "version gt"
|
||||
HTTPFirewallRuleOperatorVersionLt HTTPFirewallRuleOperator = "version lt"
|
||||
HTTPFirewallRuleOperatorVersionRange HTTPFirewallRuleOperator = "version range"
|
||||
HTTPFirewallRuleOperatorGt HTTPFirewallRuleOperator = "gt"
|
||||
HTTPFirewallRuleOperatorGte HTTPFirewallRuleOperator = "gte"
|
||||
HTTPFirewallRuleOperatorLt HTTPFirewallRuleOperator = "lt"
|
||||
HTTPFirewallRuleOperatorLte HTTPFirewallRuleOperator = "lte"
|
||||
HTTPFirewallRuleOperatorEq HTTPFirewallRuleOperator = "eq"
|
||||
HTTPFirewallRuleOperatorNeq HTTPFirewallRuleOperator = "neq"
|
||||
HTTPFirewallRuleOperatorEqString HTTPFirewallRuleOperator = "eq string"
|
||||
HTTPFirewallRuleOperatorNeqString HTTPFirewallRuleOperator = "neq string"
|
||||
HTTPFirewallRuleOperatorMatch HTTPFirewallRuleOperator = "match"
|
||||
HTTPFirewallRuleOperatorNotMatch HTTPFirewallRuleOperator = "not match"
|
||||
HTTPFirewallRuleOperatorWildcardMatch HTTPFirewallRuleOperator = "wildcard match"
|
||||
HTTPFirewallRuleOperatorWildcardNotMatch HTTPFirewallRuleOperator = "wildcard not match"
|
||||
HTTPFirewallRuleOperatorContains HTTPFirewallRuleOperator = "contains"
|
||||
HTTPFirewallRuleOperatorNotContains HTTPFirewallRuleOperator = "not contains"
|
||||
HTTPFirewallRuleOperatorContainsAnyWord HTTPFirewallRuleOperator = "contains any word"
|
||||
HTTPFirewallRuleOperatorContainsAllWords HTTPFirewallRuleOperator = "contains all words"
|
||||
HTTPFirewallRuleOperatorNotContainsAnyWord HTTPFirewallRuleOperator = "not contains any word"
|
||||
HTTPFirewallRuleOperatorPrefix HTTPFirewallRuleOperator = "prefix"
|
||||
HTTPFirewallRuleOperatorSuffix HTTPFirewallRuleOperator = "suffix"
|
||||
HTTPFirewallRuleOperatorContainsAny HTTPFirewallRuleOperator = "contains any"
|
||||
HTTPFirewallRuleOperatorContainsAll HTTPFirewallRuleOperator = "contains all"
|
||||
HTTPFirewallRuleOperatorContainsSQLInjection HTTPFirewallRuleOperator = "contains sql injection"
|
||||
HTTPFirewallRuleOperatorContainsXSS HTTPFirewallRuleOperator = "contains xss"
|
||||
HTTPFirewallRuleOperatorHasKey HTTPFirewallRuleOperator = "has key" // has key in slice or map
|
||||
HTTPFirewallRuleOperatorVersionGt HTTPFirewallRuleOperator = "version gt"
|
||||
HTTPFirewallRuleOperatorVersionLt HTTPFirewallRuleOperator = "version lt"
|
||||
HTTPFirewallRuleOperatorVersionRange HTTPFirewallRuleOperator = "version range"
|
||||
|
||||
HTTPFirewallRuleOperatorContainsBinary HTTPFirewallRuleOperator = "contains binary" // contains binary
|
||||
HTTPFirewallRuleOperatorNotContainsBinary HTTPFirewallRuleOperator = "not contains binary" // not contains binary
|
||||
|
||||
// ip
|
||||
|
||||
HTTPFirewallRuleOperatorEqIP HTTPFirewallRuleOperator = "eq ip"
|
||||
HTTPFirewallRuleOperatorInIPList HTTPFirewallRuleOperator = "in ip list"
|
||||
HTTPFirewallRuleOperatorGtIP HTTPFirewallRuleOperator = "gt ip"
|
||||
@@ -141,6 +147,41 @@ var AllRuleOperators = []*RuleOperatorDefinition{
|
||||
CaseInsensitive: HTTPFirewallRuleCaseInsensitiveNo,
|
||||
DataType: "string",
|
||||
},
|
||||
{
|
||||
Name: "包含任一单词",
|
||||
Code: HTTPFirewallRuleOperatorContainsAnyWord,
|
||||
Description: "包含某个独立单词,对比值中每行一个单词,比如mozilla firefox里包含了mozilla和firefox两个单词,但是不包含fire和fox这两个单词。",
|
||||
CaseInsensitive: HTTPFirewallRuleCaseInsensitiveNo,
|
||||
DataType: "strings",
|
||||
},
|
||||
{
|
||||
Name: "包含所有单词",
|
||||
Code: HTTPFirewallRuleOperatorContainsAllWords,
|
||||
Description: "包含所有的独立单词,对比值中每行一个单词,比如mozilla firefox里包含了mozilla和firefox两个单词,但是不包含fire和fox这两个单词。",
|
||||
CaseInsensitive: HTTPFirewallRuleCaseInsensitiveNo,
|
||||
DataType: "strings",
|
||||
},
|
||||
{
|
||||
Name: "不包含任一单词",
|
||||
Code: HTTPFirewallRuleOperatorNotContainsAnyWord,
|
||||
Description: "不包含某个独立单词,对比值中每行一个单词,比如mozilla firefox里包含了mozilla和firefox两个单词,但是不包含fire和fox这两个单词。",
|
||||
CaseInsensitive: HTTPFirewallRuleCaseInsensitiveNo,
|
||||
DataType: "strings",
|
||||
},
|
||||
{
|
||||
Name: "包含SQL注入",
|
||||
Code: HTTPFirewallRuleOperatorContainsSQLInjection,
|
||||
Description: "检测字符串内容是否包含SQL注入。",
|
||||
CaseInsensitive: HTTPFirewallRuleCaseInsensitiveNone,
|
||||
DataType: "none",
|
||||
},
|
||||
{
|
||||
Name: "包含XSS注入",
|
||||
Code: HTTPFirewallRuleOperatorContainsXSS,
|
||||
Description: "检测字符串内容是否包含XSS注入。",
|
||||
CaseInsensitive: HTTPFirewallRuleCaseInsensitiveNone,
|
||||
DataType: "none",
|
||||
},
|
||||
{
|
||||
Name: "包含二进制数据",
|
||||
Code: HTTPFirewallRuleOperatorContainsBinary,
|
||||
@@ -214,7 +255,7 @@ var AllRuleOperators = []*RuleOperatorDefinition{
|
||||
{
|
||||
Name: "版本号小于",
|
||||
Code: HTTPFirewallRuleOperatorVersionLt,
|
||||
Description: "对比版本号小于",
|
||||
Description: "对比版本号小于。",
|
||||
CaseInsensitive: HTTPFirewallRuleCaseInsensitiveNone,
|
||||
DataType: "version",
|
||||
},
|
||||
|
||||
@@ -27,62 +27,21 @@ func HTTPFirewallTemplate() *HTTPFirewallPolicy {
|
||||
{
|
||||
var set = &HTTPFirewallRuleSet{}
|
||||
set.IsOn = true
|
||||
set.Name = "Javascript事件"
|
||||
set.Code = "1001"
|
||||
set.Name = "XSS攻击检测"
|
||||
set.Code = "1010"
|
||||
set.Connector = HTTPFirewallRuleConnectorOr
|
||||
set.Actions = []*HTTPFirewallActionConfig{
|
||||
{
|
||||
Code: HTTPFirewallActionBlock,
|
||||
Code: HTTPFirewallActionPage,
|
||||
Options: maps.Map{"status": 403, "body": ""},
|
||||
},
|
||||
}
|
||||
set.AddRule(&HTTPFirewallRule{
|
||||
IsOn: true,
|
||||
Param: "${requestURI}",
|
||||
Operator: HTTPFirewallRuleOperatorMatch,
|
||||
Value: `(onmouseover|onmousemove|onmousedown|onmouseup|onerror|onload|onclick|ondblclick|onkeydown|onkeyup|onkeypress)\s*=`, // TODO more keywords here
|
||||
IsCaseInsensitive: true,
|
||||
})
|
||||
group.AddRuleSet(set)
|
||||
}
|
||||
|
||||
{
|
||||
var set = &HTTPFirewallRuleSet{}
|
||||
set.IsOn = true
|
||||
set.Name = "Javascript函数"
|
||||
set.Code = "1002"
|
||||
set.Connector = HTTPFirewallRuleConnectorOr
|
||||
set.Actions = []*HTTPFirewallActionConfig{
|
||||
{
|
||||
Code: HTTPFirewallActionBlock,
|
||||
},
|
||||
}
|
||||
set.AddRule(&HTTPFirewallRule{
|
||||
IsOn: true,
|
||||
Param: "${requestURI}",
|
||||
Operator: HTTPFirewallRuleOperatorMatch,
|
||||
Value: `(alert|eval|prompt|confirm)\s*\(`, // TODO more keywords here
|
||||
IsCaseInsensitive: true,
|
||||
})
|
||||
group.AddRuleSet(set)
|
||||
}
|
||||
|
||||
{
|
||||
var set = &HTTPFirewallRuleSet{}
|
||||
set.IsOn = true
|
||||
set.Name = "HTML标签"
|
||||
set.Code = "1003"
|
||||
set.Connector = HTTPFirewallRuleConnectorOr
|
||||
set.Actions = []*HTTPFirewallActionConfig{
|
||||
{
|
||||
Code: HTTPFirewallActionBlock,
|
||||
},
|
||||
}
|
||||
set.AddRule(&HTTPFirewallRule{
|
||||
IsOn: true,
|
||||
Param: "${requestURI}",
|
||||
Operator: HTTPFirewallRuleOperatorMatch,
|
||||
Value: `<(script|iframe|link)`, // TODO more keywords here
|
||||
IsCaseInsensitive: true,
|
||||
Param: "${requestAll}",
|
||||
Operator: HTTPFirewallRuleOperatorContainsXSS,
|
||||
Value: "",
|
||||
IsCaseInsensitive: false,
|
||||
})
|
||||
group.AddRuleSet(set)
|
||||
}
|
||||
@@ -107,7 +66,8 @@ func HTTPFirewallTemplate() *HTTPFirewallPolicy {
|
||||
set.Connector = HTTPFirewallRuleConnectorOr
|
||||
set.Actions = []*HTTPFirewallActionConfig{
|
||||
{
|
||||
Code: HTTPFirewallActionBlock,
|
||||
Code: HTTPFirewallActionPage,
|
||||
Options: maps.Map{"status": 403, "body": ""},
|
||||
},
|
||||
}
|
||||
set.AddRule(&HTTPFirewallRule{
|
||||
@@ -140,7 +100,8 @@ func HTTPFirewallTemplate() *HTTPFirewallPolicy {
|
||||
set.Connector = HTTPFirewallRuleConnectorOr
|
||||
set.Actions = []*HTTPFirewallActionConfig{
|
||||
{
|
||||
Code: HTTPFirewallActionBlock,
|
||||
Code: HTTPFirewallActionPage,
|
||||
Options: maps.Map{"status": 403, "body": ""},
|
||||
},
|
||||
}
|
||||
set.AddRule(&HTTPFirewallRule{
|
||||
@@ -172,7 +133,8 @@ func HTTPFirewallTemplate() *HTTPFirewallPolicy {
|
||||
set.Connector = HTTPFirewallRuleConnectorOr
|
||||
set.Actions = []*HTTPFirewallActionConfig{
|
||||
{
|
||||
Code: HTTPFirewallActionBlock,
|
||||
Code: HTTPFirewallActionPage,
|
||||
Options: maps.Map{"status": 403, "body": ""},
|
||||
},
|
||||
}
|
||||
set.AddRule(&HTTPFirewallRule{
|
||||
@@ -212,14 +174,15 @@ func HTTPFirewallTemplate() *HTTPFirewallPolicy {
|
||||
set.Connector = HTTPFirewallRuleConnectorOr
|
||||
set.Actions = []*HTTPFirewallActionConfig{
|
||||
{
|
||||
Code: HTTPFirewallActionBlock,
|
||||
Code: HTTPFirewallActionPage,
|
||||
Options: maps.Map{"status": 403, "body": ""},
|
||||
},
|
||||
}
|
||||
set.AddRule(&HTTPFirewallRule{
|
||||
IsOn: true,
|
||||
Param: "${requestURI}",
|
||||
Operator: HTTPFirewallRuleOperatorMatch,
|
||||
Value: `((\.+)(/+)){2,}`, // TODO more keywords here
|
||||
Value: `((\.+)(/+)){2,}`,
|
||||
IsCaseInsensitive: false,
|
||||
})
|
||||
group.AddRuleSet(set)
|
||||
@@ -245,14 +208,15 @@ func HTTPFirewallTemplate() *HTTPFirewallPolicy {
|
||||
set.Connector = HTTPFirewallRuleConnectorOr
|
||||
set.Actions = []*HTTPFirewallActionConfig{
|
||||
{
|
||||
Code: HTTPFirewallActionBlock,
|
||||
Code: HTTPFirewallActionPage,
|
||||
Options: maps.Map{"status": 403, "body": ""},
|
||||
},
|
||||
}
|
||||
set.AddRule(&HTTPFirewallRule{
|
||||
IsOn: true,
|
||||
Param: "${requestPath}",
|
||||
Operator: HTTPFirewallRuleOperatorMatch,
|
||||
Value: `/\.(git|svn|htaccess|idea|env)\b`, // TODO more keywords here
|
||||
Operator: HTTPFirewallRuleOperatorContainsAnyWord,
|
||||
Value: "/.git\n/.svn\n/.htaccess\n/.idea\n/.env\n/.vscode",
|
||||
IsCaseInsensitive: true,
|
||||
})
|
||||
group.AddRuleSet(set)
|
||||
@@ -273,134 +237,22 @@ func HTTPFirewallTemplate() *HTTPFirewallPolicy {
|
||||
{
|
||||
var set = &HTTPFirewallRuleSet{}
|
||||
set.IsOn = true
|
||||
set.Name = "Union SQL Injection"
|
||||
set.Code = "7001"
|
||||
set.Name = "SQL注入检测"
|
||||
set.Code = "7010"
|
||||
set.Connector = HTTPFirewallRuleConnectorOr
|
||||
set.Actions = []*HTTPFirewallActionConfig{
|
||||
{
|
||||
Code: HTTPFirewallActionBlock,
|
||||
Code: HTTPFirewallActionPage,
|
||||
Options: maps.Map{"status": 403, "body": ""},
|
||||
},
|
||||
}
|
||||
|
||||
set.AddRule(&HTTPFirewallRule{
|
||||
IsOn: true,
|
||||
Param: "${requestAll}",
|
||||
Operator: HTTPFirewallRuleOperatorMatch,
|
||||
Value: `union[\s/\*]+select`,
|
||||
IsCaseInsensitive: true,
|
||||
})
|
||||
|
||||
group.AddRuleSet(set)
|
||||
}
|
||||
|
||||
{
|
||||
var set = &HTTPFirewallRuleSet{}
|
||||
set.IsOn = false
|
||||
set.Name = "SQL注释"
|
||||
set.Code = "7002"
|
||||
set.Connector = HTTPFirewallRuleConnectorOr
|
||||
set.Actions = []*HTTPFirewallActionConfig{
|
||||
{
|
||||
Code: HTTPFirewallActionBlock,
|
||||
},
|
||||
}
|
||||
|
||||
set.AddRule(&HTTPFirewallRule{
|
||||
IsOn: true,
|
||||
Param: "${requestAll}",
|
||||
Operator: HTTPFirewallRuleOperatorMatch,
|
||||
Value: `/\*(!|\x00)`,
|
||||
IsCaseInsensitive: true,
|
||||
})
|
||||
|
||||
group.AddRuleSet(set)
|
||||
}
|
||||
|
||||
{
|
||||
var set = &HTTPFirewallRuleSet{}
|
||||
set.IsOn = true
|
||||
set.Name = "SQL条件"
|
||||
set.Code = "7003"
|
||||
set.Connector = HTTPFirewallRuleConnectorOr
|
||||
set.Actions = []*HTTPFirewallActionConfig{
|
||||
{
|
||||
Code: HTTPFirewallActionBlock,
|
||||
},
|
||||
}
|
||||
|
||||
set.AddRule(&HTTPFirewallRule{
|
||||
IsOn: true,
|
||||
Param: "${requestAll}",
|
||||
Operator: HTTPFirewallRuleOperatorMatch,
|
||||
Value: `\s(and|or|rlike)\s+(if|updatexml)\s*\(`,
|
||||
IsCaseInsensitive: true,
|
||||
})
|
||||
set.AddRule(&HTTPFirewallRule{
|
||||
IsOn: true,
|
||||
Param: "${requestAll}",
|
||||
Operator: HTTPFirewallRuleOperatorMatch,
|
||||
Value: `\s+(and|or|rlike)\s+(select|case)\s+`,
|
||||
IsCaseInsensitive: true,
|
||||
})
|
||||
set.AddRule(&HTTPFirewallRule{
|
||||
IsOn: true,
|
||||
Param: "${requestAll}",
|
||||
Operator: HTTPFirewallRuleOperatorMatch,
|
||||
Value: `\s+(and|or|procedure)\s+[\w\p{L}]+\s*=\s*[\w\p{L}]+(\s|$|--|#)`,
|
||||
IsCaseInsensitive: true,
|
||||
})
|
||||
set.AddRule(&HTTPFirewallRule{
|
||||
IsOn: true,
|
||||
Param: "${requestAll}",
|
||||
Operator: HTTPFirewallRuleOperatorMatch,
|
||||
Value: `\(\s*case\s+when\s+[\w\p{L}]+\s*=\s*[\w\p{L}]+\s+then\s+`,
|
||||
IsCaseInsensitive: true,
|
||||
})
|
||||
|
||||
group.AddRuleSet(set)
|
||||
}
|
||||
|
||||
{
|
||||
var set = &HTTPFirewallRuleSet{}
|
||||
set.IsOn = true
|
||||
set.Name = "SQL函数"
|
||||
set.Code = "7004"
|
||||
set.Connector = HTTPFirewallRuleConnectorOr
|
||||
set.Actions = []*HTTPFirewallActionConfig{
|
||||
{
|
||||
Code: HTTPFirewallActionBlock,
|
||||
},
|
||||
}
|
||||
|
||||
set.AddRule(&HTTPFirewallRule{
|
||||
IsOn: true,
|
||||
Param: "${requestAll}",
|
||||
Operator: HTTPFirewallRuleOperatorMatch,
|
||||
Value: `\b(updatexml|extractvalue|ascii|ord|char|chr|count|concat|rand|floor|substr|length|len|user|database|benchmark|analyse)\s*\(.*\)`,
|
||||
IsCaseInsensitive: true,
|
||||
})
|
||||
|
||||
group.AddRuleSet(set)
|
||||
}
|
||||
|
||||
{
|
||||
var set = &HTTPFirewallRuleSet{}
|
||||
set.IsOn = true
|
||||
set.Name = "SQL附加语句"
|
||||
set.Code = "7005"
|
||||
set.Connector = HTTPFirewallRuleConnectorOr
|
||||
set.Actions = []*HTTPFirewallActionConfig{
|
||||
{
|
||||
Code: HTTPFirewallActionBlock,
|
||||
},
|
||||
}
|
||||
|
||||
set.AddRule(&HTTPFirewallRule{
|
||||
IsOn: true,
|
||||
Param: "${requestAll}",
|
||||
Operator: HTTPFirewallRuleOperatorMatch,
|
||||
Value: `;\s*(declare|use|drop|create|exec|delete|update|insert)\s`,
|
||||
IsCaseInsensitive: true,
|
||||
Operator: HTTPFirewallRuleOperatorContainsSQLInjection,
|
||||
Value: "",
|
||||
IsCaseInsensitive: false,
|
||||
})
|
||||
|
||||
group.AddRuleSet(set)
|
||||
@@ -426,15 +278,16 @@ func HTTPFirewallTemplate() *HTTPFirewallPolicy {
|
||||
set.Connector = HTTPFirewallRuleConnectorOr
|
||||
set.Actions = []*HTTPFirewallActionConfig{
|
||||
{
|
||||
Code: HTTPFirewallActionBlock,
|
||||
Code: HTTPFirewallActionPage,
|
||||
Options: maps.Map{"status": 403, "body": ""},
|
||||
},
|
||||
}
|
||||
|
||||
set.AddRule(&HTTPFirewallRule{
|
||||
IsOn: true,
|
||||
Param: "${userAgent}",
|
||||
Operator: HTTPFirewallRuleOperatorMatch,
|
||||
Value: `360spider|adldxbot|adsbot-google|applebot|admantx|alexa|baidu|bingbot|bingpreview|facebookexternalhit|googlebot|proximic|slurp|sogou|twitterbot|yandex|spider`,
|
||||
Operator: HTTPFirewallRuleOperatorContainsAnyWord,
|
||||
Value: "360spider\nadldxbot\nadsbot-google\napplebot\nadmantx\nalexa\nbaidu\nbingbot\nbingpreview\nfacebookexternalhit\ngooglebot\nproximic\nslurp\nsogou\ntwitterbot\nyandex\nspider",
|
||||
IsCaseInsensitive: true,
|
||||
})
|
||||
|
||||
@@ -449,22 +302,23 @@ func HTTPFirewallTemplate() *HTTPFirewallPolicy {
|
||||
set.Connector = HTTPFirewallRuleConnectorAnd
|
||||
set.Actions = []*HTTPFirewallActionConfig{
|
||||
{
|
||||
Code: HTTPFirewallActionBlock,
|
||||
Code: HTTPFirewallActionPage,
|
||||
Options: maps.Map{"status": 403, "body": ""},
|
||||
},
|
||||
}
|
||||
|
||||
set.AddRule(&HTTPFirewallRule{
|
||||
IsOn: true,
|
||||
Param: "${userAgent}",
|
||||
Operator: HTTPFirewallRuleOperatorMatch,
|
||||
Value: `python|pycurl|http-client|httpclient|apachebench|nethttp|http_request|java|perl|ruby|scrapy|php\b|rust`,
|
||||
Operator: HTTPFirewallRuleOperatorContainsAnyWord,
|
||||
Value: "python\npycurl\nhttp-client\nhttpclient\napachebench\nnethttp\nhttp_request\njava\nperl\nruby\nscrapy\nphp\nrust",
|
||||
IsCaseInsensitive: true,
|
||||
})
|
||||
set.AddRule(&HTTPFirewallRule{
|
||||
IsOn: true,
|
||||
Param: "${userAgent}",
|
||||
Operator: HTTPFirewallRuleOperatorNotMatch,
|
||||
Value: `goedge`,
|
||||
Operator: HTTPFirewallRuleOperatorNotContainsAnyWord,
|
||||
Value: "goedge",
|
||||
IsCaseInsensitive: true,
|
||||
Description: "User-Agent白名单",
|
||||
})
|
||||
@@ -490,8 +344,8 @@ func HTTPFirewallTemplate() *HTTPFirewallPolicy {
|
||||
set.AddRule(&HTTPFirewallRule{
|
||||
IsOn: true,
|
||||
Param: "${userAgent}",
|
||||
Operator: HTTPFirewallRuleOperatorMatch,
|
||||
Value: `wget|curl`,
|
||||
Operator: HTTPFirewallRuleOperatorContainsAnyWord,
|
||||
Value: "wget\ncurl",
|
||||
IsCaseInsensitive: true,
|
||||
})
|
||||
|
||||
@@ -506,7 +360,8 @@ func HTTPFirewallTemplate() *HTTPFirewallPolicy {
|
||||
set.Connector = HTTPFirewallRuleConnectorOr
|
||||
set.Actions = []*HTTPFirewallActionConfig{
|
||||
{
|
||||
Code: HTTPFirewallActionBlock,
|
||||
Code: HTTPFirewallActionPage,
|
||||
Options: maps.Map{"status": 403, "body": ""},
|
||||
},
|
||||
}
|
||||
|
||||
@@ -549,6 +404,7 @@ func HTTPFirewallTemplate() *HTTPFirewallPolicy {
|
||||
},
|
||||
},
|
||||
}
|
||||
set.IgnoreLocal = true
|
||||
set.AddRule(&HTTPFirewallRule{
|
||||
IsOn: true,
|
||||
Param: "${cc2}",
|
||||
@@ -562,34 +418,6 @@ func HTTPFirewallTemplate() *HTTPFirewallPolicy {
|
||||
},
|
||||
IsCaseInsensitive: false,
|
||||
})
|
||||
set.AddRule(&HTTPFirewallRule{
|
||||
IsOn: true,
|
||||
Param: "${remoteAddr}",
|
||||
Operator: HTTPFirewallRuleOperatorNotIPRange,
|
||||
Value: `127.0.0.1/8`,
|
||||
IsCaseInsensitive: false,
|
||||
})
|
||||
set.AddRule(&HTTPFirewallRule{
|
||||
IsOn: true,
|
||||
Param: "${remoteAddr}",
|
||||
Operator: HTTPFirewallRuleOperatorNotIPRange,
|
||||
Value: `192.168.0.1/16`,
|
||||
IsCaseInsensitive: false,
|
||||
})
|
||||
set.AddRule(&HTTPFirewallRule{
|
||||
IsOn: true,
|
||||
Param: "${remoteAddr}",
|
||||
Operator: HTTPFirewallRuleOperatorNotIPRange,
|
||||
Value: `10.0.0.1/8`,
|
||||
IsCaseInsensitive: false,
|
||||
})
|
||||
set.AddRule(&HTTPFirewallRule{
|
||||
IsOn: true,
|
||||
Param: "${remoteAddr}",
|
||||
Operator: HTTPFirewallRuleOperatorNotIPRange,
|
||||
Value: `172.16.0.1/12`,
|
||||
IsCaseInsensitive: false,
|
||||
})
|
||||
|
||||
group.AddRuleSet(set)
|
||||
}
|
||||
@@ -600,6 +428,7 @@ func HTTPFirewallTemplate() *HTTPFirewallPolicy {
|
||||
set.Description = "限制单IP在一定时间内的总体请求数"
|
||||
set.Code = "8002"
|
||||
set.Connector = HTTPFirewallRuleConnectorAnd
|
||||
set.IgnoreLocal = true
|
||||
set.Actions = []*HTTPFirewallActionConfig{
|
||||
{
|
||||
Code: HTTPFirewallActionBlock,
|
||||
@@ -621,34 +450,6 @@ func HTTPFirewallTemplate() *HTTPFirewallPolicy {
|
||||
},
|
||||
IsCaseInsensitive: false,
|
||||
})
|
||||
set.AddRule(&HTTPFirewallRule{
|
||||
IsOn: true,
|
||||
Param: "${remoteAddr}",
|
||||
Operator: HTTPFirewallRuleOperatorNotIPRange,
|
||||
Value: `127.0.0.1/8`,
|
||||
IsCaseInsensitive: false,
|
||||
})
|
||||
set.AddRule(&HTTPFirewallRule{
|
||||
IsOn: true,
|
||||
Param: "${remoteAddr}",
|
||||
Operator: HTTPFirewallRuleOperatorNotIPRange,
|
||||
Value: `192.168.0.1/16`,
|
||||
IsCaseInsensitive: false,
|
||||
})
|
||||
set.AddRule(&HTTPFirewallRule{
|
||||
IsOn: true,
|
||||
Param: "${remoteAddr}",
|
||||
Operator: HTTPFirewallRuleOperatorNotIPRange,
|
||||
Value: `10.0.0.1/8`,
|
||||
IsCaseInsensitive: false,
|
||||
})
|
||||
set.AddRule(&HTTPFirewallRule{
|
||||
IsOn: true,
|
||||
Param: "${remoteAddr}",
|
||||
Operator: HTTPFirewallRuleOperatorNotIPRange,
|
||||
Value: `172.16.0.1/12`,
|
||||
IsCaseInsensitive: false,
|
||||
})
|
||||
|
||||
group.AddRuleSet(set)
|
||||
}
|
||||
@@ -662,10 +463,8 @@ func HTTPFirewallTemplate() *HTTPFirewallPolicy {
|
||||
set.Connector = HTTPFirewallRuleConnectorAnd
|
||||
set.Actions = []*HTTPFirewallActionConfig{
|
||||
{
|
||||
Code: HTTPFirewallActionBlock,
|
||||
Options: maps.Map{
|
||||
"timeout": 1800,
|
||||
},
|
||||
Code: HTTPFirewallActionPage,
|
||||
Options: maps.Map{"status": 403, "body": ""},
|
||||
},
|
||||
}
|
||||
|
||||
@@ -701,10 +500,8 @@ func HTTPFirewallTemplate() *HTTPFirewallPolicy {
|
||||
set.Connector = HTTPFirewallRuleConnectorAnd
|
||||
set.Actions = []*HTTPFirewallActionConfig{
|
||||
{
|
||||
Code: HTTPFirewallActionBlock,
|
||||
Options: maps.Map{
|
||||
"timeout": 60,
|
||||
},
|
||||
Code: HTTPFirewallActionPage,
|
||||
Options: maps.Map{"status": 403, "body": ""},
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
@@ -14,6 +14,8 @@ type HTTPCacheConfig struct {
|
||||
EnableCacheControlMaxAge bool `yaml:"enableCacheControlMaxAge" json:"enableCacheControlMaxAge"` // 是否支持Cache-Control: max-age=...
|
||||
DisablePolicyRefs bool `yaml:"disablePolicyRefs" json:"disablePolicyRefs"` // 是否停用策略中定义的条件
|
||||
|
||||
Key *HTTPCacheKeyConfig `yaml:"key" json:"key"` // 键值全局配置
|
||||
|
||||
PurgeIsOn bool `yaml:"purgeIsOn" json:"purgeIsOn"` // 是否允许使用Purge方法清理
|
||||
PurgeKey string `yaml:"purgeKey" json:"purgeKey"` // Purge时使用的X-Edge-Purge-Key
|
||||
|
||||
@@ -30,6 +32,13 @@ func (this *HTTPCacheConfig) Init() error {
|
||||
}
|
||||
}
|
||||
|
||||
if this.Key != nil {
|
||||
err := this.Key.Init()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
if this.PurgeIsOn && len(this.PurgeKey) == 0 {
|
||||
this.PurgeKey = rands.HexString(32)
|
||||
}
|
||||
|
||||
14
pkg/serverconfigs/http_cache_key_config.go
Normal file
14
pkg/serverconfigs/http_cache_key_config.go
Normal file
@@ -0,0 +1,14 @@
|
||||
// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn .
|
||||
|
||||
package serverconfigs
|
||||
|
||||
// HTTPCacheKeyConfig 缓存Key配置
|
||||
type HTTPCacheKeyConfig struct {
|
||||
IsOn bool `yaml:"isOn" json:"isOn"`
|
||||
Scheme string `yaml:"scheme" json:"scheme"`
|
||||
Host string `yaml:"host" json:"host"`
|
||||
}
|
||||
|
||||
func (this *HTTPCacheKeyConfig) Init() error {
|
||||
return nil
|
||||
}
|
||||
62
pkg/serverconfigs/http_page_optimization_base.go
Normal file
62
pkg/serverconfigs/http_page_optimization_base.go
Normal file
@@ -0,0 +1,62 @@
|
||||
// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn .
|
||||
|
||||
package serverconfigs
|
||||
|
||||
import (
|
||||
"github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/shared"
|
||||
"strings"
|
||||
)
|
||||
|
||||
type HTTPBaseOptimizationConfig struct {
|
||||
OnlyURLPatterns []*shared.URLPattern `yaml:"onlyURLPatterns" json:"onlyURLPatterns"` // 仅限的URL
|
||||
ExceptURLPatterns []*shared.URLPattern `yaml:"exceptURLPatterns" json:"exceptURLPatterns"` // 排除的URL
|
||||
}
|
||||
|
||||
func (this *HTTPBaseOptimizationConfig) Init() error {
|
||||
// only url
|
||||
for _, pattern := range this.OnlyURLPatterns {
|
||||
err := pattern.Init()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
// except url
|
||||
for _, pattern := range this.ExceptURLPatterns {
|
||||
err := pattern.Init()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (this *HTTPBaseOptimizationConfig) MatchURL(url string) bool {
|
||||
// 去除问号
|
||||
var index = strings.Index(url, "?")
|
||||
if index >= 0 {
|
||||
url = url[:index]
|
||||
}
|
||||
|
||||
// except
|
||||
if len(this.ExceptURLPatterns) > 0 {
|
||||
for _, pattern := range this.ExceptURLPatterns {
|
||||
if pattern.Match(url) {
|
||||
return false
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// only
|
||||
if len(this.OnlyURLPatterns) > 0 {
|
||||
for _, pattern := range this.OnlyURLPatterns {
|
||||
if pattern.Match(url) {
|
||||
return true
|
||||
}
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
return true
|
||||
}
|
||||
@@ -94,7 +94,7 @@ func (this *HTTPPageOptimizationConfig) CheckIsOn() bool {
|
||||
(this.CSS != nil && this.CSS.IsOn)
|
||||
}
|
||||
|
||||
func (this *HTTPPageOptimizationConfig) FilterResponse(resp *http.Response) error {
|
||||
func (this *HTTPPageOptimizationConfig) FilterResponse(url string, resp *http.Response) error {
|
||||
if !this.isOn || this.minifyInstance == nil {
|
||||
return nil
|
||||
}
|
||||
@@ -113,15 +113,15 @@ func (this *HTTPPageOptimizationConfig) FilterResponse(resp *http.Response) erro
|
||||
var mimeType = ""
|
||||
switch contentType {
|
||||
case "text/html":
|
||||
if this.HTML != nil && this.HTML.IsOn {
|
||||
if this.HTML != nil && this.HTML.IsOn && this.HTML.MatchURL(url) {
|
||||
mimeType = HTTPPageOptimizationMimeTypeHTML
|
||||
}
|
||||
case "text/javascript", "application/javascript":
|
||||
if this.Javascript != nil && this.Javascript.IsOn {
|
||||
if this.Javascript != nil && this.Javascript.IsOn && this.Javascript.MatchURL(url) {
|
||||
mimeType = HTTPPageOptimizationMimeTypeJavascript
|
||||
}
|
||||
case "text/css":
|
||||
if this.CSS != nil && this.CSS.IsOn {
|
||||
if this.CSS != nil && this.CSS.IsOn && this.CSS.MatchURL(url) {
|
||||
mimeType = HTTPPageOptimizationMimeTypeCSS
|
||||
}
|
||||
default:
|
||||
|
||||
@@ -5,6 +5,8 @@ package serverconfigs
|
||||
import "github.com/tdewolff/minify/v2/css"
|
||||
|
||||
type HTTPCSSOptimizationConfig struct {
|
||||
HTTPBaseOptimizationConfig
|
||||
|
||||
IsOn bool `yaml:"isOn" json:"isOn"`
|
||||
|
||||
Precision int `yaml:"precision" json:"precision"`
|
||||
@@ -18,6 +20,10 @@ func NewHTTPCSSOptimizationConfig() *HTTPCSSOptimizationConfig {
|
||||
}
|
||||
|
||||
func (this *HTTPCSSOptimizationConfig) Init() error {
|
||||
err := this.HTTPBaseOptimizationConfig.Init()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
|
||||
@@ -2,9 +2,13 @@
|
||||
|
||||
package serverconfigs
|
||||
|
||||
import "github.com/tdewolff/minify/v2/html"
|
||||
import (
|
||||
"github.com/tdewolff/minify/v2/html"
|
||||
)
|
||||
|
||||
type HTTPHTMLOptimizationConfig struct {
|
||||
HTTPBaseOptimizationConfig
|
||||
|
||||
IsOn bool `yaml:"isOn" json:"isOn"`
|
||||
|
||||
KeepComments bool `yaml:"keepComments" json:"keepComments"`
|
||||
@@ -26,6 +30,10 @@ func NewHTTPHTMLOptimizationConfig() *HTTPHTMLOptimizationConfig {
|
||||
}
|
||||
|
||||
func (this *HTTPHTMLOptimizationConfig) Init() error {
|
||||
err := this.HTTPBaseOptimizationConfig.Init()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
|
||||
@@ -5,6 +5,8 @@ package serverconfigs
|
||||
import "github.com/tdewolff/minify/v2/js"
|
||||
|
||||
type HTTPJavascriptOptimizationConfig struct {
|
||||
HTTPBaseOptimizationConfig
|
||||
|
||||
IsOn bool `yaml:"isOn" json:"isOn"`
|
||||
|
||||
Precision int `yaml:"precision" json:"precision"`
|
||||
@@ -17,6 +19,10 @@ func NewHTTPJavascriptOptimizationConfig() *HTTPJavascriptOptimizationConfig {
|
||||
}
|
||||
|
||||
func (this *HTTPJavascriptOptimizationConfig) Init() error {
|
||||
err := this.HTTPBaseOptimizationConfig.Init()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
|
||||
@@ -29,3 +29,14 @@ func (this *HTTPRequestScriptsConfig) IsEmpty() bool {
|
||||
return (this.InitGroup == nil || this.InitGroup.IsEmpty()) &&
|
||||
(this.RequestGroup == nil || this.RequestGroup.IsEmpty())
|
||||
}
|
||||
|
||||
func (this *HTTPRequestScriptsConfig) AllGroups() []*ScriptGroupConfig {
|
||||
var result []*ScriptGroupConfig
|
||||
if this.InitGroup != nil {
|
||||
result = append(result, this.InitGroup)
|
||||
}
|
||||
if this.RequestGroup != nil {
|
||||
result = append(result, this.RequestGroup)
|
||||
}
|
||||
return result
|
||||
}
|
||||
|
||||
@@ -12,8 +12,6 @@ type WebPImageConfig struct {
|
||||
IsPrior bool `yaml:"isPrior" json:"isPrior"`
|
||||
IsOn bool `yaml:"isOn" json:"isOn"`
|
||||
|
||||
Quality int `yaml:"quality" json:"quality"` // 0-100
|
||||
|
||||
MinLength *shared.SizeCapacity `yaml:"minLength" json:"minLength"` // 最小压缩对象比如4m, 24k
|
||||
MaxLength *shared.SizeCapacity `yaml:"maxLength" json:"maxLength"` // 最大压缩对象
|
||||
MimeTypes []string `yaml:"mimeTypes" json:"mimeTypes"` // 支持的MimeType,支持image/*这样的通配符使用
|
||||
|
||||
@@ -2,13 +2,36 @@
|
||||
|
||||
package serverconfigs
|
||||
|
||||
import (
|
||||
stringutil "github.com/iwind/TeaGo/utils/string"
|
||||
"strings"
|
||||
)
|
||||
|
||||
type ScriptConfig struct {
|
||||
IsPrior bool `yaml:"isPrior" json:"isPrior"`
|
||||
IsOn bool `yaml:"isOn" json:"isOn"`
|
||||
|
||||
Code string `yaml:"code" json:"code"`
|
||||
Code string `yaml:"code" json:"code"` // 当前运行的代码
|
||||
AuditingCode string `yaml:"auditingCode" json:"auditingCode"` // 审核中的代码
|
||||
AuditingCodeMD5 string `yaml:"auditingCodeMD5" json:"auditingCodeMD5"` // 审核中的代码MD5
|
||||
|
||||
realCode string
|
||||
}
|
||||
|
||||
func (this *ScriptConfig) Init() error {
|
||||
this.realCode = this.TrimCode()
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (this *ScriptConfig) TrimCode() string {
|
||||
return strings.TrimSpace(this.Code)
|
||||
}
|
||||
|
||||
func (this *ScriptConfig) RealCode() string {
|
||||
return this.realCode
|
||||
}
|
||||
|
||||
func (this *ScriptConfig) CodeMD5() string {
|
||||
return stringutil.Md5(this.TrimCode())
|
||||
}
|
||||
|
||||
@@ -7,8 +7,9 @@ import timeutil "github.com/iwind/TeaGo/utils/time"
|
||||
type TrafficLimitTarget = string
|
||||
|
||||
const (
|
||||
TrafficLimitTargetTraffic TrafficLimitTarget = "traffic"
|
||||
TrafficLimitTargetRequest TrafficLimitTarget = "request"
|
||||
TrafficLimitTargetTraffic TrafficLimitTarget = "traffic"
|
||||
TrafficLimitTargetRequest TrafficLimitTarget = "request"
|
||||
TrafficLimitTargetWebsocketConnections TrafficLimitTarget = "websocketConnections"
|
||||
)
|
||||
|
||||
// TrafficLimitStatus 流量限制状态
|
||||
|
||||
@@ -16,6 +16,8 @@ type SecurityConfig struct {
|
||||
CheckClientFingerprint bool `json:"checkClientFingerprint"` // 在登录状态下检查客户端指纹
|
||||
CheckClientRegion bool `json:"checkClientRegion"` // 在登录状态下检查客户端区域
|
||||
|
||||
ClientIPHeaderNames string `json:"clientIPHeaderNames"` // 客户端IP获取报头名称列表
|
||||
|
||||
allowIPRanges []*shared.IPRangeConfig
|
||||
}
|
||||
|
||||
|
||||
@@ -19,6 +19,8 @@ type UserUIConfig struct {
|
||||
LogoFileId int64 `json:"logoFileId"` // Logo文件ID
|
||||
TimeZone string `json:"timeZone"` // 时区
|
||||
|
||||
ClientIPHeaderNames string `json:"clientIPHeaderNames"` // 客户端IP获取报头名称列表
|
||||
|
||||
Server struct {
|
||||
CheckCNAME bool `json:"checkCNAME"` // 是否检查CNAME
|
||||
} `json:"server"` // 服务相关设置
|
||||
|
||||
@@ -8,14 +8,32 @@ import "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb"
|
||||
type UserFeatureCode = string
|
||||
|
||||
const (
|
||||
UserFeatureCodePlan UserFeatureCode = "plan"
|
||||
|
||||
UserFeatureCodeServerTCP UserFeatureCode = "server.tcp"
|
||||
UserFeatureCodeServerTCPPort UserFeatureCode = "server.tcp.port"
|
||||
UserFeatureCodeServerUDP UserFeatureCode = "server.udp"
|
||||
UserFeatureCodeServerUDPPort UserFeatureCode = "server.udp.port"
|
||||
UserFeatureCodeServerAccessLog UserFeatureCode = "server.accessLog"
|
||||
UserFeatureCodeServerViewAccessLog UserFeatureCode = "server.viewAccessLog"
|
||||
UserFeatureCodePlan UserFeatureCode = "plan"
|
||||
UserFeatureCodeScript UserFeatureCode = "script"
|
||||
UserFeatureCodeServerScript UserFeatureCode = "server.script"
|
||||
UserFeatureCodeServerWAF UserFeatureCode = "server.waf"
|
||||
UserFeatureCodeServerOptimization UserFeatureCode = "server.optimization"
|
||||
UserFeatureCodeServerUAM UserFeatureCode = "server.uam"
|
||||
UserFeatureCodeServerWebP UserFeatureCode = "server.webp"
|
||||
UserFeatureCodeServerCC UserFeatureCode = "server.cc"
|
||||
UserFeatureCodeServerACME UserFeatureCode = "server.acme"
|
||||
UserFeatureCodeServerAuth UserFeatureCode = "server.auth"
|
||||
UserFeatureCodeServerWebsocket UserFeatureCode = "server.websocket"
|
||||
UserFeatureCodeServerHTTP3 UserFeatureCode = "server.http3"
|
||||
UserFeatureCodeServerReferers UserFeatureCode = "server.referers"
|
||||
UserFeatureCodeServerUserAgent UserFeatureCode = "server.userAgent"
|
||||
UserFeatureCodeServerRequestLimit UserFeatureCode = "server.requestLimit"
|
||||
UserFeatureCodeServerCompression UserFeatureCode = "server.compression"
|
||||
UserFeatureCodeServerRewriteRules UserFeatureCode = "server.rewriteRules"
|
||||
UserFeatureCodeServerHostRedirects UserFeatureCode = "server.hostRedirects"
|
||||
UserFeatureCodeServerHTTPHeaders UserFeatureCode = "server.httpHeaders"
|
||||
UserFeatureCodeServerPages UserFeatureCode = "server.pages"
|
||||
)
|
||||
|
||||
// UserFeature 用户功能
|
||||
@@ -23,10 +41,16 @@ type UserFeature struct {
|
||||
Name string `json:"name"`
|
||||
Code string `json:"code"`
|
||||
Description string `json:"description"`
|
||||
SupportPlan bool `json:"supportPlan"`
|
||||
}
|
||||
|
||||
func (this *UserFeature) ToPB() *pb.UserFeature {
|
||||
return &pb.UserFeature{Name: this.Name, Code: this.Code, Description: this.Description}
|
||||
return &pb.UserFeature{
|
||||
Name: this.Name,
|
||||
Code: this.Code,
|
||||
Description: this.Description,
|
||||
SupportPlan: this.SupportPlan,
|
||||
}
|
||||
}
|
||||
|
||||
// FindAllUserFeatures 所有功能列表
|
||||
@@ -35,67 +59,158 @@ func FindAllUserFeatures() []*UserFeature {
|
||||
{
|
||||
Name: "记录访问日志",
|
||||
Code: UserFeatureCodeServerAccessLog,
|
||||
Description: "用户可以开启服务的访问日志",
|
||||
Description: "用户可以开启服务的访问日志。",
|
||||
SupportPlan: true,
|
||||
},
|
||||
{
|
||||
Name: "查看访问日志",
|
||||
Code: UserFeatureCodeServerViewAccessLog,
|
||||
Description: "用户可以查看服务的访问日志",
|
||||
Description: "用户可以查看服务的访问日志。",
|
||||
SupportPlan: true,
|
||||
},
|
||||
{
|
||||
/**{
|
||||
Name: "转发访问日志",
|
||||
Code: "server.accessLog.forward",
|
||||
Description: "用户可以配置访问日志转发到自定义的API",
|
||||
},
|
||||
Description: "用户可以配置访问日志转发到自定义的API。",
|
||||
SupportPlan: true,
|
||||
},**/
|
||||
{
|
||||
Name: "TCP负载均衡",
|
||||
Code: "server.tcp",
|
||||
Description: "用户可以添加TCP/TLS负载均衡服务",
|
||||
Code: UserFeatureCodeServerTCP,
|
||||
Description: "用户可以添加TCP/TLS负载均衡服务。",
|
||||
SupportPlan: false,
|
||||
},
|
||||
{
|
||||
Name: "自定义TCP负载均衡端口",
|
||||
Code: "server.tcp.port",
|
||||
Description: "用户可以自定义TCP端口",
|
||||
Code: UserFeatureCodeServerTCPPort,
|
||||
Description: "用户可以自定义TCP端口。",
|
||||
SupportPlan: true,
|
||||
},
|
||||
{
|
||||
Name: "UDP负载均衡",
|
||||
Code: "server.udp",
|
||||
Description: "用户可以添加UDP负载均衡服务",
|
||||
Code: UserFeatureCodeServerUDP,
|
||||
Description: "用户可以添加UDP负载均衡服务。",
|
||||
SupportPlan: false,
|
||||
},
|
||||
{
|
||||
Name: "自定义UDP负载均衡端口",
|
||||
Code: "server.udp.port",
|
||||
Description: "用户可以自定义UDP端口",
|
||||
Code: UserFeatureCodeServerUDPPort,
|
||||
Description: "用户可以自定义UDP端口。",
|
||||
SupportPlan: true,
|
||||
},
|
||||
{
|
||||
Name: "申请免费证书",
|
||||
Code: UserFeatureCodeServerACME,
|
||||
Description: "用户可以申请ACME免费证书",
|
||||
Description: "用户可以申请ACME免费证书。",
|
||||
SupportPlan: false,
|
||||
},
|
||||
{
|
||||
Name: "开启WAF",
|
||||
Code: UserFeatureCodeServerWAF,
|
||||
Description: "用户可以开启WAF功能并可以设置黑白名单等",
|
||||
Description: "用户可以开启WAF功能并可以设置黑白名单等。",
|
||||
SupportPlan: true,
|
||||
},
|
||||
{
|
||||
Name: "边缘脚本",
|
||||
Code: UserFeatureCodeScript,
|
||||
Description: "用户可以在使用边缘脚本过滤请求",
|
||||
Code: UserFeatureCodeServerScript,
|
||||
Description: "用户可以在使用边缘脚本过滤请求。",
|
||||
SupportPlan: true,
|
||||
},
|
||||
{
|
||||
Name: "5秒盾",
|
||||
Code: UserFeatureCodeServerUAM,
|
||||
Description: "用户可以使用5秒盾全站防护功能",
|
||||
Description: "用户可以使用5秒盾全站防护功能。",
|
||||
SupportPlan: true,
|
||||
},
|
||||
{
|
||||
Name: "CC防护",
|
||||
Code: UserFeatureCodeServerCC,
|
||||
Description: "用户可以使用CC防护功能。",
|
||||
SupportPlan: true,
|
||||
},
|
||||
{
|
||||
Name: "WebP",
|
||||
Code: UserFeatureCodeServerWebP,
|
||||
Description: "用户可以开启WebP自动转换功能",
|
||||
Description: "用户可以开启WebP自动转换功能。",
|
||||
SupportPlan: true,
|
||||
},
|
||||
{
|
||||
Name: "页面优化",
|
||||
Code: UserFeatureCodeServerOptimization,
|
||||
Description: "用户可以开启页面优化功能。",
|
||||
SupportPlan: true,
|
||||
},
|
||||
{
|
||||
Name: "访问鉴权",
|
||||
Code: UserFeatureCodeServerAuth,
|
||||
Description: "用户可以开启访问鉴权功能。",
|
||||
SupportPlan: true,
|
||||
},
|
||||
{
|
||||
Name: "Websocket",
|
||||
Code: UserFeatureCodeServerWebsocket,
|
||||
Description: "用户可以开启Websocket功能。",
|
||||
SupportPlan: true,
|
||||
},
|
||||
{
|
||||
Name: "防盗链",
|
||||
Code: UserFeatureCodeServerReferers,
|
||||
Description: "用户可以开启防盗链功能。",
|
||||
SupportPlan: true,
|
||||
},
|
||||
{
|
||||
Name: "UA名单",
|
||||
Code: UserFeatureCodeServerUserAgent,
|
||||
Description: "用户可以开启UserAgent允许和禁止的名单。",
|
||||
SupportPlan: true,
|
||||
},
|
||||
{
|
||||
Name: "HTTP/3",
|
||||
Code: UserFeatureCodeServerHTTP3,
|
||||
Description: "用户可以开启HTTP/3功能。",
|
||||
SupportPlan: true,
|
||||
},
|
||||
{
|
||||
Name: "请求限制",
|
||||
Code: UserFeatureCodeServerRequestLimit,
|
||||
Description: "用户可以限制单网站并发连接数、带宽等。",
|
||||
SupportPlan: true,
|
||||
},
|
||||
{
|
||||
Name: "内容压缩",
|
||||
Code: UserFeatureCodeServerCompression,
|
||||
Description: "用户可以使用内容压缩功能。",
|
||||
SupportPlan: true,
|
||||
},
|
||||
{
|
||||
Name: "URL跳转",
|
||||
Code: UserFeatureCodeServerHostRedirects,
|
||||
Description: "用户可以使用URL跳转功能。",
|
||||
SupportPlan: true,
|
||||
},
|
||||
{
|
||||
Name: "重写规则",
|
||||
Code: UserFeatureCodeServerRewriteRules,
|
||||
Description: "用户可以使用重写规则功能。",
|
||||
SupportPlan: true,
|
||||
},
|
||||
{
|
||||
Name: "HTTP报头",
|
||||
Code: UserFeatureCodeServerHTTPHeaders,
|
||||
Description: "用户可以管理网站相关请求和响应报头。",
|
||||
SupportPlan: true,
|
||||
},
|
||||
{
|
||||
Name: "自定义页面",
|
||||
Code: UserFeatureCodeServerPages,
|
||||
Description: "用户可以自定义404、50x等页面。",
|
||||
SupportPlan: true,
|
||||
},
|
||||
{
|
||||
Name: "套餐",
|
||||
Code: UserFeatureCodePlan,
|
||||
Description: "用户可以购买和管理套餐",
|
||||
Description: "用户可以购买和管理套餐。",
|
||||
SupportPlan: false,
|
||||
},
|
||||
}
|
||||
}
|
||||
@@ -109,3 +224,8 @@ func FindUserFeature(code string) *UserFeature {
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// CheckUserFeature 检查某个功能代号是否正确
|
||||
func CheckUserFeature(featureCode string) bool {
|
||||
return FindUserFeature(featureCode) != nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user