// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.31.0 // protoc v3.19.4 // source: service_user.proto package pb import ( protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // 创建用户 type CreateUserRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Username string `protobuf:"bytes,1,opt,name=username,proto3" json:"username,omitempty"` Password string `protobuf:"bytes,2,opt,name=password,proto3" json:"password,omitempty"` Fullname string `protobuf:"bytes,3,opt,name=fullname,proto3" json:"fullname,omitempty"` Mobile string `protobuf:"bytes,4,opt,name=mobile,proto3" json:"mobile,omitempty"` Tel string `protobuf:"bytes,5,opt,name=tel,proto3" json:"tel,omitempty"` Email string `protobuf:"bytes,6,opt,name=email,proto3" json:"email,omitempty"` Remark string `protobuf:"bytes,7,opt,name=remark,proto3" json:"remark,omitempty"` Source string `protobuf:"bytes,8,opt,name=source,proto3" json:"source,omitempty"` NodeClusterId int64 `protobuf:"varint,9,opt,name=nodeClusterId,proto3" json:"nodeClusterId,omitempty"` } func (x *CreateUserRequest) Reset() { *x = CreateUserRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_user_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CreateUserRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*CreateUserRequest) ProtoMessage() {} func (x *CreateUserRequest) ProtoReflect() protoreflect.Message { mi := &file_service_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 CreateUserRequest.ProtoReflect.Descriptor instead. func (*CreateUserRequest) Descriptor() ([]byte, []int) { return file_service_user_proto_rawDescGZIP(), []int{0} } func (x *CreateUserRequest) GetUsername() string { if x != nil { return x.Username } return "" } func (x *CreateUserRequest) GetPassword() string { if x != nil { return x.Password } return "" } func (x *CreateUserRequest) GetFullname() string { if x != nil { return x.Fullname } return "" } func (x *CreateUserRequest) GetMobile() string { if x != nil { return x.Mobile } return "" } func (x *CreateUserRequest) GetTel() string { if x != nil { return x.Tel } return "" } func (x *CreateUserRequest) GetEmail() string { if x != nil { return x.Email } return "" } func (x *CreateUserRequest) GetRemark() string { if x != nil { return x.Remark } return "" } func (x *CreateUserRequest) GetSource() string { if x != nil { return x.Source } return "" } func (x *CreateUserRequest) GetNodeClusterId() int64 { if x != nil { return x.NodeClusterId } return 0 } type CreateUserResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields UserId int64 `protobuf:"varint,1,opt,name=userId,proto3" json:"userId,omitempty"` } func (x *CreateUserResponse) Reset() { *x = CreateUserResponse{} if protoimpl.UnsafeEnabled { mi := &file_service_user_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CreateUserResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*CreateUserResponse) ProtoMessage() {} func (x *CreateUserResponse) ProtoReflect() protoreflect.Message { mi := &file_service_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 CreateUserResponse.ProtoReflect.Descriptor instead. func (*CreateUserResponse) Descriptor() ([]byte, []int) { return file_service_user_proto_rawDescGZIP(), []int{1} } func (x *CreateUserResponse) GetUserId() int64 { if x != nil { return x.UserId } return 0 } // 注册用户 type RegisterUserRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Username string `protobuf:"bytes,1,opt,name=username,proto3" json:"username,omitempty"` Password string `protobuf:"bytes,2,opt,name=password,proto3" json:"password,omitempty"` Mobile string `protobuf:"bytes,3,opt,name=mobile,proto3" json:"mobile,omitempty"` Email string `protobuf:"bytes,4,opt,name=email,proto3" json:"email,omitempty"` Fullname string `protobuf:"bytes,5,opt,name=fullname,proto3" json:"fullname,omitempty"` Ip string `protobuf:"bytes,6,opt,name=ip,proto3" json:"ip,omitempty"` Source string `protobuf:"bytes,7,opt,name=source,proto3" json:"source,omitempty"` } func (x *RegisterUserRequest) Reset() { *x = RegisterUserRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_user_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RegisterUserRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*RegisterUserRequest) ProtoMessage() {} func (x *RegisterUserRequest) ProtoReflect() protoreflect.Message { mi := &file_service_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 RegisterUserRequest.ProtoReflect.Descriptor instead. func (*RegisterUserRequest) Descriptor() ([]byte, []int) { return file_service_user_proto_rawDescGZIP(), []int{2} } func (x *RegisterUserRequest) GetUsername() string { if x != nil { return x.Username } return "" } func (x *RegisterUserRequest) GetPassword() string { if x != nil { return x.Password } return "" } func (x *RegisterUserRequest) GetMobile() string { if x != nil { return x.Mobile } return "" } func (x *RegisterUserRequest) GetEmail() string { if x != nil { return x.Email } return "" } func (x *RegisterUserRequest) GetFullname() string { if x != nil { return x.Fullname } return "" } func (x *RegisterUserRequest) GetIp() string { if x != nil { return x.Ip } return "" } func (x *RegisterUserRequest) GetSource() string { if x != nil { return x.Source } return "" } type RegisterUserResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields UserId int64 `protobuf:"varint,1,opt,name=userId,proto3" json:"userId,omitempty"` RequireEmailVerification bool `protobuf:"varint,2,opt,name=requireEmailVerification,proto3" json:"requireEmailVerification,omitempty"` // 是否需要激活邮件 } func (x *RegisterUserResponse) Reset() { *x = RegisterUserResponse{} if protoimpl.UnsafeEnabled { mi := &file_service_user_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RegisterUserResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*RegisterUserResponse) ProtoMessage() {} func (x *RegisterUserResponse) ProtoReflect() protoreflect.Message { mi := &file_service_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 RegisterUserResponse.ProtoReflect.Descriptor instead. func (*RegisterUserResponse) Descriptor() ([]byte, []int) { return file_service_user_proto_rawDescGZIP(), []int{3} } func (x *RegisterUserResponse) GetUserId() int64 { if x != nil { return x.UserId } return 0 } func (x *RegisterUserResponse) GetRequireEmailVerification() bool { if x != nil { return x.RequireEmailVerification } return false } // 审核用户 type VerifyUserRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields UserId int64 `protobuf:"varint,1,opt,name=userId,proto3" json:"userId,omitempty"` IsRejected bool `protobuf:"varint,2,opt,name=isRejected,proto3" json:"isRejected,omitempty"` RejectReason string `protobuf:"bytes,3,opt,name=rejectReason,proto3" json:"rejectReason,omitempty"` } func (x *VerifyUserRequest) Reset() { *x = VerifyUserRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_user_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *VerifyUserRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*VerifyUserRequest) ProtoMessage() {} func (x *VerifyUserRequest) ProtoReflect() protoreflect.Message { mi := &file_service_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 VerifyUserRequest.ProtoReflect.Descriptor instead. func (*VerifyUserRequest) Descriptor() ([]byte, []int) { return file_service_user_proto_rawDescGZIP(), []int{4} } func (x *VerifyUserRequest) GetUserId() int64 { if x != nil { return x.UserId } return 0 } func (x *VerifyUserRequest) GetIsRejected() bool { if x != nil { return x.IsRejected } return false } func (x *VerifyUserRequest) GetRejectReason() string { if x != nil { return x.RejectReason } return "" } // 修改用户 type UpdateUserRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields UserId int64 `protobuf:"varint,1,opt,name=userId,proto3" json:"userId,omitempty"` Username string `protobuf:"bytes,2,opt,name=username,proto3" json:"username,omitempty"` Password string `protobuf:"bytes,3,opt,name=password,proto3" json:"password,omitempty"` Fullname string `protobuf:"bytes,4,opt,name=fullname,proto3" json:"fullname,omitempty"` Mobile string `protobuf:"bytes,5,opt,name=mobile,proto3" json:"mobile,omitempty"` Tel string `protobuf:"bytes,6,opt,name=tel,proto3" json:"tel,omitempty"` Email string `protobuf:"bytes,7,opt,name=email,proto3" json:"email,omitempty"` Remark string `protobuf:"bytes,8,opt,name=remark,proto3" json:"remark,omitempty"` IsOn bool `protobuf:"varint,9,opt,name=isOn,proto3" json:"isOn,omitempty"` NodeClusterId int64 `protobuf:"varint,10,opt,name=nodeClusterId,proto3" json:"nodeClusterId,omitempty"` BandwidthAlgo string `protobuf:"bytes,11,opt,name=bandwidthAlgo,proto3" json:"bandwidthAlgo,omitempty"` } func (x *UpdateUserRequest) Reset() { *x = UpdateUserRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_user_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpdateUserRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpdateUserRequest) ProtoMessage() {} func (x *UpdateUserRequest) ProtoReflect() protoreflect.Message { mi := &file_service_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 UpdateUserRequest.ProtoReflect.Descriptor instead. func (*UpdateUserRequest) Descriptor() ([]byte, []int) { return file_service_user_proto_rawDescGZIP(), []int{5} } func (x *UpdateUserRequest) GetUserId() int64 { if x != nil { return x.UserId } return 0 } func (x *UpdateUserRequest) GetUsername() string { if x != nil { return x.Username } return "" } func (x *UpdateUserRequest) GetPassword() string { if x != nil { return x.Password } return "" } func (x *UpdateUserRequest) GetFullname() string { if x != nil { return x.Fullname } return "" } func (x *UpdateUserRequest) GetMobile() string { if x != nil { return x.Mobile } return "" } func (x *UpdateUserRequest) GetTel() string { if x != nil { return x.Tel } return "" } func (x *UpdateUserRequest) GetEmail() string { if x != nil { return x.Email } return "" } func (x *UpdateUserRequest) GetRemark() string { if x != nil { return x.Remark } return "" } func (x *UpdateUserRequest) GetIsOn() bool { if x != nil { return x.IsOn } return false } func (x *UpdateUserRequest) GetNodeClusterId() int64 { if x != nil { return x.NodeClusterId } return 0 } func (x *UpdateUserRequest) GetBandwidthAlgo() string { if x != nil { return x.BandwidthAlgo } return "" } // 删除用户 type DeleteUserRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields UserId int64 `protobuf:"varint,1,opt,name=userId,proto3" json:"userId,omitempty"` } func (x *DeleteUserRequest) Reset() { *x = DeleteUserRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_user_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DeleteUserRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*DeleteUserRequest) ProtoMessage() {} func (x *DeleteUserRequest) ProtoReflect() protoreflect.Message { mi := &file_service_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 DeleteUserRequest.ProtoReflect.Descriptor instead. func (*DeleteUserRequest) Descriptor() ([]byte, []int) { return file_service_user_proto_rawDescGZIP(), []int{6} } func (x *DeleteUserRequest) GetUserId() int64 { if x != nil { return x.UserId } return 0 } // 计算用户数量 type CountAllEnabledUsersRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Keyword string `protobuf:"bytes,1,opt,name=keyword,proto3" json:"keyword,omitempty"` IsVerifying bool `protobuf:"varint,2,opt,name=isVerifying,proto3" json:"isVerifying,omitempty"` } func (x *CountAllEnabledUsersRequest) Reset() { *x = CountAllEnabledUsersRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_user_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CountAllEnabledUsersRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*CountAllEnabledUsersRequest) ProtoMessage() {} func (x *CountAllEnabledUsersRequest) ProtoReflect() protoreflect.Message { mi := &file_service_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 CountAllEnabledUsersRequest.ProtoReflect.Descriptor instead. func (*CountAllEnabledUsersRequest) Descriptor() ([]byte, []int) { return file_service_user_proto_rawDescGZIP(), []int{7} } func (x *CountAllEnabledUsersRequest) GetKeyword() string { if x != nil { return x.Keyword } return "" } func (x *CountAllEnabledUsersRequest) GetIsVerifying() bool { if x != nil { return x.IsVerifying } return false } // 列出单页用户 type ListEnabledUsersRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Keyword string `protobuf:"bytes,1,opt,name=keyword,proto3" json:"keyword,omitempty"` IsVerifying bool `protobuf:"varint,4,opt,name=isVerifying,proto3" json:"isVerifying,omitempty"` Offset int64 `protobuf:"varint,2,opt,name=offset,proto3" json:"offset,omitempty"` Size int64 `protobuf:"varint,3,opt,name=size,proto3" json:"size,omitempty"` } func (x *ListEnabledUsersRequest) Reset() { *x = ListEnabledUsersRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_user_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ListEnabledUsersRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListEnabledUsersRequest) ProtoMessage() {} func (x *ListEnabledUsersRequest) ProtoReflect() protoreflect.Message { mi := &file_service_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 ListEnabledUsersRequest.ProtoReflect.Descriptor instead. func (*ListEnabledUsersRequest) Descriptor() ([]byte, []int) { return file_service_user_proto_rawDescGZIP(), []int{8} } func (x *ListEnabledUsersRequest) GetKeyword() string { if x != nil { return x.Keyword } return "" } func (x *ListEnabledUsersRequest) GetIsVerifying() bool { if x != nil { return x.IsVerifying } return false } func (x *ListEnabledUsersRequest) GetOffset() int64 { if x != nil { return x.Offset } return 0 } func (x *ListEnabledUsersRequest) GetSize() int64 { if x != nil { return x.Size } return 0 } type ListEnabledUsersResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Users []*User `protobuf:"bytes,1,rep,name=users,proto3" json:"users,omitempty"` } func (x *ListEnabledUsersResponse) Reset() { *x = ListEnabledUsersResponse{} if protoimpl.UnsafeEnabled { mi := &file_service_user_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ListEnabledUsersResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListEnabledUsersResponse) ProtoMessage() {} func (x *ListEnabledUsersResponse) ProtoReflect() protoreflect.Message { mi := &file_service_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 ListEnabledUsersResponse.ProtoReflect.Descriptor instead. func (*ListEnabledUsersResponse) Descriptor() ([]byte, []int) { return file_service_user_proto_rawDescGZIP(), []int{9} } func (x *ListEnabledUsersResponse) GetUsers() []*User { if x != nil { return x.Users } return nil } // 查询单个用户信息 type FindEnabledUserRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields UserId int64 `protobuf:"varint,1,opt,name=userId,proto3" json:"userId,omitempty"` } func (x *FindEnabledUserRequest) Reset() { *x = FindEnabledUserRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_user_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FindEnabledUserRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*FindEnabledUserRequest) ProtoMessage() {} func (x *FindEnabledUserRequest) ProtoReflect() protoreflect.Message { mi := &file_service_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 FindEnabledUserRequest.ProtoReflect.Descriptor instead. func (*FindEnabledUserRequest) Descriptor() ([]byte, []int) { return file_service_user_proto_rawDescGZIP(), []int{10} } func (x *FindEnabledUserRequest) GetUserId() int64 { if x != nil { return x.UserId } return 0 } type FindEnabledUserResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields User *User `protobuf:"bytes,1,opt,name=user,proto3" json:"user,omitempty"` } func (x *FindEnabledUserResponse) Reset() { *x = FindEnabledUserResponse{} if protoimpl.UnsafeEnabled { mi := &file_service_user_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FindEnabledUserResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*FindEnabledUserResponse) ProtoMessage() {} func (x *FindEnabledUserResponse) ProtoReflect() protoreflect.Message { mi := &file_service_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 FindEnabledUserResponse.ProtoReflect.Descriptor instead. func (*FindEnabledUserResponse) Descriptor() ([]byte, []int) { return file_service_user_proto_rawDescGZIP(), []int{11} } func (x *FindEnabledUserResponse) GetUser() *User { if x != nil { return x.User } return nil } // 检查用户名是否存在 type CheckUserUsernameRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields UserId int64 `protobuf:"varint,1,opt,name=userId,proto3" json:"userId,omitempty"` Username string `protobuf:"bytes,2,opt,name=username,proto3" json:"username,omitempty"` } func (x *CheckUserUsernameRequest) Reset() { *x = CheckUserUsernameRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_user_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CheckUserUsernameRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*CheckUserUsernameRequest) ProtoMessage() {} func (x *CheckUserUsernameRequest) ProtoReflect() protoreflect.Message { mi := &file_service_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 CheckUserUsernameRequest.ProtoReflect.Descriptor instead. func (*CheckUserUsernameRequest) Descriptor() ([]byte, []int) { return file_service_user_proto_rawDescGZIP(), []int{12} } func (x *CheckUserUsernameRequest) GetUserId() int64 { if x != nil { return x.UserId } return 0 } func (x *CheckUserUsernameRequest) GetUsername() string { if x != nil { return x.Username } return "" } type CheckUserUsernameResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Exists bool `protobuf:"varint,1,opt,name=exists,proto3" json:"exists,omitempty"` } func (x *CheckUserUsernameResponse) Reset() { *x = CheckUserUsernameResponse{} if protoimpl.UnsafeEnabled { mi := &file_service_user_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CheckUserUsernameResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*CheckUserUsernameResponse) ProtoMessage() {} func (x *CheckUserUsernameResponse) ProtoReflect() protoreflect.Message { mi := &file_service_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 CheckUserUsernameResponse.ProtoReflect.Descriptor instead. func (*CheckUserUsernameResponse) Descriptor() ([]byte, []int) { return file_service_user_proto_rawDescGZIP(), []int{13} } func (x *CheckUserUsernameResponse) GetExists() bool { if x != nil { return x.Exists } return false } // 登录 type LoginUserRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Username string `protobuf:"bytes,1,opt,name=username,proto3" json:"username,omitempty"` Password string `protobuf:"bytes,2,opt,name=password,proto3" json:"password,omitempty"` } func (x *LoginUserRequest) Reset() { *x = LoginUserRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_user_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *LoginUserRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*LoginUserRequest) ProtoMessage() {} func (x *LoginUserRequest) ProtoReflect() protoreflect.Message { mi := &file_service_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 LoginUserRequest.ProtoReflect.Descriptor instead. func (*LoginUserRequest) Descriptor() ([]byte, []int) { return file_service_user_proto_rawDescGZIP(), []int{14} } func (x *LoginUserRequest) GetUsername() string { if x != nil { return x.Username } return "" } func (x *LoginUserRequest) GetPassword() string { if x != nil { return x.Password } return "" } type LoginUserResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields UserId int64 `protobuf:"varint,1,opt,name=userId,proto3" json:"userId,omitempty"` IsOk bool `protobuf:"varint,2,opt,name=isOk,proto3" json:"isOk,omitempty"` Message string `protobuf:"bytes,3,opt,name=message,proto3" json:"message,omitempty"` } func (x *LoginUserResponse) Reset() { *x = LoginUserResponse{} if protoimpl.UnsafeEnabled { mi := &file_service_user_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *LoginUserResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*LoginUserResponse) ProtoMessage() {} func (x *LoginUserResponse) ProtoReflect() protoreflect.Message { mi := &file_service_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 LoginUserResponse.ProtoReflect.Descriptor instead. func (*LoginUserResponse) Descriptor() ([]byte, []int) { return file_service_user_proto_rawDescGZIP(), []int{15} } func (x *LoginUserResponse) GetUserId() int64 { if x != nil { return x.UserId } return 0 } func (x *LoginUserResponse) GetIsOk() bool { if x != nil { return x.IsOk } return false } func (x *LoginUserResponse) GetMessage() string { if x != nil { return x.Message } return "" } // 修改用户基本信息 type UpdateUserInfoRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields UserId int64 `protobuf:"varint,1,opt,name=userId,proto3" json:"userId,omitempty"` Fullname string `protobuf:"bytes,2,opt,name=fullname,proto3" json:"fullname,omitempty"` Mobile string `protobuf:"bytes,3,opt,name=mobile,proto3" json:"mobile,omitempty"` Email string `protobuf:"bytes,4,opt,name=email,proto3" json:"email,omitempty"` } func (x *UpdateUserInfoRequest) Reset() { *x = UpdateUserInfoRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_user_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpdateUserInfoRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpdateUserInfoRequest) ProtoMessage() {} func (x *UpdateUserInfoRequest) ProtoReflect() protoreflect.Message { mi := &file_service_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 UpdateUserInfoRequest.ProtoReflect.Descriptor instead. func (*UpdateUserInfoRequest) Descriptor() ([]byte, []int) { return file_service_user_proto_rawDescGZIP(), []int{16} } func (x *UpdateUserInfoRequest) GetUserId() int64 { if x != nil { return x.UserId } return 0 } func (x *UpdateUserInfoRequest) GetFullname() string { if x != nil { return x.Fullname } return "" } func (x *UpdateUserInfoRequest) GetMobile() string { if x != nil { return x.Mobile } return "" } func (x *UpdateUserInfoRequest) GetEmail() string { if x != nil { return x.Email } return "" } // 修改用户登录信息 type UpdateUserLoginRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields UserId int64 `protobuf:"varint,1,opt,name=userId,proto3" json:"userId,omitempty"` Username string `protobuf:"bytes,2,opt,name=username,proto3" json:"username,omitempty"` Password string `protobuf:"bytes,3,opt,name=password,proto3" json:"password,omitempty"` } func (x *UpdateUserLoginRequest) Reset() { *x = UpdateUserLoginRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_user_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpdateUserLoginRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpdateUserLoginRequest) ProtoMessage() {} func (x *UpdateUserLoginRequest) ProtoReflect() protoreflect.Message { mi := &file_service_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 UpdateUserLoginRequest.ProtoReflect.Descriptor instead. func (*UpdateUserLoginRequest) Descriptor() ([]byte, []int) { return file_service_user_proto_rawDescGZIP(), []int{17} } func (x *UpdateUserLoginRequest) GetUserId() int64 { if x != nil { return x.UserId } return 0 } func (x *UpdateUserLoginRequest) GetUsername() string { if x != nil { return x.Username } return "" } func (x *UpdateUserLoginRequest) GetPassword() string { if x != nil { return x.Password } return "" } // 取得用户Dashboard数据 type ComposeUserDashboardRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields UserId int64 `protobuf:"varint,1,opt,name=userId,proto3" json:"userId,omitempty"` } func (x *ComposeUserDashboardRequest) Reset() { *x = ComposeUserDashboardRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_user_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ComposeUserDashboardRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ComposeUserDashboardRequest) ProtoMessage() {} func (x *ComposeUserDashboardRequest) ProtoReflect() protoreflect.Message { mi := &file_service_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 ComposeUserDashboardRequest.ProtoReflect.Descriptor instead. func (*ComposeUserDashboardRequest) Descriptor() ([]byte, []int) { return file_service_user_proto_rawDescGZIP(), []int{18} } func (x *ComposeUserDashboardRequest) GetUserId() int64 { if x != nil { return x.UserId } return 0 } type ComposeUserDashboardResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields CountServers int64 `protobuf:"varint,1,opt,name=countServers,proto3" json:"countServers,omitempty"` MonthlyTrafficBytes int64 `protobuf:"varint,2,opt,name=monthlyTrafficBytes,proto3" json:"monthlyTrafficBytes,omitempty"` MonthlyPeekBandwidthBytes int64 `protobuf:"varint,3,opt,name=monthlyPeekBandwidthBytes,proto3" json:"monthlyPeekBandwidthBytes,omitempty"` DailyTrafficBytes int64 `protobuf:"varint,4,opt,name=dailyTrafficBytes,proto3" json:"dailyTrafficBytes,omitempty"` DailyPeekBandwidthBytes int64 `protobuf:"varint,5,opt,name=dailyPeekBandwidthBytes,proto3" json:"dailyPeekBandwidthBytes,omitempty"` DailyTrafficStats []*ComposeUserDashboardResponse_DailyTrafficStat `protobuf:"bytes,6,rep,name=dailyTrafficStats,proto3" json:"dailyTrafficStats,omitempty"` DailyPeekBandwidthStats []*ComposeUserDashboardResponse_DailyPeekBandwidthStat `protobuf:"bytes,7,rep,name=dailyPeekBandwidthStats,proto3" json:"dailyPeekBandwidthStats,omitempty"` BandwidthPercentile int32 `protobuf:"varint,8,opt,name=bandwidthPercentile,proto3" json:"bandwidthPercentile,omitempty"` // 带宽百分位 BandwidthPercentileBits int64 `protobuf:"varint,9,opt,name=bandwidthPercentileBits,proto3" json:"bandwidthPercentileBits,omitempty"` // 带宽百分位上的比特数 } func (x *ComposeUserDashboardResponse) Reset() { *x = ComposeUserDashboardResponse{} if protoimpl.UnsafeEnabled { mi := &file_service_user_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ComposeUserDashboardResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*ComposeUserDashboardResponse) ProtoMessage() {} func (x *ComposeUserDashboardResponse) ProtoReflect() protoreflect.Message { mi := &file_service_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 ComposeUserDashboardResponse.ProtoReflect.Descriptor instead. func (*ComposeUserDashboardResponse) Descriptor() ([]byte, []int) { return file_service_user_proto_rawDescGZIP(), []int{19} } func (x *ComposeUserDashboardResponse) GetCountServers() int64 { if x != nil { return x.CountServers } return 0 } func (x *ComposeUserDashboardResponse) GetMonthlyTrafficBytes() int64 { if x != nil { return x.MonthlyTrafficBytes } return 0 } func (x *ComposeUserDashboardResponse) GetMonthlyPeekBandwidthBytes() int64 { if x != nil { return x.MonthlyPeekBandwidthBytes } return 0 } func (x *ComposeUserDashboardResponse) GetDailyTrafficBytes() int64 { if x != nil { return x.DailyTrafficBytes } return 0 } func (x *ComposeUserDashboardResponse) GetDailyPeekBandwidthBytes() int64 { if x != nil { return x.DailyPeekBandwidthBytes } return 0 } func (x *ComposeUserDashboardResponse) GetDailyTrafficStats() []*ComposeUserDashboardResponse_DailyTrafficStat { if x != nil { return x.DailyTrafficStats } return nil } func (x *ComposeUserDashboardResponse) GetDailyPeekBandwidthStats() []*ComposeUserDashboardResponse_DailyPeekBandwidthStat { if x != nil { return x.DailyPeekBandwidthStats } return nil } func (x *ComposeUserDashboardResponse) GetBandwidthPercentile() int32 { if x != nil { return x.BandwidthPercentile } return 0 } func (x *ComposeUserDashboardResponse) GetBandwidthPercentileBits() int64 { if x != nil { return x.BandwidthPercentileBits } return 0 } // 获取用户所在的集群ID type FindUserNodeClusterIdRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields UserId int64 `protobuf:"varint,1,opt,name=userId,proto3" json:"userId,omitempty"` } func (x *FindUserNodeClusterIdRequest) Reset() { *x = FindUserNodeClusterIdRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_user_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FindUserNodeClusterIdRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*FindUserNodeClusterIdRequest) ProtoMessage() {} func (x *FindUserNodeClusterIdRequest) ProtoReflect() protoreflect.Message { mi := &file_service_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 FindUserNodeClusterIdRequest.ProtoReflect.Descriptor instead. func (*FindUserNodeClusterIdRequest) Descriptor() ([]byte, []int) { return file_service_user_proto_rawDescGZIP(), []int{20} } func (x *FindUserNodeClusterIdRequest) GetUserId() int64 { if x != nil { return x.UserId } return 0 } type FindUserNodeClusterIdResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields NodeClusterId int64 `protobuf:"varint,1,opt,name=nodeClusterId,proto3" json:"nodeClusterId,omitempty"` } func (x *FindUserNodeClusterIdResponse) Reset() { *x = FindUserNodeClusterIdResponse{} if protoimpl.UnsafeEnabled { mi := &file_service_user_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FindUserNodeClusterIdResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*FindUserNodeClusterIdResponse) ProtoMessage() {} func (x *FindUserNodeClusterIdResponse) ProtoReflect() protoreflect.Message { mi := &file_service_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 FindUserNodeClusterIdResponse.ProtoReflect.Descriptor instead. func (*FindUserNodeClusterIdResponse) Descriptor() ([]byte, []int) { return file_service_user_proto_rawDescGZIP(), []int{21} } func (x *FindUserNodeClusterIdResponse) GetNodeClusterId() int64 { if x != nil { return x.NodeClusterId } return 0 } // 设置单个用户能使用的功能 type UpdateUserFeaturesRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields UserId int64 `protobuf:"varint,1,opt,name=userId,proto3" json:"userId,omitempty"` FeatureCodes []string `protobuf:"bytes,2,rep,name=featureCodes,proto3" json:"featureCodes,omitempty"` } func (x *UpdateUserFeaturesRequest) Reset() { *x = UpdateUserFeaturesRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_user_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpdateUserFeaturesRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpdateUserFeaturesRequest) ProtoMessage() {} func (x *UpdateUserFeaturesRequest) ProtoReflect() protoreflect.Message { mi := &file_service_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 UpdateUserFeaturesRequest.ProtoReflect.Descriptor instead. func (*UpdateUserFeaturesRequest) Descriptor() ([]byte, []int) { return file_service_user_proto_rawDescGZIP(), []int{22} } func (x *UpdateUserFeaturesRequest) GetUserId() int64 { if x != nil { return x.UserId } return 0 } func (x *UpdateUserFeaturesRequest) GetFeatureCodes() []string { if x != nil { return x.FeatureCodes } return nil } // 设置所有用户能使用的功能 type UpdateAllUsersFeaturesRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields FeatureCodes []string `protobuf:"bytes,1,rep,name=featureCodes,proto3" json:"featureCodes,omitempty"` Overwrite bool `protobuf:"varint,2,opt,name=overwrite,proto3" json:"overwrite,omitempty"` } func (x *UpdateAllUsersFeaturesRequest) Reset() { *x = UpdateAllUsersFeaturesRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_user_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpdateAllUsersFeaturesRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpdateAllUsersFeaturesRequest) ProtoMessage() {} func (x *UpdateAllUsersFeaturesRequest) ProtoReflect() protoreflect.Message { mi := &file_service_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 UpdateAllUsersFeaturesRequest.ProtoReflect.Descriptor instead. func (*UpdateAllUsersFeaturesRequest) Descriptor() ([]byte, []int) { return file_service_user_proto_rawDescGZIP(), []int{23} } func (x *UpdateAllUsersFeaturesRequest) GetFeatureCodes() []string { if x != nil { return x.FeatureCodes } return nil } func (x *UpdateAllUsersFeaturesRequest) GetOverwrite() bool { if x != nil { return x.Overwrite } return false } // 获取用户所有的功能列表 type FindUserFeaturesRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields UserId int64 `protobuf:"varint,1,opt,name=userId,proto3" json:"userId,omitempty"` } func (x *FindUserFeaturesRequest) Reset() { *x = FindUserFeaturesRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_user_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FindUserFeaturesRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*FindUserFeaturesRequest) ProtoMessage() {} func (x *FindUserFeaturesRequest) ProtoReflect() protoreflect.Message { mi := &file_service_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 FindUserFeaturesRequest.ProtoReflect.Descriptor instead. func (*FindUserFeaturesRequest) Descriptor() ([]byte, []int) { return file_service_user_proto_rawDescGZIP(), []int{24} } func (x *FindUserFeaturesRequest) GetUserId() int64 { if x != nil { return x.UserId } return 0 } type FindUserFeaturesResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Features []*UserFeature `protobuf:"bytes,1,rep,name=features,proto3" json:"features,omitempty"` } func (x *FindUserFeaturesResponse) Reset() { *x = FindUserFeaturesResponse{} if protoimpl.UnsafeEnabled { mi := &file_service_user_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FindUserFeaturesResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*FindUserFeaturesResponse) ProtoMessage() {} func (x *FindUserFeaturesResponse) ProtoReflect() protoreflect.Message { mi := &file_service_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 FindUserFeaturesResponse.ProtoReflect.Descriptor instead. func (*FindUserFeaturesResponse) Descriptor() ([]byte, []int) { return file_service_user_proto_rawDescGZIP(), []int{25} } func (x *FindUserFeaturesResponse) GetFeatures() []*UserFeature { if x != nil { return x.Features } return nil } // 获取所有的功能定义 type FindAllUserFeatureDefinitionsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *FindAllUserFeatureDefinitionsRequest) Reset() { *x = FindAllUserFeatureDefinitionsRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_user_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FindAllUserFeatureDefinitionsRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*FindAllUserFeatureDefinitionsRequest) ProtoMessage() {} func (x *FindAllUserFeatureDefinitionsRequest) ProtoReflect() protoreflect.Message { mi := &file_service_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 FindAllUserFeatureDefinitionsRequest.ProtoReflect.Descriptor instead. func (*FindAllUserFeatureDefinitionsRequest) Descriptor() ([]byte, []int) { return file_service_user_proto_rawDescGZIP(), []int{26} } type FindAllUserFeatureDefinitionsResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Features []*UserFeature `protobuf:"bytes,1,rep,name=features,proto3" json:"features,omitempty"` } func (x *FindAllUserFeatureDefinitionsResponse) Reset() { *x = FindAllUserFeatureDefinitionsResponse{} if protoimpl.UnsafeEnabled { mi := &file_service_user_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FindAllUserFeatureDefinitionsResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*FindAllUserFeatureDefinitionsResponse) ProtoMessage() {} func (x *FindAllUserFeatureDefinitionsResponse) ProtoReflect() protoreflect.Message { mi := &file_service_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 FindAllUserFeatureDefinitionsResponse.ProtoReflect.Descriptor instead. func (*FindAllUserFeatureDefinitionsResponse) Descriptor() ([]byte, []int) { return file_service_user_proto_rawDescGZIP(), []int{27} } func (x *FindAllUserFeatureDefinitionsResponse) GetFeatures() []*UserFeature { if x != nil { return x.Features } return nil } // 组合看板数据 type ComposeUserGlobalBoardRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *ComposeUserGlobalBoardRequest) Reset() { *x = ComposeUserGlobalBoardRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_user_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ComposeUserGlobalBoardRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ComposeUserGlobalBoardRequest) ProtoMessage() {} func (x *ComposeUserGlobalBoardRequest) ProtoReflect() protoreflect.Message { mi := &file_service_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 ComposeUserGlobalBoardRequest.ProtoReflect.Descriptor instead. func (*ComposeUserGlobalBoardRequest) Descriptor() ([]byte, []int) { return file_service_user_proto_rawDescGZIP(), []int{28} } type ComposeUserGlobalBoardResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields TotalUsers int64 `protobuf:"varint,1,opt,name=totalUsers,proto3" json:"totalUsers,omitempty"` CountTodayUsers int64 `protobuf:"varint,2,opt,name=countTodayUsers,proto3" json:"countTodayUsers,omitempty"` CountWeeklyUsers int64 `protobuf:"varint,3,opt,name=countWeeklyUsers,proto3" json:"countWeeklyUsers,omitempty"` CountUserNodes int64 `protobuf:"varint,4,opt,name=countUserNodes,proto3" json:"countUserNodes,omitempty"` CountOfflineUserNodes int64 `protobuf:"varint,5,opt,name=countOfflineUserNodes,proto3" json:"countOfflineUserNodes,omitempty"` CountVerifyingUsers int64 `protobuf:"varint,6,opt,name=countVerifyingUsers,proto3" json:"countVerifyingUsers,omitempty"` DailyStats []*ComposeUserGlobalBoardResponse_DailyStat `protobuf:"bytes,30,rep,name=dailyStats,proto3" json:"dailyStats,omitempty"` CpuNodeValues []*NodeValue `protobuf:"bytes,31,rep,name=cpuNodeValues,proto3" json:"cpuNodeValues,omitempty"` MemoryNodeValues []*NodeValue `protobuf:"bytes,32,rep,name=memoryNodeValues,proto3" json:"memoryNodeValues,omitempty"` LoadNodeValues []*NodeValue `protobuf:"bytes,33,rep,name=loadNodeValues,proto3" json:"loadNodeValues,omitempty"` TopTrafficStats []*ComposeUserGlobalBoardResponse_TrafficStat `protobuf:"bytes,34,rep,name=topTrafficStats,proto3" json:"topTrafficStats,omitempty"` } func (x *ComposeUserGlobalBoardResponse) Reset() { *x = ComposeUserGlobalBoardResponse{} if protoimpl.UnsafeEnabled { mi := &file_service_user_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ComposeUserGlobalBoardResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*ComposeUserGlobalBoardResponse) ProtoMessage() {} func (x *ComposeUserGlobalBoardResponse) ProtoReflect() protoreflect.Message { mi := &file_service_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 ComposeUserGlobalBoardResponse.ProtoReflect.Descriptor instead. func (*ComposeUserGlobalBoardResponse) Descriptor() ([]byte, []int) { return file_service_user_proto_rawDescGZIP(), []int{29} } func (x *ComposeUserGlobalBoardResponse) GetTotalUsers() int64 { if x != nil { return x.TotalUsers } return 0 } func (x *ComposeUserGlobalBoardResponse) GetCountTodayUsers() int64 { if x != nil { return x.CountTodayUsers } return 0 } func (x *ComposeUserGlobalBoardResponse) GetCountWeeklyUsers() int64 { if x != nil { return x.CountWeeklyUsers } return 0 } func (x *ComposeUserGlobalBoardResponse) GetCountUserNodes() int64 { if x != nil { return x.CountUserNodes } return 0 } func (x *ComposeUserGlobalBoardResponse) GetCountOfflineUserNodes() int64 { if x != nil { return x.CountOfflineUserNodes } return 0 } func (x *ComposeUserGlobalBoardResponse) GetCountVerifyingUsers() int64 { if x != nil { return x.CountVerifyingUsers } return 0 } func (x *ComposeUserGlobalBoardResponse) GetDailyStats() []*ComposeUserGlobalBoardResponse_DailyStat { if x != nil { return x.DailyStats } return nil } func (x *ComposeUserGlobalBoardResponse) GetCpuNodeValues() []*NodeValue { if x != nil { return x.CpuNodeValues } return nil } func (x *ComposeUserGlobalBoardResponse) GetMemoryNodeValues() []*NodeValue { if x != nil { return x.MemoryNodeValues } return nil } func (x *ComposeUserGlobalBoardResponse) GetLoadNodeValues() []*NodeValue { if x != nil { return x.LoadNodeValues } return nil } func (x *ComposeUserGlobalBoardResponse) GetTopTrafficStats() []*ComposeUserGlobalBoardResponse_TrafficStat { if x != nil { return x.TopTrafficStats } return nil } // 根据用户名检查是否需要输入OTP type CheckUserOTPWithUsernameRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Username string `protobuf:"bytes,1,opt,name=username,proto3" json:"username,omitempty"` } func (x *CheckUserOTPWithUsernameRequest) Reset() { *x = CheckUserOTPWithUsernameRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_user_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CheckUserOTPWithUsernameRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*CheckUserOTPWithUsernameRequest) ProtoMessage() {} func (x *CheckUserOTPWithUsernameRequest) ProtoReflect() protoreflect.Message { mi := &file_service_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 CheckUserOTPWithUsernameRequest.ProtoReflect.Descriptor instead. func (*CheckUserOTPWithUsernameRequest) Descriptor() ([]byte, []int) { return file_service_user_proto_rawDescGZIP(), []int{30} } func (x *CheckUserOTPWithUsernameRequest) GetUsername() string { if x != nil { return x.Username } return "" } type CheckUserOTPWithUsernameResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields RequireOTP bool `protobuf:"varint,1,opt,name=requireOTP,proto3" json:"requireOTP,omitempty"` } func (x *CheckUserOTPWithUsernameResponse) Reset() { *x = CheckUserOTPWithUsernameResponse{} if protoimpl.UnsafeEnabled { mi := &file_service_user_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CheckUserOTPWithUsernameResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*CheckUserOTPWithUsernameResponse) ProtoMessage() {} func (x *CheckUserOTPWithUsernameResponse) ProtoReflect() protoreflect.Message { mi := &file_service_user_proto_msgTypes[31] 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 CheckUserOTPWithUsernameResponse.ProtoReflect.Descriptor instead. func (*CheckUserOTPWithUsernameResponse) Descriptor() ([]byte, []int) { return file_service_user_proto_rawDescGZIP(), []int{31} } func (x *CheckUserOTPWithUsernameResponse) GetRequireOTP() bool { if x != nil { return x.RequireOTP } return false } // 读取用户计费信息 type FindUserPriceInfoRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields UserId int64 `protobuf:"varint,1,opt,name=userId,proto3" json:"userId,omitempty"` } func (x *FindUserPriceInfoRequest) Reset() { *x = FindUserPriceInfoRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_user_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FindUserPriceInfoRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*FindUserPriceInfoRequest) ProtoMessage() {} func (x *FindUserPriceInfoRequest) ProtoReflect() protoreflect.Message { mi := &file_service_user_proto_msgTypes[32] 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 FindUserPriceInfoRequest.ProtoReflect.Descriptor instead. func (*FindUserPriceInfoRequest) Descriptor() ([]byte, []int) { return file_service_user_proto_rawDescGZIP(), []int{32} } func (x *FindUserPriceInfoRequest) GetUserId() int64 { if x != nil { return x.UserId } return 0 } type FindUserPriceInfoResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields PriceType string `protobuf:"bytes,1,opt,name=priceType,proto3" json:"priceType,omitempty"` PricePeriod string `protobuf:"bytes,2,opt,name=pricePeriod,proto3" json:"pricePeriod,omitempty"` } func (x *FindUserPriceInfoResponse) Reset() { *x = FindUserPriceInfoResponse{} if protoimpl.UnsafeEnabled { mi := &file_service_user_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FindUserPriceInfoResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*FindUserPriceInfoResponse) ProtoMessage() {} func (x *FindUserPriceInfoResponse) ProtoReflect() protoreflect.Message { mi := &file_service_user_proto_msgTypes[33] 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 FindUserPriceInfoResponse.ProtoReflect.Descriptor instead. func (*FindUserPriceInfoResponse) Descriptor() ([]byte, []int) { return file_service_user_proto_rawDescGZIP(), []int{33} } func (x *FindUserPriceInfoResponse) GetPriceType() string { if x != nil { return x.PriceType } return "" } func (x *FindUserPriceInfoResponse) GetPricePeriod() string { if x != nil { return x.PricePeriod } return "" } // 修改用户计费方式 type UpdateUserPriceTypeRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields UserId int64 `protobuf:"varint,1,opt,name=userId,proto3" json:"userId,omitempty"` PriceType string `protobuf:"bytes,2,opt,name=priceType,proto3" json:"priceType,omitempty"` } func (x *UpdateUserPriceTypeRequest) Reset() { *x = UpdateUserPriceTypeRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_user_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpdateUserPriceTypeRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpdateUserPriceTypeRequest) ProtoMessage() {} func (x *UpdateUserPriceTypeRequest) ProtoReflect() protoreflect.Message { mi := &file_service_user_proto_msgTypes[34] 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 UpdateUserPriceTypeRequest.ProtoReflect.Descriptor instead. func (*UpdateUserPriceTypeRequest) Descriptor() ([]byte, []int) { return file_service_user_proto_rawDescGZIP(), []int{34} } func (x *UpdateUserPriceTypeRequest) GetUserId() int64 { if x != nil { return x.UserId } return 0 } func (x *UpdateUserPriceTypeRequest) GetPriceType() string { if x != nil { return x.PriceType } return "" } // 修改用户计费周期 type UpdateUserPricePeriodRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields UserId int64 `protobuf:"varint,1,opt,name=userId,proto3" json:"userId,omitempty"` PricePeriod string `protobuf:"bytes,2,opt,name=pricePeriod,proto3" json:"pricePeriod,omitempty"` } func (x *UpdateUserPricePeriodRequest) Reset() { *x = UpdateUserPricePeriodRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_user_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpdateUserPricePeriodRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpdateUserPricePeriodRequest) ProtoMessage() {} func (x *UpdateUserPricePeriodRequest) ProtoReflect() protoreflect.Message { mi := &file_service_user_proto_msgTypes[35] 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 UpdateUserPricePeriodRequest.ProtoReflect.Descriptor instead. func (*UpdateUserPricePeriodRequest) Descriptor() ([]byte, []int) { return file_service_user_proto_rawDescGZIP(), []int{35} } func (x *UpdateUserPricePeriodRequest) GetUserId() int64 { if x != nil { return x.UserId } return 0 } func (x *UpdateUserPricePeriodRequest) GetPricePeriod() string { if x != nil { return x.PricePeriod } return "" } // 检查用户服务可用状态 type CheckUserServersStateRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields UserId int64 `protobuf:"varint,1,opt,name=userId,proto3" json:"userId,omitempty"` } func (x *CheckUserServersStateRequest) Reset() { *x = CheckUserServersStateRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_user_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CheckUserServersStateRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*CheckUserServersStateRequest) ProtoMessage() {} func (x *CheckUserServersStateRequest) ProtoReflect() protoreflect.Message { mi := &file_service_user_proto_msgTypes[36] 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 CheckUserServersStateRequest.ProtoReflect.Descriptor instead. func (*CheckUserServersStateRequest) Descriptor() ([]byte, []int) { return file_service_user_proto_rawDescGZIP(), []int{36} } func (x *CheckUserServersStateRequest) GetUserId() int64 { if x != nil { return x.UserId } return 0 } type CheckUserServersStateResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields IsEnabled bool `protobuf:"varint,1,opt,name=isEnabled,proto3" json:"isEnabled,omitempty"` } func (x *CheckUserServersStateResponse) Reset() { *x = CheckUserServersStateResponse{} if protoimpl.UnsafeEnabled { mi := &file_service_user_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CheckUserServersStateResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*CheckUserServersStateResponse) ProtoMessage() {} func (x *CheckUserServersStateResponse) ProtoReflect() protoreflect.Message { mi := &file_service_user_proto_msgTypes[37] 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 CheckUserServersStateResponse.ProtoReflect.Descriptor instead. func (*CheckUserServersStateResponse) Descriptor() ([]byte, []int) { return file_service_user_proto_rawDescGZIP(), []int{37} } func (x *CheckUserServersStateResponse) GetIsEnabled() bool { if x != nil { return x.IsEnabled } return false } // 更新用户服务可用状态 type RenewUserServersStateRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields UserId int64 `protobuf:"varint,1,opt,name=userId,proto3" json:"userId,omitempty"` } func (x *RenewUserServersStateRequest) Reset() { *x = RenewUserServersStateRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_user_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RenewUserServersStateRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*RenewUserServersStateRequest) ProtoMessage() {} func (x *RenewUserServersStateRequest) ProtoReflect() protoreflect.Message { mi := &file_service_user_proto_msgTypes[38] 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 RenewUserServersStateRequest.ProtoReflect.Descriptor instead. func (*RenewUserServersStateRequest) Descriptor() ([]byte, []int) { return file_service_user_proto_rawDescGZIP(), []int{38} } func (x *RenewUserServersStateRequest) GetUserId() int64 { if x != nil { return x.UserId } return 0 } type RenewUserServersStateResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields IsEnabled bool `protobuf:"varint,1,opt,name=isEnabled,proto3" json:"isEnabled,omitempty"` } func (x *RenewUserServersStateResponse) Reset() { *x = RenewUserServersStateResponse{} if protoimpl.UnsafeEnabled { mi := &file_service_user_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RenewUserServersStateResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*RenewUserServersStateResponse) ProtoMessage() {} func (x *RenewUserServersStateResponse) ProtoReflect() protoreflect.Message { mi := &file_service_user_proto_msgTypes[39] 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 RenewUserServersStateResponse.ProtoReflect.Descriptor instead. func (*RenewUserServersStateResponse) Descriptor() ([]byte, []int) { return file_service_user_proto_rawDescGZIP(), []int{39} } func (x *RenewUserServersStateResponse) GetIsEnabled() bool { if x != nil { return x.IsEnabled } return false } // 检查邮箱是否已被验证 type CheckUserEmailRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Email string `protobuf:"bytes,1,opt,name=email,proto3" json:"email,omitempty"` // 邮箱地址 } func (x *CheckUserEmailRequest) Reset() { *x = CheckUserEmailRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_user_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CheckUserEmailRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*CheckUserEmailRequest) ProtoMessage() {} func (x *CheckUserEmailRequest) ProtoReflect() protoreflect.Message { mi := &file_service_user_proto_msgTypes[40] 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 CheckUserEmailRequest.ProtoReflect.Descriptor instead. func (*CheckUserEmailRequest) Descriptor() ([]byte, []int) { return file_service_user_proto_rawDescGZIP(), []int{40} } func (x *CheckUserEmailRequest) GetEmail() string { if x != nil { return x.Email } return "" } type CheckUserEmailResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Exists bool `protobuf:"varint,1,opt,name=exists,proto3" json:"exists,omitempty"` // 是否已被使用 } func (x *CheckUserEmailResponse) Reset() { *x = CheckUserEmailResponse{} if protoimpl.UnsafeEnabled { mi := &file_service_user_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CheckUserEmailResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*CheckUserEmailResponse) ProtoMessage() {} func (x *CheckUserEmailResponse) ProtoReflect() protoreflect.Message { mi := &file_service_user_proto_msgTypes[41] 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 CheckUserEmailResponse.ProtoReflect.Descriptor instead. func (*CheckUserEmailResponse) Descriptor() ([]byte, []int) { return file_service_user_proto_rawDescGZIP(), []int{41} } func (x *CheckUserEmailResponse) GetExists() bool { if x != nil { return x.Exists } return false } // 检查手机号码是否已被验证 type CheckUserMobileRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Mobile string `protobuf:"bytes,1,opt,name=mobile,proto3" json:"mobile,omitempty"` // 手机号码 } func (x *CheckUserMobileRequest) Reset() { *x = CheckUserMobileRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_user_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CheckUserMobileRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*CheckUserMobileRequest) ProtoMessage() {} func (x *CheckUserMobileRequest) ProtoReflect() protoreflect.Message { mi := &file_service_user_proto_msgTypes[42] 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 CheckUserMobileRequest.ProtoReflect.Descriptor instead. func (*CheckUserMobileRequest) Descriptor() ([]byte, []int) { return file_service_user_proto_rawDescGZIP(), []int{42} } func (x *CheckUserMobileRequest) GetMobile() string { if x != nil { return x.Mobile } return "" } type CheckUserMobileResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Exists bool `protobuf:"varint,1,opt,name=exists,proto3" json:"exists,omitempty"` // 是否已被使用 } func (x *CheckUserMobileResponse) Reset() { *x = CheckUserMobileResponse{} if protoimpl.UnsafeEnabled { mi := &file_service_user_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CheckUserMobileResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*CheckUserMobileResponse) ProtoMessage() {} func (x *CheckUserMobileResponse) ProtoReflect() protoreflect.Message { mi := &file_service_user_proto_msgTypes[43] 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 CheckUserMobileResponse.ProtoReflect.Descriptor instead. func (*CheckUserMobileResponse) Descriptor() ([]byte, []int) { return file_service_user_proto_rawDescGZIP(), []int{43} } func (x *CheckUserMobileResponse) GetExists() bool { if x != nil { return x.Exists } return false } // 根据用户名查询用户绑定的邮箱 type FindUserVerifiedEmailWithUsernameRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Username string `protobuf:"bytes,1,opt,name=username,proto3" json:"username,omitempty"` // 用户名 } func (x *FindUserVerifiedEmailWithUsernameRequest) Reset() { *x = FindUserVerifiedEmailWithUsernameRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_user_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FindUserVerifiedEmailWithUsernameRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*FindUserVerifiedEmailWithUsernameRequest) ProtoMessage() {} func (x *FindUserVerifiedEmailWithUsernameRequest) ProtoReflect() protoreflect.Message { mi := &file_service_user_proto_msgTypes[44] 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 FindUserVerifiedEmailWithUsernameRequest.ProtoReflect.Descriptor instead. func (*FindUserVerifiedEmailWithUsernameRequest) Descriptor() ([]byte, []int) { return file_service_user_proto_rawDescGZIP(), []int{44} } func (x *FindUserVerifiedEmailWithUsernameRequest) GetUsername() string { if x != nil { return x.Username } return "" } type FindUserVerifiedEmailWithUsernameResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Email string `protobuf:"bytes,1,opt,name=email,proto3" json:"email,omitempty"` // 已绑定邮箱地址 } func (x *FindUserVerifiedEmailWithUsernameResponse) Reset() { *x = FindUserVerifiedEmailWithUsernameResponse{} if protoimpl.UnsafeEnabled { mi := &file_service_user_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FindUserVerifiedEmailWithUsernameResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*FindUserVerifiedEmailWithUsernameResponse) ProtoMessage() {} func (x *FindUserVerifiedEmailWithUsernameResponse) ProtoReflect() protoreflect.Message { mi := &file_service_user_proto_msgTypes[45] 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 FindUserVerifiedEmailWithUsernameResponse.ProtoReflect.Descriptor instead. func (*FindUserVerifiedEmailWithUsernameResponse) Descriptor() ([]byte, []int) { return file_service_user_proto_rawDescGZIP(), []int{45} } func (x *FindUserVerifiedEmailWithUsernameResponse) GetEmail() string { if x != nil { return x.Email } return "" } type ComposeUserDashboardResponse_DailyTrafficStat struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Day string `protobuf:"bytes,1,opt,name=day,proto3" json:"day,omitempty"` Bytes int64 `protobuf:"varint,2,opt,name=bytes,proto3" json:"bytes,omitempty"` CachedBytes int64 `protobuf:"varint,3,opt,name=cachedBytes,proto3" json:"cachedBytes,omitempty"` AttackBytes int64 `protobuf:"varint,4,opt,name=attackBytes,proto3" json:"attackBytes,omitempty"` CountRequests int64 `protobuf:"varint,5,opt,name=countRequests,proto3" json:"countRequests,omitempty"` CountCachedRequests int64 `protobuf:"varint,6,opt,name=countCachedRequests,proto3" json:"countCachedRequests,omitempty"` CountAttackRequests int64 `protobuf:"varint,7,opt,name=countAttackRequests,proto3" json:"countAttackRequests,omitempty"` } func (x *ComposeUserDashboardResponse_DailyTrafficStat) Reset() { *x = ComposeUserDashboardResponse_DailyTrafficStat{} if protoimpl.UnsafeEnabled { mi := &file_service_user_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ComposeUserDashboardResponse_DailyTrafficStat) String() string { return protoimpl.X.MessageStringOf(x) } func (*ComposeUserDashboardResponse_DailyTrafficStat) ProtoMessage() {} func (x *ComposeUserDashboardResponse_DailyTrafficStat) ProtoReflect() protoreflect.Message { mi := &file_service_user_proto_msgTypes[46] 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 ComposeUserDashboardResponse_DailyTrafficStat.ProtoReflect.Descriptor instead. func (*ComposeUserDashboardResponse_DailyTrafficStat) Descriptor() ([]byte, []int) { return file_service_user_proto_rawDescGZIP(), []int{19, 0} } func (x *ComposeUserDashboardResponse_DailyTrafficStat) GetDay() string { if x != nil { return x.Day } return "" } func (x *ComposeUserDashboardResponse_DailyTrafficStat) GetBytes() int64 { if x != nil { return x.Bytes } return 0 } func (x *ComposeUserDashboardResponse_DailyTrafficStat) GetCachedBytes() int64 { if x != nil { return x.CachedBytes } return 0 } func (x *ComposeUserDashboardResponse_DailyTrafficStat) GetAttackBytes() int64 { if x != nil { return x.AttackBytes } return 0 } func (x *ComposeUserDashboardResponse_DailyTrafficStat) GetCountRequests() int64 { if x != nil { return x.CountRequests } return 0 } func (x *ComposeUserDashboardResponse_DailyTrafficStat) GetCountCachedRequests() int64 { if x != nil { return x.CountCachedRequests } return 0 } func (x *ComposeUserDashboardResponse_DailyTrafficStat) GetCountAttackRequests() int64 { if x != nil { return x.CountAttackRequests } return 0 } type ComposeUserDashboardResponse_DailyPeekBandwidthStat struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Day string `protobuf:"bytes,1,opt,name=day,proto3" json:"day,omitempty"` Bytes int64 `protobuf:"varint,2,opt,name=bytes,proto3" json:"bytes,omitempty"` } func (x *ComposeUserDashboardResponse_DailyPeekBandwidthStat) Reset() { *x = ComposeUserDashboardResponse_DailyPeekBandwidthStat{} if protoimpl.UnsafeEnabled { mi := &file_service_user_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ComposeUserDashboardResponse_DailyPeekBandwidthStat) String() string { return protoimpl.X.MessageStringOf(x) } func (*ComposeUserDashboardResponse_DailyPeekBandwidthStat) ProtoMessage() {} func (x *ComposeUserDashboardResponse_DailyPeekBandwidthStat) ProtoReflect() protoreflect.Message { mi := &file_service_user_proto_msgTypes[47] 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 ComposeUserDashboardResponse_DailyPeekBandwidthStat.ProtoReflect.Descriptor instead. func (*ComposeUserDashboardResponse_DailyPeekBandwidthStat) Descriptor() ([]byte, []int) { return file_service_user_proto_rawDescGZIP(), []int{19, 1} } func (x *ComposeUserDashboardResponse_DailyPeekBandwidthStat) GetDay() string { if x != nil { return x.Day } return "" } func (x *ComposeUserDashboardResponse_DailyPeekBandwidthStat) GetBytes() int64 { if x != nil { return x.Bytes } return 0 } type ComposeUserGlobalBoardResponse_DailyStat struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Day string `protobuf:"bytes,1,opt,name=day,proto3" json:"day,omitempty"` Count int64 `protobuf:"varint,2,opt,name=count,proto3" json:"count,omitempty"` } func (x *ComposeUserGlobalBoardResponse_DailyStat) Reset() { *x = ComposeUserGlobalBoardResponse_DailyStat{} if protoimpl.UnsafeEnabled { mi := &file_service_user_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ComposeUserGlobalBoardResponse_DailyStat) String() string { return protoimpl.X.MessageStringOf(x) } func (*ComposeUserGlobalBoardResponse_DailyStat) ProtoMessage() {} func (x *ComposeUserGlobalBoardResponse_DailyStat) ProtoReflect() protoreflect.Message { mi := &file_service_user_proto_msgTypes[48] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ComposeUserGlobalBoardResponse_DailyStat.ProtoReflect.Descriptor instead. func (*ComposeUserGlobalBoardResponse_DailyStat) Descriptor() ([]byte, []int) { return file_service_user_proto_rawDescGZIP(), []int{29, 0} } func (x *ComposeUserGlobalBoardResponse_DailyStat) GetDay() string { if x != nil { return x.Day } return "" } func (x *ComposeUserGlobalBoardResponse_DailyStat) GetCount() int64 { if x != nil { return x.Count } return 0 } type ComposeUserGlobalBoardResponse_TrafficStat struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields UserId int64 `protobuf:"varint,1,opt,name=userId,proto3" json:"userId,omitempty"` UserName string `protobuf:"bytes,2,opt,name=userName,proto3" json:"userName,omitempty"` CountRequests int64 `protobuf:"varint,3,opt,name=countRequests,proto3" json:"countRequests,omitempty"` Bytes int64 `protobuf:"varint,4,opt,name=bytes,proto3" json:"bytes,omitempty"` } func (x *ComposeUserGlobalBoardResponse_TrafficStat) Reset() { *x = ComposeUserGlobalBoardResponse_TrafficStat{} if protoimpl.UnsafeEnabled { mi := &file_service_user_proto_msgTypes[49] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ComposeUserGlobalBoardResponse_TrafficStat) String() string { return protoimpl.X.MessageStringOf(x) } func (*ComposeUserGlobalBoardResponse_TrafficStat) ProtoMessage() {} func (x *ComposeUserGlobalBoardResponse_TrafficStat) ProtoReflect() protoreflect.Message { mi := &file_service_user_proto_msgTypes[49] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ComposeUserGlobalBoardResponse_TrafficStat.ProtoReflect.Descriptor instead. func (*ComposeUserGlobalBoardResponse_TrafficStat) Descriptor() ([]byte, []int) { return file_service_user_proto_rawDescGZIP(), []int{29, 1} } func (x *ComposeUserGlobalBoardResponse_TrafficStat) GetUserId() int64 { if x != nil { return x.UserId } return 0 } func (x *ComposeUserGlobalBoardResponse_TrafficStat) GetUserName() string { if x != nil { return x.UserName } return "" } func (x *ComposeUserGlobalBoardResponse_TrafficStat) GetCountRequests() int64 { if x != nil { return x.CountRequests } return 0 } func (x *ComposeUserGlobalBoardResponse_TrafficStat) GetBytes() int64 { if x != nil { return x.Bytes } return 0 } var File_service_user_proto protoreflect.FileDescriptor var file_service_user_proto_rawDesc = []byte{ 0x0a, 0x12, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x1a, 0x19, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x72, 0x70, 0x63, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xfd, 0x01, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x75, 0x6c, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x75, 0x6c, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x65, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x74, 0x65, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x22, 0x2c, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, 0xbf, 0x01, 0x0a, 0x13, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x75, 0x6c, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x75, 0x6c, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x6a, 0x0a, 0x14, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x3a, 0x0a, 0x18, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x6f, 0x0a, 0x11, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x73, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0xb7, 0x02, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x75, 0x6c, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x75, 0x6c, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x65, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x74, 0x65, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x12, 0x24, 0x0a, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x62, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x41, 0x6c, 0x67, 0x6f, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x62, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x41, 0x6c, 0x67, 0x6f, 0x22, 0x2b, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, 0x59, 0x0a, 0x1b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x73, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x69, 0x6e, 0x67, 0x22, 0x81, 0x01, 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x73, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x69, 0x6e, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x69, 0x6e, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x22, 0x3a, 0x0a, 0x18, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1e, 0x0a, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x22, 0x30, 0x0a, 0x16, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, 0x37, 0x0a, 0x17, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x22, 0x4e, 0x0a, 0x18, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x33, 0x0a, 0x19, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x22, 0x4a, 0x0a, 0x10, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x22, 0x59, 0x0a, 0x11, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x73, 0x4f, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x4f, 0x6b, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x79, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x75, 0x6c, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x75, 0x6c, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x22, 0x68, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x22, 0x35, 0x0a, 0x1b, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x55, 0x73, 0x65, 0x72, 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, 0xa7, 0x07, 0x0a, 0x1c, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x55, 0x73, 0x65, 0x72, 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x12, 0x30, 0x0a, 0x13, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x42, 0x79, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x13, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x3c, 0x0a, 0x19, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x50, 0x65, 0x65, 0x6b, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x42, 0x79, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x19, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x50, 0x65, 0x65, 0x6b, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x2c, 0x0a, 0x11, 0x64, 0x61, 0x69, 0x6c, 0x79, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x42, 0x79, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x64, 0x61, 0x69, 0x6c, 0x79, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x38, 0x0a, 0x17, 0x64, 0x61, 0x69, 0x6c, 0x79, 0x50, 0x65, 0x65, 0x6b, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x42, 0x79, 0x74, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x17, 0x64, 0x61, 0x69, 0x6c, 0x79, 0x50, 0x65, 0x65, 0x6b, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x5f, 0x0a, 0x11, 0x64, 0x61, 0x69, 0x6c, 0x79, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x55, 0x73, 0x65, 0x72, 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x52, 0x11, 0x64, 0x61, 0x69, 0x6c, 0x79, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x71, 0x0a, 0x17, 0x64, 0x61, 0x69, 0x6c, 0x79, 0x50, 0x65, 0x65, 0x6b, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x55, 0x73, 0x65, 0x72, 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x50, 0x65, 0x65, 0x6b, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x52, 0x17, 0x64, 0x61, 0x69, 0x6c, 0x79, 0x50, 0x65, 0x65, 0x6b, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x30, 0x0a, 0x13, 0x62, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, 0x62, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x12, 0x38, 0x0a, 0x17, 0x62, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x42, 0x69, 0x74, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x17, 0x62, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x42, 0x69, 0x74, 0x73, 0x1a, 0x88, 0x02, 0x0a, 0x10, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x64, 0x61, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x64, 0x61, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x61, 0x63, 0x68, 0x65, 0x64, 0x42, 0x79, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x63, 0x61, 0x63, 0x68, 0x65, 0x64, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x42, 0x79, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x30, 0x0a, 0x13, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x13, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x30, 0x0a, 0x13, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x13, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x1a, 0x40, 0x0a, 0x16, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x50, 0x65, 0x65, 0x6b, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x64, 0x61, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x64, 0x61, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x22, 0x36, 0x0a, 0x1c, 0x46, 0x69, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, 0x45, 0x0a, 0x1d, 0x46, 0x69, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x22, 0x57, 0x0a, 0x19, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x22, 0x61, 0x0a, 0x1d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x6c, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x73, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x72, 0x69, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x72, 0x69, 0x74, 0x65, 0x22, 0x31, 0x0a, 0x17, 0x46, 0x69, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, 0x47, 0x0a, 0x18, 0x46, 0x69, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2b, 0x0a, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x22, 0x26, 0x0a, 0x24, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x54, 0x0a, 0x25, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2b, 0x0a, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x22, 0x1f, 0x0a, 0x1d, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x55, 0x73, 0x65, 0x72, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xa9, 0x06, 0x0a, 0x1e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x55, 0x73, 0x65, 0x72, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x73, 0x12, 0x28, 0x0a, 0x0f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x6f, 0x64, 0x61, 0x79, 0x55, 0x73, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x6f, 0x64, 0x61, 0x79, 0x55, 0x73, 0x65, 0x72, 0x73, 0x12, 0x2a, 0x0a, 0x10, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x57, 0x65, 0x65, 0x6b, 0x6c, 0x79, 0x55, 0x73, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x57, 0x65, 0x65, 0x6b, 0x6c, 0x79, 0x55, 0x73, 0x65, 0x72, 0x73, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x34, 0x0a, 0x15, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x15, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x30, 0x0a, 0x13, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x69, 0x6e, 0x67, 0x55, 0x73, 0x65, 0x72, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x13, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x69, 0x6e, 0x67, 0x55, 0x73, 0x65, 0x72, 0x73, 0x12, 0x4c, 0x0a, 0x0a, 0x64, 0x61, 0x69, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x18, 0x1e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x55, 0x73, 0x65, 0x72, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x74, 0x52, 0x0a, 0x64, 0x61, 0x69, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x33, 0x0a, 0x0d, 0x63, 0x70, 0x75, 0x4e, 0x6f, 0x64, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x1f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0d, 0x63, 0x70, 0x75, 0x4e, 0x6f, 0x64, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x39, 0x0a, 0x10, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x4e, 0x6f, 0x64, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x20, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x10, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x4e, 0x6f, 0x64, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x35, 0x0a, 0x0e, 0x6c, 0x6f, 0x61, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x21, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0e, 0x6c, 0x6f, 0x61, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x58, 0x0a, 0x0f, 0x74, 0x6f, 0x70, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x73, 0x18, 0x22, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x55, 0x73, 0x65, 0x72, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x52, 0x0f, 0x74, 0x6f, 0x70, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x73, 0x1a, 0x33, 0x0a, 0x09, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x64, 0x61, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x64, 0x61, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x1a, 0x7d, 0x0a, 0x0b, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x22, 0x3d, 0x0a, 0x1f, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x4f, 0x54, 0x50, 0x57, 0x69, 0x74, 0x68, 0x55, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x42, 0x0a, 0x20, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x4f, 0x54, 0x50, 0x57, 0x69, 0x74, 0x68, 0x55, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x4f, 0x54, 0x50, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x4f, 0x54, 0x50, 0x22, 0x32, 0x0a, 0x18, 0x46, 0x69, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x50, 0x72, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, 0x5b, 0x0a, 0x19, 0x46, 0x69, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x50, 0x72, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x72, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x72, 0x69, 0x63, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x69, 0x63, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x22, 0x52, 0x0a, 0x1a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x50, 0x72, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x72, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x22, 0x58, 0x0a, 0x1c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x50, 0x72, 0x69, 0x63, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x72, 0x69, 0x63, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x69, 0x63, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x22, 0x36, 0x0a, 0x1c, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, 0x3d, 0x0a, 0x1d, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0x36, 0x0a, 0x1c, 0x52, 0x65, 0x6e, 0x65, 0x77, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, 0x3d, 0x0a, 0x1d, 0x52, 0x65, 0x6e, 0x65, 0x77, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0x2d, 0x0a, 0x15, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x22, 0x30, 0x0a, 0x16, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x22, 0x30, 0x0a, 0x16, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x22, 0x31, 0x0a, 0x17, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x22, 0x46, 0x0a, 0x28, 0x46, 0x69, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x57, 0x69, 0x74, 0x68, 0x55, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x41, 0x0a, 0x29, 0x46, 0x69, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x57, 0x69, 0x74, 0x68, 0x55, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x32, 0xae, 0x11, 0x0a, 0x0b, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x3b, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x12, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x0c, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x12, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x33, 0x0a, 0x0a, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x55, 0x73, 0x65, 0x72, 0x12, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x33, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x12, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x33, 0x0a, 0x0a, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x12, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x4d, 0x0a, 0x14, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x73, 0x12, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x10, 0x6c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x73, 0x12, 0x1b, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x0f, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x12, 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, 0x11, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x09, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x55, 0x73, 0x65, 0x72, 0x12, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x0e, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x3d, 0x0a, 0x0f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x12, 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x59, 0x0a, 0x14, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x55, 0x73, 0x65, 0x72, 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x12, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x55, 0x73, 0x65, 0x72, 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x55, 0x73, 0x65, 0x72, 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x15, 0x66, 0x69, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x12, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x4b, 0x0a, 0x16, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x6c, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x73, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x6c, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x73, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x4d, 0x0a, 0x10, 0x66, 0x69, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x1b, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x74, 0x0a, 0x1d, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x28, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x55, 0x73, 0x65, 0x72, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x12, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x55, 0x73, 0x65, 0x72, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x55, 0x73, 0x65, 0x72, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x18, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x4f, 0x54, 0x50, 0x57, 0x69, 0x74, 0x68, 0x55, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x4f, 0x54, 0x50, 0x57, 0x69, 0x74, 0x68, 0x55, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x4f, 0x54, 0x50, 0x57, 0x69, 0x74, 0x68, 0x55, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, 0x11, 0x66, 0x69, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x50, 0x72, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x50, 0x72, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x50, 0x72, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x13, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x50, 0x72, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x50, 0x72, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x49, 0x0a, 0x15, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x50, 0x72, 0x69, 0x63, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x12, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x50, 0x72, 0x69, 0x63, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x5c, 0x0a, 0x15, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x15, 0x72, 0x65, 0x6e, 0x65, 0x77, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x6e, 0x65, 0x77, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x6e, 0x65, 0x77, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x0e, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x0f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x12, 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x80, 0x01, 0x0a, 0x21, 0x66, 0x69, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x57, 0x69, 0x74, 0x68, 0x55, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2c, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x57, 0x69, 0x74, 0x68, 0x55, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x57, 0x69, 0x74, 0x68, 0x55, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_service_user_proto_rawDescOnce sync.Once file_service_user_proto_rawDescData = file_service_user_proto_rawDesc ) func file_service_user_proto_rawDescGZIP() []byte { file_service_user_proto_rawDescOnce.Do(func() { file_service_user_proto_rawDescData = protoimpl.X.CompressGZIP(file_service_user_proto_rawDescData) }) return file_service_user_proto_rawDescData } var file_service_user_proto_msgTypes = make([]protoimpl.MessageInfo, 50) var file_service_user_proto_goTypes = []interface{}{ (*CreateUserRequest)(nil), // 0: pb.CreateUserRequest (*CreateUserResponse)(nil), // 1: pb.CreateUserResponse (*RegisterUserRequest)(nil), // 2: pb.RegisterUserRequest (*RegisterUserResponse)(nil), // 3: pb.RegisterUserResponse (*VerifyUserRequest)(nil), // 4: pb.VerifyUserRequest (*UpdateUserRequest)(nil), // 5: pb.UpdateUserRequest (*DeleteUserRequest)(nil), // 6: pb.DeleteUserRequest (*CountAllEnabledUsersRequest)(nil), // 7: pb.CountAllEnabledUsersRequest (*ListEnabledUsersRequest)(nil), // 8: pb.ListEnabledUsersRequest (*ListEnabledUsersResponse)(nil), // 9: pb.ListEnabledUsersResponse (*FindEnabledUserRequest)(nil), // 10: pb.FindEnabledUserRequest (*FindEnabledUserResponse)(nil), // 11: pb.FindEnabledUserResponse (*CheckUserUsernameRequest)(nil), // 12: pb.CheckUserUsernameRequest (*CheckUserUsernameResponse)(nil), // 13: pb.CheckUserUsernameResponse (*LoginUserRequest)(nil), // 14: pb.LoginUserRequest (*LoginUserResponse)(nil), // 15: pb.LoginUserResponse (*UpdateUserInfoRequest)(nil), // 16: pb.UpdateUserInfoRequest (*UpdateUserLoginRequest)(nil), // 17: pb.UpdateUserLoginRequest (*ComposeUserDashboardRequest)(nil), // 18: pb.ComposeUserDashboardRequest (*ComposeUserDashboardResponse)(nil), // 19: pb.ComposeUserDashboardResponse (*FindUserNodeClusterIdRequest)(nil), // 20: pb.FindUserNodeClusterIdRequest (*FindUserNodeClusterIdResponse)(nil), // 21: pb.FindUserNodeClusterIdResponse (*UpdateUserFeaturesRequest)(nil), // 22: pb.UpdateUserFeaturesRequest (*UpdateAllUsersFeaturesRequest)(nil), // 23: pb.UpdateAllUsersFeaturesRequest (*FindUserFeaturesRequest)(nil), // 24: pb.FindUserFeaturesRequest (*FindUserFeaturesResponse)(nil), // 25: pb.FindUserFeaturesResponse (*FindAllUserFeatureDefinitionsRequest)(nil), // 26: pb.FindAllUserFeatureDefinitionsRequest (*FindAllUserFeatureDefinitionsResponse)(nil), // 27: pb.FindAllUserFeatureDefinitionsResponse (*ComposeUserGlobalBoardRequest)(nil), // 28: pb.ComposeUserGlobalBoardRequest (*ComposeUserGlobalBoardResponse)(nil), // 29: pb.ComposeUserGlobalBoardResponse (*CheckUserOTPWithUsernameRequest)(nil), // 30: pb.CheckUserOTPWithUsernameRequest (*CheckUserOTPWithUsernameResponse)(nil), // 31: pb.CheckUserOTPWithUsernameResponse (*FindUserPriceInfoRequest)(nil), // 32: pb.FindUserPriceInfoRequest (*FindUserPriceInfoResponse)(nil), // 33: pb.FindUserPriceInfoResponse (*UpdateUserPriceTypeRequest)(nil), // 34: pb.UpdateUserPriceTypeRequest (*UpdateUserPricePeriodRequest)(nil), // 35: pb.UpdateUserPricePeriodRequest (*CheckUserServersStateRequest)(nil), // 36: pb.CheckUserServersStateRequest (*CheckUserServersStateResponse)(nil), // 37: pb.CheckUserServersStateResponse (*RenewUserServersStateRequest)(nil), // 38: pb.RenewUserServersStateRequest (*RenewUserServersStateResponse)(nil), // 39: pb.RenewUserServersStateResponse (*CheckUserEmailRequest)(nil), // 40: pb.CheckUserEmailRequest (*CheckUserEmailResponse)(nil), // 41: pb.CheckUserEmailResponse (*CheckUserMobileRequest)(nil), // 42: pb.CheckUserMobileRequest (*CheckUserMobileResponse)(nil), // 43: pb.CheckUserMobileResponse (*FindUserVerifiedEmailWithUsernameRequest)(nil), // 44: pb.FindUserVerifiedEmailWithUsernameRequest (*FindUserVerifiedEmailWithUsernameResponse)(nil), // 45: pb.FindUserVerifiedEmailWithUsernameResponse (*ComposeUserDashboardResponse_DailyTrafficStat)(nil), // 46: pb.ComposeUserDashboardResponse.DailyTrafficStat (*ComposeUserDashboardResponse_DailyPeekBandwidthStat)(nil), // 47: pb.ComposeUserDashboardResponse.DailyPeekBandwidthStat (*ComposeUserGlobalBoardResponse_DailyStat)(nil), // 48: pb.ComposeUserGlobalBoardResponse.DailyStat (*ComposeUserGlobalBoardResponse_TrafficStat)(nil), // 49: pb.ComposeUserGlobalBoardResponse.TrafficStat (*User)(nil), // 50: pb.User (*UserFeature)(nil), // 51: pb.UserFeature (*NodeValue)(nil), // 52: pb.NodeValue (*RPCSuccess)(nil), // 53: pb.RPCSuccess (*RPCCountResponse)(nil), // 54: pb.RPCCountResponse } var file_service_user_proto_depIdxs = []int32{ 50, // 0: pb.ListEnabledUsersResponse.users:type_name -> pb.User 50, // 1: pb.FindEnabledUserResponse.user:type_name -> pb.User 46, // 2: pb.ComposeUserDashboardResponse.dailyTrafficStats:type_name -> pb.ComposeUserDashboardResponse.DailyTrafficStat 47, // 3: pb.ComposeUserDashboardResponse.dailyPeekBandwidthStats:type_name -> pb.ComposeUserDashboardResponse.DailyPeekBandwidthStat 51, // 4: pb.FindUserFeaturesResponse.features:type_name -> pb.UserFeature 51, // 5: pb.FindAllUserFeatureDefinitionsResponse.features:type_name -> pb.UserFeature 48, // 6: pb.ComposeUserGlobalBoardResponse.dailyStats:type_name -> pb.ComposeUserGlobalBoardResponse.DailyStat 52, // 7: pb.ComposeUserGlobalBoardResponse.cpuNodeValues:type_name -> pb.NodeValue 52, // 8: pb.ComposeUserGlobalBoardResponse.memoryNodeValues:type_name -> pb.NodeValue 52, // 9: pb.ComposeUserGlobalBoardResponse.loadNodeValues:type_name -> pb.NodeValue 49, // 10: pb.ComposeUserGlobalBoardResponse.topTrafficStats:type_name -> pb.ComposeUserGlobalBoardResponse.TrafficStat 0, // 11: pb.UserService.createUser:input_type -> pb.CreateUserRequest 2, // 12: pb.UserService.registerUser:input_type -> pb.RegisterUserRequest 4, // 13: pb.UserService.verifyUser:input_type -> pb.VerifyUserRequest 5, // 14: pb.UserService.updateUser:input_type -> pb.UpdateUserRequest 6, // 15: pb.UserService.deleteUser:input_type -> pb.DeleteUserRequest 7, // 16: pb.UserService.countAllEnabledUsers:input_type -> pb.CountAllEnabledUsersRequest 8, // 17: pb.UserService.listEnabledUsers:input_type -> pb.ListEnabledUsersRequest 10, // 18: pb.UserService.findEnabledUser:input_type -> pb.FindEnabledUserRequest 12, // 19: pb.UserService.checkUserUsername:input_type -> pb.CheckUserUsernameRequest 14, // 20: pb.UserService.loginUser:input_type -> pb.LoginUserRequest 16, // 21: pb.UserService.updateUserInfo:input_type -> pb.UpdateUserInfoRequest 17, // 22: pb.UserService.updateUserLogin:input_type -> pb.UpdateUserLoginRequest 18, // 23: pb.UserService.composeUserDashboard:input_type -> pb.ComposeUserDashboardRequest 20, // 24: pb.UserService.findUserNodeClusterId:input_type -> pb.FindUserNodeClusterIdRequest 22, // 25: pb.UserService.updateUserFeatures:input_type -> pb.UpdateUserFeaturesRequest 23, // 26: pb.UserService.updateAllUsersFeatures:input_type -> pb.UpdateAllUsersFeaturesRequest 24, // 27: pb.UserService.findUserFeatures:input_type -> pb.FindUserFeaturesRequest 26, // 28: pb.UserService.findAllUserFeatureDefinitions:input_type -> pb.FindAllUserFeatureDefinitionsRequest 28, // 29: pb.UserService.composeUserGlobalBoard:input_type -> pb.ComposeUserGlobalBoardRequest 30, // 30: pb.UserService.checkUserOTPWithUsername:input_type -> pb.CheckUserOTPWithUsernameRequest 32, // 31: pb.UserService.findUserPriceInfo:input_type -> pb.FindUserPriceInfoRequest 34, // 32: pb.UserService.updateUserPriceType:input_type -> pb.UpdateUserPriceTypeRequest 35, // 33: pb.UserService.updateUserPricePeriod:input_type -> pb.UpdateUserPricePeriodRequest 36, // 34: pb.UserService.checkUserServersState:input_type -> pb.CheckUserServersStateRequest 38, // 35: pb.UserService.renewUserServersState:input_type -> pb.RenewUserServersStateRequest 40, // 36: pb.UserService.checkUserEmail:input_type -> pb.CheckUserEmailRequest 42, // 37: pb.UserService.checkUserMobile:input_type -> pb.CheckUserMobileRequest 44, // 38: pb.UserService.findUserVerifiedEmailWithUsername:input_type -> pb.FindUserVerifiedEmailWithUsernameRequest 1, // 39: pb.UserService.createUser:output_type -> pb.CreateUserResponse 3, // 40: pb.UserService.registerUser:output_type -> pb.RegisterUserResponse 53, // 41: pb.UserService.verifyUser:output_type -> pb.RPCSuccess 53, // 42: pb.UserService.updateUser:output_type -> pb.RPCSuccess 53, // 43: pb.UserService.deleteUser:output_type -> pb.RPCSuccess 54, // 44: pb.UserService.countAllEnabledUsers:output_type -> pb.RPCCountResponse 9, // 45: pb.UserService.listEnabledUsers:output_type -> pb.ListEnabledUsersResponse 11, // 46: pb.UserService.findEnabledUser:output_type -> pb.FindEnabledUserResponse 13, // 47: pb.UserService.checkUserUsername:output_type -> pb.CheckUserUsernameResponse 15, // 48: pb.UserService.loginUser:output_type -> pb.LoginUserResponse 53, // 49: pb.UserService.updateUserInfo:output_type -> pb.RPCSuccess 53, // 50: pb.UserService.updateUserLogin:output_type -> pb.RPCSuccess 19, // 51: pb.UserService.composeUserDashboard:output_type -> pb.ComposeUserDashboardResponse 21, // 52: pb.UserService.findUserNodeClusterId:output_type -> pb.FindUserNodeClusterIdResponse 53, // 53: pb.UserService.updateUserFeatures:output_type -> pb.RPCSuccess 53, // 54: pb.UserService.updateAllUsersFeatures:output_type -> pb.RPCSuccess 25, // 55: pb.UserService.findUserFeatures:output_type -> pb.FindUserFeaturesResponse 27, // 56: pb.UserService.findAllUserFeatureDefinitions:output_type -> pb.FindAllUserFeatureDefinitionsResponse 29, // 57: pb.UserService.composeUserGlobalBoard:output_type -> pb.ComposeUserGlobalBoardResponse 31, // 58: pb.UserService.checkUserOTPWithUsername:output_type -> pb.CheckUserOTPWithUsernameResponse 33, // 59: pb.UserService.findUserPriceInfo:output_type -> pb.FindUserPriceInfoResponse 53, // 60: pb.UserService.updateUserPriceType:output_type -> pb.RPCSuccess 53, // 61: pb.UserService.updateUserPricePeriod:output_type -> pb.RPCSuccess 37, // 62: pb.UserService.checkUserServersState:output_type -> pb.CheckUserServersStateResponse 39, // 63: pb.UserService.renewUserServersState:output_type -> pb.RenewUserServersStateResponse 41, // 64: pb.UserService.checkUserEmail:output_type -> pb.CheckUserEmailResponse 43, // 65: pb.UserService.checkUserMobile:output_type -> pb.CheckUserMobileResponse 45, // 66: pb.UserService.findUserVerifiedEmailWithUsername:output_type -> pb.FindUserVerifiedEmailWithUsernameResponse 39, // [39:67] is the sub-list for method output_type 11, // [11:39] is the sub-list for method input_type 11, // [11:11] is the sub-list for extension type_name 11, // [11:11] is the sub-list for extension extendee 0, // [0:11] is the sub-list for field type_name } func init() { file_service_user_proto_init() } func file_service_user_proto_init() { if File_service_user_proto != nil { return } file_models_rpc_messages_proto_init() file_models_model_user_proto_init() file_models_model_user_feature_proto_init() file_models_model_node_value_proto_init() if !protoimpl.UnsafeEnabled { file_service_user_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateUserRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_user_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateUserResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_user_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RegisterUserRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_user_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RegisterUserResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_user_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*VerifyUserRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_user_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateUserRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_user_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeleteUserRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_user_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CountAllEnabledUsersRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_user_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListEnabledUsersRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_user_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListEnabledUsersResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_user_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindEnabledUserRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_user_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindEnabledUserResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_user_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CheckUserUsernameRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_user_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CheckUserUsernameResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_user_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LoginUserRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_user_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LoginUserResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_user_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateUserInfoRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_user_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateUserLoginRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_user_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ComposeUserDashboardRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_user_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ComposeUserDashboardResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_user_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindUserNodeClusterIdRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_user_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindUserNodeClusterIdResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_user_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateUserFeaturesRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_user_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateAllUsersFeaturesRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_user_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindUserFeaturesRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_user_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindUserFeaturesResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_user_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindAllUserFeatureDefinitionsRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_user_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindAllUserFeatureDefinitionsResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_user_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ComposeUserGlobalBoardRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_user_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ComposeUserGlobalBoardResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_user_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CheckUserOTPWithUsernameRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_user_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CheckUserOTPWithUsernameResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_user_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindUserPriceInfoRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_user_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindUserPriceInfoResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_user_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateUserPriceTypeRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_user_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateUserPricePeriodRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_user_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CheckUserServersStateRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_user_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CheckUserServersStateResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_user_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RenewUserServersStateRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_user_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RenewUserServersStateResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_user_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CheckUserEmailRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_user_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CheckUserEmailResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_user_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CheckUserMobileRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_user_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CheckUserMobileResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_user_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindUserVerifiedEmailWithUsernameRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_user_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindUserVerifiedEmailWithUsernameResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_user_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ComposeUserDashboardResponse_DailyTrafficStat); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_user_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ComposeUserDashboardResponse_DailyPeekBandwidthStat); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_user_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ComposeUserGlobalBoardResponse_DailyStat); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_user_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ComposeUserGlobalBoardResponse_TrafficStat); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_service_user_proto_rawDesc, NumEnums: 0, NumMessages: 50, NumExtensions: 0, NumServices: 1, }, GoTypes: file_service_user_proto_goTypes, DependencyIndexes: file_service_user_proto_depIdxs, MessageInfos: file_service_user_proto_msgTypes, }.Build() File_service_user_proto = out.File file_service_user_proto_rawDesc = nil file_service_user_proto_goTypes = nil file_service_user_proto_depIdxs = nil }