Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
I
im-microservice
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Li Feifei
im-microservice
Commits
c87e1382
Commit
c87e1382
authored
Jul 15, 2020
by
Li Feifei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
refactoring
parent
905d0ad5
Show whitespace changes
Inline
Side-by-side
Showing
23 changed files
with
950 additions
and
945 deletions
+950
-945
Registration_services.go
initialization/Registration_services.go
+1
-1
main.go
main.go
+1
-7
common.pb.go
pb/common.pb.go
+15
-117
im_base.pb.go
pb/im_base.pb.go
+83
-113
im_base.validator.pb.go
pb/im_base.validator.pb.go
+1
-21
im_chat_room.pb.go
pb/im_chat_room.pb.go
+118
-175
im_chat_room.validator.pb.go
pb/im_chat_room.validator.pb.go
+1
-26
im_friend_req.pb.go
pb/im_friend_req.pb.go
+76
-94
im_friend_req.validator.pb.go
pb/im_friend_req.validator.pb.go
+7
-16
im_user.validator.pb.go
pb/im_user.validator.pb.go
+1
-1
im_user_relationship.pb.go
pb/im_user_relationship.pb.go
+392
-169
im_user_relationship.pb.gw.go
pb/im_user_relationship.pb.gw.go
+80
-0
im_user_relationship.validator.pb.go
pb/im_user_relationship.validator.pb.go
+28
-26
main.go
sevice/im_chat_room/main.go
+1
-0
db.go
sevice/im_friend_request/db.go
+1
-1
main.go
sevice/im_friend_request/main.go
+6
-6
db.go
sevice/im_user_relationship/db.go
+12
-5
main.go
sevice/im_user_relationship/main.go
+31
-4
common.proto
u-proto/common.proto
+0
-9
im_base.proto
u-proto/im_base.proto
+10
-31
im_chat_room.proto
u-proto/im_chat_room.proto
+24
-49
im_friend_req.proto
u-proto/im_friend_req.proto
+13
-27
im_user_relationship.proto
u-proto/im_user_relationship.proto
+48
-47
No files found.
initialization/Registration_services.go
View file @
c87e1382
...
...
@@ -46,7 +46,7 @@ func init() {
grpc
.
UnaryInterceptor
(
grpc_middleware
.
ChainUnaryServer
(
middleware
.
Interceptor
,
grpc_validator
.
UnaryServerInterceptor
(),
middleware
.
Auth
,
//
middleware.Auth,
grpc_recovery
.
UnaryServerInterceptor
(
middleware
.
RecoveryInterceptor
()),
grpc_zap
.
UnaryServerInterceptor
(
middleware
.
ZapInterceptor
()),
)))
...
...
main.go
View file @
c87e1382
...
...
@@ -3,7 +3,6 @@ package main
import
(
"net"
"im-microservice/gateway"
initialize
"im-microservice/initialization"
beeLogger
"github.com/beego/bee/logger"
...
...
@@ -22,12 +21,7 @@ func main() {
}
beeLogger
.
Log
.
Success
(
"gRPC server is running on "
+
port
+
" port."
)
// 启动http服务
go
func
()
{
if
err
:=
gateway
.
ProvideHTTP
(
Address
,
initialize
.
RpcServer
)
.
ListenAndServe
();
err
!=
nil
{
beeLogger
.
Log
.
Fatalf
(
"failed to api serve: %v"
,
err
)
}
}()
// 启动grpc服务
if
err
:=
initialize
.
RpcServer
.
Serve
(
lis
);
err
!=
nil
{
beeLogger
.
Log
.
Fatalf
(
"failed to serve: %v"
,
err
)
...
...
pb/common.pb.go
View file @
c87e1382
...
...
@@ -7,9 +7,7 @@
package
pb
import
(
_
"github.com/gogo/protobuf/gogoproto"
proto
"github.com/golang/protobuf/proto"
_
"github.com/mwitkow/go-proto-validators"
protoreflect
"google.golang.org/protobuf/reflect/protoreflect"
protoimpl
"google.golang.org/protobuf/runtime/protoimpl"
reflect
"reflect"
...
...
@@ -27,77 +25,6 @@ const (
// of the legacy proto package is being used.
const
_
=
proto
.
ProtoPackageIsVersion4
type
Common
struct
{
state
protoimpl
.
MessageState
sizeCache
protoimpl
.
SizeCache
unknownFields
protoimpl
.
UnknownFields
Appkey
string
`protobuf:"bytes,1,opt,name=Appkey,proto3" json:"Appkey,omitempty"`
Nonce
string
`protobuf:"bytes,2,opt,name=Nonce,proto3" json:"Nonce,omitempty"`
Curtime
string
`protobuf:"bytes,3,opt,name=Curtime,proto3" json:"Curtime,omitempty"`
Checksum
string
`protobuf:"bytes,4,opt,name=Checksum,proto3" json:"Checksum,omitempty"`
}
func
(
x
*
Common
)
Reset
()
{
*
x
=
Common
{}
if
protoimpl
.
UnsafeEnabled
{
mi
:=
&
file_u_proto_common_proto_msgTypes
[
0
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
}
}
func
(
x
*
Common
)
String
()
string
{
return
protoimpl
.
X
.
MessageStringOf
(
x
)
}
func
(
*
Common
)
ProtoMessage
()
{}
func
(
x
*
Common
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_u_proto_common_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 Common.ProtoReflect.Descriptor instead.
func
(
*
Common
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_u_proto_common_proto_rawDescGZIP
(),
[]
int
{
0
}
}
func
(
x
*
Common
)
GetAppkey
()
string
{
if
x
!=
nil
{
return
x
.
Appkey
}
return
""
}
func
(
x
*
Common
)
GetNonce
()
string
{
if
x
!=
nil
{
return
x
.
Nonce
}
return
""
}
func
(
x
*
Common
)
GetCurtime
()
string
{
if
x
!=
nil
{
return
x
.
Curtime
}
return
""
}
func
(
x
*
Common
)
GetChecksum
()
string
{
if
x
!=
nil
{
return
x
.
Checksum
}
return
""
}
type
Page
struct
{
state
protoimpl
.
MessageState
sizeCache
protoimpl
.
SizeCache
...
...
@@ -112,7 +39,7 @@ type Page struct {
func
(
x
*
Page
)
Reset
()
{
*
x
=
Page
{}
if
protoimpl
.
UnsafeEnabled
{
mi
:=
&
file_u_proto_common_proto_msgTypes
[
1
]
mi
:=
&
file_u_proto_common_proto_msgTypes
[
0
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
}
...
...
@@ -125,7 +52,7 @@ func (x *Page) String() string {
func
(
*
Page
)
ProtoMessage
()
{}
func
(
x
*
Page
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_u_proto_common_proto_msgTypes
[
1
]
mi
:=
&
file_u_proto_common_proto_msgTypes
[
0
]
if
protoimpl
.
UnsafeEnabled
&&
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
...
...
@@ -138,7 +65,7 @@ func (x *Page) ProtoReflect() protoreflect.Message {
// Deprecated: Use Page.ProtoReflect.Descriptor instead.
func
(
*
Page
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_u_proto_common_proto_rawDescGZIP
(),
[]
int
{
1
}
return
file_u_proto_common_proto_rawDescGZIP
(),
[]
int
{
0
}
}
func
(
x
*
Page
)
GetPagetNo
()
int64
{
...
...
@@ -173,31 +100,15 @@ var File_u_proto_common_proto protoreflect.FileDescriptor
var
file_u_proto_common_proto_rawDesc
=
[]
byte
{
0x0a
,
0x14
,
0x75
,
0x2d
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x2f
,
0x63
,
0x6f
,
0x6d
,
0x6d
,
0x6f
,
0x6e
,
0x2e
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x12
,
0x02
,
0x70
,
0x62
,
0x1a
,
0x2d
,
0x67
,
0x69
,
0x74
,
0x68
,
0x75
,
0x62
,
0x2e
,
0x63
,
0x6f
,
0x6d
,
0x2f
,
0x67
,
0x6f
,
0x67
,
0x6f
,
0x2f
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x62
,
0x75
,
0x66
,
0x2f
,
0x67
,
0x6f
,
0x67
,
0x6f
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x2f
,
0x67
,
0x6f
,
0x67
,
0x6f
,
0x2e
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x1a
,
0x36
,
0x67
,
0x69
,
0x74
,
0x68
,
0x75
,
0x62
,
0x2e
,
0x63
,
0x6f
,
0x6d
,
0x2f
,
0x6d
,
0x77
,
0x69
,
0x74
,
0x6b
,
0x6f
,
0x77
,
0x2f
,
0x67
,
0x6f
,
0x2d
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x2d
,
0x76
,
0x61
,
0x6c
,
0x69
,
0x64
,
0x61
,
0x74
,
0x6f
,
0x72
,
0x73
,
0x2f
,
0x76
,
0x61
,
0x6c
,
0x69
,
0x64
,
0x61
,
0x74
,
0x6f
,
0x72
,
0x2e
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x22
,
0x8c
,
0x01
,
0x0a
,
0x06
,
0x43
,
0x6f
,
0x6d
,
0x6d
,
0x6f
,
0x6e
,
0x12
,
0x1e
,
0x0a
,
0x06
,
0x41
,
0x70
,
0x70
,
0x6b
,
0x65
,
0x79
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x42
,
0x06
,
0xe2
,
0xdf
,
0x1f
,
0x02
,
0x58
,
0x01
,
0x52
,
0x06
,
0x41
,
0x70
,
0x70
,
0x6b
,
0x65
,
0x79
,
0x12
,
0x1c
,
0x0a
,
0x05
,
0x4e
,
0x6f
,
0x6e
,
0x63
,
0x65
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x09
,
0x42
,
0x06
,
0xe2
,
0xdf
,
0x1f
,
0x02
,
0x58
,
0x01
,
0x52
,
0x05
,
0x4e
,
0x6f
,
0x6e
,
0x63
,
0x65
,
0x12
,
0x20
,
0x0a
,
0x07
,
0x43
,
0x75
,
0x72
,
0x74
,
0x69
,
0x6d
,
0x65
,
0x18
,
0x03
,
0x20
,
0x01
,
0x28
,
0x09
,
0x42
,
0x06
,
0xe2
,
0xdf
,
0x1f
,
0x02
,
0x58
,
0x01
,
0x52
,
0x07
,
0x43
,
0x75
,
0x72
,
0x74
,
0x69
,
0x6d
,
0x65
,
0x12
,
0x22
,
0x0a
,
0x08
,
0x43
,
0x68
,
0x65
,
0x63
,
0x6b
,
0x73
,
0x75
,
0x6d
,
0x18
,
0x04
,
0x20
,
0x01
,
0x28
,
0x09
,
0x42
,
0x06
,
0xe2
,
0xdf
,
0x1f
,
0x02
,
0x58
,
0x01
,
0x52
,
0x08
,
0x43
,
0x68
,
0x65
,
0x63
,
0x6b
,
0x73
,
0x75
,
0x6d
,
0x22
,
0x7a
,
0x0a
,
0x04
,
0x50
,
0x61
,
0x67
,
0x65
,
0x12
,
0x18
,
0x0a
,
0x07
,
0x50
,
0x61
,
0x67
,
0x65
,
0x74
,
0x4e
,
0x6f
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x03
,
0x52
,
0x07
,
0x50
,
0x61
,
0x67
,
0x65
,
0x74
,
0x4e
,
0x6f
,
0x12
,
0x1a
,
0x0a
,
0x08
,
0x50
,
0x61
,
0x67
,
0x65
,
0x53
,
0x69
,
0x7a
,
0x65
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x03
,
0x52
,
0x08
,
0x50
,
0x61
,
0x67
,
0x65
,
0x53
,
0x69
,
0x7a
,
0x65
,
0x12
,
0x1c
,
0x0a
,
0x09
,
0x54
,
0x6f
,
0x74
,
0x61
,
0x6c
,
0x50
,
0x61
,
0x67
,
0x65
,
0x18
,
0x03
,
0x20
,
0x01
,
0x28
,
0x03
,
0x52
,
0x09
,
0x54
,
0x6f
,
0x74
,
0x61
,
0x6c
,
0x50
,
0x61
,
0x67
,
0x65
,
0x12
,
0x1e
,
0x0a
,
0x0a
,
0x54
,
0x6f
,
0x74
,
0x61
,
0x6c
,
0x43
,
0x6f
,
0x75
,
0x6e
,
0x74
,
0x18
,
0x04
,
0x20
,
0x01
,
0x28
,
0x03
,
0x52
,
0x0a
,
0x54
,
0x6f
,
0x74
,
0x61
,
0x6c
,
0x43
,
0x6f
,
0x75
,
0x6e
,
0x74
,
0x62
,
0x06
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x33
,
0x2e
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x12
,
0x02
,
0x70
,
0x62
,
0x22
,
0x7a
,
0x0a
,
0x04
,
0x50
,
0x61
,
0x67
,
0x65
,
0x12
,
0x18
,
0x0a
,
0x07
,
0x50
,
0x61
,
0x67
,
0x65
,
0x74
,
0x4e
,
0x6f
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x03
,
0x52
,
0x07
,
0x50
,
0x61
,
0x67
,
0x65
,
0x74
,
0x4e
,
0x6f
,
0x12
,
0x1a
,
0x0a
,
0x08
,
0x50
,
0x61
,
0x67
,
0x65
,
0x53
,
0x69
,
0x7a
,
0x65
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x03
,
0x52
,
0x08
,
0x50
,
0x61
,
0x67
,
0x65
,
0x53
,
0x69
,
0x7a
,
0x65
,
0x12
,
0x1c
,
0x0a
,
0x09
,
0x54
,
0x6f
,
0x74
,
0x61
,
0x6c
,
0x50
,
0x61
,
0x67
,
0x65
,
0x18
,
0x03
,
0x20
,
0x01
,
0x28
,
0x03
,
0x52
,
0x09
,
0x54
,
0x6f
,
0x74
,
0x61
,
0x6c
,
0x50
,
0x61
,
0x67
,
0x65
,
0x12
,
0x1e
,
0x0a
,
0x0a
,
0x54
,
0x6f
,
0x74
,
0x61
,
0x6c
,
0x43
,
0x6f
,
0x75
,
0x6e
,
0x74
,
0x18
,
0x04
,
0x20
,
0x01
,
0x28
,
0x03
,
0x52
,
0x0a
,
0x54
,
0x6f
,
0x74
,
0x61
,
0x6c
,
0x43
,
0x6f
,
0x75
,
0x6e
,
0x74
,
0x62
,
0x06
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x33
,
}
var
(
...
...
@@ -212,10 +123,9 @@ func file_u_proto_common_proto_rawDescGZIP() []byte {
return
file_u_proto_common_proto_rawDescData
}
var
file_u_proto_common_proto_msgTypes
=
make
([]
protoimpl
.
MessageInfo
,
2
)
var
file_u_proto_common_proto_msgTypes
=
make
([]
protoimpl
.
MessageInfo
,
1
)
var
file_u_proto_common_proto_goTypes
=
[]
interface
{}{
(
*
Common
)(
nil
),
// 0: pb.Common
(
*
Page
)(
nil
),
// 1: pb.Page
(
*
Page
)(
nil
),
// 0: pb.Page
}
var
file_u_proto_common_proto_depIdxs
=
[]
int32
{
0
,
// [0:0] is the sub-list for method output_type
...
...
@@ -232,18 +142,6 @@ func file_u_proto_common_proto_init() {
}
if
!
protoimpl
.
UnsafeEnabled
{
file_u_proto_common_proto_msgTypes
[
0
]
.
Exporter
=
func
(
v
interface
{},
i
int
)
interface
{}
{
switch
v
:=
v
.
(
*
Common
);
i
{
case
0
:
return
&
v
.
state
case
1
:
return
&
v
.
sizeCache
case
2
:
return
&
v
.
unknownFields
default
:
return
nil
}
}
file_u_proto_common_proto_msgTypes
[
1
]
.
Exporter
=
func
(
v
interface
{},
i
int
)
interface
{}
{
switch
v
:=
v
.
(
*
Page
);
i
{
case
0
:
return
&
v
.
state
...
...
@@ -262,7 +160,7 @@ func file_u_proto_common_proto_init() {
GoPackagePath
:
reflect
.
TypeOf
(
x
{})
.
PkgPath
(),
RawDescriptor
:
file_u_proto_common_proto_rawDesc
,
NumEnums
:
0
,
NumMessages
:
2
,
NumMessages
:
1
,
NumExtensions
:
0
,
NumServices
:
0
,
},
...
...
pb/im_base.pb.go
View file @
c87e1382
...
...
@@ -98,9 +98,10 @@ type ConfigureRequest struct {
sizeCache
protoimpl
.
SizeCache
unknownFields
protoimpl
.
UnknownFields
Common
*
Common
`protobuf:"bytes,1,opt,name=Common,proto3" json:"Common,omitempty"`
Public
*
Public
`protobuf:"bytes,2,opt,name=Public,proto3" json:"Public,omitempty"`
AppId
int64
`protobuf:"varint,3,opt,name=AppId,proto3" json:"AppId,omitempty"`
Appkey
string
`protobuf:"bytes,1,opt,name=Appkey,proto3" json:"Appkey,omitempty"`
Current
string
`protobuf:"bytes,2,opt,name=Current,proto3" json:"Current,omitempty"`
Public
*
Public
`protobuf:"bytes,3,opt,name=Public,proto3" json:"Public,omitempty"`
AppId
int64
`protobuf:"varint,4,opt,name=AppId,proto3" json:"AppId,omitempty"`
}
func
(
x
*
ConfigureRequest
)
Reset
()
{
...
...
@@ -135,11 +136,18 @@ func (*ConfigureRequest) Descriptor() ([]byte, []int) {
return
file_u_proto_im_base_proto_rawDescGZIP
(),
[]
int
{
1
}
}
func
(
x
*
ConfigureRequest
)
Get
Common
()
*
Common
{
func
(
x
*
ConfigureRequest
)
Get
Appkey
()
string
{
if
x
!=
nil
{
return
x
.
Common
return
x
.
Appkey
}
return
nil
return
""
}
func
(
x
*
ConfigureRequest
)
GetCurrent
()
string
{
if
x
!=
nil
{
return
x
.
Current
}
return
""
}
func
(
x
*
ConfigureRequest
)
GetPublic
()
*
Public
{
...
...
@@ -200,7 +208,6 @@ type ConfigureDelRequest struct {
unknownFields
protoimpl
.
UnknownFields
CompanyUserId
int64
`protobuf:"varint,1,opt,name=CompanyUserId,proto3" json:"CompanyUserId,omitempty"`
Common
*
Common
`protobuf:"bytes,2,opt,name=Common,proto3" json:"Common,omitempty"`
}
func
(
x
*
ConfigureDelRequest
)
Reset
()
{
...
...
@@ -242,19 +249,10 @@ func (x *ConfigureDelRequest) GetCompanyUserId() int64 {
return
0
}
func
(
x
*
ConfigureDelRequest
)
GetCommon
()
*
Common
{
if
x
!=
nil
{
return
x
.
Common
}
return
nil
}
type
GetAllRequest
struct
{
state
protoimpl
.
MessageState
sizeCache
protoimpl
.
SizeCache
unknownFields
protoimpl
.
UnknownFields
Common
*
Common
`protobuf:"bytes,1,opt,name=Common,proto3" json:"Common,omitempty"`
}
func
(
x
*
GetAllRequest
)
Reset
()
{
...
...
@@ -289,13 +287,6 @@ func (*GetAllRequest) Descriptor() ([]byte, []int) {
return
file_u_proto_im_base_proto_rawDescGZIP
(),
[]
int
{
4
}
}
func
(
x
*
GetAllRequest
)
GetCommon
()
*
Common
{
if
x
!=
nil
{
return
x
.
Common
}
return
nil
}
type
GetAllOneReply
struct
{
state
protoimpl
.
MessageState
sizeCache
protoimpl
.
SizeCache
...
...
@@ -395,8 +386,7 @@ type UpdateRequest struct {
sizeCache
protoimpl
.
SizeCache
unknownFields
protoimpl
.
UnknownFields
Common
*
Common
`protobuf:"bytes,1,opt,name=Common,proto3" json:"Common,omitempty"`
Public
*
Public
`protobuf:"bytes,2,opt,name=Public,proto3" json:"Public,omitempty"`
Public
*
Public
`protobuf:"bytes,1,opt,name=Public,proto3" json:"Public,omitempty"`
}
func
(
x
*
UpdateRequest
)
Reset
()
{
...
...
@@ -431,13 +421,6 @@ func (*UpdateRequest) Descriptor() ([]byte, []int) {
return
file_u_proto_im_base_proto_rawDescGZIP
(),
[]
int
{
7
}
}
func
(
x
*
UpdateRequest
)
GetCommon
()
*
Common
{
if
x
!=
nil
{
return
x
.
Common
}
return
nil
}
func
(
x
*
UpdateRequest
)
GetPublic
()
*
Public
{
if
x
!=
nil
{
return
x
.
Public
...
...
@@ -449,65 +432,58 @@ var File_u_proto_im_base_proto protoreflect.FileDescriptor
var
file_u_proto_im_base_proto_rawDesc
=
[]
byte
{
0x0a
,
0x15
,
0x75
,
0x2d
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x2f
,
0x69
,
0x6d
,
0x5f
,
0x62
,
0x61
,
0x73
,
0x65
,
0x2e
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x12
,
0x02
,
0x70
,
0x62
,
0x1a
,
0x14
,
0x75
,
0x2d
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x2f
,
0x63
,
0x6f
,
0x6d
,
0x6d
,
0x6f
,
0x6e
,
0x2e
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x1a
,
0x36
,
0x67
,
0x69
,
0x74
,
0x68
,
0x75
,
0x62
,
0x2e
,
0x63
,
0x6f
,
0x6d
,
0x2f
,
0x6d
,
0x77
,
0x69
,
0x74
,
0x6b
,
0x6f
,
0x77
,
0x2f
,
0x67
,
0x6f
,
0x2d
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x2d
,
0x76
,
0x61
,
0x6c
,
0x69
,
0x64
,
0x61
,
0x74
,
0x6f
,
0x72
,
0x73
,
0x2f
,
0x76
,
0x61
,
0x6c
,
0x69
,
0x64
,
0x61
,
0x74
,
0x6f
,
0x72
,
0x2e
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x22
,
0x78
,
0x0a
,
0x06
,
0x50
,
0x75
,
0x62
,
0x6c
,
0x69
,
0x63
,
0x12
,
0x24
,
0x0a
,
0x0d
,
0x43
,
0x6f
,
0x6d
,
0x70
,
0x61
,
0x6e
,
0x79
,
0x55
,
0x73
,
0x65
,
0x72
,
0x49
,
0x64
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x03
,
0x52
,
0x0d
,
0x43
,
0x6f
,
0x6d
,
0x70
,
0x61
,
0x6e
,
0x79
,
0x55
,
0x73
,
0x65
,
0x72
,
0x49
,
0x64
,
0x12
,
0x28
,
0x0a
,
0x0f
,
0x4d
,
0x75
,
0x6c
,
0x74
,
0x69
,
0x64
,
0x65
,
0x76
,
0x69
,
0x63
,
0x65
,
0x54
,
0x79
,
0x70
,
0x65
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x03
,
0x52
,
0x0f
,
0x4d
,
0x75
,
0x6c
,
0x74
,
0x69
,
0x64
,
0x65
,
0x76
,
0x69
,
0x63
,
0x65
,
0x54
,
0x79
,
0x70
,
0x65
,
0x12
,
0x1e
,
0x0a
,
0x0a
,
0x4d
,
0x73
,
0x67
,
0x48
,
0x6f
,
0x6f
,
0x6b
,
0x55
,
0x72
,
0x6c
,
0x18
,
0x03
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x0a
,
0x4d
,
0x73
,
0x67
,
0x48
,
0x6f
,
0x6f
,
0x6b
,
0x55
,
0x72
,
0x6c
,
0x22
,
0x78
,
0x0a
,
0x10
,
0x43
,
0x6f
,
0x6e
,
0x66
,
0x69
,
0x67
,
0x75
,
0x72
,
0x65
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x12
,
0x22
,
0x0a
,
0x06
,
0x43
,
0x6f
,
0x6d
,
0x6d
,
0x6f
,
0x6e
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x0a
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x43
,
0x6f
,
0x6d
,
0x6d
,
0x6f
,
0x6e
,
0x52
,
0x06
,
0x43
,
0x6f
,
0x6d
,
0x6d
,
0x6f
,
0x6e
,
0x12
,
0x22
,
0x0a
,
0x06
,
0x50
,
0x75
,
0x62
,
0x6c
,
0x69
,
0x63
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x0a
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x50
,
0x75
,
0x62
,
0x6c
,
0x69
,
0x63
,
0x52
,
0x06
,
0x50
,
0x75
,
0x62
,
0x6c
,
0x69
,
0x63
,
0x12
,
0x1c
,
0x0a
,
0x05
,
0x41
,
0x70
,
0x70
,
0x49
,
0x64
,
0x18
,
0x03
,
0x20
,
0x01
,
0x28
,
0x03
,
0x42
,
0x06
,
0xe2
,
0xdf
,
0x1f
,
0x02
,
0x10
,
0x00
,
0x52
,
0x05
,
0x41
,
0x70
,
0x70
,
0x49
,
0x64
,
0x22
,
0x10
,
0x0a
,
0x0e
,
0x43
,
0x6f
,
0x6e
,
0x66
,
0x69
,
0x67
,
0x75
,
0x72
,
0x65
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x22
,
0x67
,
0x0a
,
0x13
,
0x43
,
0x6f
,
0x6e
,
0x66
,
0x69
,
0x67
,
0x75
,
0x72
,
0x65
,
0x44
,
0x65
,
0x6c
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x12
,
0x2c
,
0x0a
,
0x0d
,
0x43
,
0x6f
,
0x6d
,
0x70
,
0x61
,
0x6e
,
0x79
,
0x55
,
0x73
,
0x65
,
0x72
,
0x49
,
0x64
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x03
,
0x42
,
0x06
,
0xe2
,
0xdf
,
0x1f
,
0x02
,
0x10
,
0x00
,
0x52
,
0x0d
,
0x43
,
0x6f
,
0x6d
,
0x70
,
0x61
,
0x6e
,
0x79
,
0x55
,
0x73
,
0x65
,
0x72
,
0x49
,
0x64
,
0x12
,
0x22
,
0x0a
,
0x06
,
0x43
,
0x6f
,
0x6d
,
0x6d
,
0x6f
,
0x6e
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x0a
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x43
,
0x6f
,
0x6d
,
0x6d
,
0x6f
,
0x6e
,
0x52
,
0x06
,
0x43
,
0x6f
,
0x6d
,
0x6d
,
0x6f
,
0x6e
,
0x22
,
0x33
,
0x0a
,
0x0d
,
0x47
,
0x65
,
0x74
,
0x41
,
0x6c
,
0x6c
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x12
,
0x22
,
0x0a
,
0x06
,
0x43
,
0x6f
,
0x6d
,
0x6d
,
0x6f
,
0x6e
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x0a
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x43
,
0x6f
,
0x6d
,
0x6d
,
0x6f
,
0x6e
,
0x52
,
0x06
,
0x43
,
0x6f
,
0x6d
,
0x6d
,
0x6f
,
0x6e
,
0x22
,
0x32
,
0x0a
,
0x0e
,
0x47
,
0x65
,
0x74
,
0x41
,
0x6c
,
0x6c
,
0x4f
,
0x6e
,
0x65
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x12
,
0x20
,
0x0a
,
0x05
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x0a
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x50
,
0x75
,
0x62
,
0x6c
,
0x69
,
0x63
,
0x52
,
0x05
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x22
,
0x39
,
0x0a
,
0x0b
,
0x47
,
0x65
,
0x74
,
0x41
,
0x6c
,
0x6c
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x12
,
0x2a
,
0x0a
,
0x06
,
0x47
,
0x65
,
0x74
,
0x41
,
0x6c
,
0x6c
,
0x18
,
0x01
,
0x20
,
0x03
,
0x28
,
0x0b
,
0x32
,
0x12
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x47
,
0x65
,
0x74
,
0x41
,
0x6c
,
0x6c
,
0x4f
,
0x6e
,
0x65
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x52
,
0x06
,
0x47
,
0x65
,
0x74
,
0x41
,
0x6c
,
0x6c
,
0x22
,
0x57
,
0x0a
,
0x0d
,
0x55
,
0x70
,
0x64
,
0x61
,
0x74
,
0x65
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x12
,
0x22
,
0x0a
,
0x06
,
0x43
,
0x6f
,
0x6d
,
0x6d
,
0x6f
,
0x6e
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x0a
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x43
,
0x6f
,
0x6d
,
0x6d
,
0x6f
,
0x6e
,
0x52
,
0x06
,
0x43
,
0x6f
,
0x6d
,
0x6d
,
0x6f
,
0x6e
,
0x12
,
0x22
,
0x0a
,
0x06
,
0x50
,
0x75
,
0x62
,
0x6c
,
0x69
,
0x63
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x0a
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x50
,
0x75
,
0x62
,
0x6c
,
0x69
,
0x63
,
0x52
,
0x06
,
0x50
,
0x75
,
0x62
,
0x6c
,
0x69
,
0x63
,
0x32
,
0xe0
,
0x01
,
0x0a
,
0x0f
,
0x43
,
0x6f
,
0x6e
,
0x66
,
0x69
,
0x67
,
0x75
,
0x72
,
0x65
,
0x53
,
0x65
,
0x76
,
0x69
,
0x63
,
0x65
,
0x12
,
0x2e
,
0x0a
,
0x06
,
0x53
,
0x65
,
0x6c
,
0x65
,
0x63
,
0x74
,
0x12
,
0x11
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x47
,
0x65
,
0x74
,
0x41
,
0x6c
,
0x6c
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x1a
,
0x0f
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x47
,
0x65
,
0x74
,
0x41
,
0x6c
,
0x6c
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x22
,
0x00
,
0x12
,
0x31
,
0x0a
,
0x03
,
0x41
,
0x64
,
0x64
,
0x12
,
0x14
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x43
,
0x6f
,
0x6e
,
0x66
,
0x69
,
0x67
,
0x75
,
0x72
,
0x65
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x1a
,
0x12
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x43
,
0x6f
,
0x6e
,
0x66
,
0x69
,
0x67
,
0x75
,
0x72
,
0x65
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x22
,
0x00
,
0x12
,
0x37
,
0x0a
,
0x06
,
0x44
,
0x65
,
0x6c
,
0x65
,
0x74
,
0x65
,
0x12
,
0x17
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x43
,
0x6f
,
0x6e
,
0x66
,
0x69
,
0x67
,
0x75
,
0x72
,
0x65
,
0x44
,
0x65
,
0x6c
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x1a
,
0x65
,
0x2e
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x12
,
0x02
,
0x70
,
0x62
,
0x1a
,
0x36
,
0x67
,
0x69
,
0x74
,
0x68
,
0x75
,
0x62
,
0x2e
,
0x63
,
0x6f
,
0x6d
,
0x2f
,
0x6d
,
0x77
,
0x69
,
0x74
,
0x6b
,
0x6f
,
0x77
,
0x2f
,
0x67
,
0x6f
,
0x2d
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x2d
,
0x76
,
0x61
,
0x6c
,
0x69
,
0x64
,
0x61
,
0x74
,
0x6f
,
0x72
,
0x73
,
0x2f
,
0x76
,
0x61
,
0x6c
,
0x69
,
0x64
,
0x61
,
0x74
,
0x6f
,
0x72
,
0x2e
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x22
,
0x78
,
0x0a
,
0x06
,
0x50
,
0x75
,
0x62
,
0x6c
,
0x69
,
0x63
,
0x12
,
0x24
,
0x0a
,
0x0d
,
0x43
,
0x6f
,
0x6d
,
0x70
,
0x61
,
0x6e
,
0x79
,
0x55
,
0x73
,
0x65
,
0x72
,
0x49
,
0x64
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x03
,
0x52
,
0x0d
,
0x43
,
0x6f
,
0x6d
,
0x70
,
0x61
,
0x6e
,
0x79
,
0x55
,
0x73
,
0x65
,
0x72
,
0x49
,
0x64
,
0x12
,
0x28
,
0x0a
,
0x0f
,
0x4d
,
0x75
,
0x6c
,
0x74
,
0x69
,
0x64
,
0x65
,
0x76
,
0x69
,
0x63
,
0x65
,
0x54
,
0x79
,
0x70
,
0x65
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x03
,
0x52
,
0x0f
,
0x4d
,
0x75
,
0x6c
,
0x74
,
0x69
,
0x64
,
0x65
,
0x76
,
0x69
,
0x63
,
0x65
,
0x54
,
0x79
,
0x70
,
0x65
,
0x12
,
0x1e
,
0x0a
,
0x0a
,
0x4d
,
0x73
,
0x67
,
0x48
,
0x6f
,
0x6f
,
0x6b
,
0x55
,
0x72
,
0x6c
,
0x18
,
0x03
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x0a
,
0x4d
,
0x73
,
0x67
,
0x48
,
0x6f
,
0x6f
,
0x6b
,
0x55
,
0x72
,
0x6c
,
0x22
,
0x86
,
0x01
,
0x0a
,
0x10
,
0x43
,
0x6f
,
0x6e
,
0x66
,
0x69
,
0x67
,
0x75
,
0x72
,
0x65
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x12
,
0x16
,
0x0a
,
0x06
,
0x41
,
0x70
,
0x70
,
0x6b
,
0x65
,
0x79
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x06
,
0x41
,
0x70
,
0x70
,
0x6b
,
0x65
,
0x79
,
0x12
,
0x18
,
0x0a
,
0x07
,
0x43
,
0x75
,
0x72
,
0x72
,
0x65
,
0x6e
,
0x74
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x07
,
0x43
,
0x75
,
0x72
,
0x72
,
0x65
,
0x6e
,
0x74
,
0x12
,
0x22
,
0x0a
,
0x06
,
0x50
,
0x75
,
0x62
,
0x6c
,
0x69
,
0x63
,
0x18
,
0x03
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x0a
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x50
,
0x75
,
0x62
,
0x6c
,
0x69
,
0x63
,
0x52
,
0x06
,
0x50
,
0x75
,
0x62
,
0x6c
,
0x69
,
0x63
,
0x12
,
0x1c
,
0x0a
,
0x05
,
0x41
,
0x70
,
0x70
,
0x49
,
0x64
,
0x18
,
0x04
,
0x20
,
0x01
,
0x28
,
0x03
,
0x42
,
0x06
,
0xe2
,
0xdf
,
0x1f
,
0x02
,
0x10
,
0x00
,
0x52
,
0x05
,
0x41
,
0x70
,
0x70
,
0x49
,
0x64
,
0x22
,
0x10
,
0x0a
,
0x0e
,
0x43
,
0x6f
,
0x6e
,
0x66
,
0x69
,
0x67
,
0x75
,
0x72
,
0x65
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x22
,
0x43
,
0x0a
,
0x13
,
0x43
,
0x6f
,
0x6e
,
0x66
,
0x69
,
0x67
,
0x75
,
0x72
,
0x65
,
0x44
,
0x65
,
0x6c
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x12
,
0x2c
,
0x0a
,
0x0d
,
0x43
,
0x6f
,
0x6d
,
0x70
,
0x61
,
0x6e
,
0x79
,
0x55
,
0x73
,
0x65
,
0x72
,
0x49
,
0x64
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x03
,
0x42
,
0x06
,
0xe2
,
0xdf
,
0x1f
,
0x02
,
0x10
,
0x00
,
0x52
,
0x0d
,
0x43
,
0x6f
,
0x6d
,
0x70
,
0x61
,
0x6e
,
0x79
,
0x55
,
0x73
,
0x65
,
0x72
,
0x49
,
0x64
,
0x22
,
0x0f
,
0x0a
,
0x0d
,
0x47
,
0x65
,
0x74
,
0x41
,
0x6c
,
0x6c
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x22
,
0x32
,
0x0a
,
0x0e
,
0x47
,
0x65
,
0x74
,
0x41
,
0x6c
,
0x6c
,
0x4f
,
0x6e
,
0x65
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x12
,
0x20
,
0x0a
,
0x05
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x0a
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x50
,
0x75
,
0x62
,
0x6c
,
0x69
,
0x63
,
0x52
,
0x05
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x22
,
0x39
,
0x0a
,
0x0b
,
0x47
,
0x65
,
0x74
,
0x41
,
0x6c
,
0x6c
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x12
,
0x2a
,
0x0a
,
0x06
,
0x47
,
0x65
,
0x74
,
0x41
,
0x6c
,
0x6c
,
0x18
,
0x01
,
0x20
,
0x03
,
0x28
,
0x0b
,
0x32
,
0x12
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x47
,
0x65
,
0x74
,
0x41
,
0x6c
,
0x6c
,
0x4f
,
0x6e
,
0x65
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x52
,
0x06
,
0x47
,
0x65
,
0x74
,
0x41
,
0x6c
,
0x6c
,
0x22
,
0x33
,
0x0a
,
0x0d
,
0x55
,
0x70
,
0x64
,
0x61
,
0x74
,
0x65
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x12
,
0x22
,
0x0a
,
0x06
,
0x50
,
0x75
,
0x62
,
0x6c
,
0x69
,
0x63
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x0a
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x50
,
0x75
,
0x62
,
0x6c
,
0x69
,
0x63
,
0x52
,
0x06
,
0x50
,
0x75
,
0x62
,
0x6c
,
0x69
,
0x63
,
0x32
,
0xe0
,
0x01
,
0x0a
,
0x0f
,
0x43
,
0x6f
,
0x6e
,
0x66
,
0x69
,
0x67
,
0x75
,
0x72
,
0x65
,
0x53
,
0x65
,
0x76
,
0x69
,
0x63
,
0x65
,
0x12
,
0x2e
,
0x0a
,
0x06
,
0x53
,
0x65
,
0x6c
,
0x65
,
0x63
,
0x74
,
0x12
,
0x11
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x47
,
0x65
,
0x74
,
0x41
,
0x6c
,
0x6c
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x1a
,
0x0f
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x47
,
0x65
,
0x74
,
0x41
,
0x6c
,
0x6c
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x22
,
0x00
,
0x12
,
0x31
,
0x0a
,
0x03
,
0x41
,
0x64
,
0x64
,
0x12
,
0x14
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x43
,
0x6f
,
0x6e
,
0x66
,
0x69
,
0x67
,
0x75
,
0x72
,
0x65
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x1a
,
0x12
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x43
,
0x6f
,
0x6e
,
0x66
,
0x69
,
0x67
,
0x75
,
0x72
,
0x65
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x22
,
0x00
,
0x12
,
0x37
,
0x0a
,
0x06
,
0x44
,
0x65
,
0x6c
,
0x65
,
0x74
,
0x65
,
0x12
,
0x17
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x43
,
0x6f
,
0x6e
,
0x66
,
0x69
,
0x67
,
0x75
,
0x72
,
0x65
,
0x44
,
0x65
,
0x6c
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x1a
,
0x12
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x43
,
0x6f
,
0x6e
,
0x66
,
0x69
,
0x67
,
0x75
,
0x72
,
0x65
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x22
,
0x00
,
0x12
,
0x31
,
0x0a
,
0x06
,
0x55
,
0x70
,
0x64
,
0x61
,
0x74
,
0x65
,
0x12
,
0x11
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x55
,
0x70
,
0x64
,
0x61
,
0x74
,
0x65
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x1a
,
0x12
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x43
,
0x6f
,
0x6e
,
0x66
,
0x69
,
0x67
,
0x75
,
0x72
,
0x65
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x22
,
0x00
,
0x12
,
0x31
,
0x0a
,
0x06
,
0x55
,
0x70
,
0x64
,
0x61
,
0x74
,
0x65
,
0x12
,
0x11
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x55
,
0x70
,
0x64
,
0x61
,
0x74
,
0x65
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x1a
,
0x12
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x43
,
0x6f
,
0x6e
,
0x66
,
0x69
,
0x67
,
0x75
,
0x72
,
0x65
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x22
,
0x00
,
0x62
,
0x06
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x33
,
0x70
,
0x6c
,
0x79
,
0x22
,
0x00
,
0x62
,
0x06
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x33
,
}
var
(
...
...
@@ -532,30 +508,25 @@ var file_u_proto_im_base_proto_goTypes = []interface{}{
(
*
GetAllOneReply
)(
nil
),
// 5: pb.GetAllOneReply
(
*
GetAllReply
)(
nil
),
// 6: pb.GetAllReply
(
*
UpdateRequest
)(
nil
),
// 7: pb.UpdateRequest
(
*
Common
)(
nil
),
// 8: pb.Common
}
var
file_u_proto_im_base_proto_depIdxs
=
[]
int32
{
8
,
// 0: pb.ConfigureRequest.Common:type_name -> pb.Common
0
,
// 1: pb.ConfigureRequest.Public:type_name -> pb.Public
8
,
// 2: pb.ConfigureDelRequest.Common:type_name -> pb.Common
8
,
// 3: pb.GetAllRequest.Common:type_name -> pb.Common
0
,
// 4: pb.GetAllOneReply.Reply:type_name -> pb.Public
5
,
// 5: pb.GetAllReply.GetAll:type_name -> pb.GetAllOneReply
8
,
// 6: pb.UpdateRequest.Common:type_name -> pb.Common
0
,
// 7: pb.UpdateRequest.Public:type_name -> pb.Public
4
,
// 8: pb.ConfigureSevice.Select:input_type -> pb.GetAllRequest
1
,
// 9: pb.ConfigureSevice.Add:input_type -> pb.ConfigureRequest
3
,
// 10: pb.ConfigureSevice.Delete:input_type -> pb.ConfigureDelRequest
7
,
// 11: pb.ConfigureSevice.Update:input_type -> pb.UpdateRequest
6
,
// 12: pb.ConfigureSevice.Select:output_type -> pb.GetAllReply
2
,
// 13: pb.ConfigureSevice.Add:output_type -> pb.ConfigureReply
2
,
// 14: pb.ConfigureSevice.Delete:output_type -> pb.ConfigureReply
2
,
// 15: pb.ConfigureSevice.Update:output_type -> pb.ConfigureReply
12
,
// [12:16] is the sub-list for method output_type
8
,
// [8:12] is the sub-list for method input_type
8
,
// [8:8] is the sub-list for extension type_name
8
,
// [8:8] is the sub-list for extension extendee
0
,
// [0:8] is the sub-list for field type_name
0
,
// 0: pb.ConfigureRequest.Public:type_name -> pb.Public
0
,
// 1: pb.GetAllOneReply.Reply:type_name -> pb.Public
5
,
// 2: pb.GetAllReply.GetAll:type_name -> pb.GetAllOneReply
0
,
// 3: pb.UpdateRequest.Public:type_name -> pb.Public
4
,
// 4: pb.ConfigureSevice.Select:input_type -> pb.GetAllRequest
1
,
// 5: pb.ConfigureSevice.Add:input_type -> pb.ConfigureRequest
3
,
// 6: pb.ConfigureSevice.Delete:input_type -> pb.ConfigureDelRequest
7
,
// 7: pb.ConfigureSevice.Update:input_type -> pb.UpdateRequest
6
,
// 8: pb.ConfigureSevice.Select:output_type -> pb.GetAllReply
2
,
// 9: pb.ConfigureSevice.Add:output_type -> pb.ConfigureReply
2
,
// 10: pb.ConfigureSevice.Delete:output_type -> pb.ConfigureReply
2
,
// 11: pb.ConfigureSevice.Update:output_type -> pb.ConfigureReply
8
,
// [8:12] is the sub-list for method output_type
4
,
// [4:8] is the sub-list for method input_type
4
,
// [4:4] is the sub-list for extension type_name
4
,
// [4:4] is the sub-list for extension extendee
0
,
// [0:4] is the sub-list for field type_name
}
func
init
()
{
file_u_proto_im_base_proto_init
()
}
...
...
@@ -563,7 +534,6 @@ func file_u_proto_im_base_proto_init() {
if
File_u_proto_im_base_proto
!=
nil
{
return
}
file_u_proto_common_proto_init
()
if
!
protoimpl
.
UnsafeEnabled
{
file_u_proto_im_base_proto_msgTypes
[
0
]
.
Exporter
=
func
(
v
interface
{},
i
int
)
interface
{}
{
switch
v
:=
v
.
(
*
Public
);
i
{
...
...
pb/im_base.validator.pb.go
View file @
c87e1382
...
...
@@ -5,10 +5,10 @@ package pb
import
(
fmt
"fmt"
math
"math"
proto
"github.com/golang/protobuf/proto"
_
"github.com/mwitkow/go-proto-validators"
github_com_mwitkow_go_proto_validators
"github.com/mwitkow/go-proto-validators"
math
"math"
)
// Reference imports to suppress errors if they are not otherwise used.
...
...
@@ -20,11 +20,6 @@ func (this *Public) Validate() error {
return
nil
}
func
(
this
*
ConfigureRequest
)
Validate
()
error
{
if
this
.
Common
!=
nil
{
if
err
:=
github_com_mwitkow_go_proto_validators
.
CallValidatorIfExists
(
this
.
Common
);
err
!=
nil
{
return
github_com_mwitkow_go_proto_validators
.
FieldError
(
"Common"
,
err
)
}
}
if
this
.
Public
!=
nil
{
if
err
:=
github_com_mwitkow_go_proto_validators
.
CallValidatorIfExists
(
this
.
Public
);
err
!=
nil
{
return
github_com_mwitkow_go_proto_validators
.
FieldError
(
"Public"
,
err
)
...
...
@@ -42,19 +37,9 @@ func (this *ConfigureDelRequest) Validate() error {
if
!
(
this
.
CompanyUserId
>
0
)
{
return
github_com_mwitkow_go_proto_validators
.
FieldError
(
"CompanyUserId"
,
fmt
.
Errorf
(
`value '%v' must be greater than '0'`
,
this
.
CompanyUserId
))
}
if
this
.
Common
!=
nil
{
if
err
:=
github_com_mwitkow_go_proto_validators
.
CallValidatorIfExists
(
this
.
Common
);
err
!=
nil
{
return
github_com_mwitkow_go_proto_validators
.
FieldError
(
"Common"
,
err
)
}
}
return
nil
}
func
(
this
*
GetAllRequest
)
Validate
()
error
{
if
this
.
Common
!=
nil
{
if
err
:=
github_com_mwitkow_go_proto_validators
.
CallValidatorIfExists
(
this
.
Common
);
err
!=
nil
{
return
github_com_mwitkow_go_proto_validators
.
FieldError
(
"Common"
,
err
)
}
}
return
nil
}
func
(
this
*
GetAllOneReply
)
Validate
()
error
{
...
...
@@ -76,11 +61,6 @@ func (this *GetAllReply) Validate() error {
return
nil
}
func
(
this
*
UpdateRequest
)
Validate
()
error
{
if
this
.
Common
!=
nil
{
if
err
:=
github_com_mwitkow_go_proto_validators
.
CallValidatorIfExists
(
this
.
Common
);
err
!=
nil
{
return
github_com_mwitkow_go_proto_validators
.
FieldError
(
"Common"
,
err
)
}
}
if
this
.
Public
!=
nil
{
if
err
:=
github_com_mwitkow_go_proto_validators
.
CallValidatorIfExists
(
this
.
Public
);
err
!=
nil
{
return
github_com_mwitkow_go_proto_validators
.
FieldError
(
"Public"
,
err
)
...
...
pb/im_chat_room.pb.go
View file @
c87e1382
...
...
@@ -36,10 +36,9 @@ type ChatRoomAddRequest struct {
sizeCache
protoimpl
.
SizeCache
unknownFields
protoimpl
.
UnknownFields
Common
*
Common
`protobuf:"bytes,1,opt,name=Common,proto3" json:"Common,omitempty"`
Creator
string
`protobuf:"bytes,2,opt,name=Creator,proto3" json:"Creator,omitempty"`
Name
string
`protobuf:"bytes,3,opt,name=Name,proto3" json:"Name,omitempty"`
Announcement
string
`protobuf:"bytes,4,opt,name=Announcement,proto3" json:"Announcement,omitempty"`
Creator
string
`protobuf:"bytes,1,opt,name=Creator,proto3" json:"Creator,omitempty"`
Name
string
`protobuf:"bytes,2,opt,name=Name,proto3" json:"Name,omitempty"`
Announcement
string
`protobuf:"bytes,3,opt,name=Announcement,proto3" json:"Announcement,omitempty"`
}
func
(
x
*
ChatRoomAddRequest
)
Reset
()
{
...
...
@@ -74,13 +73,6 @@ func (*ChatRoomAddRequest) Descriptor() ([]byte, []int) {
return
file_u_proto_im_chat_room_proto_rawDescGZIP
(),
[]
int
{
0
}
}
func
(
x
*
ChatRoomAddRequest
)
GetCommon
()
*
Common
{
if
x
!=
nil
{
return
x
.
Common
}
return
nil
}
func
(
x
*
ChatRoomAddRequest
)
GetCreator
()
string
{
if
x
!=
nil
{
return
x
.
Creator
...
...
@@ -155,11 +147,10 @@ type ChatRoomUpdateRequest struct {
sizeCache
protoimpl
.
SizeCache
unknownFields
protoimpl
.
UnknownFields
Common
*
Common
`protobuf:"bytes,1,opt,name=Common,proto3" json:"Common,omitempty"`
RoomId
int64
`protobuf:"varint,2,opt,name=RoomId,proto3" json:"RoomId,omitempty"`
Name
string
`protobuf:"bytes,3,opt,name=Name,proto3" json:"Name,omitempty"`
Status
int64
`protobuf:"varint,4,opt,name=Status,proto3" json:"Status,omitempty"`
Announcement
string
`protobuf:"bytes,5,opt,name=Announcement,proto3" json:"Announcement,omitempty"`
RoomId
int64
`protobuf:"varint,1,opt,name=RoomId,proto3" json:"RoomId,omitempty"`
Name
string
`protobuf:"bytes,2,opt,name=Name,proto3" json:"Name,omitempty"`
Status
int64
`protobuf:"varint,3,opt,name=Status,proto3" json:"Status,omitempty"`
Announcement
string
`protobuf:"bytes,4,opt,name=Announcement,proto3" json:"Announcement,omitempty"`
}
func
(
x
*
ChatRoomUpdateRequest
)
Reset
()
{
...
...
@@ -194,13 +185,6 @@ func (*ChatRoomUpdateRequest) Descriptor() ([]byte, []int) {
return
file_u_proto_im_chat_room_proto_rawDescGZIP
(),
[]
int
{
2
}
}
func
(
x
*
ChatRoomUpdateRequest
)
GetCommon
()
*
Common
{
if
x
!=
nil
{
return
x
.
Common
}
return
nil
}
func
(
x
*
ChatRoomUpdateRequest
)
GetRoomId
()
int64
{
if
x
!=
nil
{
return
x
.
RoomId
...
...
@@ -273,8 +257,7 @@ type ChatRoomDelRequest struct {
sizeCache
protoimpl
.
SizeCache
unknownFields
protoimpl
.
UnknownFields
Common
*
Common
`protobuf:"bytes,1,opt,name=Common,proto3" json:"Common,omitempty"`
RoomId
int64
`protobuf:"varint,2,opt,name=RoomId,proto3" json:"RoomId,omitempty"`
RoomId
int64
`protobuf:"varint,1,opt,name=RoomId,proto3" json:"RoomId,omitempty"`
}
func
(
x
*
ChatRoomDelRequest
)
Reset
()
{
...
...
@@ -309,13 +292,6 @@ func (*ChatRoomDelRequest) Descriptor() ([]byte, []int) {
return
file_u_proto_im_chat_room_proto_rawDescGZIP
(),
[]
int
{
4
}
}
func
(
x
*
ChatRoomDelRequest
)
GetCommon
()
*
Common
{
if
x
!=
nil
{
return
x
.
Common
}
return
nil
}
func
(
x
*
ChatRoomDelRequest
)
GetRoomId
()
int64
{
if
x
!=
nil
{
return
x
.
RoomId
...
...
@@ -367,8 +343,7 @@ type ChatRoomInfoRequest struct {
sizeCache
protoimpl
.
SizeCache
unknownFields
protoimpl
.
UnknownFields
Common
*
Common
`protobuf:"bytes,1,opt,name=Common,proto3" json:"Common,omitempty"`
RoomId
int64
`protobuf:"varint,2,opt,name=RoomId,proto3" json:"RoomId,omitempty"`
RoomId
int64
`protobuf:"varint,1,opt,name=RoomId,proto3" json:"RoomId,omitempty"`
}
func
(
x
*
ChatRoomInfoRequest
)
Reset
()
{
...
...
@@ -403,13 +378,6 @@ func (*ChatRoomInfoRequest) Descriptor() ([]byte, []int) {
return
file_u_proto_im_chat_room_proto_rawDescGZIP
(),
[]
int
{
6
}
}
func
(
x
*
ChatRoomInfoRequest
)
GetCommon
()
*
Common
{
if
x
!=
nil
{
return
x
.
Common
}
return
nil
}
func
(
x
*
ChatRoomInfoRequest
)
GetRoomId
()
int64
{
if
x
!=
nil
{
return
x
.
RoomId
...
...
@@ -525,14 +493,13 @@ type ChatRoomAllRequest struct {
sizeCache
protoimpl
.
SizeCache
unknownFields
protoimpl
.
UnknownFields
Common
*
Common
`protobuf:"bytes,1,opt,name=Common,proto3" json:"Common,omitempty"`
Page
int64
`protobuf:"varint,2,opt,name=Page,proto3" json:"Page,omitempty"`
Creator
string
`protobuf:"bytes,3,opt,name=Creator,proto3" json:"Creator,omitempty"`
Name
string
`protobuf:"bytes,4,opt,name=Name,proto3" json:"Name,omitempty"`
Announcement
string
`protobuf:"bytes,5,opt,name=Announcement,proto3" json:"Announcement,omitempty"`
Status
int64
`protobuf:"varint,6,opt,name=Status,proto3" json:"Status,omitempty"`
Createtime
string
`protobuf:"bytes,7,opt,name=Createtime,proto3" json:"Createtime,omitempty"`
Updatetime
string
`protobuf:"bytes,8,opt,name=Updatetime,proto3" json:"Updatetime,omitempty"`
Page
int64
`protobuf:"varint,1,opt,name=Page,proto3" json:"Page,omitempty"`
Creator
string
`protobuf:"bytes,2,opt,name=Creator,proto3" json:"Creator,omitempty"`
Name
string
`protobuf:"bytes,3,opt,name=Name,proto3" json:"Name,omitempty"`
Announcement
string
`protobuf:"bytes,4,opt,name=Announcement,proto3" json:"Announcement,omitempty"`
Status
int64
`protobuf:"varint,5,opt,name=Status,proto3" json:"Status,omitempty"`
Createtime
string
`protobuf:"bytes,6,opt,name=Createtime,proto3" json:"Createtime,omitempty"`
Updatetime
string
`protobuf:"bytes,7,opt,name=Updatetime,proto3" json:"Updatetime,omitempty"`
}
func
(
x
*
ChatRoomAllRequest
)
Reset
()
{
...
...
@@ -567,13 +534,6 @@ func (*ChatRoomAllRequest) Descriptor() ([]byte, []int) {
return
file_u_proto_im_chat_room_proto_rawDescGZIP
(),
[]
int
{
8
}
}
func
(
x
*
ChatRoomAllRequest
)
GetCommon
()
*
Common
{
if
x
!=
nil
{
return
x
.
Common
}
return
nil
}
func
(
x
*
ChatRoomAllRequest
)
GetPage
()
int64
{
if
x
!=
nil
{
return
x
.
Page
...
...
@@ -687,101 +647,90 @@ var file_u_proto_im_chat_room_proto_rawDesc = []byte{
0x2e
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x1a
,
0x36
,
0x67
,
0x69
,
0x74
,
0x68
,
0x75
,
0x62
,
0x2e
,
0x63
,
0x6f
,
0x6d
,
0x2f
,
0x6d
,
0x77
,
0x69
,
0x74
,
0x6b
,
0x6f
,
0x77
,
0x2f
,
0x67
,
0x6f
,
0x2d
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x2d
,
0x76
,
0x61
,
0x6c
,
0x69
,
0x64
,
0x61
,
0x74
,
0x6f
,
0x72
,
0x73
,
0x2f
,
0x76
,
0x61
,
0x6c
,
0x69
,
0x64
,
0x61
,
0x74
,
0x6f
,
0x72
,
0x2e
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x22
,
0xa2
,
0x01
,
0x0a
,
0x12
,
0x43
,
0x68
,
0x61
,
0x74
,
0x52
,
0x6f
,
0x6f
,
0x6d
,
0x41
,
0x64
,
0x64
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x12
,
0x22
,
0x0a
,
0x06
,
0x43
,
0x6f
,
0x6d
,
0x6d
,
0x6f
,
0x6e
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x0a
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x43
,
0x6f
,
0x6d
,
0x6d
,
0x6f
,
0x6e
,
0x52
,
0x06
,
0x43
,
0x6f
,
0x6d
,
0x6d
,
0x6f
,
0x6e
,
0x12
,
0x20
,
0x0a
,
0x07
,
0x43
,
0x72
,
0x65
,
0x61
,
0x74
,
0x6f
,
0x72
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x09
,
0x42
,
0x06
,
0xe2
,
0xdf
,
0x1f
,
0x02
,
0x58
,
0x01
,
0x52
,
0x07
,
0x43
,
0x72
,
0x65
,
0x61
,
0x74
,
0x6f
,
0x72
,
0x12
,
0x1a
,
0x0a
,
0x04
,
0x4e
,
0x61
,
0x6d
,
0x65
,
0x18
,
0x03
,
0x20
,
0x01
,
0x28
,
0x09
,
0x42
,
0x06
,
0xe2
,
0xdf
,
0x1f
,
0x02
,
0x58
,
0x01
,
0x52
,
0x04
,
0x4e
,
0x61
,
0x6d
,
0x65
,
0x12
,
0x2a
,
0x0a
,
0x0c
,
0x41
,
0x6e
,
0x6e
,
0x6f
,
0x75
,
0x6e
,
0x63
,
0x65
,
0x6d
,
0x65
,
0x6e
,
0x74
,
0x18
,
0x04
,
0x20
,
0x01
,
0x28
,
0x09
,
0x42
,
0x06
,
0xe2
,
0xdf
,
0x1f
,
0x02
,
0x58
,
0x01
,
0x52
,
0x0c
,
0x41
,
0x6e
,
0x6e
,
0x6f
,
0x75
,
0x6e
,
0x63
,
0x65
,
0x6d
,
0x65
,
0x6e
,
0x74
,
0x22
,
0x22
,
0x0a
,
0x10
,
0x43
,
0x68
,
0x61
,
0x74
,
0x52
,
0x6f
,
0x6f
,
0x6d
,
0x41
,
0x64
,
0x64
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x12
,
0x0e
,
0x0a
,
0x02
,
0x49
,
0x64
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x03
,
0x52
,
0x02
,
0x49
,
0x64
,
0x22
,
0xab
,
0x01
,
0x0a
,
0x15
,
0x43
,
0x68
,
0x61
,
0x74
,
0x52
,
0x6f
,
0x6f
,
0x6d
,
0x55
,
0x70
,
0x64
,
0x61
,
0x74
,
0x65
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x12
,
0x22
,
0x0a
,
0x06
,
0x43
,
0x6f
,
0x6d
,
0x6d
,
0x6f
,
0x6e
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x0a
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x43
,
0x6f
,
0x6d
,
0x6d
,
0x6f
,
0x6e
,
0x52
,
0x06
,
0x43
,
0x6f
,
0x6d
,
0x6d
,
0x6f
,
0x6e
,
0x12
,
0x1e
,
0x0a
,
0x06
,
0x52
,
0x6f
,
0x6f
,
0x6d
,
0x49
,
0x64
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x03
,
0x42
,
0x06
,
0xe2
,
0xdf
,
0x1f
,
0x02
,
0x10
,
0x00
,
0x52
,
0x06
,
0x52
,
0x6f
,
0x6f
,
0x6d
,
0x49
,
0x64
,
0x12
,
0x12
,
0x0a
,
0x04
,
0x4e
,
0x61
,
0x6d
,
0x65
,
0x18
,
0x03
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x04
,
0x4e
,
0x61
,
0x6d
,
0x65
,
0x12
,
0x16
,
0x0a
,
0x06
,
0x53
,
0x74
,
0x61
,
0x74
,
0x75
,
0x73
,
0x18
,
0x04
,
0x20
,
0x01
,
0x28
,
0x03
,
0x52
,
0x06
,
0x53
,
0x74
,
0x61
,
0x74
,
0x75
,
0x73
,
0x12
,
0x22
,
0x0a
,
0x0c
,
0x41
,
0x6e
,
0x6e
,
0x6f
,
0x75
,
0x6e
,
0x63
,
0x65
,
0x6d
,
0x65
,
0x6e
,
0x74
,
0x18
,
0x05
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x0c
,
0x41
,
0x6e
,
0x6e
,
0x6f
,
0x75
,
0x6e
,
0x63
,
0x65
,
0x6d
,
0x65
,
0x6e
,
0x74
,
0x22
,
0x15
,
0x0a
,
0x13
,
0x43
,
0x68
,
0x61
,
0x74
,
0x52
,
0x6f
,
0x6f
,
0x6d
,
0x55
,
0x70
,
0x64
,
0x61
,
0x74
,
0x65
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x22
,
0x58
,
0x0a
,
0x12
,
0x43
,
0x68
,
0x61
,
0x74
,
0x52
,
0x6f
,
0x6f
,
0x6d
,
0x44
,
0x65
,
0x6c
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x12
,
0x22
,
0x0a
,
0x06
,
0x43
,
0x6f
,
0x6d
,
0x6d
,
0x6f
,
0x6e
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x0a
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x43
,
0x6f
,
0x6d
,
0x6d
,
0x6f
,
0x6e
,
0x52
,
0x06
,
0x43
,
0x6f
,
0x6d
,
0x6d
,
0x6f
,
0x6e
,
0x12
,
0x1e
,
0x0a
,
0x06
,
0x52
,
0x6f
,
0x6f
,
0x6d
,
0x49
,
0x64
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x03
,
0x42
,
0x06
,
0xe2
,
0xdf
,
0x1f
,
0x02
,
0x10
,
0x00
,
0x52
,
0x06
,
0x52
,
0x6f
,
0x6f
,
0x6d
,
0x49
,
0x64
,
0x22
,
0x12
,
0x0a
,
0x10
,
0x43
,
0x68
,
0x61
,
0x74
,
0x52
,
0x6f
,
0x6f
,
0x6d
,
0x44
,
0x65
,
0x6c
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x22
,
0x59
,
0x0a
,
0x13
,
0x43
,
0x68
,
0x61
,
0x74
,
0x52
,
0x6f
,
0x6f
,
0x6d
,
0x49
,
0x6e
,
0x66
,
0x6f
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x12
,
0x22
,
0x0a
,
0x06
,
0x43
,
0x6f
,
0x6d
,
0x6d
,
0x6f
,
0x6e
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x0a
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x43
,
0x6f
,
0x6d
,
0x6d
,
0x6f
,
0x6e
,
0x52
,
0x06
,
0x43
,
0x6f
,
0x6d
,
0x6d
,
0x6f
,
0x6e
,
0x12
,
0x1e
,
0x0a
,
0x06
,
0x52
,
0x6f
,
0x6f
,
0x6d
,
0x49
,
0x64
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x03
,
0x42
,
0x06
,
0xe2
,
0xdf
,
0x1f
,
0x02
,
0x10
,
0x00
,
0x52
,
0x06
,
0x52
,
0x6f
,
0x6f
,
0x6d
,
0x49
,
0x64
,
0x22
,
0xe8
,
0x01
,
0x0a
,
0x11
,
0x43
,
0x68
,
0x61
,
0x74
,
0x52
,
0x6f
,
0x6f
,
0x6d
,
0x49
,
0x6e
,
0x66
,
0x6f
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x12
,
0x17
,
0x0a
,
0x07
,
0x52
,
0x6f
,
0x6f
,
0x6d
,
0x5f
,
0x69
,
0x64
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x03
,
0x52
,
0x06
,
0x52
,
0x6f
,
0x6f
,
0x6d
,
0x49
,
0x64
,
0x12
,
0x18
,
0x0a
,
0x07
,
0x43
,
0x72
,
0x65
,
0x61
,
0x74
,
0x6f
,
0x72
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x07
,
0x43
,
0x72
,
0x65
,
0x61
,
0x74
,
0x6f
,
0x72
,
0x12
,
0x12
,
0x0a
,
0x04
,
0x4e
,
0x61
,
0x6d
,
0x65
,
0x18
,
0x03
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x04
,
0x4e
,
0x61
,
0x6d
,
0x65
,
0x12
,
0x22
,
0x0a
,
0x0c
,
0x41
,
0x6e
,
0x6e
,
0x6f
,
0x75
,
0x6e
,
0x63
,
0x65
,
0x6d
,
0x65
,
0x6e
,
0x74
,
0x18
,
0x04
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x0c
,
0x41
,
0x6e
,
0x6e
,
0x6f
,
0x75
,
0x6e
,
0x63
,
0x65
,
0x6d
,
0x65
,
0x6e
,
0x74
,
0x12
,
0x16
,
0x0a
,
0x06
,
0x53
,
0x74
,
0x61
,
0x74
,
0x75
,
0x73
,
0x18
,
0x05
,
0x20
,
0x01
,
0x28
,
0x03
,
0x52
,
0x06
,
0x53
,
0x74
,
0x61
,
0x74
,
0x75
,
0x73
,
0x12
,
0x10
,
0x0a
,
0x03
,
0x45
,
0x78
,
0x74
,
0x18
,
0x06
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x03
,
0x45
,
0x78
,
0x74
,
0x12
,
0x1e
,
0x0a
,
0x0a
,
0x43
,
0x72
,
0x65
,
0x61
,
0x74
,
0x65
,
0x74
,
0x69
,
0x6d
,
0x65
,
0x18
,
0x07
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x0a
,
0x43
,
0x72
,
0x65
,
0x61
,
0x74
,
0x65
,
0x74
,
0x69
,
0x6d
,
0x65
,
0x12
,
0x1e
,
0x0a
,
0x0a
,
0x55
,
0x70
,
0x64
,
0x61
,
0x74
,
0x65
,
0x74
,
0x69
,
0x6d
,
0x65
,
0x18
,
0x08
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x0a
,
0x55
,
0x70
,
0x64
,
0x61
,
0x74
,
0x65
,
0x74
,
0x69
,
0x6d
,
0x65
,
0x22
,
0xf6
,
0x01
,
0x0a
,
0x12
,
0x43
,
0x68
,
0x61
,
0x74
,
0x52
,
0x6f
,
0x6f
,
0x6d
,
0x41
,
0x6c
,
0x6c
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x12
,
0x22
,
0x0a
,
0x06
,
0x43
,
0x6f
,
0x6d
,
0x6d
,
0x6f
,
0x6e
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x0a
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x43
,
0x6f
,
0x6d
,
0x6d
,
0x6f
,
0x6e
,
0x52
,
0x06
,
0x43
,
0x6f
,
0x6d
,
0x6d
,
0x6f
,
0x6e
,
0x12
,
0x12
,
0x0a
,
0x04
,
0x50
,
0x61
,
0x67
,
0x65
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x03
,
0x52
,
0x04
,
0x50
,
0x61
,
0x67
,
0x65
,
0x12
,
0x18
,
0x0a
,
0x07
,
0x43
,
0x72
,
0x65
,
0x61
,
0x74
,
0x6f
,
0x72
,
0x18
,
0x03
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x07
,
0x43
,
0x72
,
0x65
,
0x61
,
0x74
,
0x6f
,
0x72
,
0x12
,
0x12
,
0x0a
,
0x04
,
0x4e
,
0x61
,
0x6d
,
0x65
,
0x18
,
0x04
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x04
,
0x4e
,
0x61
,
0x6d
,
0x65
,
0x12
,
0x22
,
0x0a
,
0x0c
,
0x41
,
0x6e
,
0x6e
,
0x6f
,
0x75
,
0x6e
,
0x63
,
0x65
,
0x6d
,
0x65
,
0x6e
,
0x74
,
0x18
,
0x05
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x0c
,
0x41
,
0x6e
,
0x6e
,
0x6f
,
0x75
,
0x6e
,
0x63
,
0x65
,
0x6d
,
0x65
,
0x6e
,
0x74
,
0x12
,
0x16
,
0x0a
,
0x06
,
0x53
,
0x74
,
0x61
,
0x74
,
0x75
,
0x73
,
0x18
,
0x06
,
0x20
,
0x01
,
0x28
,
0x03
,
0x52
,
0x06
,
0x53
,
0x74
,
0x61
,
0x74
,
0x75
,
0x73
,
0x12
,
0x1e
,
0x0a
,
0x0a
,
0x43
,
0x72
,
0x65
,
0x61
,
0x74
,
0x65
,
0x74
,
0x69
,
0x6d
,
0x65
,
0x18
,
0x07
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x0a
,
0x43
,
0x72
,
0x65
,
0x61
,
0x74
,
0x65
,
0x74
,
0x69
,
0x6d
,
0x65
,
0x12
,
0x1e
,
0x0a
,
0x0a
,
0x55
,
0x70
,
0x64
,
0x61
,
0x74
,
0x65
,
0x74
,
0x69
,
0x6d
,
0x65
,
0x18
,
0x08
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x0a
,
0x55
,
0x70
,
0x64
,
0x61
,
0x74
,
0x65
,
0x74
,
0x69
,
0x6d
,
0x65
,
0x22
,
0x64
,
0x0a
,
0x11
,
0x47
,
0x65
,
0x74
,
0x43
,
0x68
,
0x61
,
0x74
,
0x52
,
0x6f
,
0x6f
,
0x6d
,
0x73
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x12
,
0x29
,
0x0a
,
0x04
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x18
,
0x01
,
0x20
,
0x03
,
0x28
,
0x0b
,
0x32
,
0x15
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x43
,
0x68
,
0x61
,
0x74
,
0x52
,
0x6f
,
0x6f
,
0x6d
,
0x49
,
0x6e
,
0x66
,
0x6f
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x52
,
0x04
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x12
,
0x24
,
0x0a
,
0x08
,
0x50
,
0x61
,
0x67
,
0x69
,
0x6e
,
0x61
,
0x74
,
0x65
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x08
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x50
,
0x61
,
0x67
,
0x65
,
0x52
,
0x08
,
0x50
,
0x61
,
0x67
,
0x69
,
0x6e
,
0x61
,
0x74
,
0x65
,
0x32
,
0xb4
,
0x02
,
0x0a
,
0x0f
,
0x43
,
0x68
,
0x61
,
0x74
,
0x52
,
0x6f
,
0x6f
,
0x6d
,
0x53
,
0x65
,
0x72
,
0x76
,
0x69
,
0x63
,
0x65
,
0x12
,
0x35
,
0x0a
,
0x03
,
0x41
,
0x64
,
0x64
,
0x12
,
0x16
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x43
,
0x68
,
0x61
,
0x74
,
0x52
,
0x6f
,
0x6f
,
0x6d
,
0x41
,
0x64
,
0x64
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x1a
,
0x14
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x43
,
0x68
,
0x61
,
0x74
,
0x52
,
0x6f
,
0x6f
,
0x6d
,
0x41
,
0x64
,
0x64
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x22
,
0x00
,
0x12
,
0x3e
,
0x0a
,
0x06
,
0x55
,
0x70
,
0x64
,
0x61
,
0x74
,
0x65
,
0x12
,
0x19
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x43
,
0x68
,
0x61
,
0x74
,
0x52
,
0x6f
,
0x6f
,
0x6d
,
0x55
,
0x70
,
0x64
,
0x61
,
0x74
,
0x65
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x1a
,
0x17
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x43
,
0x68
,
0x61
,
0x74
,
0x52
,
0x6f
,
0x6f
,
0x6d
,
0x55
,
0x70
,
0x64
,
0x61
,
0x74
,
0x65
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x22
,
0x00
,
0x12
,
0x38
,
0x0a
,
0x06
,
0x44
,
0x65
,
0x6c
,
0x65
,
0x74
,
0x65
,
0x12
,
0x16
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x43
,
0x68
,
0x61
,
0x74
,
0x52
,
0x6f
,
0x6f
,
0x6d
,
0x44
,
0x65
,
0x6c
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x1a
,
0x14
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x43
,
0x68
,
0x61
,
0x74
,
0x52
,
0x6f
,
0x6f
,
0x6d
,
0x44
,
0x65
,
0x6c
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x22
,
0x00
,
0x12
,
0x38
,
0x0a
,
0x04
,
0x49
,
0x6e
,
0x66
,
0x6f
,
0x12
,
0x17
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x43
,
0x68
,
0x61
,
0x74
,
0x52
,
0x6f
,
0x6f
,
0x6d
,
0x49
,
0x6e
,
0x66
,
0x6f
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x1a
,
0x15
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x43
,
0x68
,
0x61
,
0x74
,
0x52
,
0x6f
,
0x6f
,
0x6d
,
0x49
,
0x6e
,
0x66
,
0x6f
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x22
,
0x00
,
0x12
,
0x36
,
0x0a
,
0x03
,
0x41
,
0x6c
,
0x6c
,
0x12
,
0x16
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x43
,
0x68
,
0x61
,
0x74
,
0x52
,
0x6f
,
0x6f
,
0x6d
,
0x41
,
0x6c
,
0x6c
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x1a
,
0x15
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x47
,
0x65
,
0x74
,
0x43
,
0x68
,
0x61
,
0x74
,
0x52
,
0x6f
,
0x6f
,
0x6d
,
0x73
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x22
,
0x00
,
0x62
,
0x06
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x33
,
0x61
,
0x6c
,
0x69
,
0x64
,
0x61
,
0x74
,
0x6f
,
0x72
,
0x2e
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x22
,
0x7e
,
0x0a
,
0x12
,
0x43
,
0x68
,
0x61
,
0x74
,
0x52
,
0x6f
,
0x6f
,
0x6d
,
0x41
,
0x64
,
0x64
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x12
,
0x20
,
0x0a
,
0x07
,
0x43
,
0x72
,
0x65
,
0x61
,
0x74
,
0x6f
,
0x72
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x42
,
0x06
,
0xe2
,
0xdf
,
0x1f
,
0x02
,
0x58
,
0x01
,
0x52
,
0x07
,
0x43
,
0x72
,
0x65
,
0x61
,
0x74
,
0x6f
,
0x72
,
0x12
,
0x1a
,
0x0a
,
0x04
,
0x4e
,
0x61
,
0x6d
,
0x65
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x09
,
0x42
,
0x06
,
0xe2
,
0xdf
,
0x1f
,
0x02
,
0x58
,
0x01
,
0x52
,
0x04
,
0x4e
,
0x61
,
0x6d
,
0x65
,
0x12
,
0x2a
,
0x0a
,
0x0c
,
0x41
,
0x6e
,
0x6e
,
0x6f
,
0x75
,
0x6e
,
0x63
,
0x65
,
0x6d
,
0x65
,
0x6e
,
0x74
,
0x18
,
0x03
,
0x20
,
0x01
,
0x28
,
0x09
,
0x42
,
0x06
,
0xe2
,
0xdf
,
0x1f
,
0x02
,
0x58
,
0x01
,
0x52
,
0x0c
,
0x41
,
0x6e
,
0x6e
,
0x6f
,
0x75
,
0x6e
,
0x63
,
0x65
,
0x6d
,
0x65
,
0x6e
,
0x74
,
0x22
,
0x22
,
0x0a
,
0x10
,
0x43
,
0x68
,
0x61
,
0x74
,
0x52
,
0x6f
,
0x6f
,
0x6d
,
0x41
,
0x64
,
0x64
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x12
,
0x0e
,
0x0a
,
0x02
,
0x49
,
0x64
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x03
,
0x52
,
0x02
,
0x49
,
0x64
,
0x22
,
0x87
,
0x01
,
0x0a
,
0x15
,
0x43
,
0x68
,
0x61
,
0x74
,
0x52
,
0x6f
,
0x6f
,
0x6d
,
0x55
,
0x70
,
0x64
,
0x61
,
0x74
,
0x65
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x12
,
0x1e
,
0x0a
,
0x06
,
0x52
,
0x6f
,
0x6f
,
0x6d
,
0x49
,
0x64
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x03
,
0x42
,
0x06
,
0xe2
,
0xdf
,
0x1f
,
0x02
,
0x10
,
0x00
,
0x52
,
0x06
,
0x52
,
0x6f
,
0x6f
,
0x6d
,
0x49
,
0x64
,
0x12
,
0x12
,
0x0a
,
0x04
,
0x4e
,
0x61
,
0x6d
,
0x65
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x04
,
0x4e
,
0x61
,
0x6d
,
0x65
,
0x12
,
0x16
,
0x0a
,
0x06
,
0x53
,
0x74
,
0x61
,
0x74
,
0x75
,
0x73
,
0x18
,
0x03
,
0x20
,
0x01
,
0x28
,
0x03
,
0x52
,
0x06
,
0x53
,
0x74
,
0x61
,
0x74
,
0x75
,
0x73
,
0x12
,
0x22
,
0x0a
,
0x0c
,
0x41
,
0x6e
,
0x6e
,
0x6f
,
0x75
,
0x6e
,
0x63
,
0x65
,
0x6d
,
0x65
,
0x6e
,
0x74
,
0x18
,
0x04
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x0c
,
0x41
,
0x6e
,
0x6e
,
0x6f
,
0x75
,
0x6e
,
0x63
,
0x65
,
0x6d
,
0x65
,
0x6e
,
0x74
,
0x22
,
0x15
,
0x0a
,
0x13
,
0x43
,
0x68
,
0x61
,
0x74
,
0x52
,
0x6f
,
0x6f
,
0x6d
,
0x55
,
0x70
,
0x64
,
0x61
,
0x74
,
0x65
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x22
,
0x34
,
0x0a
,
0x12
,
0x43
,
0x68
,
0x61
,
0x74
,
0x52
,
0x6f
,
0x6f
,
0x6d
,
0x44
,
0x65
,
0x6c
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x12
,
0x1e
,
0x0a
,
0x06
,
0x52
,
0x6f
,
0x6f
,
0x6d
,
0x49
,
0x64
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x03
,
0x42
,
0x06
,
0xe2
,
0xdf
,
0x1f
,
0x02
,
0x10
,
0x00
,
0x52
,
0x06
,
0x52
,
0x6f
,
0x6f
,
0x6d
,
0x49
,
0x64
,
0x22
,
0x12
,
0x0a
,
0x10
,
0x43
,
0x68
,
0x61
,
0x74
,
0x52
,
0x6f
,
0x6f
,
0x6d
,
0x44
,
0x65
,
0x6c
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x22
,
0x35
,
0x0a
,
0x13
,
0x43
,
0x68
,
0x61
,
0x74
,
0x52
,
0x6f
,
0x6f
,
0x6d
,
0x49
,
0x6e
,
0x66
,
0x6f
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x12
,
0x1e
,
0x0a
,
0x06
,
0x52
,
0x6f
,
0x6f
,
0x6d
,
0x49
,
0x64
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x03
,
0x42
,
0x06
,
0xe2
,
0xdf
,
0x1f
,
0x02
,
0x10
,
0x00
,
0x52
,
0x06
,
0x52
,
0x6f
,
0x6f
,
0x6d
,
0x49
,
0x64
,
0x22
,
0xe8
,
0x01
,
0x0a
,
0x11
,
0x43
,
0x68
,
0x61
,
0x74
,
0x52
,
0x6f
,
0x6f
,
0x6d
,
0x49
,
0x6e
,
0x66
,
0x6f
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x12
,
0x17
,
0x0a
,
0x07
,
0x52
,
0x6f
,
0x6f
,
0x6d
,
0x5f
,
0x69
,
0x64
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x03
,
0x52
,
0x06
,
0x52
,
0x6f
,
0x6f
,
0x6d
,
0x49
,
0x64
,
0x12
,
0x18
,
0x0a
,
0x07
,
0x43
,
0x72
,
0x65
,
0x61
,
0x74
,
0x6f
,
0x72
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x07
,
0x43
,
0x72
,
0x65
,
0x61
,
0x74
,
0x6f
,
0x72
,
0x12
,
0x12
,
0x0a
,
0x04
,
0x4e
,
0x61
,
0x6d
,
0x65
,
0x18
,
0x03
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x04
,
0x4e
,
0x61
,
0x6d
,
0x65
,
0x12
,
0x22
,
0x0a
,
0x0c
,
0x41
,
0x6e
,
0x6e
,
0x6f
,
0x75
,
0x6e
,
0x63
,
0x65
,
0x6d
,
0x65
,
0x6e
,
0x74
,
0x18
,
0x04
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x0c
,
0x41
,
0x6e
,
0x6e
,
0x6f
,
0x75
,
0x6e
,
0x63
,
0x65
,
0x6d
,
0x65
,
0x6e
,
0x74
,
0x12
,
0x16
,
0x0a
,
0x06
,
0x53
,
0x74
,
0x61
,
0x74
,
0x75
,
0x73
,
0x18
,
0x05
,
0x20
,
0x01
,
0x28
,
0x03
,
0x52
,
0x06
,
0x53
,
0x74
,
0x61
,
0x74
,
0x75
,
0x73
,
0x12
,
0x10
,
0x0a
,
0x03
,
0x45
,
0x78
,
0x74
,
0x18
,
0x06
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x03
,
0x45
,
0x78
,
0x74
,
0x12
,
0x1e
,
0x0a
,
0x0a
,
0x43
,
0x72
,
0x65
,
0x61
,
0x74
,
0x65
,
0x74
,
0x69
,
0x6d
,
0x65
,
0x18
,
0x07
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x0a
,
0x43
,
0x72
,
0x65
,
0x61
,
0x74
,
0x65
,
0x74
,
0x69
,
0x6d
,
0x65
,
0x12
,
0x1e
,
0x0a
,
0x0a
,
0x55
,
0x70
,
0x64
,
0x61
,
0x74
,
0x65
,
0x74
,
0x69
,
0x6d
,
0x65
,
0x18
,
0x08
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x0a
,
0x55
,
0x70
,
0x64
,
0x61
,
0x74
,
0x65
,
0x74
,
0x69
,
0x6d
,
0x65
,
0x22
,
0xd2
,
0x01
,
0x0a
,
0x12
,
0x43
,
0x68
,
0x61
,
0x74
,
0x52
,
0x6f
,
0x6f
,
0x6d
,
0x41
,
0x6c
,
0x6c
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x12
,
0x12
,
0x0a
,
0x04
,
0x50
,
0x61
,
0x67
,
0x65
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x03
,
0x52
,
0x04
,
0x50
,
0x61
,
0x67
,
0x65
,
0x12
,
0x18
,
0x0a
,
0x07
,
0x43
,
0x72
,
0x65
,
0x61
,
0x74
,
0x6f
,
0x72
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x07
,
0x43
,
0x72
,
0x65
,
0x61
,
0x74
,
0x6f
,
0x72
,
0x12
,
0x12
,
0x0a
,
0x04
,
0x4e
,
0x61
,
0x6d
,
0x65
,
0x18
,
0x03
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x04
,
0x4e
,
0x61
,
0x6d
,
0x65
,
0x12
,
0x22
,
0x0a
,
0x0c
,
0x41
,
0x6e
,
0x6e
,
0x6f
,
0x75
,
0x6e
,
0x63
,
0x65
,
0x6d
,
0x65
,
0x6e
,
0x74
,
0x18
,
0x04
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x0c
,
0x41
,
0x6e
,
0x6e
,
0x6f
,
0x75
,
0x6e
,
0x63
,
0x65
,
0x6d
,
0x65
,
0x6e
,
0x74
,
0x12
,
0x16
,
0x0a
,
0x06
,
0x53
,
0x74
,
0x61
,
0x74
,
0x75
,
0x73
,
0x18
,
0x05
,
0x20
,
0x01
,
0x28
,
0x03
,
0x52
,
0x06
,
0x53
,
0x74
,
0x61
,
0x74
,
0x75
,
0x73
,
0x12
,
0x1e
,
0x0a
,
0x0a
,
0x43
,
0x72
,
0x65
,
0x61
,
0x74
,
0x65
,
0x74
,
0x69
,
0x6d
,
0x65
,
0x18
,
0x06
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x0a
,
0x43
,
0x72
,
0x65
,
0x61
,
0x74
,
0x65
,
0x74
,
0x69
,
0x6d
,
0x65
,
0x12
,
0x1e
,
0x0a
,
0x0a
,
0x55
,
0x70
,
0x64
,
0x61
,
0x74
,
0x65
,
0x74
,
0x69
,
0x6d
,
0x65
,
0x18
,
0x07
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x0a
,
0x55
,
0x70
,
0x64
,
0x61
,
0x74
,
0x65
,
0x74
,
0x69
,
0x6d
,
0x65
,
0x22
,
0x64
,
0x0a
,
0x11
,
0x47
,
0x65
,
0x74
,
0x43
,
0x68
,
0x61
,
0x74
,
0x52
,
0x6f
,
0x6f
,
0x6d
,
0x73
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x12
,
0x29
,
0x0a
,
0x04
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x18
,
0x01
,
0x20
,
0x03
,
0x28
,
0x0b
,
0x32
,
0x15
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x43
,
0x68
,
0x61
,
0x74
,
0x52
,
0x6f
,
0x6f
,
0x6d
,
0x49
,
0x6e
,
0x66
,
0x6f
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x52
,
0x04
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x12
,
0x24
,
0x0a
,
0x08
,
0x50
,
0x61
,
0x67
,
0x69
,
0x6e
,
0x61
,
0x74
,
0x65
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x08
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x50
,
0x61
,
0x67
,
0x65
,
0x52
,
0x08
,
0x50
,
0x61
,
0x67
,
0x69
,
0x6e
,
0x61
,
0x74
,
0x65
,
0x32
,
0xb4
,
0x02
,
0x0a
,
0x0f
,
0x43
,
0x68
,
0x61
,
0x74
,
0x52
,
0x6f
,
0x6f
,
0x6d
,
0x53
,
0x65
,
0x72
,
0x76
,
0x69
,
0x63
,
0x65
,
0x12
,
0x35
,
0x0a
,
0x03
,
0x41
,
0x64
,
0x64
,
0x12
,
0x16
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x43
,
0x68
,
0x61
,
0x74
,
0x52
,
0x6f
,
0x6f
,
0x6d
,
0x41
,
0x64
,
0x64
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x1a
,
0x14
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x43
,
0x68
,
0x61
,
0x74
,
0x52
,
0x6f
,
0x6f
,
0x6d
,
0x41
,
0x64
,
0x64
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x22
,
0x00
,
0x12
,
0x3e
,
0x0a
,
0x06
,
0x55
,
0x70
,
0x64
,
0x61
,
0x74
,
0x65
,
0x12
,
0x19
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x43
,
0x68
,
0x61
,
0x74
,
0x52
,
0x6f
,
0x6f
,
0x6d
,
0x55
,
0x70
,
0x64
,
0x61
,
0x74
,
0x65
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x1a
,
0x17
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x43
,
0x68
,
0x61
,
0x74
,
0x52
,
0x6f
,
0x6f
,
0x6d
,
0x55
,
0x70
,
0x64
,
0x61
,
0x74
,
0x65
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x22
,
0x00
,
0x12
,
0x38
,
0x0a
,
0x06
,
0x44
,
0x65
,
0x6c
,
0x65
,
0x74
,
0x65
,
0x12
,
0x16
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x43
,
0x68
,
0x61
,
0x74
,
0x52
,
0x6f
,
0x6f
,
0x6d
,
0x44
,
0x65
,
0x6c
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x1a
,
0x14
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x43
,
0x68
,
0x61
,
0x74
,
0x52
,
0x6f
,
0x6f
,
0x6d
,
0x44
,
0x65
,
0x6c
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x22
,
0x00
,
0x12
,
0x38
,
0x0a
,
0x04
,
0x49
,
0x6e
,
0x66
,
0x6f
,
0x12
,
0x17
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x43
,
0x68
,
0x61
,
0x74
,
0x52
,
0x6f
,
0x6f
,
0x6d
,
0x49
,
0x6e
,
0x66
,
0x6f
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x1a
,
0x15
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x43
,
0x68
,
0x61
,
0x74
,
0x52
,
0x6f
,
0x6f
,
0x6d
,
0x49
,
0x6e
,
0x66
,
0x6f
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x22
,
0x00
,
0x12
,
0x36
,
0x0a
,
0x03
,
0x41
,
0x6c
,
0x6c
,
0x12
,
0x16
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x43
,
0x68
,
0x61
,
0x74
,
0x52
,
0x6f
,
0x6f
,
0x6d
,
0x41
,
0x6c
,
0x6c
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x1a
,
0x15
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x47
,
0x65
,
0x74
,
0x43
,
0x68
,
0x61
,
0x74
,
0x52
,
0x6f
,
0x6f
,
0x6d
,
0x73
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x22
,
0x00
,
0x62
,
0x06
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x33
,
}
var
(
...
...
@@ -808,32 +757,26 @@ var file_u_proto_im_chat_room_proto_goTypes = []interface{}{
(
*
ChatRoomInfoReply
)(
nil
),
// 7: pb.ChatRoomInfoReply
(
*
ChatRoomAllRequest
)(
nil
),
// 8: pb.ChatRoomAllRequest
(
*
GetChatRoomsReply
)(
nil
),
// 9: pb.GetChatRoomsReply
(
*
Common
)(
nil
),
// 10: pb.Common
(
*
Page
)(
nil
),
// 11: pb.Page
(
*
Page
)(
nil
),
// 10: pb.Page
}
var
file_u_proto_im_chat_room_proto_depIdxs
=
[]
int32
{
10
,
// 0: pb.ChatRoomAddRequest.Common:type_name -> pb.Common
10
,
// 1: pb.ChatRoomUpdateRequest.Common:type_name -> pb.Common
10
,
// 2: pb.ChatRoomDelRequest.Common:type_name -> pb.Common
10
,
// 3: pb.ChatRoomInfoRequest.Common:type_name -> pb.Common
10
,
// 4: pb.ChatRoomAllRequest.Common:type_name -> pb.Common
7
,
// 5: pb.GetChatRoomsReply.List:type_name -> pb.ChatRoomInfoReply
11
,
// 6: pb.GetChatRoomsReply.Paginate:type_name -> pb.Page
0
,
// 7: pb.ChatRoomService.Add:input_type -> pb.ChatRoomAddRequest
2
,
// 8: pb.ChatRoomService.Update:input_type -> pb.ChatRoomUpdateRequest
4
,
// 9: pb.ChatRoomService.Delete:input_type -> pb.ChatRoomDelRequest
6
,
// 10: pb.ChatRoomService.Info:input_type -> pb.ChatRoomInfoRequest
8
,
// 11: pb.ChatRoomService.All:input_type -> pb.ChatRoomAllRequest
1
,
// 12: pb.ChatRoomService.Add:output_type -> pb.ChatRoomAddReply
3
,
// 13: pb.ChatRoomService.Update:output_type -> pb.ChatRoomUpdateReply
5
,
// 14: pb.ChatRoomService.Delete:output_type -> pb.ChatRoomDelReply
7
,
// 15: pb.ChatRoomService.Info:output_type -> pb.ChatRoomInfoReply
9
,
// 16: pb.ChatRoomService.All:output_type -> pb.GetChatRoomsReply
12
,
// [12:17] is the sub-list for method output_type
7
,
// [7:12] 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
7
,
// 0: pb.GetChatRoomsReply.List:type_name -> pb.ChatRoomInfoReply
10
,
// 1: pb.GetChatRoomsReply.Paginate:type_name -> pb.Page
0
,
// 2: pb.ChatRoomService.Add:input_type -> pb.ChatRoomAddRequest
2
,
// 3: pb.ChatRoomService.Update:input_type -> pb.ChatRoomUpdateRequest
4
,
// 4: pb.ChatRoomService.Delete:input_type -> pb.ChatRoomDelRequest
6
,
// 5: pb.ChatRoomService.Info:input_type -> pb.ChatRoomInfoRequest
8
,
// 6: pb.ChatRoomService.All:input_type -> pb.ChatRoomAllRequest
1
,
// 7: pb.ChatRoomService.Add:output_type -> pb.ChatRoomAddReply
3
,
// 8: pb.ChatRoomService.Update:output_type -> pb.ChatRoomUpdateReply
5
,
// 9: pb.ChatRoomService.Delete:output_type -> pb.ChatRoomDelReply
7
,
// 10: pb.ChatRoomService.Info:output_type -> pb.ChatRoomInfoReply
9
,
// 11: pb.ChatRoomService.All:output_type -> pb.GetChatRoomsReply
7
,
// [7:12] is the sub-list for method output_type
2
,
// [2:7] is the sub-list for method input_type
2
,
// [2:2] is the sub-list for extension type_name
2
,
// [2:2] is the sub-list for extension extendee
0
,
// [0:2] is the sub-list for field type_name
}
func
init
()
{
file_u_proto_im_chat_room_proto_init
()
}
...
...
pb/im_chat_room.validator.pb.go
View file @
c87e1382
...
...
@@ -5,10 +5,10 @@ package pb
import
(
fmt
"fmt"
math
"math"
proto
"github.com/golang/protobuf/proto"
_
"github.com/mwitkow/go-proto-validators"
github_com_mwitkow_go_proto_validators
"github.com/mwitkow/go-proto-validators"
math
"math"
)
// Reference imports to suppress errors if they are not otherwise used.
...
...
@@ -17,11 +17,6 @@ var _ = fmt.Errorf
var
_
=
math
.
Inf
func
(
this
*
ChatRoomAddRequest
)
Validate
()
error
{
if
this
.
Common
!=
nil
{
if
err
:=
github_com_mwitkow_go_proto_validators
.
CallValidatorIfExists
(
this
.
Common
);
err
!=
nil
{
return
github_com_mwitkow_go_proto_validators
.
FieldError
(
"Common"
,
err
)
}
}
if
this
.
Creator
==
""
{
return
github_com_mwitkow_go_proto_validators
.
FieldError
(
"Creator"
,
fmt
.
Errorf
(
`value '%v' must not be an empty string`
,
this
.
Creator
))
}
...
...
@@ -37,11 +32,6 @@ func (this *ChatRoomAddReply) Validate() error {
return
nil
}
func
(
this
*
ChatRoomUpdateRequest
)
Validate
()
error
{
if
this
.
Common
!=
nil
{
if
err
:=
github_com_mwitkow_go_proto_validators
.
CallValidatorIfExists
(
this
.
Common
);
err
!=
nil
{
return
github_com_mwitkow_go_proto_validators
.
FieldError
(
"Common"
,
err
)
}
}
if
!
(
this
.
RoomId
>
0
)
{
return
github_com_mwitkow_go_proto_validators
.
FieldError
(
"RoomId"
,
fmt
.
Errorf
(
`value '%v' must be greater than '0'`
,
this
.
RoomId
))
}
...
...
@@ -51,11 +41,6 @@ func (this *ChatRoomUpdateReply) Validate() error {
return
nil
}
func
(
this
*
ChatRoomDelRequest
)
Validate
()
error
{
if
this
.
Common
!=
nil
{
if
err
:=
github_com_mwitkow_go_proto_validators
.
CallValidatorIfExists
(
this
.
Common
);
err
!=
nil
{
return
github_com_mwitkow_go_proto_validators
.
FieldError
(
"Common"
,
err
)
}
}
if
!
(
this
.
RoomId
>
0
)
{
return
github_com_mwitkow_go_proto_validators
.
FieldError
(
"RoomId"
,
fmt
.
Errorf
(
`value '%v' must be greater than '0'`
,
this
.
RoomId
))
}
...
...
@@ -65,11 +50,6 @@ func (this *ChatRoomDelReply) Validate() error {
return
nil
}
func
(
this
*
ChatRoomInfoRequest
)
Validate
()
error
{
if
this
.
Common
!=
nil
{
if
err
:=
github_com_mwitkow_go_proto_validators
.
CallValidatorIfExists
(
this
.
Common
);
err
!=
nil
{
return
github_com_mwitkow_go_proto_validators
.
FieldError
(
"Common"
,
err
)
}
}
if
!
(
this
.
RoomId
>
0
)
{
return
github_com_mwitkow_go_proto_validators
.
FieldError
(
"RoomId"
,
fmt
.
Errorf
(
`value '%v' must be greater than '0'`
,
this
.
RoomId
))
}
...
...
@@ -79,11 +59,6 @@ func (this *ChatRoomInfoReply) Validate() error {
return
nil
}
func
(
this
*
ChatRoomAllRequest
)
Validate
()
error
{
if
this
.
Common
!=
nil
{
if
err
:=
github_com_mwitkow_go_proto_validators
.
CallValidatorIfExists
(
this
.
Common
);
err
!=
nil
{
return
github_com_mwitkow_go_proto_validators
.
FieldError
(
"Common"
,
err
)
}
}
return
nil
}
func
(
this
*
GetChatRoomsReply
)
Validate
()
error
{
...
...
pb/im_friend_req.pb.go
View file @
c87e1382
...
...
@@ -36,9 +36,9 @@ type ImFriendAddReq struct {
sizeCache
protoimpl
.
SizeCache
unknownFields
protoimpl
.
UnknownFields
Common
*
Common
`protobuf:"bytes,1,opt,name=Common,proto3" json:"Common
,omitempty"`
Accid
string
`protobuf:"bytes,2,opt,name=Accid,proto3" json:"A
ccid,omitempty"`
Faccid
string
`protobuf:"bytes,3,opt,name=Faccid,proto3" json:"Faccid
,omitempty"`
Accid
string
`protobuf:"bytes,1,opt,name=Accid,proto3" json:"Accid
,omitempty"`
Faccid
string
`protobuf:"bytes,2,opt,name=Faccid,proto3" json:"Fa
ccid,omitempty"`
Appkey
string
`protobuf:"bytes,3,opt,name=Appkey,proto3" json:"Appkey
,omitempty"`
}
func
(
x
*
ImFriendAddReq
)
Reset
()
{
...
...
@@ -73,13 +73,6 @@ func (*ImFriendAddReq) Descriptor() ([]byte, []int) {
return
file_u_proto_im_friend_req_proto_rawDescGZIP
(),
[]
int
{
0
}
}
func
(
x
*
ImFriendAddReq
)
GetCommon
()
*
Common
{
if
x
!=
nil
{
return
x
.
Common
}
return
nil
}
func
(
x
*
ImFriendAddReq
)
GetAccid
()
string
{
if
x
!=
nil
{
return
x
.
Accid
...
...
@@ -94,6 +87,13 @@ func (x *ImFriendAddReq) GetFaccid() string {
return
""
}
func
(
x
*
ImFriendAddReq
)
GetAppkey
()
string
{
if
x
!=
nil
{
return
x
.
Appkey
}
return
""
}
type
ImFriendEmptyReply
struct
{
state
protoimpl
.
MessageState
sizeCache
protoimpl
.
SizeCache
...
...
@@ -138,9 +138,8 @@ type ImFriendUpdateReq struct {
sizeCache
protoimpl
.
SizeCache
unknownFields
protoimpl
.
UnknownFields
Common
*
Common
`protobuf:"bytes,1,opt,name=Common,proto3" json:"Common,omitempty"`
Id
int64
`protobuf:"varint,2,opt,name=Id,proto3" json:"Id,omitempty"`
Status
int64
`protobuf:"varint,3,opt,name=Status,proto3" json:"Status,omitempty"`
Id
int64
`protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"`
Status
int64
`protobuf:"varint,2,opt,name=Status,proto3" json:"Status,omitempty"`
}
func
(
x
*
ImFriendUpdateReq
)
Reset
()
{
...
...
@@ -175,13 +174,6 @@ func (*ImFriendUpdateReq) Descriptor() ([]byte, []int) {
return
file_u_proto_im_friend_req_proto_rawDescGZIP
(),
[]
int
{
2
}
}
func
(
x
*
ImFriendUpdateReq
)
GetCommon
()
*
Common
{
if
x
!=
nil
{
return
x
.
Common
}
return
nil
}
func
(
x
*
ImFriendUpdateReq
)
GetId
()
int64
{
if
x
!=
nil
{
return
x
.
Id
...
...
@@ -202,8 +194,8 @@ type ImFriendListReq struct {
sizeCache
protoimpl
.
SizeCache
unknownFields
protoimpl
.
UnknownFields
Common
*
Common
`protobuf:"bytes,1,opt,name=Common,proto3" json:"Common
,omitempty"`
A
ccid
string
`protobuf:"bytes,2,opt,name=Accid,proto3" json:"Accid
,omitempty"`
Accid
string
`protobuf:"bytes,1,opt,name=Accid,proto3" json:"Accid
,omitempty"`
A
ppkey
string
`protobuf:"bytes,2,opt,name=Appkey,proto3" json:"Appkey
,omitempty"`
}
func
(
x
*
ImFriendListReq
)
Reset
()
{
...
...
@@ -238,16 +230,16 @@ func (*ImFriendListReq) Descriptor() ([]byte, []int) {
return
file_u_proto_im_friend_req_proto_rawDescGZIP
(),
[]
int
{
3
}
}
func
(
x
*
ImFriendListReq
)
Get
Common
()
*
Common
{
func
(
x
*
ImFriendListReq
)
Get
Accid
()
string
{
if
x
!=
nil
{
return
x
.
Common
return
x
.
Accid
}
return
nil
return
""
}
func
(
x
*
ImFriendListReq
)
GetA
ccid
()
string
{
func
(
x
*
ImFriendListReq
)
GetA
ppkey
()
string
{
if
x
!=
nil
{
return
x
.
A
ccid
return
x
.
A
ppkey
}
return
""
}
...
...
@@ -375,56 +367,51 @@ var File_u_proto_im_friend_req_proto protoreflect.FileDescriptor
var
file_u_proto_im_friend_req_proto_rawDesc
=
[]
byte
{
0x0a
,
0x1b
,
0x75
,
0x2d
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x2f
,
0x69
,
0x6d
,
0x5f
,
0x66
,
0x72
,
0x69
,
0x65
,
0x6e
,
0x64
,
0x5f
,
0x72
,
0x65
,
0x71
,
0x2e
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x12
,
0x02
,
0x70
,
0x62
,
0x1a
,
0x14
,
0x75
,
0x2d
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x2f
,
0x63
,
0x6f
,
0x6d
,
0x6d
,
0x6f
,
0x6e
,
0x2e
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x1a
,
0x36
,
0x67
,
0x69
,
0x74
,
0x68
,
0x75
,
0x62
,
0x2e
,
0x63
,
0x6f
,
0x6d
,
0x2f
,
0x6d
,
0x77
,
0x69
,
0x74
,
0x6b
,
0x6f
,
0x77
,
0x2f
,
0x67
,
0x6f
,
0x2d
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x2d
,
0x76
,
0x61
,
0x6c
,
0x69
,
0x64
,
0x61
,
0x74
,
0x6f
,
0x72
,
0x73
,
0x2f
,
0x76
,
0x61
,
0x6c
,
0x69
,
0x64
,
0x61
,
0x74
,
0x6f
,
0x72
,
0x2e
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x22
,
0x72
,
0x0a
,
0x0e
,
0x49
,
0x6d
,
0x46
,
0x72
,
0x69
,
0x65
,
0x6e
,
0x64
,
0x41
,
0x64
,
0x64
,
0x52
,
0x65
,
0x71
,
0x12
,
0x22
,
0x0a
,
0x06
,
0x43
,
0x6f
,
0x6d
,
0x6d
,
0x6f
,
0x6e
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x0a
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x43
,
0x6f
,
0x6d
,
0x6d
,
0x6f
,
0x6e
,
0x52
,
0x06
,
0x43
,
0x6f
,
0x6d
,
0x6d
,
0x6f
,
0x6e
,
0x12
,
0x1c
,
0x0a
,
0x05
,
0x41
,
0x63
,
0x63
,
0x69
,
0x64
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x09
,
0x42
,
0x06
,
0xe2
,
0xdf
,
0x1f
,
0x02
,
0x58
,
0x01
,
0x52
,
0x05
,
0x41
,
0x63
,
0x63
,
0x69
,
0x64
,
0x12
,
0x1e
,
0x0a
,
0x06
,
0x46
,
0x61
,
0x63
,
0x63
,
0x69
,
0x64
,
0x18
,
0x03
,
0x20
,
0x01
,
0x28
,
0x09
,
0x42
,
0x06
,
0xe2
,
0xdf
,
0x1f
,
0x02
,
0x58
,
0x01
,
0x52
,
0x06
,
0x46
,
0x61
,
0x63
,
0x63
,
0x69
,
0x64
,
0x22
,
0x14
,
0x0a
,
0x12
,
0x49
,
0x6d
,
0x46
,
0x72
,
0x69
,
0x65
,
0x6e
,
0x64
,
0x45
,
0x6d
,
0x70
,
0x74
,
0x79
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x22
,
0x71
,
0x0a
,
0x11
,
0x49
,
0x6d
,
0x46
,
0x72
,
0x69
,
0x65
,
0x6e
,
0x64
,
0x55
,
0x70
,
0x64
,
0x61
,
0x74
,
0x65
,
0x52
,
0x65
,
0x71
,
0x12
,
0x22
,
0x0a
,
0x06
,
0x43
,
0x6f
,
0x6d
,
0x6d
,
0x6f
,
0x6e
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x0a
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x43
,
0x6f
,
0x6d
,
0x6d
,
0x6f
,
0x6e
,
0x52
,
0x06
,
0x43
,
0x6f
,
0x6d
,
0x6d
,
0x6f
,
0x6e
,
0x12
,
0x16
,
0x0a
,
0x02
,
0x49
,
0x64
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x03
,
0x42
,
0x06
,
0xe2
,
0xdf
,
0x1f
,
0x02
,
0x10
,
0x00
,
0x52
,
0x02
,
0x49
,
0x64
,
0x12
,
0x20
,
0x0a
,
0x06
,
0x53
,
0x74
,
0x61
,
0x74
,
0x75
,
0x73
,
0x18
,
0x03
,
0x20
,
0x01
,
0x28
,
0x03
,
0x42
,
0x08
,
0xe2
,
0xdf
,
0x1f
,
0x04
,
0x10
,
0x00
,
0x18
,
0x03
,
0x52
,
0x06
,
0x53
,
0x74
,
0x61
,
0x74
,
0x75
,
0x73
,
0x22
,
0x53
,
0x0a
,
0x0f
,
0x49
,
0x6d
,
0x46
,
0x72
,
0x69
,
0x65
,
0x6e
,
0x64
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x52
,
0x65
,
0x71
,
0x12
,
0x22
,
0x0a
,
0x06
,
0x43
,
0x6f
,
0x6d
,
0x6d
,
0x6f
,
0x6e
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x0a
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x43
,
0x6f
,
0x6d
,
0x6d
,
0x6f
,
0x6e
,
0x52
,
0x06
,
0x43
,
0x6f
,
0x6d
,
0x6d
,
0x6f
,
0x6e
,
0x12
,
0x1c
,
0x0a
,
0x05
,
0x41
,
0x63
,
0x63
,
0x69
,
0x64
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x09
,
0x42
,
0x06
,
0xe2
,
0xdf
,
0x1f
,
0x02
,
0x58
,
0x01
,
0x52
,
0x05
,
0x41
,
0x63
,
0x63
,
0x69
,
0x64
,
0x22
,
0x6f
,
0x0a
,
0x0f
,
0x49
,
0x6d
,
0x46
,
0x72
,
0x69
,
0x65
,
0x6e
,
0x64
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x4f
,
0x6e
,
0x65
,
0x12
,
0x0e
,
0x0a
,
0x02
,
0x49
,
0x64
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x03
,
0x52
,
0x02
,
0x49
,
0x64
,
0x12
,
0x14
,
0x0a
,
0x05
,
0x41
,
0x63
,
0x63
,
0x69
,
0x64
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x05
,
0x41
,
0x63
,
0x63
,
0x69
,
0x64
,
0x12
,
0x16
,
0x0a
,
0x06
,
0x46
,
0x61
,
0x63
,
0x63
,
0x69
,
0x64
,
0x18
,
0x03
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x06
,
0x46
,
0x61
,
0x63
,
0x63
,
0x69
,
0x64
,
0x12
,
0x1e
,
0x0a
,
0x0a
,
0x43
,
0x72
,
0x65
,
0x61
,
0x74
,
0x65
,
0x74
,
0x69
,
0x6d
,
0x65
,
0x18
,
0x04
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x0a
,
0x43
,
0x72
,
0x65
,
0x61
,
0x74
,
0x65
,
0x74
,
0x69
,
0x6d
,
0x65
,
0x22
,
0x3c
,
0x0a
,
0x11
,
0x49
,
0x6d
,
0x46
,
0x72
,
0x69
,
0x65
,
0x6e
,
0x64
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x12
,
0x27
,
0x0a
,
0x04
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x18
,
0x01
,
0x20
,
0x03
,
0x28
,
0x0b
,
0x32
,
0x13
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x49
,
0x6d
,
0x46
,
0x72
,
0x69
,
0x65
,
0x6e
,
0x64
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x4f
,
0x6e
,
0x65
,
0x52
,
0x04
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x32
,
0xb6
,
0x01
,
0x0a
,
0x0f
,
0x49
,
0x6d
,
0x46
,
0x72
,
0x69
,
0x65
,
0x6e
,
0x64
,
0x53
,
0x65
,
0x72
,
0x76
,
0x69
,
0x63
,
0x65
,
0x12
,
0x33
,
0x0a
,
0x03
,
0x41
,
0x6c
,
0x6c
,
0x12
,
0x13
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x49
,
0x6d
,
0x46
,
0x72
,
0x69
,
0x65
,
0x6e
,
0x64
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x52
,
0x65
,
0x71
,
0x1a
,
0x15
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x49
,
0x6d
,
0x46
,
0x72
,
0x69
,
0x65
,
0x6e
,
0x64
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x22
,
0x00
,
0x12
,
0x33
,
0x0a
,
0x03
,
0x41
,
0x64
,
0x64
,
0x12
,
0x12
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x49
,
0x6d
,
0x46
,
0x72
,
0x69
,
0x65
,
0x6e
,
0x64
,
0x41
,
0x64
,
0x64
,
0x52
,
0x65
,
0x71
,
0x1a
,
0x16
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x49
,
0x6d
,
0x46
,
0x72
,
0x69
,
0x65
,
0x6e
,
0x64
,
0x45
,
0x6d
,
0x70
,
0x74
,
0x79
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x22
,
0x00
,
0x12
,
0x39
,
0x0a
,
0x06
,
0x55
,
0x70
,
0x64
,
0x61
,
0x74
,
0x65
,
0x12
,
0x15
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x49
,
0x6d
,
0x46
,
0x72
,
0x69
,
0x65
,
0x6e
,
0x64
,
0x55
,
0x70
,
0x64
,
0x61
,
0x74
,
0x65
,
0x52
,
0x65
,
0x71
,
0x1a
,
0x16
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x49
,
0x6d
,
0x46
,
0x72
,
0x69
,
0x65
,
0x6e
,
0x64
,
0x45
,
0x6d
,
0x70
,
0x74
,
0x79
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x22
,
0x00
,
0x62
,
0x06
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x33
,
0x62
,
0x1a
,
0x36
,
0x67
,
0x69
,
0x74
,
0x68
,
0x75
,
0x62
,
0x2e
,
0x63
,
0x6f
,
0x6d
,
0x2f
,
0x6d
,
0x77
,
0x69
,
0x74
,
0x6b
,
0x6f
,
0x77
,
0x2f
,
0x67
,
0x6f
,
0x2d
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x2d
,
0x76
,
0x61
,
0x6c
,
0x69
,
0x64
,
0x61
,
0x74
,
0x6f
,
0x72
,
0x73
,
0x2f
,
0x76
,
0x61
,
0x6c
,
0x69
,
0x64
,
0x61
,
0x74
,
0x6f
,
0x72
,
0x2e
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x22
,
0x6e
,
0x0a
,
0x0e
,
0x49
,
0x6d
,
0x46
,
0x72
,
0x69
,
0x65
,
0x6e
,
0x64
,
0x41
,
0x64
,
0x64
,
0x52
,
0x65
,
0x71
,
0x12
,
0x1c
,
0x0a
,
0x05
,
0x41
,
0x63
,
0x63
,
0x69
,
0x64
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x42
,
0x06
,
0xe2
,
0xdf
,
0x1f
,
0x02
,
0x58
,
0x01
,
0x52
,
0x05
,
0x41
,
0x63
,
0x63
,
0x69
,
0x64
,
0x12
,
0x1e
,
0x0a
,
0x06
,
0x46
,
0x61
,
0x63
,
0x63
,
0x69
,
0x64
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x09
,
0x42
,
0x06
,
0xe2
,
0xdf
,
0x1f
,
0x02
,
0x58
,
0x01
,
0x52
,
0x06
,
0x46
,
0x61
,
0x63
,
0x63
,
0x69
,
0x64
,
0x12
,
0x1e
,
0x0a
,
0x06
,
0x41
,
0x70
,
0x70
,
0x6b
,
0x65
,
0x79
,
0x18
,
0x03
,
0x20
,
0x01
,
0x28
,
0x09
,
0x42
,
0x06
,
0xe2
,
0xdf
,
0x1f
,
0x02
,
0x58
,
0x01
,
0x52
,
0x06
,
0x41
,
0x70
,
0x70
,
0x6b
,
0x65
,
0x79
,
0x22
,
0x14
,
0x0a
,
0x12
,
0x49
,
0x6d
,
0x46
,
0x72
,
0x69
,
0x65
,
0x6e
,
0x64
,
0x45
,
0x6d
,
0x70
,
0x74
,
0x79
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x22
,
0x4d
,
0x0a
,
0x11
,
0x49
,
0x6d
,
0x46
,
0x72
,
0x69
,
0x65
,
0x6e
,
0x64
,
0x55
,
0x70
,
0x64
,
0x61
,
0x74
,
0x65
,
0x52
,
0x65
,
0x71
,
0x12
,
0x16
,
0x0a
,
0x02
,
0x49
,
0x64
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x03
,
0x42
,
0x06
,
0xe2
,
0xdf
,
0x1f
,
0x02
,
0x10
,
0x00
,
0x52
,
0x02
,
0x49
,
0x64
,
0x12
,
0x20
,
0x0a
,
0x06
,
0x53
,
0x74
,
0x61
,
0x74
,
0x75
,
0x73
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x03
,
0x42
,
0x08
,
0xe2
,
0xdf
,
0x1f
,
0x04
,
0x10
,
0x00
,
0x18
,
0x03
,
0x52
,
0x06
,
0x53
,
0x74
,
0x61
,
0x74
,
0x75
,
0x73
,
0x22
,
0x4f
,
0x0a
,
0x0f
,
0x49
,
0x6d
,
0x46
,
0x72
,
0x69
,
0x65
,
0x6e
,
0x64
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x52
,
0x65
,
0x71
,
0x12
,
0x1c
,
0x0a
,
0x05
,
0x41
,
0x63
,
0x63
,
0x69
,
0x64
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x42
,
0x06
,
0xe2
,
0xdf
,
0x1f
,
0x02
,
0x58
,
0x01
,
0x52
,
0x05
,
0x41
,
0x63
,
0x63
,
0x69
,
0x64
,
0x12
,
0x1e
,
0x0a
,
0x06
,
0x41
,
0x70
,
0x70
,
0x6b
,
0x65
,
0x79
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x09
,
0x42
,
0x06
,
0xe2
,
0xdf
,
0x1f
,
0x02
,
0x58
,
0x01
,
0x52
,
0x06
,
0x41
,
0x70
,
0x70
,
0x6b
,
0x65
,
0x79
,
0x22
,
0x6f
,
0x0a
,
0x0f
,
0x49
,
0x6d
,
0x46
,
0x72
,
0x69
,
0x65
,
0x6e
,
0x64
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x4f
,
0x6e
,
0x65
,
0x12
,
0x0e
,
0x0a
,
0x02
,
0x49
,
0x64
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x03
,
0x52
,
0x02
,
0x49
,
0x64
,
0x12
,
0x14
,
0x0a
,
0x05
,
0x41
,
0x63
,
0x63
,
0x69
,
0x64
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x05
,
0x41
,
0x63
,
0x63
,
0x69
,
0x64
,
0x12
,
0x16
,
0x0a
,
0x06
,
0x46
,
0x61
,
0x63
,
0x63
,
0x69
,
0x64
,
0x18
,
0x03
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x06
,
0x46
,
0x61
,
0x63
,
0x63
,
0x69
,
0x64
,
0x12
,
0x1e
,
0x0a
,
0x0a
,
0x43
,
0x72
,
0x65
,
0x61
,
0x74
,
0x65
,
0x74
,
0x69
,
0x6d
,
0x65
,
0x18
,
0x04
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x0a
,
0x43
,
0x72
,
0x65
,
0x61
,
0x74
,
0x65
,
0x74
,
0x69
,
0x6d
,
0x65
,
0x22
,
0x3c
,
0x0a
,
0x11
,
0x49
,
0x6d
,
0x46
,
0x72
,
0x69
,
0x65
,
0x6e
,
0x64
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x12
,
0x27
,
0x0a
,
0x04
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x18
,
0x01
,
0x20
,
0x03
,
0x28
,
0x0b
,
0x32
,
0x13
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x49
,
0x6d
,
0x46
,
0x72
,
0x69
,
0x65
,
0x6e
,
0x64
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x4f
,
0x6e
,
0x65
,
0x52
,
0x04
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x32
,
0xb6
,
0x01
,
0x0a
,
0x0f
,
0x49
,
0x6d
,
0x46
,
0x72
,
0x69
,
0x65
,
0x6e
,
0x64
,
0x53
,
0x65
,
0x72
,
0x76
,
0x69
,
0x63
,
0x65
,
0x12
,
0x33
,
0x0a
,
0x03
,
0x41
,
0x6c
,
0x6c
,
0x12
,
0x13
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x49
,
0x6d
,
0x46
,
0x72
,
0x69
,
0x65
,
0x6e
,
0x64
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x52
,
0x65
,
0x71
,
0x1a
,
0x15
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x49
,
0x6d
,
0x46
,
0x72
,
0x69
,
0x65
,
0x6e
,
0x64
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x22
,
0x00
,
0x12
,
0x33
,
0x0a
,
0x03
,
0x41
,
0x64
,
0x64
,
0x12
,
0x12
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x49
,
0x6d
,
0x46
,
0x72
,
0x69
,
0x65
,
0x6e
,
0x64
,
0x41
,
0x64
,
0x64
,
0x52
,
0x65
,
0x71
,
0x1a
,
0x16
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x49
,
0x6d
,
0x46
,
0x72
,
0x69
,
0x65
,
0x6e
,
0x64
,
0x45
,
0x6d
,
0x70
,
0x74
,
0x79
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x22
,
0x00
,
0x12
,
0x39
,
0x0a
,
0x06
,
0x55
,
0x70
,
0x64
,
0x61
,
0x74
,
0x65
,
0x12
,
0x15
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x49
,
0x6d
,
0x46
,
0x72
,
0x69
,
0x65
,
0x6e
,
0x64
,
0x55
,
0x70
,
0x64
,
0x61
,
0x74
,
0x65
,
0x52
,
0x65
,
0x71
,
0x1a
,
0x16
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x49
,
0x6d
,
0x46
,
0x72
,
0x69
,
0x65
,
0x6e
,
0x64
,
0x45
,
0x6d
,
0x70
,
0x74
,
0x79
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x22
,
0x00
,
0x62
,
0x06
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x33
,
}
var
(
...
...
@@ -447,24 +434,20 @@ var file_u_proto_im_friend_req_proto_goTypes = []interface{}{
(
*
ImFriendListReq
)(
nil
),
// 3: pb.ImFriendListReq
(
*
ImFriendListOne
)(
nil
),
// 4: pb.ImFriendListOne
(
*
ImFriendListReply
)(
nil
),
// 5: pb.ImFriendListReply
(
*
Common
)(
nil
),
// 6: pb.Common
}
var
file_u_proto_im_friend_req_proto_depIdxs
=
[]
int32
{
6
,
// 0: pb.ImFriendAddReq.Common:type_name -> pb.Common
6
,
// 1: pb.ImFriendUpdateReq.Common:type_name -> pb.Common
6
,
// 2: pb.ImFriendListReq.Common:type_name -> pb.Common
4
,
// 3: pb.ImFriendListReply.List:type_name -> pb.ImFriendListOne
3
,
// 4: pb.ImFriendService.All:input_type -> pb.ImFriendListReq
0
,
// 5: pb.ImFriendService.Add:input_type -> pb.ImFriendAddReq
2
,
// 6: pb.ImFriendService.Update:input_type -> pb.ImFriendUpdateReq
5
,
// 7: pb.ImFriendService.All:output_type -> pb.ImFriendListReply
1
,
// 8: pb.ImFriendService.Add:output_type -> pb.ImFriendEmptyReply
1
,
// 9: pb.ImFriendService.Update:output_type -> pb.ImFriendEmptyReply
7
,
// [7:10] is the sub-list for method output_type
4
,
// [4:7] is the sub-list for method input_type
4
,
// [4:4] is the sub-list for extension type_name
4
,
// [4:4] is the sub-list for extension extendee
0
,
// [0:4] is the sub-list for field type_name
4
,
// 0: pb.ImFriendListReply.List:type_name -> pb.ImFriendListOne
3
,
// 1: pb.ImFriendService.All:input_type -> pb.ImFriendListReq
0
,
// 2: pb.ImFriendService.Add:input_type -> pb.ImFriendAddReq
2
,
// 3: pb.ImFriendService.Update:input_type -> pb.ImFriendUpdateReq
5
,
// 4: pb.ImFriendService.All:output_type -> pb.ImFriendListReply
1
,
// 5: pb.ImFriendService.Add:output_type -> pb.ImFriendEmptyReply
1
,
// 6: pb.ImFriendService.Update:output_type -> pb.ImFriendEmptyReply
4
,
// [4:7] is the sub-list for method output_type
1
,
// [1:4] is the sub-list for method input_type
1
,
// [1:1] is the sub-list for extension type_name
1
,
// [1:1] is the sub-list for extension extendee
0
,
// [0:1] is the sub-list for field type_name
}
func
init
()
{
file_u_proto_im_friend_req_proto_init
()
}
...
...
@@ -472,7 +455,6 @@ func file_u_proto_im_friend_req_proto_init() {
if
File_u_proto_im_friend_req_proto
!=
nil
{
return
}
file_u_proto_common_proto_init
()
if
!
protoimpl
.
UnsafeEnabled
{
file_u_proto_im_friend_req_proto_msgTypes
[
0
]
.
Exporter
=
func
(
v
interface
{},
i
int
)
interface
{}
{
switch
v
:=
v
.
(
*
ImFriendAddReq
);
i
{
...
...
pb/im_friend_req.validator.pb.go
View file @
c87e1382
...
...
@@ -5,10 +5,10 @@ package pb
import
(
fmt
"fmt"
math
"math"
proto
"github.com/golang/protobuf/proto"
_
"github.com/mwitkow/go-proto-validators"
github_com_mwitkow_go_proto_validators
"github.com/mwitkow/go-proto-validators"
math
"math"
)
// Reference imports to suppress errors if they are not otherwise used.
...
...
@@ -17,28 +17,21 @@ var _ = fmt.Errorf
var
_
=
math
.
Inf
func
(
this
*
ImFriendAddReq
)
Validate
()
error
{
if
this
.
Common
!=
nil
{
if
err
:=
github_com_mwitkow_go_proto_validators
.
CallValidatorIfExists
(
this
.
Common
);
err
!=
nil
{
return
github_com_mwitkow_go_proto_validators
.
FieldError
(
"Common"
,
err
)
}
}
if
this
.
Accid
==
""
{
return
github_com_mwitkow_go_proto_validators
.
FieldError
(
"Accid"
,
fmt
.
Errorf
(
`value '%v' must not be an empty string`
,
this
.
Accid
))
}
if
this
.
Faccid
==
""
{
return
github_com_mwitkow_go_proto_validators
.
FieldError
(
"Faccid"
,
fmt
.
Errorf
(
`value '%v' must not be an empty string`
,
this
.
Faccid
))
}
if
this
.
Appkey
==
""
{
return
github_com_mwitkow_go_proto_validators
.
FieldError
(
"Appkey"
,
fmt
.
Errorf
(
`value '%v' must not be an empty string`
,
this
.
Appkey
))
}
return
nil
}
func
(
this
*
ImFriendEmptyReply
)
Validate
()
error
{
return
nil
}
func
(
this
*
ImFriendUpdateReq
)
Validate
()
error
{
if
this
.
Common
!=
nil
{
if
err
:=
github_com_mwitkow_go_proto_validators
.
CallValidatorIfExists
(
this
.
Common
);
err
!=
nil
{
return
github_com_mwitkow_go_proto_validators
.
FieldError
(
"Common"
,
err
)
}
}
if
!
(
this
.
Id
>
0
)
{
return
github_com_mwitkow_go_proto_validators
.
FieldError
(
"Id"
,
fmt
.
Errorf
(
`value '%v' must be greater than '0'`
,
this
.
Id
))
}
...
...
@@ -51,14 +44,12 @@ func (this *ImFriendUpdateReq) Validate() error {
return
nil
}
func
(
this
*
ImFriendListReq
)
Validate
()
error
{
if
this
.
Common
!=
nil
{
if
err
:=
github_com_mwitkow_go_proto_validators
.
CallValidatorIfExists
(
this
.
Common
);
err
!=
nil
{
return
github_com_mwitkow_go_proto_validators
.
FieldError
(
"Common"
,
err
)
}
}
if
this
.
Accid
==
""
{
return
github_com_mwitkow_go_proto_validators
.
FieldError
(
"Accid"
,
fmt
.
Errorf
(
`value '%v' must not be an empty string`
,
this
.
Accid
))
}
if
this
.
Appkey
==
""
{
return
github_com_mwitkow_go_proto_validators
.
FieldError
(
"Appkey"
,
fmt
.
Errorf
(
`value '%v' must not be an empty string`
,
this
.
Appkey
))
}
return
nil
}
func
(
this
*
ImFriendListOne
)
Validate
()
error
{
...
...
pb/im_user.validator.pb.go
View file @
c87e1382
...
...
@@ -5,10 +5,10 @@ package pb
import
(
fmt
"fmt"
math
"math"
proto
"github.com/golang/protobuf/proto"
_
"github.com/mwitkow/go-proto-validators"
github_com_mwitkow_go_proto_validators
"github.com/mwitkow/go-proto-validators"
math
"math"
)
// Reference imports to suppress errors if they are not otherwise used.
...
...
pb/im_user_relationship.pb.go
View file @
c87e1382
...
...
@@ -36,11 +36,11 @@ type UserRelationshipAddRequest struct {
sizeCache
protoimpl
.
SizeCache
unknownFields
protoimpl
.
UnknownFields
Common
*
Common
`protobuf:"bytes,1,opt,name=Common,proto3" json:"Common
,omitempty"`
Accid
string
`protobuf:"bytes,2,opt,name=Accid,proto3" json:"A
ccid,omitempty"`
Faccid
string
`protobuf:"bytes,3,opt,name=Faccid,proto3" json:"Faccid
,omitempty"`
Type
int64
`protobuf:"varint,4,opt,name=Type,proto3" json:"Type
,omitempty"`
Msg
string
`protobuf:"bytes,5,opt,name=Msg,proto3" json:"Msg
,omitempty"`
Accid
string
`protobuf:"bytes,1,opt,name=Accid,proto3" json:"Accid
,omitempty"`
Faccid
string
`protobuf:"bytes,2,opt,name=Faccid,proto3" json:"Fa
ccid,omitempty"`
Type
int64
`protobuf:"varint,3,opt,name=Type,proto3" json:"Type
,omitempty"`
Msg
string
`protobuf:"bytes,4,opt,name=Msg,proto3" json:"Msg
,omitempty"`
Appkey
string
`protobuf:"bytes,5,opt,name=Appkey,proto3" json:"Appkey
,omitempty"`
}
func
(
x
*
UserRelationshipAddRequest
)
Reset
()
{
...
...
@@ -75,13 +75,6 @@ func (*UserRelationshipAddRequest) Descriptor() ([]byte, []int) {
return
file_u_proto_im_user_relationship_proto_rawDescGZIP
(),
[]
int
{
0
}
}
func
(
x
*
UserRelationshipAddRequest
)
GetCommon
()
*
Common
{
if
x
!=
nil
{
return
x
.
Common
}
return
nil
}
func
(
x
*
UserRelationshipAddRequest
)
GetAccid
()
string
{
if
x
!=
nil
{
return
x
.
Accid
...
...
@@ -110,6 +103,13 @@ func (x *UserRelationshipAddRequest) GetMsg() string {
return
""
}
func
(
x
*
UserRelationshipAddRequest
)
GetAppkey
()
string
{
if
x
!=
nil
{
return
x
.
Appkey
}
return
""
}
type
UserRelationshipAddReply
struct
{
state
protoimpl
.
MessageState
sizeCache
protoimpl
.
SizeCache
...
...
@@ -154,9 +154,9 @@ type UserRelationshipDelRequest struct {
sizeCache
protoimpl
.
SizeCache
unknownFields
protoimpl
.
UnknownFields
Common
*
Common
`protobuf:"bytes,1,opt,name=Common,proto3" json:"Common
,omitempty"`
Accid
string
`protobuf:"bytes,2,opt,name=Accid,proto3" json:"A
ccid,omitempty"`
Faccid
string
`protobuf:"bytes,3,opt,name=Faccid,proto3" json:"Faccid
,omitempty"`
Accid
string
`protobuf:"bytes,1,opt,name=Accid,proto3" json:"Accid
,omitempty"`
Faccid
string
`protobuf:"bytes,2,opt,name=Faccid,proto3" json:"Fa
ccid,omitempty"`
Appkey
string
`protobuf:"bytes,3,opt,name=Appkey,proto3" json:"Appkey
,omitempty"`
}
func
(
x
*
UserRelationshipDelRequest
)
Reset
()
{
...
...
@@ -191,13 +191,6 @@ func (*UserRelationshipDelRequest) Descriptor() ([]byte, []int) {
return
file_u_proto_im_user_relationship_proto_rawDescGZIP
(),
[]
int
{
2
}
}
func
(
x
*
UserRelationshipDelRequest
)
GetCommon
()
*
Common
{
if
x
!=
nil
{
return
x
.
Common
}
return
nil
}
func
(
x
*
UserRelationshipDelRequest
)
GetAccid
()
string
{
if
x
!=
nil
{
return
x
.
Accid
...
...
@@ -212,15 +205,22 @@ func (x *UserRelationshipDelRequest) GetFaccid() string {
return
""
}
func
(
x
*
UserRelationshipDelRequest
)
GetAppkey
()
string
{
if
x
!=
nil
{
return
x
.
Appkey
}
return
""
}
// 获取好友关系
type
UserRelationshipListRequest
struct
{
state
protoimpl
.
MessageState
sizeCache
protoimpl
.
SizeCache
unknownFields
protoimpl
.
UnknownFields
Common
*
Common
`protobuf:"bytes,1,opt,name=Common,proto3" json:"Common
,omitempty"`
Accid
string
`protobuf:"bytes,2,opt,name=Accid,proto3" json:"Accid
,omitempty"`
Updatetime
string
`protobuf:"bytes,3,opt,name=Updatetime,proto3" json:"Updatetime
,omitempty"`
Accid
string
`protobuf:"bytes,1,opt,name=Accid,proto3" json:"Accid
,omitempty"`
Updatetime
string
`protobuf:"bytes,2,opt,name=Updatetime,proto3" json:"Updatetime
,omitempty"`
Appkey
string
`protobuf:"bytes,3,opt,name=Appkey,proto3" json:"Appkey
,omitempty"`
}
func
(
x
*
UserRelationshipListRequest
)
Reset
()
{
...
...
@@ -255,13 +255,6 @@ func (*UserRelationshipListRequest) Descriptor() ([]byte, []int) {
return
file_u_proto_im_user_relationship_proto_rawDescGZIP
(),
[]
int
{
3
}
}
func
(
x
*
UserRelationshipListRequest
)
GetCommon
()
*
Common
{
if
x
!=
nil
{
return
x
.
Common
}
return
nil
}
func
(
x
*
UserRelationshipListRequest
)
GetAccid
()
string
{
if
x
!=
nil
{
return
x
.
Accid
...
...
@@ -276,6 +269,13 @@ func (x *UserRelationshipListRequest) GetUpdatetime() string {
return
""
}
func
(
x
*
UserRelationshipListRequest
)
GetAppkey
()
string
{
if
x
!=
nil
{
return
x
.
Appkey
}
return
""
}
type
UserRelationshipInfo
struct
{
state
protoimpl
.
MessageState
sizeCache
protoimpl
.
SizeCache
...
...
@@ -384,11 +384,11 @@ type SetSpecialRelationReq struct {
sizeCache
protoimpl
.
SizeCache
unknownFields
protoimpl
.
UnknownFields
Common
*
Common
`protobuf:"bytes,1,opt,name=Common,proto3" json:"Common
,omitempty"`
Accid
string
`protobuf:"bytes,2,opt,name=Accid,proto3" json:"Accid
,omitempty"`
TargetAcc
string
`protobuf:"bytes,3,opt,name=TargetAcc,proto3" json:"TargetAcc
,omitempty"`
RelationType
int64
`protobuf:"varint,4,opt,name=RelationType,proto3" json:"RelationTyp
e,omitempty"`
Value
int64
`protobuf:"varint,5,opt,name=Value,proto3" json:"Value
,omitempty"`
Accid
string
`protobuf:"bytes,1,opt,name=Accid,proto3" json:"Accid
,omitempty"`
TargetAcc
string
`protobuf:"bytes,2,opt,name=TargetAcc,proto3" json:"TargetAcc
,omitempty"`
RelationType
int64
`protobuf:"varint,3,opt,name=RelationType,proto3" json:"RelationType
,omitempty"`
Value
int64
`protobuf:"varint,4,opt,name=Value,proto3" json:"Valu
e,omitempty"`
Appkey
string
`protobuf:"bytes,5,opt,name=Appkey,proto3" json:"Appkey
,omitempty"`
}
func
(
x
*
SetSpecialRelationReq
)
Reset
()
{
...
...
@@ -423,13 +423,6 @@ func (*SetSpecialRelationReq) Descriptor() ([]byte, []int) {
return
file_u_proto_im_user_relationship_proto_rawDescGZIP
(),
[]
int
{
6
}
}
func
(
x
*
SetSpecialRelationReq
)
GetCommon
()
*
Common
{
if
x
!=
nil
{
return
x
.
Common
}
return
nil
}
func
(
x
*
SetSpecialRelationReq
)
GetAccid
()
string
{
if
x
!=
nil
{
return
x
.
Accid
...
...
@@ -458,13 +451,19 @@ func (x *SetSpecialRelationReq) GetValue() int64 {
return
0
}
func
(
x
*
SetSpecialRelationReq
)
GetAppkey
()
string
{
if
x
!=
nil
{
return
x
.
Appkey
}
return
""
}
type
ListBlackAndMuteListReq
struct
{
state
protoimpl
.
MessageState
sizeCache
protoimpl
.
SizeCache
unknownFields
protoimpl
.
UnknownFields
Common
*
Common
`protobuf:"bytes,1,opt,name=Common,proto3" json:"Common,omitempty"`
Accid
string
`protobuf:"bytes,2,opt,name=Accid,proto3" json:"Accid,omitempty"`
Accid
string
`protobuf:"bytes,1,opt,name=Accid,proto3" json:"Accid,omitempty"`
}
func
(
x
*
ListBlackAndMuteListReq
)
Reset
()
{
...
...
@@ -499,13 +498,6 @@ func (*ListBlackAndMuteListReq) Descriptor() ([]byte, []int) {
return
file_u_proto_im_user_relationship_proto_rawDescGZIP
(),
[]
int
{
7
}
}
func
(
x
*
ListBlackAndMuteListReq
)
GetCommon
()
*
Common
{
if
x
!=
nil
{
return
x
.
Common
}
return
nil
}
func
(
x
*
ListBlackAndMuteListReq
)
GetAccid
()
string
{
if
x
!=
nil
{
return
x
.
Accid
...
...
@@ -568,76 +560,228 @@ func (x *ListBlackAndMuteListReply) GetBlacklist() []*UserRelationshipInfo {
return
nil
}
// 获取当前聊天好友关系
type
FriendRelationshipReq
struct
{
state
protoimpl
.
MessageState
sizeCache
protoimpl
.
SizeCache
unknownFields
protoimpl
.
UnknownFields
Accid
string
`protobuf:"bytes,1,opt,name=Accid,proto3" json:"Accid,omitempty"`
Faccid
string
`protobuf:"bytes,2,opt,name=Faccid,proto3" json:"Faccid,omitempty"`
Appkey
string
`protobuf:"bytes,3,opt,name=Appkey,proto3" json:"Appkey,omitempty"`
}
func
(
x
*
FriendRelationshipReq
)
Reset
()
{
*
x
=
FriendRelationshipReq
{}
if
protoimpl
.
UnsafeEnabled
{
mi
:=
&
file_u_proto_im_user_relationship_proto_msgTypes
[
9
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
}
}
func
(
x
*
FriendRelationshipReq
)
String
()
string
{
return
protoimpl
.
X
.
MessageStringOf
(
x
)
}
func
(
*
FriendRelationshipReq
)
ProtoMessage
()
{}
func
(
x
*
FriendRelationshipReq
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_u_proto_im_user_relationship_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 FriendRelationshipReq.ProtoReflect.Descriptor instead.
func
(
*
FriendRelationshipReq
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_u_proto_im_user_relationship_proto_rawDescGZIP
(),
[]
int
{
9
}
}
func
(
x
*
FriendRelationshipReq
)
GetAccid
()
string
{
if
x
!=
nil
{
return
x
.
Accid
}
return
""
}
func
(
x
*
FriendRelationshipReq
)
GetFaccid
()
string
{
if
x
!=
nil
{
return
x
.
Faccid
}
return
""
}
func
(
x
*
FriendRelationshipReq
)
GetAppkey
()
string
{
if
x
!=
nil
{
return
x
.
Appkey
}
return
""
}
type
FriendRelationshipReply
struct
{
state
protoimpl
.
MessageState
sizeCache
protoimpl
.
SizeCache
unknownFields
protoimpl
.
UnknownFields
Type
int64
`protobuf:"varint,1,opt,name=Type,proto3" json:"Type,omitempty"`
Msg
string
`protobuf:"bytes,2,opt,name=Msg,proto3" json:"Msg,omitempty"`
Blacklist
int64
`protobuf:"varint,3,opt,name=Blacklist,proto3" json:"Blacklist,omitempty"`
Mute
int64
`protobuf:"varint,4,opt,name=Mute,proto3" json:"Mute,omitempty"`
Serverex
string
`protobuf:"bytes,5,opt,name=Serverex,proto3" json:"Serverex,omitempty"`
Createtime
string
`protobuf:"bytes,6,opt,name=Createtime,proto3" json:"Createtime,omitempty"`
Updatetime
string
`protobuf:"bytes,7,opt,name=Updatetime,proto3" json:"Updatetime,omitempty"`
}
func
(
x
*
FriendRelationshipReply
)
Reset
()
{
*
x
=
FriendRelationshipReply
{}
if
protoimpl
.
UnsafeEnabled
{
mi
:=
&
file_u_proto_im_user_relationship_proto_msgTypes
[
10
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
}
}
func
(
x
*
FriendRelationshipReply
)
String
()
string
{
return
protoimpl
.
X
.
MessageStringOf
(
x
)
}
func
(
*
FriendRelationshipReply
)
ProtoMessage
()
{}
func
(
x
*
FriendRelationshipReply
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_u_proto_im_user_relationship_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 FriendRelationshipReply.ProtoReflect.Descriptor instead.
func
(
*
FriendRelationshipReply
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_u_proto_im_user_relationship_proto_rawDescGZIP
(),
[]
int
{
10
}
}
func
(
x
*
FriendRelationshipReply
)
GetType
()
int64
{
if
x
!=
nil
{
return
x
.
Type
}
return
0
}
func
(
x
*
FriendRelationshipReply
)
GetMsg
()
string
{
if
x
!=
nil
{
return
x
.
Msg
}
return
""
}
func
(
x
*
FriendRelationshipReply
)
GetBlacklist
()
int64
{
if
x
!=
nil
{
return
x
.
Blacklist
}
return
0
}
func
(
x
*
FriendRelationshipReply
)
GetMute
()
int64
{
if
x
!=
nil
{
return
x
.
Mute
}
return
0
}
func
(
x
*
FriendRelationshipReply
)
GetServerex
()
string
{
if
x
!=
nil
{
return
x
.
Serverex
}
return
""
}
func
(
x
*
FriendRelationshipReply
)
GetCreatetime
()
string
{
if
x
!=
nil
{
return
x
.
Createtime
}
return
""
}
func
(
x
*
FriendRelationshipReply
)
GetUpdatetime
()
string
{
if
x
!=
nil
{
return
x
.
Updatetime
}
return
""
}
var
File_u_proto_im_user_relationship_proto
protoreflect
.
FileDescriptor
var
file_u_proto_im_user_relationship_proto_rawDesc
=
[]
byte
{
0x0a
,
0x22
,
0x75
,
0x2d
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x2f
,
0x69
,
0x6d
,
0x5f
,
0x75
,
0x73
,
0x65
,
0x72
,
0x5f
,
0x72
,
0x65
,
0x6c
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x73
,
0x68
,
0x69
,
0x70
,
0x2e
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x12
,
0x02
,
0x70
,
0x62
,
0x1a
,
0x14
,
0x75
,
0x2d
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x2f
,
0x63
,
0x6f
,
0x6d
,
0x6d
,
0x6f
,
0x6e
,
0x2e
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x1a
,
0x24
,
0x75
,
0x2d
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x2f
,
0x67
,
0x6f
,
0x6f
,
0x67
,
0x6c
,
0x65
,
0x2f
,
0x61
,
0x70
,
0x69
,
0x2f
,
0x61
,
0x6e
,
0x6e
,
0x6f
,
0x74
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x73
,
0x2e
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x1a
,
0x36
,
0x67
,
0x69
,
0x74
,
0x68
,
0x75
,
0x62
,
0x2e
,
0x63
,
0x6f
,
0x6d
,
0x2f
,
0x6d
,
0x77
,
0x69
,
0x74
,
0x6b
,
0x6f
,
0x77
,
0x2f
,
0x67
,
0x6f
,
0x2d
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x2d
,
0x76
,
0x61
,
0x6c
,
0x69
,
0x64
,
0x61
,
0x74
,
0x6f
,
0x72
,
0x73
,
0x2f
,
0x76
,
0x61
,
0x6c
,
0x69
,
0x64
,
0x61
,
0x74
,
0x6f
,
0x72
,
0x2e
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x22
,
0xac
,
0x01
,
0x0a
,
0x1a
,
0x55
,
0x73
,
0x65
,
0x72
,
0x52
,
0x65
,
0x6c
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x73
,
0x68
,
0x69
,
0x70
,
0x41
,
0x64
,
0x64
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x12
,
0x22
,
0x0a
,
0x06
,
0x43
,
0x6f
,
0x6d
,
0x6d
,
0x6f
,
0x6e
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x0a
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x43
,
0x6f
,
0x6d
,
0x6d
,
0x6f
,
0x6e
,
0x52
,
0x06
,
0x43
,
0x6f
,
0x6d
,
0x6d
,
0x6f
,
0x6e
,
0x12
,
0x1c
,
0x0a
,
0x05
,
0x41
,
0x63
,
0x63
,
0x69
,
0x64
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x09
,
0x42
,
0x06
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x12
,
0x02
,
0x70
,
0x62
,
0x1a
,
0x36
,
0x67
,
0x69
,
0x74
,
0x68
,
0x75
,
0x62
,
0x2e
,
0x63
,
0x6f
,
0x6d
,
0x2f
,
0x6d
,
0x77
,
0x69
,
0x74
,
0x6b
,
0x6f
,
0x77
,
0x2f
,
0x67
,
0x6f
,
0x2d
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x2d
,
0x76
,
0x61
,
0x6c
,
0x69
,
0x64
,
0x61
,
0x74
,
0x6f
,
0x72
,
0x73
,
0x2f
,
0x76
,
0x61
,
0x6c
,
0x69
,
0x64
,
0x61
,
0x74
,
0x6f
,
0x72
,
0x2e
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x22
,
0xa8
,
0x01
,
0x0a
,
0x1a
,
0x55
,
0x73
,
0x65
,
0x72
,
0x52
,
0x65
,
0x6c
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x73
,
0x68
,
0x69
,
0x70
,
0x41
,
0x64
,
0x64
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x12
,
0x1c
,
0x0a
,
0x05
,
0x41
,
0x63
,
0x63
,
0x69
,
0x64
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x42
,
0x06
,
0xe2
,
0xdf
,
0x1f
,
0x02
,
0x58
,
0x01
,
0x52
,
0x05
,
0x41
,
0x63
,
0x63
,
0x69
,
0x64
,
0x12
,
0x1e
,
0x0a
,
0x06
,
0x46
,
0x61
,
0x63
,
0x63
,
0x69
,
0x64
,
0x18
,
0x0
3
,
0x20
,
0x01
,
0x28
,
0x09
,
0x42
,
0x06
,
0xe2
,
0x06
,
0x46
,
0x61
,
0x63
,
0x63
,
0x69
,
0x64
,
0x18
,
0x0
2
,
0x20
,
0x01
,
0x28
,
0x09
,
0x42
,
0x06
,
0xe2
,
0xdf
,
0x1f
,
0x02
,
0x58
,
0x01
,
0x52
,
0x06
,
0x46
,
0x61
,
0x63
,
0x63
,
0x69
,
0x64
,
0x12
,
0x1a
,
0x0a
,
0x04
,
0x54
,
0x79
,
0x70
,
0x65
,
0x18
,
0x0
4
,
0x20
,
0x01
,
0x28
,
0x03
,
0x42
,
0x06
,
0xe2
,
0xdf
,
0x1f
,
0x04
,
0x54
,
0x79
,
0x70
,
0x65
,
0x18
,
0x0
3
,
0x20
,
0x01
,
0x28
,
0x03
,
0x42
,
0x06
,
0xe2
,
0xdf
,
0x1f
,
0x02
,
0x10
,
0x00
,
0x52
,
0x04
,
0x54
,
0x79
,
0x70
,
0x65
,
0x12
,
0x10
,
0x0a
,
0x03
,
0x4d
,
0x73
,
0x67
,
0x18
,
0x05
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x03
,
0x4d
,
0x73
,
0x67
,
0x22
,
0x1a
,
0x0a
,
0x18
,
0x55
,
0x18
,
0x04
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x03
,
0x4d
,
0x73
,
0x67
,
0x12
,
0x1e
,
0x0a
,
0x06
,
0x41
,
0x70
,
0x70
,
0x6b
,
0x65
,
0x79
,
0x18
,
0x05
,
0x20
,
0x01
,
0x28
,
0x09
,
0x42
,
0x06
,
0xe2
,
0xdf
,
0x1f
,
0x02
,
0x58
,
0x01
,
0x52
,
0x06
,
0x41
,
0x70
,
0x70
,
0x6b
,
0x65
,
0x79
,
0x22
,
0x1a
,
0x0a
,
0x18
,
0x55
,
0x73
,
0x65
,
0x72
,
0x52
,
0x65
,
0x6c
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x73
,
0x68
,
0x69
,
0x70
,
0x41
,
0x64
,
0x64
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x22
,
0x7
e
,
0x0a
,
0x1a
,
0x55
,
0x73
,
0x65
,
0x72
,
0x52
,
0x64
,
0x64
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x22
,
0x7
a
,
0x0a
,
0x1a
,
0x55
,
0x73
,
0x65
,
0x72
,
0x52
,
0x65
,
0x6c
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x73
,
0x68
,
0x69
,
0x70
,
0x44
,
0x65
,
0x6c
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x12
,
0x22
,
0x0a
,
0x06
,
0x43
,
0x6f
,
0x6d
,
0x6d
,
0x6f
,
0x6e
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x0a
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x43
,
0x6f
,
0x6d
,
0x6d
,
0x6f
,
0x6e
,
0x52
,
0x06
,
0x43
,
0x6f
,
0x6d
,
0x6d
,
0x6f
,
0x6e
,
0x12
,
0x1c
,
0x0a
,
0x05
,
0x41
,
0x63
,
0x63
,
0x69
,
0x64
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x09
,
0x42
,
0x06
,
0xe2
,
0xdf
,
0x1f
,
0x02
,
0x58
,
0x01
,
0x52
,
0x05
,
0x41
,
0x63
,
0x63
,
0x69
,
0x64
,
0x12
,
0x1e
,
0x0a
,
0x06
,
0x46
,
0x61
,
0x63
,
0x63
,
0x69
,
0x64
,
0x18
,
0x03
,
0x20
,
0x01
,
0x28
,
0x09
,
0x42
,
0x06
,
0xe2
,
0xdf
,
0x1f
,
0x02
,
0x58
,
0x01
,
0x52
,
0x06
,
0x46
,
0x61
,
0x63
,
0x63
,
0x69
,
0x64
,
0x22
,
0x87
,
0x01
,
0x0a
,
0x1b
,
0x55
,
0x73
,
0x65
,
0x72
,
0x52
,
0x65
,
0x6c
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x73
,
0x68
,
0x69
,
0x70
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x12
,
0x22
,
0x0a
,
0x06
,
0x43
,
0x6f
,
0x6d
,
0x6d
,
0x6f
,
0x6e
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x0a
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x43
,
0x6f
,
0x6d
,
0x6d
,
0x6f
,
0x6e
,
0x52
,
0x06
,
0x43
,
0x6f
,
0x6d
,
0x6d
,
0x6f
,
0x6e
,
0x12
,
0x1c
,
0x0a
,
0x05
,
0x41
,
0x63
,
0x63
,
0x69
,
0x64
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x09
,
0x42
,
0x06
,
0xe2
,
0xdf
,
0x1f
,
0x02
,
0x58
,
0x01
,
0x52
,
0x05
,
0x41
,
0x63
,
0x63
,
0x69
,
0x64
,
0x12
,
0x26
,
0x0a
,
0x0a
,
0x55
,
0x70
,
0x64
,
0x61
,
0x74
,
0x65
,
0x74
,
0x69
,
0x6d
,
0x65
,
0x18
,
0x03
,
0x20
,
0x01
,
0x28
,
0x09
,
0x42
,
0x06
,
0xe2
,
0xdf
,
0x1f
,
0x02
,
0x58
,
0x01
,
0x52
,
0x0a
,
0x55
,
0x70
,
0x64
,
0x61
,
0x74
,
0x65
,
0x74
,
0x69
,
0x6d
,
0x65
,
0x22
,
0x4e
,
0x0a
,
0x14
,
0x55
,
0x73
,
0x65
,
0x72
,
0x52
,
0x65
,
0x6c
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x73
,
0x68
,
0x69
,
0x70
,
0x49
,
0x6e
,
0x66
,
0x6f
,
0x12
,
0x16
,
0x0a
,
0x06
,
0x46
,
0x61
,
0x63
,
0x63
,
0x69
,
0x64
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x06
,
0x46
,
0x61
,
0x63
,
0x63
,
0x69
,
0x64
,
0x12
,
0x1e
,
0x0a
,
0x0a
,
0x55
,
0x70
,
0x64
,
0x61
,
0x74
,
0x65
,
0x74
,
0x69
,
0x6d
,
0x65
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x0a
,
0x55
,
0x70
,
0x64
,
0x61
,
0x74
,
0x65
,
0x74
,
0x69
,
0x6d
,
0x65
,
0x22
,
0x49
,
0x0a
,
0x19
,
0x55
,
0x73
,
0x65
,
0x72
,
0x52
,
0x65
,
0x6c
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x73
,
0x68
,
0x69
,
0x70
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x12
,
0x2c
,
0x0a
,
0x04
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x18
,
0x01
,
0x20
,
0x03
,
0x28
,
0x0b
,
0x32
,
0x18
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x55
,
0x73
,
0x65
,
0x72
,
0x52
,
0x65
,
0x6c
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x73
,
0x68
,
0x69
,
0x70
,
0x49
,
0x6e
,
0x66
,
0x6f
,
0x52
,
0x04
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x22
,
0xc9
,
0x01
,
0x0a
,
0x15
,
0x53
,
0x65
,
0x74
,
0x53
,
0x70
,
0x65
,
0x63
,
0x69
,
0x61
,
0x6c
,
0x52
,
0x65
,
0x6c
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x52
,
0x65
,
0x71
,
0x12
,
0x22
,
0x0a
,
0x06
,
0x43
,
0x6f
,
0x6d
,
0x6d
,
0x6f
,
0x6e
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x0a
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x43
,
0x6f
,
0x6d
,
0x6d
,
0x6f
,
0x6e
,
0x52
,
0x06
,
0x43
,
0x6f
,
0x6d
,
0x6d
,
0x6f
,
0x6e
,
0x12
,
0x1c
,
0x0a
,
0x05
,
0x41
,
0x63
,
0x63
,
0x69
,
0x64
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x09
,
0x42
,
0x06
,
0xe2
,
0xdf
,
0x1f
,
0x02
,
0x58
,
0x01
,
0x52
,
0x05
,
0x41
,
0x63
,
0x63
,
0x69
,
0x64
,
0x12
,
0x24
,
0x0a
,
0x09
,
0x54
,
0x61
,
0x72
,
0x67
,
0x65
,
0x74
,
0x41
,
0x63
,
0x63
,
0x18
,
0x03
,
0x20
,
0x01
,
0x28
,
0x09
,
0x42
,
0x06
,
0xe2
,
0xdf
,
0x1f
,
0x02
,
0x58
,
0x01
,
0x52
,
0x09
,
0x54
,
0x61
,
0x72
,
0x67
,
0x65
,
0x74
,
0x41
,
0x63
,
0x63
,
0x12
,
0x2a
,
0x0a
,
0x0c
,
0x52
,
0x65
,
0x6c
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x54
,
0x79
,
0x70
,
0x65
,
0x18
,
0x04
,
0x20
,
0x01
,
0x28
,
0x03
,
0x42
,
0x06
,
0xe2
,
0xdf
,
0x1f
,
0x02
,
0x10
,
0x00
,
0x52
,
0x0c
,
0x52
,
0x65
,
0x6c
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x54
,
0x79
,
0x70
,
0x65
,
0x12
,
0x1c
,
0x0a
,
0x05
,
0x56
,
0x61
,
0x6c
,
0x75
,
0x65
,
0x18
,
0x05
,
0x20
,
0x01
,
0x28
,
0x03
,
0x42
,
0x06
,
0xe2
,
0xdf
,
0x1f
,
0x02
,
0x10
,
0x00
,
0x52
,
0x05
,
0x56
,
0x61
,
0x6c
,
0x75
,
0x65
,
0x22
,
0x5b
,
0x0a
,
0x17
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x42
,
0x6c
,
0x61
,
0x63
,
0x6b
,
0x41
,
0x6e
,
0x64
,
0x4d
,
0x75
,
0x74
,
0x65
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x52
,
0x65
,
0x71
,
0x12
,
0x22
,
0x0a
,
0x06
,
0x43
,
0x6f
,
0x6d
,
0x6d
,
0x6f
,
0x6e
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x0a
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x43
,
0x6f
,
0x6d
,
0x6d
,
0x6f
,
0x6e
,
0x52
,
0x06
,
0x43
,
0x6f
,
0x6d
,
0x6d
,
0x6f
,
0x6e
,
0x12
,
0x1c
,
0x0a
,
0x05
,
0x41
,
0x63
,
0x63
,
0x69
,
0x64
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x09
,
0x42
,
0x06
,
0xe2
,
0xdf
,
0x1f
,
0x02
,
0x58
,
0x01
,
0x52
,
0x05
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x12
,
0x1c
,
0x0a
,
0x05
,
0x41
,
0x63
,
0x63
,
0x69
,
0x64
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x42
,
0x06
,
0xe2
,
0xdf
,
0x1f
,
0x02
,
0x58
,
0x01
,
0x52
,
0x05
,
0x41
,
0x63
,
0x63
,
0x69
,
0x64
,
0x12
,
0x1e
,
0x0a
,
0x06
,
0x46
,
0x61
,
0x63
,
0x63
,
0x69
,
0x64
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x09
,
0x42
,
0x06
,
0xe2
,
0xdf
,
0x1f
,
0x02
,
0x58
,
0x01
,
0x52
,
0x06
,
0x46
,
0x61
,
0x63
,
0x63
,
0x69
,
0x64
,
0x12
,
0x1e
,
0x0a
,
0x06
,
0x41
,
0x70
,
0x70
,
0x6b
,
0x65
,
0x79
,
0x18
,
0x03
,
0x20
,
0x01
,
0x28
,
0x09
,
0x42
,
0x06
,
0xe2
,
0xdf
,
0x1f
,
0x02
,
0x58
,
0x01
,
0x52
,
0x06
,
0x41
,
0x70
,
0x70
,
0x6b
,
0x65
,
0x79
,
0x22
,
0x83
,
0x01
,
0x0a
,
0x1b
,
0x55
,
0x73
,
0x65
,
0x72
,
0x52
,
0x65
,
0x6c
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x73
,
0x68
,
0x69
,
0x70
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x12
,
0x1c
,
0x0a
,
0x05
,
0x41
,
0x63
,
0x63
,
0x69
,
0x64
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x42
,
0x06
,
0xe2
,
0xdf
,
0x1f
,
0x02
,
0x58
,
0x01
,
0x52
,
0x05
,
0x41
,
0x63
,
0x63
,
0x69
,
0x64
,
0x12
,
0x26
,
0x0a
,
0x0a
,
0x55
,
0x70
,
0x64
,
0x61
,
0x74
,
0x65
,
0x74
,
0x69
,
0x6d
,
0x65
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x09
,
0x42
,
0x06
,
0xe2
,
0xdf
,
0x1f
,
0x02
,
0x58
,
0x01
,
0x52
,
0x0a
,
0x55
,
0x70
,
0x64
,
0x61
,
0x74
,
0x65
,
0x74
,
0x69
,
0x6d
,
0x65
,
0x12
,
0x1e
,
0x0a
,
0x06
,
0x41
,
0x70
,
0x70
,
0x6b
,
0x65
,
0x79
,
0x18
,
0x03
,
0x20
,
0x01
,
0x28
,
0x09
,
0x42
,
0x06
,
0xe2
,
0xdf
,
0x1f
,
0x02
,
0x58
,
0x01
,
0x52
,
0x06
,
0x41
,
0x70
,
0x70
,
0x6b
,
0x65
,
0x79
,
0x22
,
0x4e
,
0x0a
,
0x14
,
0x55
,
0x73
,
0x65
,
0x72
,
0x52
,
0x65
,
0x6c
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x73
,
0x68
,
0x69
,
0x70
,
0x49
,
0x6e
,
0x66
,
0x6f
,
0x12
,
0x16
,
0x0a
,
0x06
,
0x46
,
0x61
,
0x63
,
0x63
,
0x69
,
0x64
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x06
,
0x46
,
0x61
,
0x63
,
0x63
,
0x69
,
0x64
,
0x12
,
0x1e
,
0x0a
,
0x0a
,
0x55
,
0x70
,
0x64
,
0x61
,
0x74
,
0x65
,
0x74
,
0x69
,
0x6d
,
0x65
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x0a
,
0x55
,
0x70
,
0x64
,
0x61
,
0x74
,
0x65
,
0x74
,
0x69
,
0x6d
,
0x65
,
0x22
,
0x49
,
0x0a
,
0x19
,
0x55
,
0x73
,
0x65
,
0x72
,
0x52
,
0x65
,
0x6c
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x73
,
0x68
,
0x69
,
0x70
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x12
,
0x2c
,
0x0a
,
0x04
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x18
,
0x01
,
0x20
,
0x03
,
0x28
,
0x0b
,
0x32
,
0x18
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x55
,
0x73
,
0x65
,
0x72
,
0x52
,
0x65
,
0x6c
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x73
,
0x68
,
0x69
,
0x70
,
0x49
,
0x6e
,
0x66
,
0x6f
,
0x52
,
0x04
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x22
,
0xc5
,
0x01
,
0x0a
,
0x15
,
0x53
,
0x65
,
0x74
,
0x53
,
0x70
,
0x65
,
0x63
,
0x69
,
0x61
,
0x6c
,
0x52
,
0x65
,
0x6c
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x52
,
0x65
,
0x71
,
0x12
,
0x1c
,
0x0a
,
0x05
,
0x41
,
0x63
,
0x63
,
0x69
,
0x64
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x42
,
0x06
,
0xe2
,
0xdf
,
0x1f
,
0x02
,
0x58
,
0x01
,
0x52
,
0x05
,
0x41
,
0x63
,
0x63
,
0x69
,
0x64
,
0x12
,
0x24
,
0x0a
,
0x09
,
0x54
,
0x61
,
0x72
,
0x67
,
0x65
,
0x74
,
0x41
,
0x63
,
0x63
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x09
,
0x42
,
0x06
,
0xe2
,
0xdf
,
0x1f
,
0x02
,
0x58
,
0x01
,
0x52
,
0x09
,
0x54
,
0x61
,
0x72
,
0x67
,
0x65
,
0x74
,
0x41
,
0x63
,
0x63
,
0x12
,
0x2a
,
0x0a
,
0x0c
,
0x52
,
0x65
,
0x6c
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x54
,
0x79
,
0x70
,
0x65
,
0x18
,
0x03
,
0x20
,
0x01
,
0x28
,
0x03
,
0x42
,
0x06
,
0xe2
,
0xdf
,
0x1f
,
0x02
,
0x10
,
0x00
,
0x52
,
0x0c
,
0x52
,
0x65
,
0x6c
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x54
,
0x79
,
0x70
,
0x65
,
0x12
,
0x1c
,
0x0a
,
0x05
,
0x56
,
0x61
,
0x6c
,
0x75
,
0x65
,
0x18
,
0x04
,
0x20
,
0x01
,
0x28
,
0x03
,
0x42
,
0x06
,
0xe2
,
0xdf
,
0x1f
,
0x02
,
0x10
,
0x00
,
0x52
,
0x05
,
0x56
,
0x61
,
0x6c
,
0x75
,
0x65
,
0x12
,
0x1e
,
0x0a
,
0x06
,
0x41
,
0x70
,
0x70
,
0x6b
,
0x65
,
0x79
,
0x18
,
0x05
,
0x20
,
0x01
,
0x28
,
0x09
,
0x42
,
0x06
,
0xe2
,
0xdf
,
0x1f
,
0x02
,
0x58
,
0x01
,
0x52
,
0x06
,
0x41
,
0x70
,
0x70
,
0x6b
,
0x65
,
0x79
,
0x22
,
0x37
,
0x0a
,
0x17
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x42
,
0x6c
,
0x61
,
0x63
,
0x6b
,
0x41
,
0x6e
,
0x64
,
0x4d
,
0x75
,
0x74
,
0x65
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x52
,
0x65
,
0x71
,
0x12
,
0x1c
,
0x0a
,
0x05
,
0x41
,
0x63
,
0x63
,
0x69
,
0x64
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x42
,
0x06
,
0xe2
,
0xdf
,
0x1f
,
0x02
,
0x58
,
0x01
,
0x52
,
0x05
,
0x41
,
0x63
,
0x63
,
0x69
,
0x64
,
0x22
,
0x89
,
0x01
,
0x0a
,
0x19
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x42
,
0x6c
,
0x61
,
0x63
,
0x6b
,
0x41
,
0x6e
,
0x64
,
0x4d
,
0x75
,
0x74
,
0x65
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x12
,
0x34
,
0x0a
,
0x08
,
0x4d
,
0x75
,
0x74
,
0x65
,
0x6c
,
0x69
,
0x73
,
0x74
,
0x18
,
...
...
@@ -647,35 +791,57 @@ var file_u_proto_im_user_relationship_proto_rawDesc = []byte{
0x63
,
0x6b
,
0x6c
,
0x69
,
0x73
,
0x74
,
0x18
,
0x02
,
0x20
,
0x03
,
0x28
,
0x0b
,
0x32
,
0x18
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x55
,
0x73
,
0x65
,
0x72
,
0x52
,
0x65
,
0x6c
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x73
,
0x68
,
0x69
,
0x70
,
0x49
,
0x6e
,
0x66
,
0x6f
,
0x52
,
0x09
,
0x42
,
0x6c
,
0x61
,
0x63
,
0x6b
,
0x6c
,
0x69
,
0x73
,
0x74
,
0x32
,
0xb6
,
0x03
,
0x0a
,
0x17
,
0x55
,
0x73
,
0x65
,
0x72
,
0x52
,
0x65
,
0x6c
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x73
,
0x68
,
0x69
,
0x70
,
0x53
,
0x65
,
0x72
,
0x76
,
0x69
,
0x63
,
0x65
,
0x12
,
0x45
,
0x0a
,
0x03
,
0x41
,
0x64
,
0x64
,
0x12
,
0x1e
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x55
,
0x73
,
0x65
,
0x72
,
0x52
,
0x65
,
0x6c
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x73
,
0x68
,
0x69
,
0x70
,
0x41
,
0x64
,
0x64
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x1a
,
0x1c
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x55
,
0x73
,
0x65
,
0x72
,
0x52
,
0x65
,
0x6c
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x73
,
0x68
,
0x69
,
0x70
,
0x41
,
0x64
,
0x64
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x22
,
0x00
,
0x12
,
0x48
,
0x0a
,
0x06
,
0x44
,
0x65
,
0x6c
,
0x65
,
0x74
,
0x65
,
0x12
,
0x1e
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x55
,
0x73
,
0x65
,
0x72
,
0x52
,
0x65
,
0x6c
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x73
,
0x68
,
0x69
,
0x70
,
0x44
,
0x65
,
0x6c
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x1a
,
0x1c
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x55
,
0x73
,
0x65
,
0x72
,
0x52
,
0x65
,
0x6c
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x73
,
0x68
,
0x69
,
0x70
,
0x41
,
0x64
,
0x64
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x22
,
0x00
,
0x12
,
0x47
,
0x0a
,
0x03
,
0x41
,
0x6c
,
0x6c
,
0x12
,
0x1f
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x55
,
0x73
,
0x65
,
0x72
,
0x52
,
0x65
,
0x6c
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x73
,
0x68
,
0x69
,
0x70
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x1a
,
0x1d
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x55
,
0x73
,
0x65
,
0x72
,
0x52
,
0x65
,
0x6c
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x73
,
0x68
,
0x69
,
0x70
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x22
,
0x00
,
0x12
,
0x4f
,
0x0a
,
0x12
,
0x53
,
0x65
,
0x74
,
0x53
,
0x70
,
0x65
,
0x63
,
0x69
,
0x61
,
0x6c
,
0x52
,
0x65
,
0x6c
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x12
,
0x19
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x53
,
0x65
,
0x74
,
0x53
,
0x70
,
0x65
,
0x63
,
0x69
,
0x61
,
0x6c
,
0x52
,
0x65
,
0x6c
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x52
,
0x65
,
0x71
,
0x1a
,
0x1c
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x55
,
0x73
,
0x65
,
0x72
,
0x52
,
0x65
,
0x6c
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x73
,
0x68
,
0x69
,
0x70
,
0x41
,
0x64
,
0x64
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x22
,
0x00
,
0x12
,
0x70
,
0x0a
,
0x14
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x42
,
0x6c
,
0x61
,
0x63
,
0x6b
,
0x41
,
0x6e
,
0x64
,
0x4d
,
0x75
,
0x74
,
0x65
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x12
,
0x1b
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x42
,
0x6c
,
0x61
,
0x63
,
0x6b
,
0x41
,
0x6e
,
0x64
,
0x4d
,
0x75
,
0x74
,
0x65
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x52
,
0x65
,
0x71
,
0x1a
,
0x1d
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x42
,
0x6c
,
0x61
,
0x63
,
0x6b
,
0x41
,
0x6e
,
0x64
,
0x4d
,
0x75
,
0x74
,
0x65
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x22
,
0x1c
,
0x82
,
0xd3
,
0xe4
,
0x93
,
0x02
,
0x16
,
0x12
,
0x11
,
0x2f
,
0x76
,
0x31
,
0x2f
,
0x65
,
0x78
,
0x61
,
0x6d
,
0x70
,
0x6c
,
0x65
,
0x2f
,
0x72
,
0x6f
,
0x75
,
0x74
,
0x65
,
0x3a
,
0x01
,
0x2a
,
0x62
,
0x06
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x33
,
0x74
,
0x22
,
0x75
,
0x0a
,
0x15
,
0x46
,
0x72
,
0x69
,
0x65
,
0x6e
,
0x64
,
0x52
,
0x65
,
0x6c
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x73
,
0x68
,
0x69
,
0x70
,
0x52
,
0x65
,
0x71
,
0x12
,
0x1c
,
0x0a
,
0x05
,
0x41
,
0x63
,
0x63
,
0x69
,
0x64
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x42
,
0x06
,
0xe2
,
0xdf
,
0x1f
,
0x02
,
0x58
,
0x01
,
0x52
,
0x05
,
0x41
,
0x63
,
0x63
,
0x69
,
0x64
,
0x12
,
0x1e
,
0x0a
,
0x06
,
0x46
,
0x61
,
0x63
,
0x63
,
0x69
,
0x64
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x09
,
0x42
,
0x06
,
0xe2
,
0xdf
,
0x1f
,
0x02
,
0x58
,
0x01
,
0x52
,
0x06
,
0x46
,
0x61
,
0x63
,
0x63
,
0x69
,
0x64
,
0x12
,
0x1e
,
0x0a
,
0x06
,
0x41
,
0x70
,
0x70
,
0x6b
,
0x65
,
0x79
,
0x18
,
0x03
,
0x20
,
0x01
,
0x28
,
0x09
,
0x42
,
0x06
,
0xe2
,
0xdf
,
0x1f
,
0x02
,
0x58
,
0x01
,
0x52
,
0x06
,
0x41
,
0x70
,
0x70
,
0x6b
,
0x65
,
0x79
,
0x22
,
0xcd
,
0x01
,
0x0a
,
0x17
,
0x46
,
0x72
,
0x69
,
0x65
,
0x6e
,
0x64
,
0x52
,
0x65
,
0x6c
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x73
,
0x68
,
0x69
,
0x70
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x12
,
0x12
,
0x0a
,
0x04
,
0x54
,
0x79
,
0x70
,
0x65
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x03
,
0x52
,
0x04
,
0x54
,
0x79
,
0x70
,
0x65
,
0x12
,
0x10
,
0x0a
,
0x03
,
0x4d
,
0x73
,
0x67
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x03
,
0x4d
,
0x73
,
0x67
,
0x12
,
0x1c
,
0x0a
,
0x09
,
0x42
,
0x6c
,
0x61
,
0x63
,
0x6b
,
0x6c
,
0x69
,
0x73
,
0x74
,
0x18
,
0x03
,
0x20
,
0x01
,
0x28
,
0x03
,
0x52
,
0x09
,
0x42
,
0x6c
,
0x61
,
0x63
,
0x6b
,
0x6c
,
0x69
,
0x73
,
0x74
,
0x12
,
0x12
,
0x0a
,
0x04
,
0x4d
,
0x75
,
0x74
,
0x65
,
0x18
,
0x04
,
0x20
,
0x01
,
0x28
,
0x03
,
0x52
,
0x04
,
0x4d
,
0x75
,
0x74
,
0x65
,
0x12
,
0x1a
,
0x0a
,
0x08
,
0x53
,
0x65
,
0x72
,
0x76
,
0x65
,
0x72
,
0x65
,
0x78
,
0x18
,
0x05
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x08
,
0x53
,
0x65
,
0x72
,
0x76
,
0x65
,
0x72
,
0x65
,
0x78
,
0x12
,
0x1e
,
0x0a
,
0x0a
,
0x43
,
0x72
,
0x65
,
0x61
,
0x74
,
0x65
,
0x74
,
0x69
,
0x6d
,
0x65
,
0x18
,
0x06
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x0a
,
0x43
,
0x72
,
0x65
,
0x61
,
0x74
,
0x65
,
0x74
,
0x69
,
0x6d
,
0x65
,
0x12
,
0x1e
,
0x0a
,
0x0a
,
0x55
,
0x70
,
0x64
,
0x61
,
0x74
,
0x65
,
0x74
,
0x69
,
0x6d
,
0x65
,
0x18
,
0x07
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x0a
,
0x55
,
0x70
,
0x64
,
0x61
,
0x74
,
0x65
,
0x74
,
0x69
,
0x6d
,
0x65
,
0x32
,
0xdb
,
0x03
,
0x0a
,
0x17
,
0x55
,
0x73
,
0x65
,
0x72
,
0x52
,
0x65
,
0x6c
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x73
,
0x68
,
0x69
,
0x70
,
0x53
,
0x65
,
0x72
,
0x76
,
0x69
,
0x63
,
0x65
,
0x12
,
0x45
,
0x0a
,
0x03
,
0x41
,
0x64
,
0x64
,
0x12
,
0x1e
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x55
,
0x73
,
0x65
,
0x72
,
0x52
,
0x65
,
0x6c
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x73
,
0x68
,
0x69
,
0x70
,
0x41
,
0x64
,
0x64
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x1a
,
0x1c
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x55
,
0x73
,
0x65
,
0x72
,
0x52
,
0x65
,
0x6c
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x73
,
0x68
,
0x69
,
0x70
,
0x41
,
0x64
,
0x64
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x22
,
0x00
,
0x12
,
0x48
,
0x0a
,
0x06
,
0x44
,
0x65
,
0x6c
,
0x65
,
0x74
,
0x65
,
0x12
,
0x1e
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x55
,
0x73
,
0x65
,
0x72
,
0x52
,
0x65
,
0x6c
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x73
,
0x68
,
0x69
,
0x70
,
0x44
,
0x65
,
0x6c
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x1a
,
0x1c
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x55
,
0x73
,
0x65
,
0x72
,
0x52
,
0x65
,
0x6c
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x73
,
0x68
,
0x69
,
0x70
,
0x41
,
0x64
,
0x64
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x22
,
0x00
,
0x12
,
0x47
,
0x0a
,
0x03
,
0x41
,
0x6c
,
0x6c
,
0x12
,
0x1f
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x55
,
0x73
,
0x65
,
0x72
,
0x52
,
0x65
,
0x6c
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x73
,
0x68
,
0x69
,
0x70
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x1a
,
0x1d
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x55
,
0x73
,
0x65
,
0x72
,
0x52
,
0x65
,
0x6c
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x73
,
0x68
,
0x69
,
0x70
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x22
,
0x00
,
0x12
,
0x4f
,
0x0a
,
0x12
,
0x53
,
0x65
,
0x74
,
0x53
,
0x70
,
0x65
,
0x63
,
0x69
,
0x61
,
0x6c
,
0x52
,
0x65
,
0x6c
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x12
,
0x19
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x53
,
0x65
,
0x74
,
0x53
,
0x70
,
0x65
,
0x63
,
0x69
,
0x61
,
0x6c
,
0x52
,
0x65
,
0x6c
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x52
,
0x65
,
0x71
,
0x1a
,
0x1c
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x55
,
0x73
,
0x65
,
0x72
,
0x52
,
0x65
,
0x6c
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x73
,
0x68
,
0x69
,
0x70
,
0x41
,
0x64
,
0x64
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x22
,
0x00
,
0x12
,
0x54
,
0x0a
,
0x14
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x42
,
0x6c
,
0x61
,
0x63
,
0x6b
,
0x41
,
0x6e
,
0x64
,
0x4d
,
0x75
,
0x74
,
0x65
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x12
,
0x1b
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x42
,
0x6c
,
0x61
,
0x63
,
0x6b
,
0x41
,
0x6e
,
0x64
,
0x4d
,
0x75
,
0x74
,
0x65
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x52
,
0x65
,
0x71
,
0x1a
,
0x1d
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x42
,
0x6c
,
0x61
,
0x63
,
0x6b
,
0x41
,
0x6e
,
0x64
,
0x4d
,
0x75
,
0x74
,
0x65
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x22
,
0x00
,
0x12
,
0x3f
,
0x0a
,
0x03
,
0x4f
,
0x6e
,
0x65
,
0x12
,
0x19
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x46
,
0x72
,
0x69
,
0x65
,
0x6e
,
0x64
,
0x52
,
0x65
,
0x6c
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x73
,
0x68
,
0x69
,
0x70
,
0x52
,
0x65
,
0x71
,
0x1a
,
0x1b
,
0x2e
,
0x70
,
0x62
,
0x2e
,
0x46
,
0x72
,
0x69
,
0x65
,
0x6e
,
0x64
,
0x52
,
0x65
,
0x6c
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x73
,
0x68
,
0x69
,
0x70
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x22
,
0x00
,
0x62
,
0x06
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x33
,
}
var
(
...
...
@@ -690,7 +856,7 @@ func file_u_proto_im_user_relationship_proto_rawDescGZIP() []byte {
return
file_u_proto_im_user_relationship_proto_rawDescData
}
var
file_u_proto_im_user_relationship_proto_msgTypes
=
make
([]
protoimpl
.
MessageInfo
,
9
)
var
file_u_proto_im_user_relationship_proto_msgTypes
=
make
([]
protoimpl
.
MessageInfo
,
11
)
var
file_u_proto_im_user_relationship_proto_goTypes
=
[]
interface
{}{
(
*
UserRelationshipAddRequest
)(
nil
),
// 0: pb.UserRelationshipAddRequest
(
*
UserRelationshipAddReply
)(
nil
),
// 1: pb.UserRelationshipAddReply
...
...
@@ -701,32 +867,30 @@ var file_u_proto_im_user_relationship_proto_goTypes = []interface{}{
(
*
SetSpecialRelationReq
)(
nil
),
// 6: pb.SetSpecialRelationReq
(
*
ListBlackAndMuteListReq
)(
nil
),
// 7: pb.ListBlackAndMuteListReq
(
*
ListBlackAndMuteListReply
)(
nil
),
// 8: pb.ListBlackAndMuteListReply
(
*
Common
)(
nil
),
// 9: pb.Common
(
*
FriendRelationshipReq
)(
nil
),
// 9: pb.FriendRelationshipReq
(
*
FriendRelationshipReply
)(
nil
),
// 10: pb.FriendRelationshipReply
}
var
file_u_proto_im_user_relationship_proto_depIdxs
=
[]
int32
{
9
,
// 0: pb.UserRelationshipAddRequest.Common:type_name -> pb.Common
9
,
// 1: pb.UserRelationshipDelRequest.Common:type_name -> pb.Common
9
,
// 2: pb.UserRelationshipListRequest.Common:type_name -> pb.Common
4
,
// 3: pb.UserRelationshipListReply.List:type_name -> pb.UserRelationshipInfo
9
,
// 4: pb.SetSpecialRelationReq.Common:type_name -> pb.Common
9
,
// 5: pb.ListBlackAndMuteListReq.Common:type_name -> pb.Common
4
,
// 6: pb.ListBlackAndMuteListReply.Mutelist:type_name -> pb.UserRelationshipInfo
4
,
// 7: pb.ListBlackAndMuteListReply.Blacklist:type_name -> pb.UserRelationshipInfo
0
,
// 8: pb.UserRelationshipService.Add:input_type -> pb.UserRelationshipAddRequest
2
,
// 9: pb.UserRelationshipService.Delete:input_type -> pb.UserRelationshipDelRequest
3
,
// 10: pb.UserRelationshipService.All:input_type -> pb.UserRelationshipListRequest
6
,
// 11: pb.UserRelationshipService.SetSpecialRelation:input_type -> pb.SetSpecialRelationReq
7
,
// 12: pb.UserRelationshipService.ListBlackAndMuteList:input_type -> pb.ListBlackAndMuteListReq
1
,
// 13: pb.UserRelationshipService.Add:output_type -> pb.UserRelationshipAddReply
1
,
// 14: pb.UserRelationshipService.Delete:output_type -> pb.UserRelationshipAddReply
5
,
// 15: pb.UserRelationshipService.All:output_type -> pb.UserRelationshipListReply
1
,
// 16: pb.UserRelationshipService.SetSpecialRelation:output_type -> pb.UserRelationshipAddReply
8
,
// 17: pb.UserRelationshipService.ListBlackAndMuteList:output_type -> pb.ListBlackAndMuteListReply
13
,
// [13:18] is the sub-list for method output_type
8
,
// [8:13] is the sub-list for method input_type
8
,
// [8:8] is the sub-list for extension type_name
8
,
// [8:8] is the sub-list for extension extendee
0
,
// [0:8] is the sub-list for field type_name
4
,
// 0: pb.UserRelationshipListReply.List:type_name -> pb.UserRelationshipInfo
4
,
// 1: pb.ListBlackAndMuteListReply.Mutelist:type_name -> pb.UserRelationshipInfo
4
,
// 2: pb.ListBlackAndMuteListReply.Blacklist:type_name -> pb.UserRelationshipInfo
0
,
// 3: pb.UserRelationshipService.Add:input_type -> pb.UserRelationshipAddRequest
2
,
// 4: pb.UserRelationshipService.Delete:input_type -> pb.UserRelationshipDelRequest
3
,
// 5: pb.UserRelationshipService.All:input_type -> pb.UserRelationshipListRequest
6
,
// 6: pb.UserRelationshipService.SetSpecialRelation:input_type -> pb.SetSpecialRelationReq
7
,
// 7: pb.UserRelationshipService.ListBlackAndMuteList:input_type -> pb.ListBlackAndMuteListReq
9
,
// 8: pb.UserRelationshipService.One:input_type -> pb.FriendRelationshipReq
1
,
// 9: pb.UserRelationshipService.Add:output_type -> pb.UserRelationshipAddReply
1
,
// 10: pb.UserRelationshipService.Delete:output_type -> pb.UserRelationshipAddReply
5
,
// 11: pb.UserRelationshipService.All:output_type -> pb.UserRelationshipListReply
1
,
// 12: pb.UserRelationshipService.SetSpecialRelation:output_type -> pb.UserRelationshipAddReply
8
,
// 13: pb.UserRelationshipService.ListBlackAndMuteList:output_type -> pb.ListBlackAndMuteListReply
10
,
// 14: pb.UserRelationshipService.One:output_type -> pb.FriendRelationshipReply
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_u_proto_im_user_relationship_proto_init
()
}
...
...
@@ -734,7 +898,6 @@ func file_u_proto_im_user_relationship_proto_init() {
if
File_u_proto_im_user_relationship_proto
!=
nil
{
return
}
file_u_proto_common_proto_init
()
if
!
protoimpl
.
UnsafeEnabled
{
file_u_proto_im_user_relationship_proto_msgTypes
[
0
]
.
Exporter
=
func
(
v
interface
{},
i
int
)
interface
{}
{
switch
v
:=
v
.
(
*
UserRelationshipAddRequest
);
i
{
...
...
@@ -844,6 +1007,30 @@ func file_u_proto_im_user_relationship_proto_init() {
return
nil
}
}
file_u_proto_im_user_relationship_proto_msgTypes
[
9
]
.
Exporter
=
func
(
v
interface
{},
i
int
)
interface
{}
{
switch
v
:=
v
.
(
*
FriendRelationshipReq
);
i
{
case
0
:
return
&
v
.
state
case
1
:
return
&
v
.
sizeCache
case
2
:
return
&
v
.
unknownFields
default
:
return
nil
}
}
file_u_proto_im_user_relationship_proto_msgTypes
[
10
]
.
Exporter
=
func
(
v
interface
{},
i
int
)
interface
{}
{
switch
v
:=
v
.
(
*
FriendRelationshipReply
);
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
{
...
...
@@ -851,7 +1038,7 @@ func file_u_proto_im_user_relationship_proto_init() {
GoPackagePath
:
reflect
.
TypeOf
(
x
{})
.
PkgPath
(),
RawDescriptor
:
file_u_proto_im_user_relationship_proto_rawDesc
,
NumEnums
:
0
,
NumMessages
:
9
,
NumMessages
:
11
,
NumExtensions
:
0
,
NumServices
:
1
,
},
...
...
@@ -882,6 +1069,7 @@ type UserRelationshipServiceClient interface {
All
(
ctx
context
.
Context
,
in
*
UserRelationshipListRequest
,
opts
...
grpc
.
CallOption
)
(
*
UserRelationshipListReply
,
error
)
SetSpecialRelation
(
ctx
context
.
Context
,
in
*
SetSpecialRelationReq
,
opts
...
grpc
.
CallOption
)
(
*
UserRelationshipAddReply
,
error
)
ListBlackAndMuteList
(
ctx
context
.
Context
,
in
*
ListBlackAndMuteListReq
,
opts
...
grpc
.
CallOption
)
(
*
ListBlackAndMuteListReply
,
error
)
One
(
ctx
context
.
Context
,
in
*
FriendRelationshipReq
,
opts
...
grpc
.
CallOption
)
(
*
FriendRelationshipReply
,
error
)
}
type
userRelationshipServiceClient
struct
{
...
...
@@ -937,6 +1125,15 @@ func (c *userRelationshipServiceClient) ListBlackAndMuteList(ctx context.Context
return
out
,
nil
}
func
(
c
*
userRelationshipServiceClient
)
One
(
ctx
context
.
Context
,
in
*
FriendRelationshipReq
,
opts
...
grpc
.
CallOption
)
(
*
FriendRelationshipReply
,
error
)
{
out
:=
new
(
FriendRelationshipReply
)
err
:=
c
.
cc
.
Invoke
(
ctx
,
"/pb.UserRelationshipService/One"
,
in
,
out
,
opts
...
)
if
err
!=
nil
{
return
nil
,
err
}
return
out
,
nil
}
// UserRelationshipServiceServer is the server API for UserRelationshipService service.
type
UserRelationshipServiceServer
interface
{
Add
(
context
.
Context
,
*
UserRelationshipAddRequest
)
(
*
UserRelationshipAddReply
,
error
)
...
...
@@ -944,6 +1141,7 @@ type UserRelationshipServiceServer interface {
All
(
context
.
Context
,
*
UserRelationshipListRequest
)
(
*
UserRelationshipListReply
,
error
)
SetSpecialRelation
(
context
.
Context
,
*
SetSpecialRelationReq
)
(
*
UserRelationshipAddReply
,
error
)
ListBlackAndMuteList
(
context
.
Context
,
*
ListBlackAndMuteListReq
)
(
*
ListBlackAndMuteListReply
,
error
)
One
(
context
.
Context
,
*
FriendRelationshipReq
)
(
*
FriendRelationshipReply
,
error
)
}
// UnimplementedUserRelationshipServiceServer can be embedded to have forward compatible implementations.
...
...
@@ -965,6 +1163,9 @@ func (*UnimplementedUserRelationshipServiceServer) SetSpecialRelation(context.Co
func
(
*
UnimplementedUserRelationshipServiceServer
)
ListBlackAndMuteList
(
context
.
Context
,
*
ListBlackAndMuteListReq
)
(
*
ListBlackAndMuteListReply
,
error
)
{
return
nil
,
status
.
Errorf
(
codes
.
Unimplemented
,
"method ListBlackAndMuteList not implemented"
)
}
func
(
*
UnimplementedUserRelationshipServiceServer
)
One
(
context
.
Context
,
*
FriendRelationshipReq
)
(
*
FriendRelationshipReply
,
error
)
{
return
nil
,
status
.
Errorf
(
codes
.
Unimplemented
,
"method One not implemented"
)
}
func
RegisterUserRelationshipServiceServer
(
s
*
grpc
.
Server
,
srv
UserRelationshipServiceServer
)
{
s
.
RegisterService
(
&
_UserRelationshipService_serviceDesc
,
srv
)
...
...
@@ -1060,6 +1261,24 @@ func _UserRelationshipService_ListBlackAndMuteList_Handler(srv interface{}, ctx
return
interceptor
(
ctx
,
in
,
info
,
handler
)
}
func
_UserRelationshipService_One_Handler
(
srv
interface
{},
ctx
context
.
Context
,
dec
func
(
interface
{})
error
,
interceptor
grpc
.
UnaryServerInterceptor
)
(
interface
{},
error
)
{
in
:=
new
(
FriendRelationshipReq
)
if
err
:=
dec
(
in
);
err
!=
nil
{
return
nil
,
err
}
if
interceptor
==
nil
{
return
srv
.
(
UserRelationshipServiceServer
)
.
One
(
ctx
,
in
)
}
info
:=
&
grpc
.
UnaryServerInfo
{
Server
:
srv
,
FullMethod
:
"/pb.UserRelationshipService/One"
,
}
handler
:=
func
(
ctx
context
.
Context
,
req
interface
{})
(
interface
{},
error
)
{
return
srv
.
(
UserRelationshipServiceServer
)
.
One
(
ctx
,
req
.
(
*
FriendRelationshipReq
))
}
return
interceptor
(
ctx
,
in
,
info
,
handler
)
}
var
_UserRelationshipService_serviceDesc
=
grpc
.
ServiceDesc
{
ServiceName
:
"pb.UserRelationshipService"
,
HandlerType
:
(
*
UserRelationshipServiceServer
)(
nil
),
...
...
@@ -1084,6 +1303,10 @@ var _UserRelationshipService_serviceDesc = grpc.ServiceDesc{
MethodName
:
"ListBlackAndMuteList"
,
Handler
:
_UserRelationshipService_ListBlackAndMuteList_Handler
,
},
{
MethodName
:
"One"
,
Handler
:
_UserRelationshipService_One_Handler
,
},
},
Streams
:
[]
grpc
.
StreamDesc
{},
Metadata
:
"u-proto/im_user_relationship.proto"
,
...
...
pb/im_user_relationship.pb.gw.go
View file @
c87e1382
...
...
@@ -207,6 +207,42 @@ func local_request_UserRelationshipService_ListBlackAndMuteList_0(ctx context.Co
}
var
(
filter_UserRelationshipService_One_0
=
&
utilities
.
DoubleArray
{
Encoding
:
map
[
string
]
int
{},
Base
:
[]
int
(
nil
),
Check
:
[]
int
(
nil
)}
)
func
request_UserRelationshipService_One_0
(
ctx
context
.
Context
,
marshaler
runtime
.
Marshaler
,
client
UserRelationshipServiceClient
,
req
*
http
.
Request
,
pathParams
map
[
string
]
string
)
(
proto
.
Message
,
runtime
.
ServerMetadata
,
error
)
{
var
protoReq
FriendRelationshipReq
var
metadata
runtime
.
ServerMetadata
if
err
:=
req
.
ParseForm
();
err
!=
nil
{
return
nil
,
metadata
,
status
.
Errorf
(
codes
.
InvalidArgument
,
"%v"
,
err
)
}
if
err
:=
runtime
.
PopulateQueryParameters
(
&
protoReq
,
req
.
Form
,
filter_UserRelationshipService_One_0
);
err
!=
nil
{
return
nil
,
metadata
,
status
.
Errorf
(
codes
.
InvalidArgument
,
"%v"
,
err
)
}
msg
,
err
:=
client
.
One
(
ctx
,
&
protoReq
,
grpc
.
Header
(
&
metadata
.
HeaderMD
),
grpc
.
Trailer
(
&
metadata
.
TrailerMD
))
return
msg
,
metadata
,
err
}
func
local_request_UserRelationshipService_One_0
(
ctx
context
.
Context
,
marshaler
runtime
.
Marshaler
,
server
UserRelationshipServiceServer
,
req
*
http
.
Request
,
pathParams
map
[
string
]
string
)
(
proto
.
Message
,
runtime
.
ServerMetadata
,
error
)
{
var
protoReq
FriendRelationshipReq
var
metadata
runtime
.
ServerMetadata
if
err
:=
req
.
ParseForm
();
err
!=
nil
{
return
nil
,
metadata
,
status
.
Errorf
(
codes
.
InvalidArgument
,
"%v"
,
err
)
}
if
err
:=
runtime
.
PopulateQueryParameters
(
&
protoReq
,
req
.
Form
,
filter_UserRelationshipService_One_0
);
err
!=
nil
{
return
nil
,
metadata
,
status
.
Errorf
(
codes
.
InvalidArgument
,
"%v"
,
err
)
}
msg
,
err
:=
server
.
One
(
ctx
,
&
protoReq
)
return
msg
,
metadata
,
err
}
// RegisterUserRelationshipServiceHandlerServer registers the http handlers for service UserRelationshipService to "mux".
// UnaryRPC :call UserRelationshipServiceServer directly.
// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906.
...
...
@@ -312,6 +348,26 @@ func RegisterUserRelationshipServiceHandlerServer(ctx context.Context, mux *runt
})
mux
.
Handle
(
"GET"
,
pattern_UserRelationshipService_One_0
,
func
(
w
http
.
ResponseWriter
,
req
*
http
.
Request
,
pathParams
map
[
string
]
string
)
{
ctx
,
cancel
:=
context
.
WithCancel
(
req
.
Context
())
defer
cancel
()
inboundMarshaler
,
outboundMarshaler
:=
runtime
.
MarshalerForRequest
(
mux
,
req
)
rctx
,
err
:=
runtime
.
AnnotateIncomingContext
(
ctx
,
mux
,
req
)
if
err
!=
nil
{
runtime
.
HTTPError
(
ctx
,
mux
,
outboundMarshaler
,
w
,
req
,
err
)
return
}
resp
,
md
,
err
:=
local_request_UserRelationshipService_One_0
(
rctx
,
inboundMarshaler
,
server
,
req
,
pathParams
)
ctx
=
runtime
.
NewServerMetadataContext
(
ctx
,
md
)
if
err
!=
nil
{
runtime
.
HTTPError
(
ctx
,
mux
,
outboundMarshaler
,
w
,
req
,
err
)
return
}
forward_UserRelationshipService_One_0
(
ctx
,
mux
,
outboundMarshaler
,
w
,
req
,
resp
,
mux
.
GetForwardResponseOptions
()
...
)
})
return
nil
}
...
...
@@ -453,6 +509,26 @@ func RegisterUserRelationshipServiceHandlerClient(ctx context.Context, mux *runt
})
mux
.
Handle
(
"GET"
,
pattern_UserRelationshipService_One_0
,
func
(
w
http
.
ResponseWriter
,
req
*
http
.
Request
,
pathParams
map
[
string
]
string
)
{
ctx
,
cancel
:=
context
.
WithCancel
(
req
.
Context
())
defer
cancel
()
inboundMarshaler
,
outboundMarshaler
:=
runtime
.
MarshalerForRequest
(
mux
,
req
)
rctx
,
err
:=
runtime
.
AnnotateContext
(
ctx
,
mux
,
req
)
if
err
!=
nil
{
runtime
.
HTTPError
(
ctx
,
mux
,
outboundMarshaler
,
w
,
req
,
err
)
return
}
resp
,
md
,
err
:=
request_UserRelationshipService_One_0
(
rctx
,
inboundMarshaler
,
client
,
req
,
pathParams
)
ctx
=
runtime
.
NewServerMetadataContext
(
ctx
,
md
)
if
err
!=
nil
{
runtime
.
HTTPError
(
ctx
,
mux
,
outboundMarshaler
,
w
,
req
,
err
)
return
}
forward_UserRelationshipService_One_0
(
ctx
,
mux
,
outboundMarshaler
,
w
,
req
,
resp
,
mux
.
GetForwardResponseOptions
()
...
)
})
return
nil
}
...
...
@@ -466,6 +542,8 @@ var (
pattern_UserRelationshipService_SetSpecialRelation_0
=
runtime
.
MustPattern
(
runtime
.
NewPattern
(
1
,
[]
int
{
2
,
0
,
2
,
1
,
2
,
2
},
[]
string
{
"nimserver"
,
"user"
,
"setSpecialRelation"
},
""
,
runtime
.
AssumeColonVerbOpt
(
true
)))
pattern_UserRelationshipService_ListBlackAndMuteList_0
=
runtime
.
MustPattern
(
runtime
.
NewPattern
(
1
,
[]
int
{
2
,
0
,
2
,
1
,
2
,
2
},
[]
string
{
"nimserver"
,
"user"
,
"listBlackAndMuteList"
},
""
,
runtime
.
AssumeColonVerbOpt
(
true
)))
pattern_UserRelationshipService_One_0
=
runtime
.
MustPattern
(
runtime
.
NewPattern
(
1
,
[]
int
{
2
,
0
,
2
,
1
,
2
,
2
},
[]
string
{
"nimserver"
,
"friend"
,
"one"
},
""
,
runtime
.
AssumeColonVerbOpt
(
true
)))
)
var
(
...
...
@@ -478,4 +556,6 @@ var (
forward_UserRelationshipService_SetSpecialRelation_0
=
runtime
.
ForwardResponseMessage
forward_UserRelationshipService_ListBlackAndMuteList_0
=
runtime
.
ForwardResponseMessage
forward_UserRelationshipService_One_0
=
runtime
.
ForwardResponseMessage
)
pb/im_user_relationship.validator.pb.go
View file @
c87e1382
...
...
@@ -5,10 +5,10 @@ package pb
import
(
fmt
"fmt"
math
"math"
proto
"github.com/golang/protobuf/proto"
_
"github.com/mwitkow/go-proto-validators"
github_com_mwitkow_go_proto_validators
"github.com/mwitkow/go-proto-validators"
math
"math"
)
// Reference imports to suppress errors if they are not otherwise used.
...
...
@@ -17,11 +17,6 @@ var _ = fmt.Errorf
var
_
=
math
.
Inf
func
(
this
*
UserRelationshipAddRequest
)
Validate
()
error
{
if
this
.
Common
!=
nil
{
if
err
:=
github_com_mwitkow_go_proto_validators
.
CallValidatorIfExists
(
this
.
Common
);
err
!=
nil
{
return
github_com_mwitkow_go_proto_validators
.
FieldError
(
"Common"
,
err
)
}
}
if
this
.
Accid
==
""
{
return
github_com_mwitkow_go_proto_validators
.
FieldError
(
"Accid"
,
fmt
.
Errorf
(
`value '%v' must not be an empty string`
,
this
.
Accid
))
}
...
...
@@ -31,37 +26,36 @@ func (this *UserRelationshipAddRequest) Validate() error {
if
!
(
this
.
Type
>
0
)
{
return
github_com_mwitkow_go_proto_validators
.
FieldError
(
"Type"
,
fmt
.
Errorf
(
`value '%v' must be greater than '0'`
,
this
.
Type
))
}
if
this
.
Appkey
==
""
{
return
github_com_mwitkow_go_proto_validators
.
FieldError
(
"Appkey"
,
fmt
.
Errorf
(
`value '%v' must not be an empty string`
,
this
.
Appkey
))
}
return
nil
}
func
(
this
*
UserRelationshipAddReply
)
Validate
()
error
{
return
nil
}
func
(
this
*
UserRelationshipDelRequest
)
Validate
()
error
{
if
this
.
Common
!=
nil
{
if
err
:=
github_com_mwitkow_go_proto_validators
.
CallValidatorIfExists
(
this
.
Common
);
err
!=
nil
{
return
github_com_mwitkow_go_proto_validators
.
FieldError
(
"Common"
,
err
)
}
}
if
this
.
Accid
==
""
{
return
github_com_mwitkow_go_proto_validators
.
FieldError
(
"Accid"
,
fmt
.
Errorf
(
`value '%v' must not be an empty string`
,
this
.
Accid
))
}
if
this
.
Faccid
==
""
{
return
github_com_mwitkow_go_proto_validators
.
FieldError
(
"Faccid"
,
fmt
.
Errorf
(
`value '%v' must not be an empty string`
,
this
.
Faccid
))
}
if
this
.
Appkey
==
""
{
return
github_com_mwitkow_go_proto_validators
.
FieldError
(
"Appkey"
,
fmt
.
Errorf
(
`value '%v' must not be an empty string`
,
this
.
Appkey
))
}
return
nil
}
func
(
this
*
UserRelationshipListRequest
)
Validate
()
error
{
if
this
.
Common
!=
nil
{
if
err
:=
github_com_mwitkow_go_proto_validators
.
CallValidatorIfExists
(
this
.
Common
);
err
!=
nil
{
return
github_com_mwitkow_go_proto_validators
.
FieldError
(
"Common"
,
err
)
}
}
if
this
.
Accid
==
""
{
return
github_com_mwitkow_go_proto_validators
.
FieldError
(
"Accid"
,
fmt
.
Errorf
(
`value '%v' must not be an empty string`
,
this
.
Accid
))
}
if
this
.
Updatetime
==
""
{
return
github_com_mwitkow_go_proto_validators
.
FieldError
(
"Updatetime"
,
fmt
.
Errorf
(
`value '%v' must not be an empty string`
,
this
.
Updatetime
))
}
if
this
.
Appkey
==
""
{
return
github_com_mwitkow_go_proto_validators
.
FieldError
(
"Appkey"
,
fmt
.
Errorf
(
`value '%v' must not be an empty string`
,
this
.
Appkey
))
}
return
nil
}
func
(
this
*
UserRelationshipInfo
)
Validate
()
error
{
...
...
@@ -78,11 +72,6 @@ func (this *UserRelationshipListReply) Validate() error {
return
nil
}
func
(
this
*
SetSpecialRelationReq
)
Validate
()
error
{
if
this
.
Common
!=
nil
{
if
err
:=
github_com_mwitkow_go_proto_validators
.
CallValidatorIfExists
(
this
.
Common
);
err
!=
nil
{
return
github_com_mwitkow_go_proto_validators
.
FieldError
(
"Common"
,
err
)
}
}
if
this
.
Accid
==
""
{
return
github_com_mwitkow_go_proto_validators
.
FieldError
(
"Accid"
,
fmt
.
Errorf
(
`value '%v' must not be an empty string`
,
this
.
Accid
))
}
...
...
@@ -95,14 +84,12 @@ func (this *SetSpecialRelationReq) Validate() error {
if
!
(
this
.
Value
>
0
)
{
return
github_com_mwitkow_go_proto_validators
.
FieldError
(
"Value"
,
fmt
.
Errorf
(
`value '%v' must be greater than '0'`
,
this
.
Value
))
}
if
this
.
Appkey
==
""
{
return
github_com_mwitkow_go_proto_validators
.
FieldError
(
"Appkey"
,
fmt
.
Errorf
(
`value '%v' must not be an empty string`
,
this
.
Appkey
))
}
return
nil
}
func
(
this
*
ListBlackAndMuteListReq
)
Validate
()
error
{
if
this
.
Common
!=
nil
{
if
err
:=
github_com_mwitkow_go_proto_validators
.
CallValidatorIfExists
(
this
.
Common
);
err
!=
nil
{
return
github_com_mwitkow_go_proto_validators
.
FieldError
(
"Common"
,
err
)
}
}
if
this
.
Accid
==
""
{
return
github_com_mwitkow_go_proto_validators
.
FieldError
(
"Accid"
,
fmt
.
Errorf
(
`value '%v' must not be an empty string`
,
this
.
Accid
))
}
...
...
@@ -125,3 +112,18 @@ func (this *ListBlackAndMuteListReply) Validate() error {
}
return
nil
}
func
(
this
*
FriendRelationshipReq
)
Validate
()
error
{
if
this
.
Accid
==
""
{
return
github_com_mwitkow_go_proto_validators
.
FieldError
(
"Accid"
,
fmt
.
Errorf
(
`value '%v' must not be an empty string`
,
this
.
Accid
))
}
if
this
.
Faccid
==
""
{
return
github_com_mwitkow_go_proto_validators
.
FieldError
(
"Faccid"
,
fmt
.
Errorf
(
`value '%v' must not be an empty string`
,
this
.
Faccid
))
}
if
this
.
Appkey
==
""
{
return
github_com_mwitkow_go_proto_validators
.
FieldError
(
"Appkey"
,
fmt
.
Errorf
(
`value '%v' must not be an empty string`
,
this
.
Appkey
))
}
return
nil
}
func
(
this
*
FriendRelationshipReply
)
Validate
()
error
{
return
nil
}
sevice/im_chat_room/main.go
View file @
c87e1382
...
...
@@ -44,6 +44,7 @@ func (cr *ImChatRoomService) Delete(ctx context.Context,
err
=
status
.
New
(
codes
.
Canceled
,
"Client cancelled, abandoning."
)
.
Err
()
return
}
if
err
=
DeleteChatRoom
(
in
.
RoomId
);
err
!=
nil
{
return
}
...
...
sevice/im_friend_request/db.go
View file @
c87e1382
...
...
@@ -48,7 +48,7 @@ func AddRecord(in *pb.ImFriendAddReq) error {
db_friend
.
Status
=
field_status_wait
db_friend
.
Createtime
=
now
db_friend
.
Updatetime
=
now
db_friend
.
Appkey
=
in
.
Common
.
Appkey
db_friend
.
Appkey
=
in
.
Appkey
_
,
err
:=
db
.
MysqlClient
.
Insert
(
&
db_friend
)
return
err
}
...
...
sevice/im_friend_request/main.go
View file @
c87e1382
...
...
@@ -22,7 +22,7 @@ func (fs *ImFriendService) All(ctx context.Context, in *pb.ImFriendListReq) (rep
return
}
// 添加用户是否存在
if
_
,
err
=
im_user
.
GetImUserByAccidAppkey
(
in
.
Accid
,
in
.
Common
.
Appkey
);
err
!=
nil
{
if
_
,
err
=
im_user
.
GetImUserByAccidAppkey
(
in
.
Accid
,
in
.
Appkey
);
err
!=
nil
{
err
=
status
.
Error
(
codes
.
NotFound
,
"用户不存在"
)
return
}
...
...
@@ -51,27 +51,27 @@ func (fs *ImFriendService) Add(ctx context.Context, in *pb.ImFriendAddReq) (repl
return
}
// 添加用户是否存在
if
_
,
err
=
im_user
.
GetImUserByAccidAppkey
(
in
.
Accid
,
in
.
Common
.
Appkey
);
err
!=
nil
{
if
_
,
err
=
im_user
.
GetImUserByAccidAppkey
(
in
.
Accid
,
in
.
Appkey
);
err
!=
nil
{
err
=
status
.
Error
(
codes
.
NotFound
,
"用户不存在"
)
return
}
// 被添加用户存在
if
_
,
err
=
im_user
.
GetImUserByAccidAppkey
(
in
.
Faccid
,
in
.
Common
.
Appkey
);
err
!=
nil
{
if
_
,
err
=
im_user
.
GetImUserByAccidAppkey
(
in
.
Faccid
,
in
.
Appkey
);
err
!=
nil
{
err
=
status
.
Error
(
codes
.
NotFound
,
"被添加用户不存在"
)
return
}
//是否已经添加过好友
if
ok
:=
im_user_relationship
.
IsUserRelationship
(
in
.
Accid
,
in
.
Faccid
,
in
.
Common
.
Appkey
);
ok
{
if
ok
:=
im_user_relationship
.
IsUserRelationship
(
in
.
Accid
,
in
.
Faccid
,
in
.
Appkey
);
ok
{
err
=
status
.
Error
(
codes
.
AlreadyExists
,
"已经添加过该好友"
)
return
}
//对方用户黑名单不能添加
if
ok
:=
im_user_relationship
.
IsBlack
(
in
.
Accid
,
in
.
Faccid
,
in
.
Common
.
Appkey
);
ok
{
if
ok
:=
im_user_relationship
.
IsBlack
(
in
.
Accid
,
in
.
Faccid
,
in
.
Appkey
);
ok
{
err
=
status
.
Error
(
codes
.
AlreadyExists
,
"已经添加过该好友"
)
return
}
// 已经提过添加好友申请
if
ok
:=
FindExits
(
in
.
Accid
,
in
.
Faccid
,
in
.
Common
.
Appkey
);
ok
{
if
ok
:=
FindExits
(
in
.
Accid
,
in
.
Faccid
,
in
.
Appkey
);
ok
{
err
=
status
.
Error
(
codes
.
AlreadyExists
,
"已经提交过申请"
)
return
}
...
...
sevice/im_user_relationship/db.go
View file @
c87e1382
...
...
@@ -32,6 +32,14 @@ func IsUserRelationship(accid, faccid, key string) bool {
Filter
(
db_field_faccid
,
faccid
)
.
Filter
(
"appkey"
,
key
)
.
Exist
()
}
func
GetUserRelationshipOne
(
accid
,
faccid
,
key
string
)
(
db
.
ImUserRelationship
,
error
)
{
var
one
db
.
ImUserRelationship
err
:=
db
.
MysqlClient
.
QueryTable
(
db_tabel
)
.
Filter
(
db_field_accid
,
accid
)
.
Filter
(
db_field_faccid
,
faccid
)
.
Filter
(
"appkey"
,
key
)
.
One
(
&
one
)
return
one
,
err
}
//是否是对方黑名单
func
IsBlack
(
accid
,
faccid
,
key
string
)
bool
{
return
db
.
MysqlClient
.
QueryTable
(
db_tabel
)
.
Filter
(
db_field_accid
,
faccid
)
.
...
...
@@ -55,10 +63,10 @@ func AddUserRelationship(in *pb.UserRelationshipAddRequest) error {
us
.
Blacklist
=
open
us
.
Mute
=
open
us
.
Createtime
=
now
us
.
Appkey
=
in
.
Common
.
Appkey
us
.
Appkey
=
in
.
Appkey
_
,
err
:=
db
.
MysqlClient
.
Insert
(
&
us
)
if
ok
:=
IsUserRelationship
(
in
.
Faccid
,
in
.
Accid
,
in
.
Common
.
Appkey
);
!
ok
{
if
ok
:=
IsUserRelationship
(
in
.
Faccid
,
in
.
Accid
,
in
.
Appkey
);
!
ok
{
// 被添加者
ts
.
Accid
=
in
.
Faccid
ts
.
Faccid
=
in
.
Accid
...
...
@@ -95,8 +103,7 @@ func DBAll(in *pb.UserRelationshipListRequest) ([]db.ImUserRelationship, error)
var
friends
[]
db
.
ImUserRelationship
num
,
err
:=
db
.
MysqlClient
.
QueryTable
(
db_tabel
)
.
Filter
(
db_field_accid
,
in
.
Accid
)
.
Filter
(
db_field_blacklist
,
open
)
.
Filter
(
db_field_updatetime
+
"__gte"
,
in
.
Updatetime
)
.
All
(
&
friends
,
db_field_faccid
,
db_field_updatetime
)
Filter
(
"appkey"
,
in
.
Appkey
)
.
All
(
&
friends
,
db_field_faccid
,
db_field_updatetime
)
if
err
!=
nil
{
return
nil
,
err
}
...
...
@@ -108,7 +115,7 @@ func DBAll(in *pb.UserRelationshipListRequest) ([]db.ImUserRelationship, error)
func
SetSpecialRelationDb
(
in
*
pb
.
SetSpecialRelationReq
)
error
{
if
ok
:=
IsUserRelationship
(
in
.
Accid
,
in
.
TargetAcc
,
in
.
Common
.
Appkey
);
!
ok
{
if
ok
:=
IsUserRelationship
(
in
.
Accid
,
in
.
TargetAcc
,
in
.
Appkey
);
!
ok
{
return
errors
.
New
(
"被操作用户不是该用户好友"
)
}
orm_params
:=
make
(
orm
.
Params
)
...
...
sevice/im_user_relationship/main.go
View file @
c87e1382
...
...
@@ -29,10 +29,10 @@ func (us *UserRelationshipService) Add(ctx context.Context,
// 更改用户版本信息
u_map
:=
make
(
map
[
string
]
interface
{})
u_map
[
"edition"
]
=
helper
.
GetNowTime
()
_
,
_
=
im_user
.
UpdateImUser
(
in
.
Accid
,
in
.
Common
.
Appkey
,
u_map
)
_
,
_
=
im_user
.
UpdateImUser
(
in
.
Accid
,
in
.
Appkey
,
u_map
)
// 更改请求用户版本信息
_
,
_
=
im_user
.
UpdateImUser
(
in
.
Faccid
,
in
.
Common
.
Appkey
,
u_map
)
_
,
_
=
im_user
.
UpdateImUser
(
in
.
Faccid
,
in
.
Appkey
,
u_map
)
reply
=
&
pb
.
UserRelationshipAddReply
{}
return
...
...
@@ -52,10 +52,10 @@ func (us *UserRelationshipService) Delete(ctx context.Context,
// 更改用户版本信息
u_map
:=
make
(
map
[
string
]
interface
{})
u_map
[
"edition"
]
=
helper
.
GetNowTime
()
_
,
_
=
im_user
.
UpdateImUser
(
in
.
Accid
,
in
.
Common
.
Appkey
,
u_map
)
_
,
_
=
im_user
.
UpdateImUser
(
in
.
Accid
,
in
.
Appkey
,
u_map
)
// 更改被添加用户版本信息
_
,
_
=
im_user
.
UpdateImUser
(
in
.
Faccid
,
in
.
Common
.
Appkey
,
u_map
)
_
,
_
=
im_user
.
UpdateImUser
(
in
.
Faccid
,
in
.
Appkey
,
u_map
)
reply
=
&
pb
.
UserRelationshipAddReply
{}
return
...
...
@@ -129,3 +129,29 @@ func (us *UserRelationshipService) ListBlackAndMuteList(ctx context.Context,
}
return
}
func
(
us
*
UserRelationshipService
)
One
(
ctx
context
.
Context
,
in
*
pb
.
FriendRelationshipReq
)
(
reply
*
pb
.
FriendRelationshipReply
,
err
error
)
{
// 请求超时
if
ctx
.
Err
()
==
context
.
Canceled
{
err
=
status
.
New
(
codes
.
Canceled
,
"Client cancelled, abandoning."
)
.
Err
()
return
}
result
,
err
:=
GetUserRelationshipOne
(
in
.
Accid
,
in
.
Faccid
,
in
.
Appkey
)
if
err
!=
nil
{
err
=
status
.
Error
(
codes
.
NotFound
,
err
.
Error
())
return
}
reply
=
&
pb
.
FriendRelationshipReply
{
Type
:
int64
(
result
.
Type
),
Msg
:
result
.
Msg
,
Blacklist
:
int64
(
result
.
Blacklist
),
Mute
:
int64
(
result
.
Mute
),
Serverex
:
result
.
Serverex
,
Createtime
:
result
.
Createtime
,
Updatetime
:
result
.
Updatetime
,
}
return
}
\ No newline at end of file
u-proto/common.proto
View file @
c87e1382
...
...
@@ -2,15 +2,6 @@ syntax = "proto3";
package
pb
;
import
"github.com/gogo/protobuf/gogoproto/gogo.proto"
;
import
"github.com/mwitkow/go-proto-validators/validator.proto"
;
message
Common
{
string
Appkey
=
1
[(
validator.field
)
=
{
string_not_empty
:
true
}];
string
Nonce
=
2
[(
validator.field
)
=
{
string_not_empty
:
true
}];
string
Curtime
=
3
[(
validator.field
)
=
{
string_not_empty
:
true
}];
string
Checksum
=
4
[(
validator.field
)
=
{
string_not_empty
:
true
}];
}
message
Page
{
int64
PagetNo
=
1
;
...
...
u-proto/im_base.proto
View file @
c87e1382
...
...
@@ -2,8 +2,7 @@ syntax = "proto3";
package
pb
;
import
"u-proto/common.proto"
;
import
"u-proto/google/api/annotations.proto"
;
import
"github.com/mwitkow/go-proto-validators/validator.proto"
;
message
Public
{
...
...
@@ -13,20 +12,19 @@ message Public {
}
message
ConfigureRequest
{
Common
Common
=
1
;
Public
Public
=
2
;
int64
AppId
=
3
[(
validator.field
)
=
{
int_gt
:
0
}];
string
Appkey
=
1
;
string
Current
=
2
;
Public
Public
=
3
;
int64
AppId
=
4
[(
validator.field
)
=
{
int_gt
:
0
}];
}
message
ConfigureReply
{}
message
ConfigureDelRequest
{
int64
CompanyUserId
=
1
[(
validator.field
)
=
{
int_gt
:
0
}];
Common
Common
=
2
;
}
message
GetAllRequest
{
Common
Common
=
1
;
}
message
GetAllOneReply
{
Public
Reply
=
1
;
...
...
@@ -37,31 +35,12 @@ message GetAllReply {
}
message
UpdateRequest
{
Common
Common
=
1
;
Public
Public
=
2
;
Public
Public
=
1
;
}
service
ConfigureSevice
{
rpc
Select
(
GetAllRequest
)
returns
(
GetAllReply
)
{
option
(
google.api.http
)
=
{
get
:
"/nimserver/config/get"
};
}
rpc
Add
(
ConfigureRequest
)
returns
(
ConfigureReply
)
{
option
(
google.api.http
)
=
{
post
:
"/nimserver/config/add"
body
:
"*"
};
}
rpc
Delete
(
ConfigureDelRequest
)
returns
(
ConfigureReply
)
{
option
(
google.api.http
)
=
{
delete
:
"/nimserver/config/del"
};
}
rpc
Update
(
UpdateRequest
)
returns
(
ConfigureReply
)
{
option
(
google.api.http
)
=
{
put
:
"/nimserver/config/update"
body
:
"*"
};
}
rpc
Select
(
GetAllRequest
)
returns
(
GetAllReply
)
{
}
rpc
Add
(
ConfigureRequest
)
returns
(
ConfigureReply
)
{}
rpc
Delete
(
ConfigureDelRequest
)
returns
(
ConfigureReply
)
{}
rpc
Update
(
UpdateRequest
)
returns
(
ConfigureReply
)
{}
}
u-proto/im_chat_room.proto
View file @
c87e1382
...
...
@@ -3,15 +3,14 @@ syntax = "proto3";
package
pb
;
import
"u-proto/common.proto"
;
import
"u-proto/google/api/annotations.proto"
;
import
"github.com/mwitkow/go-proto-validators/validator.proto"
;
// 添加聊天室
message
ChatRoomAddRequest
{
Common
Common
=
1
;
string
Creator
=
2
[(
validator.field
)
=
{
string_not_empty
:
true
}];
string
Name
=
3
[(
validator.field
)
=
{
string_not_empty
:
true
}];
string
Announcement
=
4
[(
validator.field
)
=
{
string_not_empty
:
true
}];
string
Creator
=
1
[(
validator.field
)
=
{
string_not_empty
:
true
}];
string
Name
=
2
[(
validator.field
)
=
{
string_not_empty
:
true
}];
string
Announcement
=
3
[(
validator.field
)
=
{
string_not_empty
:
true
}];
}
message
ChatRoomAddReply
{
...
...
@@ -20,27 +19,25 @@ message ChatRoomAddReply{
// 更新聊天室
message
ChatRoomUpdateRequest
{
Common
Common
=
1
;
int64
RoomId
=
2
[(
validator.field
)
=
{
int_gt
:
0
}];
string
Name
=
3
;
int64
Status
=
4
;
string
Announcement
=
5
;
int64
RoomId
=
1
[(
validator.field
)
=
{
int_gt
:
0
}];
string
Name
=
2
;
int64
Status
=
3
;
string
Announcement
=
4
;
}
message
ChatRoomUpdateReply
{}
// 删除聊天室
message
ChatRoomDelRequest
{
Common
Common
=
1
;
int64
RoomId
=
2
[(
validator.field
)
=
{
int_gt
:
0
}];
int64
RoomId
=
1
[(
validator.field
)
=
{
int_gt
:
0
}];
}
message
ChatRoomDelReply
{}
// 获取单个聊天室信息
message
ChatRoomInfoRequest
{
Common
Common
=
1
;
int64
RoomId
=
2
[(
validator.field
)
=
{
int_gt
:
0
}];
int64
RoomId
=
1
[(
validator.field
)
=
{
int_gt
:
0
}];
}
message
ChatRoomInfoReply
{
...
...
@@ -58,14 +55,13 @@ message ChatRoomInfoReply {
// 获取所有房间
message
ChatRoomAllRequest
{
Common
Common
=
1
;
int64
Page
=
2
;
string
Creator
=
3
;
string
Name
=
4
;
string
Announcement
=
5
;
int64
Status
=
6
;
string
Createtime
=
7
;
string
Updatetime
=
8
;
int64
Page
=
1
;
string
Creator
=
2
;
string
Name
=
3
;
string
Announcement
=
4
;
int64
Status
=
5
;
string
Createtime
=
6
;
string
Updatetime
=
7
;
}
message
GetChatRoomsReply
{
...
...
@@ -74,31 +70,9 @@ message GetChatRoomsReply {
}
service
ChatRoomService
{
rpc
Add
(
ChatRoomAddRequest
)
returns
(
ChatRoomAddReply
)
{
option
(
google.api.http
)
=
{
post
:
"/nimserver/chatroom/create"
body
:
"*"
};
}
rpc
Update
(
ChatRoomUpdateRequest
)
returns
(
ChatRoomUpdateReply
)
{
option
(
google.api.http
)
=
{
put
:
"/nimserver/chatroom/update"
body
:
"*"
};
}
rpc
Delete
(
ChatRoomDelRequest
)
returns
(
ChatRoomDelReply
)
{
option
(
google.api.http
)
=
{
delete
:
"/nimserver/chatroom/delete"
};
}
rpc
Info
(
ChatRoomInfoRequest
)
returns
(
ChatRoomInfoReply
)
{
option
(
google.api.http
)
=
{
get
:
"/nimserver/chatroom/get"
};
}
rpc
All
(
ChatRoomAllRequest
)
returns
(
GetChatRoomsReply
)
{
option
(
google.api.http
)
=
{
get
:
"/nimserver/chatroom/getBatch"
};
}
rpc
Add
(
ChatRoomAddRequest
)
returns
(
ChatRoomAddReply
)
{}
rpc
Update
(
ChatRoomUpdateRequest
)
returns
(
ChatRoomUpdateReply
)
{}
rpc
Delete
(
ChatRoomDelRequest
)
returns
(
ChatRoomDelReply
){}
rpc
Info
(
ChatRoomInfoRequest
)
returns
(
ChatRoomInfoReply
)
{}
rpc
All
(
ChatRoomAllRequest
)
returns
(
GetChatRoomsReply
)
{}
}
\ No newline at end of file
u-proto/im_friend_req.proto
View file @
c87e1382
...
...
@@ -2,30 +2,29 @@ syntax = "proto3";
package
pb
;
import
"u-proto/common.proto"
;
import
"u-proto/google/api/annotations.proto"
;
import
"github.com/mwitkow/go-proto-validators/validator.proto"
;
// 发起添加好友申请
message
ImFriendAddReq
{
Common
Common
=
1
;
string
Accid
=
2
[(
validator.field
)
=
{
string_not_empty
:
true
}];
string
Faccid
=
3
[(
validator.field
)
=
{
string_not_empty
:
true
}];
string
Accid
=
1
[(
validator.field
)
=
{
string_not_empty
:
true
}];
string
Faccid
=
2
[(
validator.field
)
=
{
string_not_empty
:
true
}];
string
Appkey
=
3
[(
validator.field
)
=
{
string_not_empty
:
true
}];
}
message
ImFriendEmptyReply
{}
// 更改添加好友状态
message
ImFriendUpdateReq
{
Common
Common
=
1
;
int64
Id
=
2
[(
validator.field
)
=
{
int_gt
:
0
}];
int64
Status
=
3
[(
validator.field
)
=
{
int_gt
:
0
,
int_lt
:
3
}];
int64
Id
=
1
[(
validator.field
)
=
{
int_gt
:
0
}];
int64
Status
=
2
[(
validator.field
)
=
{
int_gt
:
0
,
int_lt
:
3
}];
}
// 获取申请好友列表
message
ImFriendListReq
{
Common
Common
=
1
;
string
A
ccid
=
2
[(
validator.field
)
=
{
string_not_empty
:
true
}];
string
Accid
=
1
[(
validator.field
)
=
{
string_not_empty
:
true
}]
;
string
A
ppkey
=
2
[(
validator.field
)
=
{
string_not_empty
:
true
}];
}
message
ImFriendListOne
{
int64
Id
=
1
;
...
...
@@ -38,21 +37,7 @@ message ImFriendListReply {
}
service
ImFriendService
{
rpc
All
(
ImFriendListReq
)
returns
(
ImFriendListReply
)
{
option
(
google.api.http
)
=
{
get
:
"/nimserver/firendlist/getBatch"
};
}
rpc
Add
(
ImFriendAddReq
)
returns
(
ImFriendEmptyReply
)
{
option
(
google.api.http
)
=
{
post
:
"/nimserver/firendlist/create"
body
:
"*"
};
}
rpc
Update
(
ImFriendUpdateReq
)
returns
(
ImFriendEmptyReply
)
{
option
(
google.api.http
)
=
{
put
:
"/nimserver/firendlist/update"
body
:
"*"
};
}
rpc
All
(
ImFriendListReq
)
returns
(
ImFriendListReply
)
{
}
rpc
Add
(
ImFriendAddReq
)
returns
(
ImFriendEmptyReply
)
{}
rpc
Update
(
ImFriendUpdateReq
)
returns
(
ImFriendEmptyReply
)
{
}
}
\ No newline at end of file
u-proto/im_user_relationship.proto
View file @
c87e1382
...
...
@@ -2,17 +2,17 @@ syntax = "proto3";
package
pb
;
import
"u-proto/common.proto"
;
import
"u-proto/google/api/annotations.proto"
;
import
"github.com/mwitkow/go-proto-validators/validator.proto"
;
//添加好友
message
UserRelationshipAddRequest
{
Common
Common
=
1
;
string
Accid
=
2
[(
validator.field
)
=
{
string_not_empty
:
true
}];
string
Faccid
=
3
[(
validator.field
)
=
{
string_not_empty
:
true
}];
int64
Type
=
4
[(
validator.field
)
=
{
int_gt
:
0
}];
string
Msg
=
5
;
string
Accid
=
1
[(
validator.field
)
=
{
string_not_empty
:
true
}];
string
Faccid
=
2
[(
validator.field
)
=
{
string_not_empty
:
true
}];
int64
Type
=
3
[(
validator.field
)
=
{
int_gt
:
0
}];
string
Msg
=
4
;
string
Appkey
=
5
[(
validator.field
)
=
{
string_not_empty
:
true
}];
}
message
UserRelationshipAddReply
{}
...
...
@@ -20,16 +20,18 @@ message UserRelationshipAddReply {}
//删除好友
message
UserRelationshipDelRequest
{
Common
Common
=
1
;
string
Accid
=
2
[(
validator.field
)
=
{
string_not_empty
:
true
}];
string
Faccid
=
3
[(
validator.field
)
=
{
string_not_empty
:
true
}];
string
Accid
=
1
[(
validator.field
)
=
{
string_not_empty
:
true
}];
string
Faccid
=
2
[(
validator.field
)
=
{
string_not_empty
:
true
}];
string
Appkey
=
3
[(
validator.field
)
=
{
string_not_empty
:
true
}];
}
// 获取好友关系
message
UserRelationshipListRequest
{
Common
Common
=
1
;
string
Accid
=
2
[(
validator.field
)
=
{
string_not_empty
:
true
}];
string
Updatetime
=
3
[(
validator.field
)
=
{
string_not_empty
:
true
}];
string
Accid
=
1
[(
validator.field
)
=
{
string_not_empty
:
true
}];
string
Updatetime
=
2
[(
validator.field
)
=
{
string_not_empty
:
true
}];
string
Appkey
=
3
[(
validator.field
)
=
{
string_not_empty
:
true
}];
}
message
UserRelationshipInfo
{
...
...
@@ -43,18 +45,19 @@ message UserRelationshipListReply {
//设置黑名单/静音
message
SetSpecialRelationReq
{
Common
Common
=
1
;
string
Accid
=
2
[(
validator.field
)
=
{
string_not_empty
:
true
}];
string
TargetAcc
=
3
[(
validator.field
)
=
{
string_not_empty
:
true
}];
int64
RelationType
=
4
[(
validator.field
)
=
{
int_gt
:
0
}];
int64
Value
=
5
[(
validator.field
)
=
{
int_gt
:
0
}];
string
Accid
=
1
[(
validator.field
)
=
{
string_not_empty
:
true
}];
string
TargetAcc
=
2
[(
validator.field
)
=
{
string_not_empty
:
true
}];
int64
RelationType
=
3
[(
validator.field
)
=
{
int_gt
:
0
}];
int64
Value
=
4
[(
validator.field
)
=
{
int_gt
:
0
}];
string
Appkey
=
5
[(
validator.field
)
=
{
string_not_empty
:
true
}];
}
//查看指定用户的黑名单和静音列表
message
ListBlackAndMuteListReq
{
Common
Common
=
1
;
string
Accid
=
2
[(
validator.field
)
=
{
string_not_empty
:
true
}];
string
Accid
=
1
[(
validator.field
)
=
{
string_not_empty
:
true
}];
}
message
ListBlackAndMuteListReply
{
...
...
@@ -62,32 +65,29 @@ message ListBlackAndMuteListReply {
repeated
UserRelationshipInfo
Blacklist
=
2
;
}
// 获取当前聊天好友关系
message
FriendRelationshipReq
{
string
Accid
=
1
[(
validator.field
)
=
{
string_not_empty
:
true
}];
string
Faccid
=
2
[(
validator.field
)
=
{
string_not_empty
:
true
}];
string
Appkey
=
3
[(
validator.field
)
=
{
string_not_empty
:
true
}];
}
message
FriendRelationshipReply
{
int64
Type
=
1
;
string
Msg
=
2
;
int64
Blacklist
=
3
;
int64
Mute
=
4
;
string
Serverex
=
5
;
string
Createtime
=
6
;
string
Updatetime
=
7
;
}
service
UserRelationshipService
{
rpc
Add
(
UserRelationshipAddRequest
)
returns
(
UserRelationshipAddReply
)
{
option
(
google.api.http
)
=
{
post
:
"/nimserver/friend/add"
body
:
"*"
};
}
rpc
Delete
(
UserRelationshipDelRequest
)
returns
(
UserRelationshipAddReply
)
{
option
(
google.api.http
)
=
{
delete
:
"/nimserver/friend/delete"
};
}
rpc
All
(
UserRelationshipListRequest
)
returns
(
UserRelationshipListReply
)
{
option
(
google.api.http
)
=
{
get
:
"/nimserver/friend/get"
};
}
rpc
SetSpecialRelation
(
SetSpecialRelationReq
)
returns
(
UserRelationshipAddReply
)
{
option
(
google.api.http
)
=
{
put
:
"/nimserver/user/setSpecialRelation"
body
:
"*"
};
}
rpc
ListBlackAndMuteList
(
ListBlackAndMuteListReq
)
returns
(
ListBlackAndMuteListReply
)
{
option
(
google.api.http
)
=
{
get
:
"/nimserver/user/listBlackAndMuteList"
};
}
rpc
Add
(
UserRelationshipAddRequest
)
returns
(
UserRelationshipAddReply
)
{}
rpc
Delete
(
UserRelationshipDelRequest
)
returns
(
UserRelationshipAddReply
)
{
}
rpc
All
(
UserRelationshipListRequest
)
returns
(
UserRelationshipListReply
)
{
}
rpc
SetSpecialRelation
(
SetSpecialRelationReq
)
returns
(
UserRelationshipAddReply
)
{}
rpc
ListBlackAndMuteList
(
ListBlackAndMuteListReq
)
returns
(
ListBlackAndMuteListReply
)
{
}
rpc
One
(
FriendRelationshipReq
)
returns
(
FriendRelationshipReply
)
{}
}
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment