// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.29.1 // protoc v4.22.0 // source: user/user.proto package user import ( context "context" reflect "reflect" sync "sync" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" conversation "github.com/OpenIMSDK/Open-IM-Server/pkg/proto/conversation" sdkws "github.com/OpenIMSDK/Open-IM-Server/pkg/proto/sdkws" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type GetAllUserIDReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Pagination *sdkws.RequestPagination `protobuf:"bytes,1,opt,name=pagination,proto3" json:"pagination"` } func (x *GetAllUserIDReq) Reset() { *x = GetAllUserIDReq{} if protoimpl.UnsafeEnabled { mi := &file_user_user_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetAllUserIDReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetAllUserIDReq) ProtoMessage() {} func (x *GetAllUserIDReq) ProtoReflect() protoreflect.Message { mi := &file_user_user_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 GetAllUserIDReq.ProtoReflect.Descriptor instead. func (*GetAllUserIDReq) Descriptor() ([]byte, []int) { return file_user_user_proto_rawDescGZIP(), []int{0} } func (x *GetAllUserIDReq) GetPagination() *sdkws.RequestPagination { if x != nil { return x.Pagination } return nil } type GetAllUserIDResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Total int32 `protobuf:"varint,1,opt,name=total,proto3" json:"total"` UserIDs []string `protobuf:"bytes,2,rep,name=userIDs,proto3" json:"userIDs"` } func (x *GetAllUserIDResp) Reset() { *x = GetAllUserIDResp{} if protoimpl.UnsafeEnabled { mi := &file_user_user_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetAllUserIDResp) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetAllUserIDResp) ProtoMessage() {} func (x *GetAllUserIDResp) ProtoReflect() protoreflect.Message { mi := &file_user_user_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use GetAllUserIDResp.ProtoReflect.Descriptor instead. func (*GetAllUserIDResp) Descriptor() ([]byte, []int) { return file_user_user_proto_rawDescGZIP(), []int{1} } func (x *GetAllUserIDResp) GetTotal() int32 { if x != nil { return x.Total } return 0 } func (x *GetAllUserIDResp) GetUserIDs() []string { if x != nil { return x.UserIDs } return nil } type AccountCheckReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields CheckUserIDs []string `protobuf:"bytes,1,rep,name=checkUserIDs,proto3" json:"checkUserIDs"` } func (x *AccountCheckReq) Reset() { *x = AccountCheckReq{} if protoimpl.UnsafeEnabled { mi := &file_user_user_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AccountCheckReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*AccountCheckReq) ProtoMessage() {} func (x *AccountCheckReq) ProtoReflect() protoreflect.Message { mi := &file_user_user_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use AccountCheckReq.ProtoReflect.Descriptor instead. func (*AccountCheckReq) Descriptor() ([]byte, []int) { return file_user_user_proto_rawDescGZIP(), []int{2} } func (x *AccountCheckReq) GetCheckUserIDs() []string { if x != nil { return x.CheckUserIDs } return nil } type AccountCheckResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Results []*AccountCheckRespSingleUserStatus `protobuf:"bytes,1,rep,name=results,proto3" json:"results"` } func (x *AccountCheckResp) Reset() { *x = AccountCheckResp{} if protoimpl.UnsafeEnabled { mi := &file_user_user_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AccountCheckResp) String() string { return protoimpl.X.MessageStringOf(x) } func (*AccountCheckResp) ProtoMessage() {} func (x *AccountCheckResp) ProtoReflect() protoreflect.Message { mi := &file_user_user_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use AccountCheckResp.ProtoReflect.Descriptor instead. func (*AccountCheckResp) Descriptor() ([]byte, []int) { return file_user_user_proto_rawDescGZIP(), []int{3} } func (x *AccountCheckResp) GetResults() []*AccountCheckRespSingleUserStatus { if x != nil { return x.Results } return nil } type GetDesignateUsersReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields UserIDs []string `protobuf:"bytes,1,rep,name=userIDs,proto3" json:"userIDs"` } func (x *GetDesignateUsersReq) Reset() { *x = GetDesignateUsersReq{} if protoimpl.UnsafeEnabled { mi := &file_user_user_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetDesignateUsersReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetDesignateUsersReq) ProtoMessage() {} func (x *GetDesignateUsersReq) ProtoReflect() protoreflect.Message { mi := &file_user_user_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use GetDesignateUsersReq.ProtoReflect.Descriptor instead. func (*GetDesignateUsersReq) Descriptor() ([]byte, []int) { return file_user_user_proto_rawDescGZIP(), []int{4} } func (x *GetDesignateUsersReq) GetUserIDs() []string { if x != nil { return x.UserIDs } return nil } type GetDesignateUsersResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields UsersInfo []*sdkws.UserInfo `protobuf:"bytes,1,rep,name=usersInfo,proto3" json:"usersInfo"` } func (x *GetDesignateUsersResp) Reset() { *x = GetDesignateUsersResp{} if protoimpl.UnsafeEnabled { mi := &file_user_user_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetDesignateUsersResp) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetDesignateUsersResp) ProtoMessage() {} func (x *GetDesignateUsersResp) ProtoReflect() protoreflect.Message { mi := &file_user_user_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use GetDesignateUsersResp.ProtoReflect.Descriptor instead. func (*GetDesignateUsersResp) Descriptor() ([]byte, []int) { return file_user_user_proto_rawDescGZIP(), []int{5} } func (x *GetDesignateUsersResp) GetUsersInfo() []*sdkws.UserInfo { if x != nil { return x.UsersInfo } return nil } type UpdateUserInfoReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields UserInfo *sdkws.UserInfo `protobuf:"bytes,1,opt,name=userInfo,proto3" json:"userInfo"` } func (x *UpdateUserInfoReq) Reset() { *x = UpdateUserInfoReq{} if protoimpl.UnsafeEnabled { mi := &file_user_user_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpdateUserInfoReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpdateUserInfoReq) ProtoMessage() {} func (x *UpdateUserInfoReq) ProtoReflect() protoreflect.Message { mi := &file_user_user_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use UpdateUserInfoReq.ProtoReflect.Descriptor instead. func (*UpdateUserInfoReq) Descriptor() ([]byte, []int) { return file_user_user_proto_rawDescGZIP(), []int{6} } func (x *UpdateUserInfoReq) GetUserInfo() *sdkws.UserInfo { if x != nil { return x.UserInfo } return nil } type UpdateUserInfoResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *UpdateUserInfoResp) Reset() { *x = UpdateUserInfoResp{} if protoimpl.UnsafeEnabled { mi := &file_user_user_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpdateUserInfoResp) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpdateUserInfoResp) ProtoMessage() {} func (x *UpdateUserInfoResp) ProtoReflect() protoreflect.Message { mi := &file_user_user_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use UpdateUserInfoResp.ProtoReflect.Descriptor instead. func (*UpdateUserInfoResp) Descriptor() ([]byte, []int) { return file_user_user_proto_rawDescGZIP(), []int{7} } type SetGlobalRecvMessageOptReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields UserID string `protobuf:"bytes,1,opt,name=userID,proto3" json:"userID"` GlobalRecvMsgOpt int32 `protobuf:"varint,3,opt,name=globalRecvMsgOpt,proto3" json:"globalRecvMsgOpt"` } func (x *SetGlobalRecvMessageOptReq) Reset() { *x = SetGlobalRecvMessageOptReq{} if protoimpl.UnsafeEnabled { mi := &file_user_user_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SetGlobalRecvMessageOptReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*SetGlobalRecvMessageOptReq) ProtoMessage() {} func (x *SetGlobalRecvMessageOptReq) ProtoReflect() protoreflect.Message { mi := &file_user_user_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SetGlobalRecvMessageOptReq.ProtoReflect.Descriptor instead. func (*SetGlobalRecvMessageOptReq) Descriptor() ([]byte, []int) { return file_user_user_proto_rawDescGZIP(), []int{8} } func (x *SetGlobalRecvMessageOptReq) GetUserID() string { if x != nil { return x.UserID } return "" } func (x *SetGlobalRecvMessageOptReq) GetGlobalRecvMsgOpt() int32 { if x != nil { return x.GlobalRecvMsgOpt } return 0 } type SetGlobalRecvMessageOptResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *SetGlobalRecvMessageOptResp) Reset() { *x = SetGlobalRecvMessageOptResp{} if protoimpl.UnsafeEnabled { mi := &file_user_user_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SetGlobalRecvMessageOptResp) String() string { return protoimpl.X.MessageStringOf(x) } func (*SetGlobalRecvMessageOptResp) ProtoMessage() {} func (x *SetGlobalRecvMessageOptResp) ProtoReflect() protoreflect.Message { mi := &file_user_user_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 SetGlobalRecvMessageOptResp.ProtoReflect.Descriptor instead. func (*SetGlobalRecvMessageOptResp) Descriptor() ([]byte, []int) { return file_user_user_proto_rawDescGZIP(), []int{9} } type SetConversationReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Conversation *conversation.Conversation `protobuf:"bytes,1,opt,name=conversation,proto3" json:"conversation"` NotificationType int32 `protobuf:"varint,2,opt,name=notificationType,proto3" json:"notificationType"` OperationID string `protobuf:"bytes,3,opt,name=operationID,proto3" json:"operationID"` } func (x *SetConversationReq) Reset() { *x = SetConversationReq{} if protoimpl.UnsafeEnabled { mi := &file_user_user_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SetConversationReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*SetConversationReq) ProtoMessage() {} func (x *SetConversationReq) ProtoReflect() protoreflect.Message { mi := &file_user_user_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 SetConversationReq.ProtoReflect.Descriptor instead. func (*SetConversationReq) Descriptor() ([]byte, []int) { return file_user_user_proto_rawDescGZIP(), []int{10} } func (x *SetConversationReq) GetConversation() *conversation.Conversation { if x != nil { return x.Conversation } return nil } func (x *SetConversationReq) GetNotificationType() int32 { if x != nil { return x.NotificationType } return 0 } func (x *SetConversationReq) GetOperationID() string { if x != nil { return x.OperationID } return "" } type SetConversationResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *SetConversationResp) Reset() { *x = SetConversationResp{} if protoimpl.UnsafeEnabled { mi := &file_user_user_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SetConversationResp) String() string { return protoimpl.X.MessageStringOf(x) } func (*SetConversationResp) ProtoMessage() {} func (x *SetConversationResp) ProtoReflect() protoreflect.Message { mi := &file_user_user_proto_msgTypes[11] 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 SetConversationResp.ProtoReflect.Descriptor instead. func (*SetConversationResp) Descriptor() ([]byte, []int) { return file_user_user_proto_rawDescGZIP(), []int{11} } type SetRecvMsgOptReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields OwnerUserID string `protobuf:"bytes,1,opt,name=ownerUserID,proto3" json:"ownerUserID"` ConversationID string `protobuf:"bytes,2,opt,name=conversationID,proto3" json:"conversationID"` RecvMsgOpt int32 `protobuf:"varint,3,opt,name=recvMsgOpt,proto3" json:"recvMsgOpt"` NotificationType int32 `protobuf:"varint,4,opt,name=notificationType,proto3" json:"notificationType"` OperationID string `protobuf:"bytes,5,opt,name=operationID,proto3" json:"operationID"` } func (x *SetRecvMsgOptReq) Reset() { *x = SetRecvMsgOptReq{} if protoimpl.UnsafeEnabled { mi := &file_user_user_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SetRecvMsgOptReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*SetRecvMsgOptReq) ProtoMessage() {} func (x *SetRecvMsgOptReq) ProtoReflect() protoreflect.Message { mi := &file_user_user_proto_msgTypes[12] 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 SetRecvMsgOptReq.ProtoReflect.Descriptor instead. func (*SetRecvMsgOptReq) Descriptor() ([]byte, []int) { return file_user_user_proto_rawDescGZIP(), []int{12} } func (x *SetRecvMsgOptReq) GetOwnerUserID() string { if x != nil { return x.OwnerUserID } return "" } func (x *SetRecvMsgOptReq) GetConversationID() string { if x != nil { return x.ConversationID } return "" } func (x *SetRecvMsgOptReq) GetRecvMsgOpt() int32 { if x != nil { return x.RecvMsgOpt } return 0 } func (x *SetRecvMsgOptReq) GetNotificationType() int32 { if x != nil { return x.NotificationType } return 0 } func (x *SetRecvMsgOptReq) GetOperationID() string { if x != nil { return x.OperationID } return "" } type SetRecvMsgOptResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *SetRecvMsgOptResp) Reset() { *x = SetRecvMsgOptResp{} if protoimpl.UnsafeEnabled { mi := &file_user_user_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SetRecvMsgOptResp) String() string { return protoimpl.X.MessageStringOf(x) } func (*SetRecvMsgOptResp) ProtoMessage() {} func (x *SetRecvMsgOptResp) ProtoReflect() protoreflect.Message { mi := &file_user_user_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SetRecvMsgOptResp.ProtoReflect.Descriptor instead. func (*SetRecvMsgOptResp) Descriptor() ([]byte, []int) { return file_user_user_proto_rawDescGZIP(), []int{13} } type GetConversationReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ConversationID string `protobuf:"bytes,1,opt,name=conversationID,proto3" json:"conversationID"` OwnerUserID string `protobuf:"bytes,2,opt,name=ownerUserID,proto3" json:"ownerUserID"` OperationID string `protobuf:"bytes,3,opt,name=operationID,proto3" json:"operationID"` } func (x *GetConversationReq) Reset() { *x = GetConversationReq{} if protoimpl.UnsafeEnabled { mi := &file_user_user_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetConversationReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetConversationReq) ProtoMessage() {} func (x *GetConversationReq) ProtoReflect() protoreflect.Message { mi := &file_user_user_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use GetConversationReq.ProtoReflect.Descriptor instead. func (*GetConversationReq) Descriptor() ([]byte, []int) { return file_user_user_proto_rawDescGZIP(), []int{14} } func (x *GetConversationReq) GetConversationID() string { if x != nil { return x.ConversationID } return "" } func (x *GetConversationReq) GetOwnerUserID() string { if x != nil { return x.OwnerUserID } return "" } func (x *GetConversationReq) GetOperationID() string { if x != nil { return x.OperationID } return "" } type GetConversationResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Conversation *conversation.Conversation `protobuf:"bytes,2,opt,name=conversation,proto3" json:"conversation"` } func (x *GetConversationResp) Reset() { *x = GetConversationResp{} if protoimpl.UnsafeEnabled { mi := &file_user_user_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetConversationResp) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetConversationResp) ProtoMessage() {} func (x *GetConversationResp) ProtoReflect() protoreflect.Message { mi := &file_user_user_proto_msgTypes[15] 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 GetConversationResp.ProtoReflect.Descriptor instead. func (*GetConversationResp) Descriptor() ([]byte, []int) { return file_user_user_proto_rawDescGZIP(), []int{15} } func (x *GetConversationResp) GetConversation() *conversation.Conversation { if x != nil { return x.Conversation } return nil } type GetConversationsReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields OwnerUserID string `protobuf:"bytes,1,opt,name=ownerUserID,proto3" json:"ownerUserID"` ConversationIDs []string `protobuf:"bytes,2,rep,name=conversationIDs,proto3" json:"conversationIDs"` OperationID string `protobuf:"bytes,3,opt,name=operationID,proto3" json:"operationID"` } func (x *GetConversationsReq) Reset() { *x = GetConversationsReq{} if protoimpl.UnsafeEnabled { mi := &file_user_user_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetConversationsReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetConversationsReq) ProtoMessage() {} func (x *GetConversationsReq) ProtoReflect() protoreflect.Message { mi := &file_user_user_proto_msgTypes[16] 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 GetConversationsReq.ProtoReflect.Descriptor instead. func (*GetConversationsReq) Descriptor() ([]byte, []int) { return file_user_user_proto_rawDescGZIP(), []int{16} } func (x *GetConversationsReq) GetOwnerUserID() string { if x != nil { return x.OwnerUserID } return "" } func (x *GetConversationsReq) GetConversationIDs() []string { if x != nil { return x.ConversationIDs } return nil } func (x *GetConversationsReq) GetOperationID() string { if x != nil { return x.OperationID } return "" } type GetConversationsResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Conversations []*conversation.Conversation `protobuf:"bytes,2,rep,name=conversations,proto3" json:"conversations"` } func (x *GetConversationsResp) Reset() { *x = GetConversationsResp{} if protoimpl.UnsafeEnabled { mi := &file_user_user_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetConversationsResp) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetConversationsResp) ProtoMessage() {} func (x *GetConversationsResp) ProtoReflect() protoreflect.Message { mi := &file_user_user_proto_msgTypes[17] 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 GetConversationsResp.ProtoReflect.Descriptor instead. func (*GetConversationsResp) Descriptor() ([]byte, []int) { return file_user_user_proto_rawDescGZIP(), []int{17} } func (x *GetConversationsResp) GetConversations() []*conversation.Conversation { if x != nil { return x.Conversations } return nil } type GetAllConversationsReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields OwnerUserID string `protobuf:"bytes,1,opt,name=ownerUserID,proto3" json:"ownerUserID"` OperationID string `protobuf:"bytes,2,opt,name=operationID,proto3" json:"operationID"` } func (x *GetAllConversationsReq) Reset() { *x = GetAllConversationsReq{} if protoimpl.UnsafeEnabled { mi := &file_user_user_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetAllConversationsReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetAllConversationsReq) ProtoMessage() {} func (x *GetAllConversationsReq) ProtoReflect() protoreflect.Message { mi := &file_user_user_proto_msgTypes[18] 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 GetAllConversationsReq.ProtoReflect.Descriptor instead. func (*GetAllConversationsReq) Descriptor() ([]byte, []int) { return file_user_user_proto_rawDescGZIP(), []int{18} } func (x *GetAllConversationsReq) GetOwnerUserID() string { if x != nil { return x.OwnerUserID } return "" } func (x *GetAllConversationsReq) GetOperationID() string { if x != nil { return x.OperationID } return "" } type GetAllConversationsResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Conversations []*conversation.Conversation `protobuf:"bytes,2,rep,name=conversations,proto3" json:"conversations"` } func (x *GetAllConversationsResp) Reset() { *x = GetAllConversationsResp{} if protoimpl.UnsafeEnabled { mi := &file_user_user_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetAllConversationsResp) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetAllConversationsResp) ProtoMessage() {} func (x *GetAllConversationsResp) ProtoReflect() protoreflect.Message { mi := &file_user_user_proto_msgTypes[19] 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 GetAllConversationsResp.ProtoReflect.Descriptor instead. func (*GetAllConversationsResp) Descriptor() ([]byte, []int) { return file_user_user_proto_rawDescGZIP(), []int{19} } func (x *GetAllConversationsResp) GetConversations() []*conversation.Conversation { if x != nil { return x.Conversations } return nil } type BatchSetConversationsReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Conversations []*conversation.Conversation `protobuf:"bytes,1,rep,name=conversations,proto3" json:"conversations"` OwnerUserID string `protobuf:"bytes,2,opt,name=OwnerUserID,proto3" json:"OwnerUserID"` NotificationType int32 `protobuf:"varint,3,opt,name=notificationType,proto3" json:"notificationType"` OperationID string `protobuf:"bytes,4,opt,name=OperationID,proto3" json:"OperationID"` } func (x *BatchSetConversationsReq) Reset() { *x = BatchSetConversationsReq{} if protoimpl.UnsafeEnabled { mi := &file_user_user_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *BatchSetConversationsReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*BatchSetConversationsReq) ProtoMessage() {} func (x *BatchSetConversationsReq) ProtoReflect() protoreflect.Message { mi := &file_user_user_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use BatchSetConversationsReq.ProtoReflect.Descriptor instead. func (*BatchSetConversationsReq) Descriptor() ([]byte, []int) { return file_user_user_proto_rawDescGZIP(), []int{20} } func (x *BatchSetConversationsReq) GetConversations() []*conversation.Conversation { if x != nil { return x.Conversations } return nil } func (x *BatchSetConversationsReq) GetOwnerUserID() string { if x != nil { return x.OwnerUserID } return "" } func (x *BatchSetConversationsReq) GetNotificationType() int32 { if x != nil { return x.NotificationType } return 0 } func (x *BatchSetConversationsReq) GetOperationID() string { if x != nil { return x.OperationID } return "" } type BatchSetConversationsResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Success []string `protobuf:"bytes,2,rep,name=Success,proto3" json:"Success"` Failed []string `protobuf:"bytes,3,rep,name=Failed,proto3" json:"Failed"` } func (x *BatchSetConversationsResp) Reset() { *x = BatchSetConversationsResp{} if protoimpl.UnsafeEnabled { mi := &file_user_user_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *BatchSetConversationsResp) String() string { return protoimpl.X.MessageStringOf(x) } func (*BatchSetConversationsResp) ProtoMessage() {} func (x *BatchSetConversationsResp) ProtoReflect() protoreflect.Message { mi := &file_user_user_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use BatchSetConversationsResp.ProtoReflect.Descriptor instead. func (*BatchSetConversationsResp) Descriptor() ([]byte, []int) { return file_user_user_proto_rawDescGZIP(), []int{21} } func (x *BatchSetConversationsResp) GetSuccess() []string { if x != nil { return x.Success } return nil } func (x *BatchSetConversationsResp) GetFailed() []string { if x != nil { return x.Failed } return nil } type GetPaginationUsersReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Pagination *sdkws.RequestPagination `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination"` } func (x *GetPaginationUsersReq) Reset() { *x = GetPaginationUsersReq{} if protoimpl.UnsafeEnabled { mi := &file_user_user_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetPaginationUsersReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetPaginationUsersReq) ProtoMessage() {} func (x *GetPaginationUsersReq) ProtoReflect() protoreflect.Message { mi := &file_user_user_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use GetPaginationUsersReq.ProtoReflect.Descriptor instead. func (*GetPaginationUsersReq) Descriptor() ([]byte, []int) { return file_user_user_proto_rawDescGZIP(), []int{22} } func (x *GetPaginationUsersReq) GetPagination() *sdkws.RequestPagination { if x != nil { return x.Pagination } return nil } type GetPaginationUsersResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Total int32 `protobuf:"varint,1,opt,name=total,proto3" json:"total"` Users []*sdkws.UserInfo `protobuf:"bytes,2,rep,name=users,proto3" json:"users"` } func (x *GetPaginationUsersResp) Reset() { *x = GetPaginationUsersResp{} if protoimpl.UnsafeEnabled { mi := &file_user_user_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetPaginationUsersResp) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetPaginationUsersResp) ProtoMessage() {} func (x *GetPaginationUsersResp) ProtoReflect() protoreflect.Message { mi := &file_user_user_proto_msgTypes[23] 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 GetPaginationUsersResp.ProtoReflect.Descriptor instead. func (*GetPaginationUsersResp) Descriptor() ([]byte, []int) { return file_user_user_proto_rawDescGZIP(), []int{23} } func (x *GetPaginationUsersResp) GetTotal() int32 { if x != nil { return x.Total } return 0 } func (x *GetPaginationUsersResp) GetUsers() []*sdkws.UserInfo { if x != nil { return x.Users } return nil } type UserRegisterReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Secret string `protobuf:"bytes,1,opt,name=secret,proto3" json:"secret"` Users []*sdkws.UserInfo `protobuf:"bytes,2,rep,name=users,proto3" json:"users"` } func (x *UserRegisterReq) Reset() { *x = UserRegisterReq{} if protoimpl.UnsafeEnabled { mi := &file_user_user_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UserRegisterReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*UserRegisterReq) ProtoMessage() {} func (x *UserRegisterReq) ProtoReflect() protoreflect.Message { mi := &file_user_user_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use UserRegisterReq.ProtoReflect.Descriptor instead. func (*UserRegisterReq) Descriptor() ([]byte, []int) { return file_user_user_proto_rawDescGZIP(), []int{24} } func (x *UserRegisterReq) GetSecret() string { if x != nil { return x.Secret } return "" } func (x *UserRegisterReq) GetUsers() []*sdkws.UserInfo { if x != nil { return x.Users } return nil } type UserRegisterResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *UserRegisterResp) Reset() { *x = UserRegisterResp{} if protoimpl.UnsafeEnabled { mi := &file_user_user_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UserRegisterResp) String() string { return protoimpl.X.MessageStringOf(x) } func (*UserRegisterResp) ProtoMessage() {} func (x *UserRegisterResp) ProtoReflect() protoreflect.Message { mi := &file_user_user_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use UserRegisterResp.ProtoReflect.Descriptor instead. func (*UserRegisterResp) Descriptor() ([]byte, []int) { return file_user_user_proto_rawDescGZIP(), []int{25} } type GetGlobalRecvMessageOptReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields UserID string `protobuf:"bytes,1,opt,name=userID,proto3" json:"userID"` } func (x *GetGlobalRecvMessageOptReq) Reset() { *x = GetGlobalRecvMessageOptReq{} if protoimpl.UnsafeEnabled { mi := &file_user_user_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetGlobalRecvMessageOptReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetGlobalRecvMessageOptReq) ProtoMessage() {} func (x *GetGlobalRecvMessageOptReq) ProtoReflect() protoreflect.Message { mi := &file_user_user_proto_msgTypes[26] 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 GetGlobalRecvMessageOptReq.ProtoReflect.Descriptor instead. func (*GetGlobalRecvMessageOptReq) Descriptor() ([]byte, []int) { return file_user_user_proto_rawDescGZIP(), []int{26} } func (x *GetGlobalRecvMessageOptReq) GetUserID() string { if x != nil { return x.UserID } return "" } type GetGlobalRecvMessageOptResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields GlobalRecvMsgOpt int32 `protobuf:"varint,1,opt,name=globalRecvMsgOpt,proto3" json:"globalRecvMsgOpt"` } func (x *GetGlobalRecvMessageOptResp) Reset() { *x = GetGlobalRecvMessageOptResp{} if protoimpl.UnsafeEnabled { mi := &file_user_user_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetGlobalRecvMessageOptResp) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetGlobalRecvMessageOptResp) ProtoMessage() {} func (x *GetGlobalRecvMessageOptResp) ProtoReflect() protoreflect.Message { mi := &file_user_user_proto_msgTypes[27] 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 GetGlobalRecvMessageOptResp.ProtoReflect.Descriptor instead. func (*GetGlobalRecvMessageOptResp) Descriptor() ([]byte, []int) { return file_user_user_proto_rawDescGZIP(), []int{27} } func (x *GetGlobalRecvMessageOptResp) GetGlobalRecvMsgOpt() int32 { if x != nil { return x.GlobalRecvMsgOpt } return 0 } type UserRegisterCountReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Start int64 `protobuf:"varint,1,opt,name=start,proto3" json:"start"` End int64 `protobuf:"varint,2,opt,name=end,proto3" json:"end"` } func (x *UserRegisterCountReq) Reset() { *x = UserRegisterCountReq{} if protoimpl.UnsafeEnabled { mi := &file_user_user_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UserRegisterCountReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*UserRegisterCountReq) ProtoMessage() {} func (x *UserRegisterCountReq) ProtoReflect() protoreflect.Message { mi := &file_user_user_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use UserRegisterCountReq.ProtoReflect.Descriptor instead. func (*UserRegisterCountReq) Descriptor() ([]byte, []int) { return file_user_user_proto_rawDescGZIP(), []int{28} } func (x *UserRegisterCountReq) GetStart() int64 { if x != nil { return x.Start } return 0 } func (x *UserRegisterCountReq) GetEnd() int64 { if x != nil { return x.End } return 0 } type UserRegisterCountResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Total int64 `protobuf:"varint,1,opt,name=total,proto3" json:"total"` Count map[string]int64 `protobuf:"bytes,2,rep,name=count,proto3" json:"count" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` } func (x *UserRegisterCountResp) Reset() { *x = UserRegisterCountResp{} if protoimpl.UnsafeEnabled { mi := &file_user_user_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UserRegisterCountResp) String() string { return protoimpl.X.MessageStringOf(x) } func (*UserRegisterCountResp) ProtoMessage() {} func (x *UserRegisterCountResp) ProtoReflect() protoreflect.Message { mi := &file_user_user_proto_msgTypes[29] 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 UserRegisterCountResp.ProtoReflect.Descriptor instead. func (*UserRegisterCountResp) Descriptor() ([]byte, []int) { return file_user_user_proto_rawDescGZIP(), []int{29} } func (x *UserRegisterCountResp) GetTotal() int64 { if x != nil { return x.Total } return 0 } func (x *UserRegisterCountResp) GetCount() map[string]int64 { if x != nil { return x.Count } return nil } type AccountCheckRespSingleUserStatus struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields UserID string `protobuf:"bytes,1,opt,name=userID,proto3" json:"userID"` AccountStatus string `protobuf:"bytes,2,opt,name=accountStatus,proto3" json:"accountStatus"` } func (x *AccountCheckRespSingleUserStatus) Reset() { *x = AccountCheckRespSingleUserStatus{} if protoimpl.UnsafeEnabled { mi := &file_user_user_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AccountCheckRespSingleUserStatus) String() string { return protoimpl.X.MessageStringOf(x) } func (*AccountCheckRespSingleUserStatus) ProtoMessage() {} func (x *AccountCheckRespSingleUserStatus) ProtoReflect() protoreflect.Message { mi := &file_user_user_proto_msgTypes[30] 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 AccountCheckRespSingleUserStatus.ProtoReflect.Descriptor instead. func (*AccountCheckRespSingleUserStatus) Descriptor() ([]byte, []int) { return file_user_user_proto_rawDescGZIP(), []int{3, 0} } func (x *AccountCheckRespSingleUserStatus) GetUserID() string { if x != nil { return x.UserID } return "" } func (x *AccountCheckRespSingleUserStatus) GetAccountStatus() string { if x != nil { return x.AccountStatus } return "" } var File_user_user_proto protoreflect.FileDescriptor var file_user_user_proto_rawDesc = []byte{ 0x0a, 0x0f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x1a, 0x11, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2f, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x58, 0x0a, 0x0f, 0x67, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x52, 0x65, 0x71, 0x12, 0x45, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x42, 0x0a, 0x10, 0x67, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x52, 0x65, 0x73, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x73, 0x22, 0x35, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x73, 0x22, 0xb4, 0x01, 0x0a, 0x10, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4e, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x55, 0x73, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x1a, 0x50, 0x0a, 0x10, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x55, 0x73, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x30, 0x0a, 0x14, 0x67, 0x65, 0x74, 0x44, 0x65, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x73, 0x22, 0x53, 0x0a, 0x15, 0x67, 0x65, 0x74, 0x44, 0x65, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3a, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x4d, 0x0a, 0x11, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x12, 0x38, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x14, 0x0a, 0x12, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x22, 0x60, 0x0a, 0x1a, 0x73, 0x65, 0x74, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x52, 0x65, 0x63, 0x76, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4f, 0x70, 0x74, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x2a, 0x0a, 0x10, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x52, 0x65, 0x63, 0x76, 0x4d, 0x73, 0x67, 0x4f, 0x70, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x52, 0x65, 0x63, 0x76, 0x4d, 0x73, 0x67, 0x4f, 0x70, 0x74, 0x22, 0x1d, 0x0a, 0x1b, 0x73, 0x65, 0x74, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x52, 0x65, 0x63, 0x76, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4f, 0x70, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0xaf, 0x01, 0x0a, 0x12, 0x73, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x4b, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x10, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x22, 0x15, 0x0a, 0x13, 0x73, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, 0xca, 0x01, 0x0a, 0x10, 0x73, 0x65, 0x74, 0x52, 0x65, 0x63, 0x76, 0x4d, 0x73, 0x67, 0x4f, 0x70, 0x74, 0x52, 0x65, 0x71, 0x12, 0x20, 0x0a, 0x0b, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x63, 0x76, 0x4d, 0x73, 0x67, 0x4f, 0x70, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x72, 0x65, 0x63, 0x76, 0x4d, 0x73, 0x67, 0x4f, 0x70, 0x74, 0x12, 0x2a, 0x0a, 0x10, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x22, 0x13, 0x0a, 0x11, 0x73, 0x65, 0x74, 0x52, 0x65, 0x63, 0x76, 0x4d, 0x73, 0x67, 0x4f, 0x70, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x80, 0x01, 0x0a, 0x12, 0x67, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x22, 0x62, 0x0a, 0x13, 0x67, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4b, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x83, 0x01, 0x0a, 0x13, 0x67, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x12, 0x20, 0x0a, 0x0b, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x28, 0x0a, 0x0f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x22, 0x65, 0x0a, 0x14, 0x67, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4d, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x5c, 0x0a, 0x16, 0x67, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x12, 0x20, 0x0a, 0x0b, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x22, 0x68, 0x0a, 0x17, 0x67, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4d, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xd9, 0x01, 0x0a, 0x18, 0x62, 0x61, 0x74, 0x63, 0x68, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x12, 0x4d, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x2a, 0x0a, 0x10, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x22, 0x4d, 0x0a, 0x19, 0x62, 0x61, 0x74, 0x63, 0x68, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x22, 0x5e, 0x0a, 0x15, 0x67, 0x65, 0x74, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x12, 0x45, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x62, 0x0a, 0x16, 0x67, 0x65, 0x74, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x32, 0x0a, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x22, 0x5d, 0x0a, 0x0f, 0x75, 0x73, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x32, 0x0a, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x22, 0x12, 0x0a, 0x10, 0x75, 0x73, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x22, 0x34, 0x0a, 0x1a, 0x67, 0x65, 0x74, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x52, 0x65, 0x63, 0x76, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4f, 0x70, 0x74, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x22, 0x49, 0x0a, 0x1b, 0x67, 0x65, 0x74, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x52, 0x65, 0x63, 0x76, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4f, 0x70, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2a, 0x0a, 0x10, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x52, 0x65, 0x63, 0x76, 0x4d, 0x73, 0x67, 0x4f, 0x70, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x52, 0x65, 0x63, 0x76, 0x4d, 0x73, 0x67, 0x4f, 0x70, 0x74, 0x22, 0x3e, 0x0a, 0x14, 0x75, 0x73, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x65, 0x6e, 0x64, 0x22, 0xb2, 0x01, 0x0a, 0x15, 0x75, 0x73, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x49, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x1a, 0x38, 0x0a, 0x0a, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x32, 0x9f, 0x07, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x66, 0x0a, 0x11, 0x67, 0x65, 0x74, 0x44, 0x65, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x73, 0x12, 0x27, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x67, 0x65, 0x74, 0x44, 0x65, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x28, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x67, 0x65, 0x74, 0x44, 0x65, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x5d, 0x0a, 0x0e, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x24, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x1a, 0x25, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x78, 0x0a, 0x17, 0x73, 0x65, 0x74, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x52, 0x65, 0x63, 0x76, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4f, 0x70, 0x74, 0x12, 0x2d, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x73, 0x65, 0x74, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x52, 0x65, 0x63, 0x76, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4f, 0x70, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x2e, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x73, 0x65, 0x74, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x52, 0x65, 0x63, 0x76, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4f, 0x70, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x78, 0x0a, 0x17, 0x67, 0x65, 0x74, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x52, 0x65, 0x63, 0x76, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4f, 0x70, 0x74, 0x12, 0x2d, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x67, 0x65, 0x74, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x52, 0x65, 0x63, 0x76, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4f, 0x70, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x2e, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x67, 0x65, 0x74, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x52, 0x65, 0x63, 0x76, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4f, 0x70, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x57, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x22, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x1a, 0x23, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x12, 0x69, 0x0a, 0x12, 0x67, 0x65, 0x74, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x73, 0x65, 0x72, 0x73, 0x12, 0x28, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x67, 0x65, 0x74, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x29, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x67, 0x65, 0x74, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x57, 0x0a, 0x0c, 0x75, 0x73, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x22, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x23, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x57, 0x0a, 0x0c, 0x67, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x22, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x67, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x52, 0x65, 0x71, 0x1a, 0x23, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x67, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x52, 0x65, 0x73, 0x70, 0x12, 0x66, 0x0a, 0x11, 0x75, 0x73, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x27, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x28, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x42, 0x34, 0x5a, 0x32, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x44, 0x4b, 0x2f, 0x4f, 0x70, 0x65, 0x6e, 0x2d, 0x49, 0x4d, 0x2d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_user_user_proto_rawDescOnce sync.Once file_user_user_proto_rawDescData = file_user_user_proto_rawDesc ) func file_user_user_proto_rawDescGZIP() []byte { file_user_user_proto_rawDescOnce.Do(func() { file_user_user_proto_rawDescData = protoimpl.X.CompressGZIP(file_user_user_proto_rawDescData) }) return file_user_user_proto_rawDescData } var file_user_user_proto_msgTypes = make([]protoimpl.MessageInfo, 32) var file_user_user_proto_goTypes = []interface{}{ (*GetAllUserIDReq)(nil), // 0: OpenIMServer.user.getAllUserIDReq (*GetAllUserIDResp)(nil), // 1: OpenIMServer.user.getAllUserIDResp (*AccountCheckReq)(nil), // 2: OpenIMServer.user.accountCheckReq (*AccountCheckResp)(nil), // 3: OpenIMServer.user.accountCheckResp (*GetDesignateUsersReq)(nil), // 4: OpenIMServer.user.getDesignateUsersReq (*GetDesignateUsersResp)(nil), // 5: OpenIMServer.user.getDesignateUsersResp (*UpdateUserInfoReq)(nil), // 6: OpenIMServer.user.updateUserInfoReq (*UpdateUserInfoResp)(nil), // 7: OpenIMServer.user.updateUserInfoResp (*SetGlobalRecvMessageOptReq)(nil), // 8: OpenIMServer.user.setGlobalRecvMessageOptReq (*SetGlobalRecvMessageOptResp)(nil), // 9: OpenIMServer.user.setGlobalRecvMessageOptResp (*SetConversationReq)(nil), // 10: OpenIMServer.user.setConversationReq (*SetConversationResp)(nil), // 11: OpenIMServer.user.setConversationResp (*SetRecvMsgOptReq)(nil), // 12: OpenIMServer.user.setRecvMsgOptReq (*SetRecvMsgOptResp)(nil), // 13: OpenIMServer.user.setRecvMsgOptResp (*GetConversationReq)(nil), // 14: OpenIMServer.user.getConversationReq (*GetConversationResp)(nil), // 15: OpenIMServer.user.getConversationResp (*GetConversationsReq)(nil), // 16: OpenIMServer.user.getConversationsReq (*GetConversationsResp)(nil), // 17: OpenIMServer.user.getConversationsResp (*GetAllConversationsReq)(nil), // 18: OpenIMServer.user.getAllConversationsReq (*GetAllConversationsResp)(nil), // 19: OpenIMServer.user.getAllConversationsResp (*BatchSetConversationsReq)(nil), // 20: OpenIMServer.user.batchSetConversationsReq (*BatchSetConversationsResp)(nil), // 21: OpenIMServer.user.batchSetConversationsResp (*GetPaginationUsersReq)(nil), // 22: OpenIMServer.user.getPaginationUsersReq (*GetPaginationUsersResp)(nil), // 23: OpenIMServer.user.getPaginationUsersResp (*UserRegisterReq)(nil), // 24: OpenIMServer.user.userRegisterReq (*UserRegisterResp)(nil), // 25: OpenIMServer.user.userRegisterResp (*GetGlobalRecvMessageOptReq)(nil), // 26: OpenIMServer.user.getGlobalRecvMessageOptReq (*GetGlobalRecvMessageOptResp)(nil), // 27: OpenIMServer.user.getGlobalRecvMessageOptResp (*UserRegisterCountReq)(nil), // 28: OpenIMServer.user.userRegisterCountReq (*UserRegisterCountResp)(nil), // 29: OpenIMServer.user.userRegisterCountResp (*AccountCheckRespSingleUserStatus)(nil), // 30: OpenIMServer.user.accountCheckResp.singleUserStatus nil, // 31: OpenIMServer.user.userRegisterCountResp.CountEntry (*sdkws.RequestPagination)(nil), // 32: OpenIMServer.sdkws.RequestPagination (*sdkws.UserInfo)(nil), // 33: OpenIMServer.sdkws.UserInfo (*conversation.Conversation)(nil), // 34: OpenIMServer.conversation.Conversation } var file_user_user_proto_depIdxs = []int32{ 32, // 0: OpenIMServer.user.getAllUserIDReq.pagination:type_name -> OpenIMServer.sdkws.RequestPagination 30, // 1: OpenIMServer.user.accountCheckResp.results:type_name -> OpenIMServer.user.accountCheckResp.singleUserStatus 33, // 2: OpenIMServer.user.getDesignateUsersResp.usersInfo:type_name -> OpenIMServer.sdkws.UserInfo 33, // 3: OpenIMServer.user.updateUserInfoReq.userInfo:type_name -> OpenIMServer.sdkws.UserInfo 34, // 4: OpenIMServer.user.setConversationReq.conversation:type_name -> OpenIMServer.conversation.Conversation 34, // 5: OpenIMServer.user.getConversationResp.conversation:type_name -> OpenIMServer.conversation.Conversation 34, // 6: OpenIMServer.user.getConversationsResp.conversations:type_name -> OpenIMServer.conversation.Conversation 34, // 7: OpenIMServer.user.getAllConversationsResp.conversations:type_name -> OpenIMServer.conversation.Conversation 34, // 8: OpenIMServer.user.batchSetConversationsReq.conversations:type_name -> OpenIMServer.conversation.Conversation 32, // 9: OpenIMServer.user.getPaginationUsersReq.pagination:type_name -> OpenIMServer.sdkws.RequestPagination 33, // 10: OpenIMServer.user.getPaginationUsersResp.users:type_name -> OpenIMServer.sdkws.UserInfo 33, // 11: OpenIMServer.user.userRegisterReq.users:type_name -> OpenIMServer.sdkws.UserInfo 31, // 12: OpenIMServer.user.userRegisterCountResp.count:type_name -> OpenIMServer.user.userRegisterCountResp.CountEntry 4, // 13: OpenIMServer.user.user.getDesignateUsers:input_type -> OpenIMServer.user.getDesignateUsersReq 6, // 14: OpenIMServer.user.user.updateUserInfo:input_type -> OpenIMServer.user.updateUserInfoReq 8, // 15: OpenIMServer.user.user.setGlobalRecvMessageOpt:input_type -> OpenIMServer.user.setGlobalRecvMessageOptReq 26, // 16: OpenIMServer.user.user.getGlobalRecvMessageOpt:input_type -> OpenIMServer.user.getGlobalRecvMessageOptReq 2, // 17: OpenIMServer.user.user.accountCheck:input_type -> OpenIMServer.user.accountCheckReq 22, // 18: OpenIMServer.user.user.getPaginationUsers:input_type -> OpenIMServer.user.getPaginationUsersReq 24, // 19: OpenIMServer.user.user.userRegister:input_type -> OpenIMServer.user.userRegisterReq 0, // 20: OpenIMServer.user.user.getAllUserID:input_type -> OpenIMServer.user.getAllUserIDReq 28, // 21: OpenIMServer.user.user.userRegisterCount:input_type -> OpenIMServer.user.userRegisterCountReq 5, // 22: OpenIMServer.user.user.getDesignateUsers:output_type -> OpenIMServer.user.getDesignateUsersResp 7, // 23: OpenIMServer.user.user.updateUserInfo:output_type -> OpenIMServer.user.updateUserInfoResp 9, // 24: OpenIMServer.user.user.setGlobalRecvMessageOpt:output_type -> OpenIMServer.user.setGlobalRecvMessageOptResp 27, // 25: OpenIMServer.user.user.getGlobalRecvMessageOpt:output_type -> OpenIMServer.user.getGlobalRecvMessageOptResp 3, // 26: OpenIMServer.user.user.accountCheck:output_type -> OpenIMServer.user.accountCheckResp 23, // 27: OpenIMServer.user.user.getPaginationUsers:output_type -> OpenIMServer.user.getPaginationUsersResp 25, // 28: OpenIMServer.user.user.userRegister:output_type -> OpenIMServer.user.userRegisterResp 1, // 29: OpenIMServer.user.user.getAllUserID:output_type -> OpenIMServer.user.getAllUserIDResp 29, // 30: OpenIMServer.user.user.userRegisterCount:output_type -> OpenIMServer.user.userRegisterCountResp 22, // [22:31] is the sub-list for method output_type 13, // [13:22] is the sub-list for method input_type 13, // [13:13] is the sub-list for extension type_name 13, // [13:13] is the sub-list for extension extendee 0, // [0:13] is the sub-list for field type_name } func init() { file_user_user_proto_init() } func file_user_user_proto_init() { if File_user_user_proto != nil { return } if !protoimpl.UnsafeEnabled { file_user_user_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetAllUserIDReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_user_user_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetAllUserIDResp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_user_user_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AccountCheckReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_user_user_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AccountCheckResp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_user_user_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetDesignateUsersReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_user_user_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetDesignateUsersResp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_user_user_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateUserInfoReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_user_user_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateUserInfoResp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_user_user_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetGlobalRecvMessageOptReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_user_user_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetGlobalRecvMessageOptResp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_user_user_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetConversationReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_user_user_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetConversationResp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_user_user_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetRecvMsgOptReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_user_user_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetRecvMsgOptResp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_user_user_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetConversationReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_user_user_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetConversationResp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_user_user_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetConversationsReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_user_user_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetConversationsResp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_user_user_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetAllConversationsReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_user_user_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetAllConversationsResp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_user_user_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BatchSetConversationsReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_user_user_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BatchSetConversationsResp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_user_user_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetPaginationUsersReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_user_user_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetPaginationUsersResp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_user_user_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UserRegisterReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_user_user_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UserRegisterResp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_user_user_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetGlobalRecvMessageOptReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_user_user_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetGlobalRecvMessageOptResp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_user_user_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UserRegisterCountReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_user_user_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UserRegisterCountResp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_user_user_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AccountCheckRespSingleUserStatus); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_user_user_proto_rawDesc, NumEnums: 0, NumMessages: 32, NumExtensions: 0, NumServices: 1, }, GoTypes: file_user_user_proto_goTypes, DependencyIndexes: file_user_user_proto_depIdxs, MessageInfos: file_user_user_proto_msgTypes, }.Build() File_user_user_proto = out.File file_user_user_proto_rawDesc = nil file_user_user_proto_goTypes = nil file_user_user_proto_depIdxs = nil } // Reference imports to suppress errors if they are not otherwise used. var _ context.Context var _ grpc.ClientConnInterface // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. const _ = grpc.SupportPackageIsVersion6 // UserClient is the client API for User service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. type UserClient interface { // 获取指定的用户信息 全字段 GetDesignateUsers(ctx context.Context, in *GetDesignateUsersReq, opts ...grpc.CallOption) (*GetDesignateUsersResp, error) // 更新用户信息 UpdateUserInfo(ctx context.Context, in *UpdateUserInfoReq, opts ...grpc.CallOption) (*UpdateUserInfoResp, error) // 设置用户消息接收选项 SetGlobalRecvMessageOpt(ctx context.Context, in *SetGlobalRecvMessageOptReq, opts ...grpc.CallOption) (*SetGlobalRecvMessageOptResp, error) // 获取用户消息接收选项 没找到不返回错误 GetGlobalRecvMessageOpt(ctx context.Context, in *GetGlobalRecvMessageOptReq, opts ...grpc.CallOption) (*GetGlobalRecvMessageOptResp, error) // 检查userID是否存在 AccountCheck(ctx context.Context, in *AccountCheckReq, opts ...grpc.CallOption) (*AccountCheckResp, error) // 翻页(或指定userID,昵称)拉取用户信息 全字段 GetPaginationUsers(ctx context.Context, in *GetPaginationUsersReq, opts ...grpc.CallOption) (*GetPaginationUsersResp, error) // 用户注册 UserRegister(ctx context.Context, in *UserRegisterReq, opts ...grpc.CallOption) (*UserRegisterResp, error) // 获取所有用户ID GetAllUserID(ctx context.Context, in *GetAllUserIDReq, opts ...grpc.CallOption) (*GetAllUserIDResp, error) // 获取用户总数和指定时间段内的用户增量 UserRegisterCount(ctx context.Context, in *UserRegisterCountReq, opts ...grpc.CallOption) (*UserRegisterCountResp, error) } type userClient struct { cc grpc.ClientConnInterface } func NewUserClient(cc grpc.ClientConnInterface) UserClient { return &userClient{cc} } func (c *userClient) GetDesignateUsers(ctx context.Context, in *GetDesignateUsersReq, opts ...grpc.CallOption) (*GetDesignateUsersResp, error) { out := new(GetDesignateUsersResp) err := c.cc.Invoke(ctx, "/OpenIMServer.user.user/getDesignateUsers", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *userClient) UpdateUserInfo(ctx context.Context, in *UpdateUserInfoReq, opts ...grpc.CallOption) (*UpdateUserInfoResp, error) { out := new(UpdateUserInfoResp) err := c.cc.Invoke(ctx, "/OpenIMServer.user.user/updateUserInfo", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *userClient) SetGlobalRecvMessageOpt(ctx context.Context, in *SetGlobalRecvMessageOptReq, opts ...grpc.CallOption) (*SetGlobalRecvMessageOptResp, error) { out := new(SetGlobalRecvMessageOptResp) err := c.cc.Invoke(ctx, "/OpenIMServer.user.user/setGlobalRecvMessageOpt", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *userClient) GetGlobalRecvMessageOpt(ctx context.Context, in *GetGlobalRecvMessageOptReq, opts ...grpc.CallOption) (*GetGlobalRecvMessageOptResp, error) { out := new(GetGlobalRecvMessageOptResp) err := c.cc.Invoke(ctx, "/OpenIMServer.user.user/getGlobalRecvMessageOpt", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *userClient) AccountCheck(ctx context.Context, in *AccountCheckReq, opts ...grpc.CallOption) (*AccountCheckResp, error) { out := new(AccountCheckResp) err := c.cc.Invoke(ctx, "/OpenIMServer.user.user/accountCheck", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *userClient) GetPaginationUsers(ctx context.Context, in *GetPaginationUsersReq, opts ...grpc.CallOption) (*GetPaginationUsersResp, error) { out := new(GetPaginationUsersResp) err := c.cc.Invoke(ctx, "/OpenIMServer.user.user/getPaginationUsers", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *userClient) UserRegister(ctx context.Context, in *UserRegisterReq, opts ...grpc.CallOption) (*UserRegisterResp, error) { out := new(UserRegisterResp) err := c.cc.Invoke(ctx, "/OpenIMServer.user.user/userRegister", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *userClient) GetAllUserID(ctx context.Context, in *GetAllUserIDReq, opts ...grpc.CallOption) (*GetAllUserIDResp, error) { out := new(GetAllUserIDResp) err := c.cc.Invoke(ctx, "/OpenIMServer.user.user/getAllUserID", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *userClient) UserRegisterCount(ctx context.Context, in *UserRegisterCountReq, opts ...grpc.CallOption) (*UserRegisterCountResp, error) { out := new(UserRegisterCountResp) err := c.cc.Invoke(ctx, "/OpenIMServer.user.user/userRegisterCount", in, out, opts...) if err != nil { return nil, err } return out, nil } // UserServer is the server API for User service. type UserServer interface { // 获取指定的用户信息 全字段 GetDesignateUsers(context.Context, *GetDesignateUsersReq) (*GetDesignateUsersResp, error) // 更新用户信息 UpdateUserInfo(context.Context, *UpdateUserInfoReq) (*UpdateUserInfoResp, error) // 设置用户消息接收选项 SetGlobalRecvMessageOpt(context.Context, *SetGlobalRecvMessageOptReq) (*SetGlobalRecvMessageOptResp, error) // 获取用户消息接收选项 没找到不返回错误 GetGlobalRecvMessageOpt(context.Context, *GetGlobalRecvMessageOptReq) (*GetGlobalRecvMessageOptResp, error) // 检查userID是否存在 AccountCheck(context.Context, *AccountCheckReq) (*AccountCheckResp, error) // 翻页(或指定userID,昵称)拉取用户信息 全字段 GetPaginationUsers(context.Context, *GetPaginationUsersReq) (*GetPaginationUsersResp, error) // 用户注册 UserRegister(context.Context, *UserRegisterReq) (*UserRegisterResp, error) // 获取所有用户ID GetAllUserID(context.Context, *GetAllUserIDReq) (*GetAllUserIDResp, error) // 获取用户总数和指定时间段内的用户增量 UserRegisterCount(context.Context, *UserRegisterCountReq) (*UserRegisterCountResp, error) } // UnimplementedUserServer can be embedded to have forward compatible implementations. type UnimplementedUserServer struct { } func (*UnimplementedUserServer) GetDesignateUsers(context.Context, *GetDesignateUsersReq) (*GetDesignateUsersResp, error) { return nil, status.Errorf(codes.Unimplemented, "method GetDesignateUsers not implemented") } func (*UnimplementedUserServer) UpdateUserInfo(context.Context, *UpdateUserInfoReq) (*UpdateUserInfoResp, error) { return nil, status.Errorf(codes.Unimplemented, "method UpdateUserInfo not implemented") } func (*UnimplementedUserServer) SetGlobalRecvMessageOpt(context.Context, *SetGlobalRecvMessageOptReq) (*SetGlobalRecvMessageOptResp, error) { return nil, status.Errorf(codes.Unimplemented, "method SetGlobalRecvMessageOpt not implemented") } func (*UnimplementedUserServer) GetGlobalRecvMessageOpt(context.Context, *GetGlobalRecvMessageOptReq) (*GetGlobalRecvMessageOptResp, error) { return nil, status.Errorf(codes.Unimplemented, "method GetGlobalRecvMessageOpt not implemented") } func (*UnimplementedUserServer) AccountCheck(context.Context, *AccountCheckReq) (*AccountCheckResp, error) { return nil, status.Errorf(codes.Unimplemented, "method AccountCheck not implemented") } func (*UnimplementedUserServer) GetPaginationUsers(context.Context, *GetPaginationUsersReq) (*GetPaginationUsersResp, error) { return nil, status.Errorf(codes.Unimplemented, "method GetPaginationUsers not implemented") } func (*UnimplementedUserServer) UserRegister(context.Context, *UserRegisterReq) (*UserRegisterResp, error) { return nil, status.Errorf(codes.Unimplemented, "method UserRegister not implemented") } func (*UnimplementedUserServer) GetAllUserID(context.Context, *GetAllUserIDReq) (*GetAllUserIDResp, error) { return nil, status.Errorf(codes.Unimplemented, "method GetAllUserID not implemented") } func (*UnimplementedUserServer) UserRegisterCount(context.Context, *UserRegisterCountReq) (*UserRegisterCountResp, error) { return nil, status.Errorf(codes.Unimplemented, "method UserRegisterCount not implemented") } func RegisterUserServer(s *grpc.Server, srv UserServer) { s.RegisterService(&_User_serviceDesc, srv) } func _User_GetDesignateUsers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(GetDesignateUsersReq) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(UserServer).GetDesignateUsers(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/OpenIMServer.user.user/GetDesignateUsers", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(UserServer).GetDesignateUsers(ctx, req.(*GetDesignateUsersReq)) } return interceptor(ctx, in, info, handler) } func _User_UpdateUserInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(UpdateUserInfoReq) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(UserServer).UpdateUserInfo(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/OpenIMServer.user.user/UpdateUserInfo", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(UserServer).UpdateUserInfo(ctx, req.(*UpdateUserInfoReq)) } return interceptor(ctx, in, info, handler) } func _User_SetGlobalRecvMessageOpt_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(SetGlobalRecvMessageOptReq) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(UserServer).SetGlobalRecvMessageOpt(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/OpenIMServer.user.user/SetGlobalRecvMessageOpt", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(UserServer).SetGlobalRecvMessageOpt(ctx, req.(*SetGlobalRecvMessageOptReq)) } return interceptor(ctx, in, info, handler) } func _User_GetGlobalRecvMessageOpt_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(GetGlobalRecvMessageOptReq) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(UserServer).GetGlobalRecvMessageOpt(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/OpenIMServer.user.user/GetGlobalRecvMessageOpt", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(UserServer).GetGlobalRecvMessageOpt(ctx, req.(*GetGlobalRecvMessageOptReq)) } return interceptor(ctx, in, info, handler) } func _User_AccountCheck_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(AccountCheckReq) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(UserServer).AccountCheck(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/OpenIMServer.user.user/AccountCheck", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(UserServer).AccountCheck(ctx, req.(*AccountCheckReq)) } return interceptor(ctx, in, info, handler) } func _User_GetPaginationUsers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(GetPaginationUsersReq) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(UserServer).GetPaginationUsers(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/OpenIMServer.user.user/GetPaginationUsers", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(UserServer).GetPaginationUsers(ctx, req.(*GetPaginationUsersReq)) } return interceptor(ctx, in, info, handler) } func _User_UserRegister_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(UserRegisterReq) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(UserServer).UserRegister(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/OpenIMServer.user.user/UserRegister", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(UserServer).UserRegister(ctx, req.(*UserRegisterReq)) } return interceptor(ctx, in, info, handler) } func _User_GetAllUserID_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(GetAllUserIDReq) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(UserServer).GetAllUserID(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/OpenIMServer.user.user/GetAllUserID", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(UserServer).GetAllUserID(ctx, req.(*GetAllUserIDReq)) } return interceptor(ctx, in, info, handler) } func _User_UserRegisterCount_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(UserRegisterCountReq) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(UserServer).UserRegisterCount(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/OpenIMServer.user.user/UserRegisterCount", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(UserServer).UserRegisterCount(ctx, req.(*UserRegisterCountReq)) } return interceptor(ctx, in, info, handler) } var _User_serviceDesc = grpc.ServiceDesc{ ServiceName: "OpenIMServer.user.user", HandlerType: (*UserServer)(nil), Methods: []grpc.MethodDesc{ { MethodName: "getDesignateUsers", Handler: _User_GetDesignateUsers_Handler, }, { MethodName: "updateUserInfo", Handler: _User_UpdateUserInfo_Handler, }, { MethodName: "setGlobalRecvMessageOpt", Handler: _User_SetGlobalRecvMessageOpt_Handler, }, { MethodName: "getGlobalRecvMessageOpt", Handler: _User_GetGlobalRecvMessageOpt_Handler, }, { MethodName: "accountCheck", Handler: _User_AccountCheck_Handler, }, { MethodName: "getPaginationUsers", Handler: _User_GetPaginationUsers_Handler, }, { MethodName: "userRegister", Handler: _User_UserRegister_Handler, }, { MethodName: "getAllUserID", Handler: _User_GetAllUserID_Handler, }, { MethodName: "userRegisterCount", Handler: _User_UserRegisterCount_Handler, }, }, Streams: []grpc.StreamDesc{}, Metadata: "user/user.proto", }