// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.31.0 // protoc v3.19.4 // source: service_admin.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 LoginAdminRequest 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 *LoginAdminRequest) Reset() { *x = LoginAdminRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_admin_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *LoginAdminRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*LoginAdminRequest) ProtoMessage() {} func (x *LoginAdminRequest) ProtoReflect() protoreflect.Message { mi := &file_service_admin_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 LoginAdminRequest.ProtoReflect.Descriptor instead. func (*LoginAdminRequest) Descriptor() ([]byte, []int) { return file_service_admin_proto_rawDescGZIP(), []int{0} } func (x *LoginAdminRequest) GetUsername() string { if x != nil { return x.Username } return "" } func (x *LoginAdminRequest) GetPassword() string { if x != nil { return x.Password } return "" } type LoginAdminResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields AdminId int64 `protobuf:"varint,1,opt,name=adminId,proto3" json:"adminId,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 *LoginAdminResponse) Reset() { *x = LoginAdminResponse{} if protoimpl.UnsafeEnabled { mi := &file_service_admin_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *LoginAdminResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*LoginAdminResponse) ProtoMessage() {} func (x *LoginAdminResponse) ProtoReflect() protoreflect.Message { mi := &file_service_admin_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 LoginAdminResponse.ProtoReflect.Descriptor instead. func (*LoginAdminResponse) Descriptor() ([]byte, []int) { return file_service_admin_proto_rawDescGZIP(), []int{1} } func (x *LoginAdminResponse) GetAdminId() int64 { if x != nil { return x.AdminId } return 0 } func (x *LoginAdminResponse) GetIsOk() bool { if x != nil { return x.IsOk } return false } func (x *LoginAdminResponse) GetMessage() string { if x != nil { return x.Message } return "" } // 检查管理员是否存在 type CheckAdminExistsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields AdminId int64 `protobuf:"varint,1,opt,name=adminId,proto3" json:"adminId,omitempty"` } func (x *CheckAdminExistsRequest) Reset() { *x = CheckAdminExistsRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_admin_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CheckAdminExistsRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*CheckAdminExistsRequest) ProtoMessage() {} func (x *CheckAdminExistsRequest) ProtoReflect() protoreflect.Message { mi := &file_service_admin_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 CheckAdminExistsRequest.ProtoReflect.Descriptor instead. func (*CheckAdminExistsRequest) Descriptor() ([]byte, []int) { return file_service_admin_proto_rawDescGZIP(), []int{2} } func (x *CheckAdminExistsRequest) GetAdminId() int64 { if x != nil { return x.AdminId } return 0 } type CheckAdminExistsResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields IsOk bool `protobuf:"varint,1,opt,name=isOk,proto3" json:"isOk,omitempty"` Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"` } func (x *CheckAdminExistsResponse) Reset() { *x = CheckAdminExistsResponse{} if protoimpl.UnsafeEnabled { mi := &file_service_admin_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CheckAdminExistsResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*CheckAdminExistsResponse) ProtoMessage() {} func (x *CheckAdminExistsResponse) ProtoReflect() protoreflect.Message { mi := &file_service_admin_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 CheckAdminExistsResponse.ProtoReflect.Descriptor instead. func (*CheckAdminExistsResponse) Descriptor() ([]byte, []int) { return file_service_admin_proto_rawDescGZIP(), []int{3} } func (x *CheckAdminExistsResponse) GetIsOk() bool { if x != nil { return x.IsOk } return false } func (x *CheckAdminExistsResponse) GetMessage() string { if x != nil { return x.Message } return "" } // 检查管理员用户名是否存在 type CheckAdminUsernameRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields AdminId int64 `protobuf:"varint,1,opt,name=adminId,proto3" json:"adminId,omitempty"` Username string `protobuf:"bytes,2,opt,name=username,proto3" json:"username,omitempty"` } func (x *CheckAdminUsernameRequest) Reset() { *x = CheckAdminUsernameRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_admin_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CheckAdminUsernameRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*CheckAdminUsernameRequest) ProtoMessage() {} func (x *CheckAdminUsernameRequest) ProtoReflect() protoreflect.Message { mi := &file_service_admin_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 CheckAdminUsernameRequest.ProtoReflect.Descriptor instead. func (*CheckAdminUsernameRequest) Descriptor() ([]byte, []int) { return file_service_admin_proto_rawDescGZIP(), []int{4} } func (x *CheckAdminUsernameRequest) GetAdminId() int64 { if x != nil { return x.AdminId } return 0 } func (x *CheckAdminUsernameRequest) GetUsername() string { if x != nil { return x.Username } return "" } type CheckAdminUsernameResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Exists bool `protobuf:"varint,1,opt,name=exists,proto3" json:"exists,omitempty"` } func (x *CheckAdminUsernameResponse) Reset() { *x = CheckAdminUsernameResponse{} if protoimpl.UnsafeEnabled { mi := &file_service_admin_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CheckAdminUsernameResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*CheckAdminUsernameResponse) ProtoMessage() {} func (x *CheckAdminUsernameResponse) ProtoReflect() protoreflect.Message { mi := &file_service_admin_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 CheckAdminUsernameResponse.ProtoReflect.Descriptor instead. func (*CheckAdminUsernameResponse) Descriptor() ([]byte, []int) { return file_service_admin_proto_rawDescGZIP(), []int{5} } func (x *CheckAdminUsernameResponse) GetExists() bool { if x != nil { return x.Exists } return false } // 使用用管理员户名查找管理员信息 type FindAdminWithUsernameRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Username string `protobuf:"bytes,1,opt,name=username,proto3" json:"username,omitempty"` // 管理员用户名 } func (x *FindAdminWithUsernameRequest) Reset() { *x = FindAdminWithUsernameRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_admin_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FindAdminWithUsernameRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*FindAdminWithUsernameRequest) ProtoMessage() {} func (x *FindAdminWithUsernameRequest) ProtoReflect() protoreflect.Message { mi := &file_service_admin_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 FindAdminWithUsernameRequest.ProtoReflect.Descriptor instead. func (*FindAdminWithUsernameRequest) Descriptor() ([]byte, []int) { return file_service_admin_proto_rawDescGZIP(), []int{6} } func (x *FindAdminWithUsernameRequest) GetUsername() string { if x != nil { return x.Username } return "" } type FindAdminWithUsernameResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Admin *Admin `protobuf:"bytes,1,opt,name=admin,proto3" json:"admin,omitempty"` // 管理员信息 } func (x *FindAdminWithUsernameResponse) Reset() { *x = FindAdminWithUsernameResponse{} if protoimpl.UnsafeEnabled { mi := &file_service_admin_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FindAdminWithUsernameResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*FindAdminWithUsernameResponse) ProtoMessage() {} func (x *FindAdminWithUsernameResponse) ProtoReflect() protoreflect.Message { mi := &file_service_admin_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 FindAdminWithUsernameResponse.ProtoReflect.Descriptor instead. func (*FindAdminWithUsernameResponse) Descriptor() ([]byte, []int) { return file_service_admin_proto_rawDescGZIP(), []int{7} } func (x *FindAdminWithUsernameResponse) GetAdmin() *Admin { if x != nil { return x.Admin } return nil } // 获取管理员名称 type FindAdminFullnameRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields AdminId int64 `protobuf:"varint,1,opt,name=adminId,proto3" json:"adminId,omitempty"` } func (x *FindAdminFullnameRequest) Reset() { *x = FindAdminFullnameRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_admin_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FindAdminFullnameRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*FindAdminFullnameRequest) ProtoMessage() {} func (x *FindAdminFullnameRequest) ProtoReflect() protoreflect.Message { mi := &file_service_admin_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 FindAdminFullnameRequest.ProtoReflect.Descriptor instead. func (*FindAdminFullnameRequest) Descriptor() ([]byte, []int) { return file_service_admin_proto_rawDescGZIP(), []int{8} } func (x *FindAdminFullnameRequest) GetAdminId() int64 { if x != nil { return x.AdminId } return 0 } type FindAdminFullnameResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Fullname string `protobuf:"bytes,1,opt,name=fullname,proto3" json:"fullname,omitempty"` } func (x *FindAdminFullnameResponse) Reset() { *x = FindAdminFullnameResponse{} if protoimpl.UnsafeEnabled { mi := &file_service_admin_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FindAdminFullnameResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*FindAdminFullnameResponse) ProtoMessage() {} func (x *FindAdminFullnameResponse) ProtoReflect() protoreflect.Message { mi := &file_service_admin_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 FindAdminFullnameResponse.ProtoReflect.Descriptor instead. func (*FindAdminFullnameResponse) Descriptor() ([]byte, []int) { return file_service_admin_proto_rawDescGZIP(), []int{9} } func (x *FindAdminFullnameResponse) GetFullname() string { if x != nil { return x.Fullname } return "" } // 获取管理员信息 type FindEnabledAdminRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields AdminId int64 `protobuf:"varint,1,opt,name=adminId,proto3" json:"adminId,omitempty"` } func (x *FindEnabledAdminRequest) Reset() { *x = FindEnabledAdminRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_admin_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FindEnabledAdminRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*FindEnabledAdminRequest) ProtoMessage() {} func (x *FindEnabledAdminRequest) ProtoReflect() protoreflect.Message { mi := &file_service_admin_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 FindEnabledAdminRequest.ProtoReflect.Descriptor instead. func (*FindEnabledAdminRequest) Descriptor() ([]byte, []int) { return file_service_admin_proto_rawDescGZIP(), []int{10} } func (x *FindEnabledAdminRequest) GetAdminId() int64 { if x != nil { return x.AdminId } return 0 } type FindEnabledAdminResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Admin *Admin `protobuf:"bytes,1,opt,name=admin,proto3" json:"admin,omitempty"` } func (x *FindEnabledAdminResponse) Reset() { *x = FindEnabledAdminResponse{} if protoimpl.UnsafeEnabled { mi := &file_service_admin_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FindEnabledAdminResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*FindEnabledAdminResponse) ProtoMessage() {} func (x *FindEnabledAdminResponse) ProtoReflect() protoreflect.Message { mi := &file_service_admin_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 FindEnabledAdminResponse.ProtoReflect.Descriptor instead. func (*FindEnabledAdminResponse) Descriptor() ([]byte, []int) { return file_service_admin_proto_rawDescGZIP(), []int{11} } func (x *FindEnabledAdminResponse) GetAdmin() *Admin { if x != nil { return x.Admin } return nil } // 创建或修改管理员 type CreateOrUpdateAdminRequest 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 *CreateOrUpdateAdminRequest) Reset() { *x = CreateOrUpdateAdminRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_admin_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CreateOrUpdateAdminRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*CreateOrUpdateAdminRequest) ProtoMessage() {} func (x *CreateOrUpdateAdminRequest) ProtoReflect() protoreflect.Message { mi := &file_service_admin_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 CreateOrUpdateAdminRequest.ProtoReflect.Descriptor instead. func (*CreateOrUpdateAdminRequest) Descriptor() ([]byte, []int) { return file_service_admin_proto_rawDescGZIP(), []int{12} } func (x *CreateOrUpdateAdminRequest) GetUsername() string { if x != nil { return x.Username } return "" } func (x *CreateOrUpdateAdminRequest) GetPassword() string { if x != nil { return x.Password } return "" } type CreateOrUpdateAdminResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields AdminId int64 `protobuf:"varint,1,opt,name=adminId,proto3" json:"adminId,omitempty"` } func (x *CreateOrUpdateAdminResponse) Reset() { *x = CreateOrUpdateAdminResponse{} if protoimpl.UnsafeEnabled { mi := &file_service_admin_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CreateOrUpdateAdminResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*CreateOrUpdateAdminResponse) ProtoMessage() {} func (x *CreateOrUpdateAdminResponse) ProtoReflect() protoreflect.Message { mi := &file_service_admin_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 CreateOrUpdateAdminResponse.ProtoReflect.Descriptor instead. func (*CreateOrUpdateAdminResponse) Descriptor() ([]byte, []int) { return file_service_admin_proto_rawDescGZIP(), []int{13} } func (x *CreateOrUpdateAdminResponse) GetAdminId() int64 { if x != nil { return x.AdminId } return 0 } // 修改管理员信息 type UpdateAdminInfoRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields AdminId int64 `protobuf:"varint,1,opt,name=adminId,proto3" json:"adminId,omitempty"` Fullname string `protobuf:"bytes,2,opt,name=fullname,proto3" json:"fullname,omitempty"` } func (x *UpdateAdminInfoRequest) Reset() { *x = UpdateAdminInfoRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_admin_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpdateAdminInfoRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpdateAdminInfoRequest) ProtoMessage() {} func (x *UpdateAdminInfoRequest) ProtoReflect() protoreflect.Message { mi := &file_service_admin_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 UpdateAdminInfoRequest.ProtoReflect.Descriptor instead. func (*UpdateAdminInfoRequest) Descriptor() ([]byte, []int) { return file_service_admin_proto_rawDescGZIP(), []int{14} } func (x *UpdateAdminInfoRequest) GetAdminId() int64 { if x != nil { return x.AdminId } return 0 } func (x *UpdateAdminInfoRequest) GetFullname() string { if x != nil { return x.Fullname } return "" } // 修改管理员登录信息 type UpdateAdminLoginRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields AdminId int64 `protobuf:"varint,1,opt,name=adminId,proto3" json:"adminId,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 *UpdateAdminLoginRequest) Reset() { *x = UpdateAdminLoginRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_admin_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpdateAdminLoginRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpdateAdminLoginRequest) ProtoMessage() {} func (x *UpdateAdminLoginRequest) ProtoReflect() protoreflect.Message { mi := &file_service_admin_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 UpdateAdminLoginRequest.ProtoReflect.Descriptor instead. func (*UpdateAdminLoginRequest) Descriptor() ([]byte, []int) { return file_service_admin_proto_rawDescGZIP(), []int{15} } func (x *UpdateAdminLoginRequest) GetAdminId() int64 { if x != nil { return x.AdminId } return 0 } func (x *UpdateAdminLoginRequest) GetUsername() string { if x != nil { return x.Username } return "" } func (x *UpdateAdminLoginRequest) GetPassword() string { if x != nil { return x.Password } return "" } // 获取管理所有权限列表 type FindAllAdminModulesRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *FindAllAdminModulesRequest) Reset() { *x = FindAllAdminModulesRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_admin_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FindAllAdminModulesRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*FindAllAdminModulesRequest) ProtoMessage() {} func (x *FindAllAdminModulesRequest) ProtoReflect() protoreflect.Message { mi := &file_service_admin_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 FindAllAdminModulesRequest.ProtoReflect.Descriptor instead. func (*FindAllAdminModulesRequest) Descriptor() ([]byte, []int) { return file_service_admin_proto_rawDescGZIP(), []int{16} } type FindAllAdminModulesResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields AdminModules []*AdminModuleList `protobuf:"bytes,1,rep,name=adminModules,proto3" json:"adminModules,omitempty"` } func (x *FindAllAdminModulesResponse) Reset() { *x = FindAllAdminModulesResponse{} if protoimpl.UnsafeEnabled { mi := &file_service_admin_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FindAllAdminModulesResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*FindAllAdminModulesResponse) ProtoMessage() {} func (x *FindAllAdminModulesResponse) ProtoReflect() protoreflect.Message { mi := &file_service_admin_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 FindAllAdminModulesResponse.ProtoReflect.Descriptor instead. func (*FindAllAdminModulesResponse) Descriptor() ([]byte, []int) { return file_service_admin_proto_rawDescGZIP(), []int{17} } func (x *FindAllAdminModulesResponse) GetAdminModules() []*AdminModuleList { if x != nil { return x.AdminModules } return nil } // 创建管理员 type CreateAdminRequest 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"` ModulesJSON []byte `protobuf:"bytes,4,opt,name=modulesJSON,proto3" json:"modulesJSON,omitempty"` IsSuper bool `protobuf:"varint,5,opt,name=isSuper,proto3" json:"isSuper,omitempty"` CanLogin bool `protobuf:"varint,6,opt,name=canLogin,proto3" json:"canLogin,omitempty"` } func (x *CreateAdminRequest) Reset() { *x = CreateAdminRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_admin_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CreateAdminRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*CreateAdminRequest) ProtoMessage() {} func (x *CreateAdminRequest) ProtoReflect() protoreflect.Message { mi := &file_service_admin_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 CreateAdminRequest.ProtoReflect.Descriptor instead. func (*CreateAdminRequest) Descriptor() ([]byte, []int) { return file_service_admin_proto_rawDescGZIP(), []int{18} } func (x *CreateAdminRequest) GetUsername() string { if x != nil { return x.Username } return "" } func (x *CreateAdminRequest) GetPassword() string { if x != nil { return x.Password } return "" } func (x *CreateAdminRequest) GetFullname() string { if x != nil { return x.Fullname } return "" } func (x *CreateAdminRequest) GetModulesJSON() []byte { if x != nil { return x.ModulesJSON } return nil } func (x *CreateAdminRequest) GetIsSuper() bool { if x != nil { return x.IsSuper } return false } func (x *CreateAdminRequest) GetCanLogin() bool { if x != nil { return x.CanLogin } return false } type CreateAdminResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields AdminId int64 `protobuf:"varint,1,opt,name=adminId,proto3" json:"adminId,omitempty"` } func (x *CreateAdminResponse) Reset() { *x = CreateAdminResponse{} if protoimpl.UnsafeEnabled { mi := &file_service_admin_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CreateAdminResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*CreateAdminResponse) ProtoMessage() {} func (x *CreateAdminResponse) ProtoReflect() protoreflect.Message { mi := &file_service_admin_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 CreateAdminResponse.ProtoReflect.Descriptor instead. func (*CreateAdminResponse) Descriptor() ([]byte, []int) { return file_service_admin_proto_rawDescGZIP(), []int{19} } func (x *CreateAdminResponse) GetAdminId() int64 { if x != nil { return x.AdminId } return 0 } // 修改管理员 type UpdateAdminRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields AdminId int64 `protobuf:"varint,1,opt,name=adminId,proto3" json:"adminId,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"` ModulesJSON []byte `protobuf:"bytes,5,opt,name=modulesJSON,proto3" json:"modulesJSON,omitempty"` IsSuper bool `protobuf:"varint,6,opt,name=isSuper,proto3" json:"isSuper,omitempty"` IsOn bool `protobuf:"varint,7,opt,name=isOn,proto3" json:"isOn,omitempty"` CanLogin bool `protobuf:"varint,8,opt,name=canLogin,proto3" json:"canLogin,omitempty"` } func (x *UpdateAdminRequest) Reset() { *x = UpdateAdminRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_admin_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpdateAdminRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpdateAdminRequest) ProtoMessage() {} func (x *UpdateAdminRequest) ProtoReflect() protoreflect.Message { mi := &file_service_admin_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 UpdateAdminRequest.ProtoReflect.Descriptor instead. func (*UpdateAdminRequest) Descriptor() ([]byte, []int) { return file_service_admin_proto_rawDescGZIP(), []int{20} } func (x *UpdateAdminRequest) GetAdminId() int64 { if x != nil { return x.AdminId } return 0 } func (x *UpdateAdminRequest) GetUsername() string { if x != nil { return x.Username } return "" } func (x *UpdateAdminRequest) GetPassword() string { if x != nil { return x.Password } return "" } func (x *UpdateAdminRequest) GetFullname() string { if x != nil { return x.Fullname } return "" } func (x *UpdateAdminRequest) GetModulesJSON() []byte { if x != nil { return x.ModulesJSON } return nil } func (x *UpdateAdminRequest) GetIsSuper() bool { if x != nil { return x.IsSuper } return false } func (x *UpdateAdminRequest) GetIsOn() bool { if x != nil { return x.IsOn } return false } func (x *UpdateAdminRequest) GetCanLogin() bool { if x != nil { return x.CanLogin } return false } // 计算管理员数量 type CountAllEnabledAdminsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Keyword string `protobuf:"bytes,1,opt,name=keyword,proto3" json:"keyword,omitempty"` // 可选项,查询关键词 HasWeakPassword bool `protobuf:"varint,2,opt,name=hasWeakPassword,proto3" json:"hasWeakPassword,omitempty"` // 可选项,筛选有弱密码的管理员,只有超级管理员才能查询 } func (x *CountAllEnabledAdminsRequest) Reset() { *x = CountAllEnabledAdminsRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_admin_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CountAllEnabledAdminsRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*CountAllEnabledAdminsRequest) ProtoMessage() {} func (x *CountAllEnabledAdminsRequest) ProtoReflect() protoreflect.Message { mi := &file_service_admin_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 CountAllEnabledAdminsRequest.ProtoReflect.Descriptor instead. func (*CountAllEnabledAdminsRequest) Descriptor() ([]byte, []int) { return file_service_admin_proto_rawDescGZIP(), []int{21} } func (x *CountAllEnabledAdminsRequest) GetKeyword() string { if x != nil { return x.Keyword } return "" } func (x *CountAllEnabledAdminsRequest) GetHasWeakPassword() bool { if x != nil { return x.HasWeakPassword } return false } // 列出单页的管理员 type ListEnabledAdminsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Keyword string `protobuf:"bytes,3,opt,name=keyword,proto3" json:"keyword,omitempty"` // 可选项,查询关键词 HasWeakPassword bool `protobuf:"varint,4,opt,name=hasWeakPassword,proto3" json:"hasWeakPassword,omitempty"` // 可选项,筛选有弱密码的管理员,只有超级管理员才能查询 Offset int64 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"` // 读取位置,从0开始 Size int64 `protobuf:"varint,2,opt,name=size,proto3" json:"size,omitempty"` // 读取数量 } func (x *ListEnabledAdminsRequest) Reset() { *x = ListEnabledAdminsRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_admin_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ListEnabledAdminsRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListEnabledAdminsRequest) ProtoMessage() {} func (x *ListEnabledAdminsRequest) ProtoReflect() protoreflect.Message { mi := &file_service_admin_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 ListEnabledAdminsRequest.ProtoReflect.Descriptor instead. func (*ListEnabledAdminsRequest) Descriptor() ([]byte, []int) { return file_service_admin_proto_rawDescGZIP(), []int{22} } func (x *ListEnabledAdminsRequest) GetKeyword() string { if x != nil { return x.Keyword } return "" } func (x *ListEnabledAdminsRequest) GetHasWeakPassword() bool { if x != nil { return x.HasWeakPassword } return false } func (x *ListEnabledAdminsRequest) GetOffset() int64 { if x != nil { return x.Offset } return 0 } func (x *ListEnabledAdminsRequest) GetSize() int64 { if x != nil { return x.Size } return 0 } type ListEnabledAdminsResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Admins []*Admin `protobuf:"bytes,1,rep,name=admins,proto3" json:"admins,omitempty"` } func (x *ListEnabledAdminsResponse) Reset() { *x = ListEnabledAdminsResponse{} if protoimpl.UnsafeEnabled { mi := &file_service_admin_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ListEnabledAdminsResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListEnabledAdminsResponse) ProtoMessage() {} func (x *ListEnabledAdminsResponse) ProtoReflect() protoreflect.Message { mi := &file_service_admin_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 ListEnabledAdminsResponse.ProtoReflect.Descriptor instead. func (*ListEnabledAdminsResponse) Descriptor() ([]byte, []int) { return file_service_admin_proto_rawDescGZIP(), []int{23} } func (x *ListEnabledAdminsResponse) GetAdmins() []*Admin { if x != nil { return x.Admins } return nil } // 删除管理员 type DeleteAdminRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields AdminId int64 `protobuf:"varint,1,opt,name=adminId,proto3" json:"adminId,omitempty"` } func (x *DeleteAdminRequest) Reset() { *x = DeleteAdminRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_admin_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DeleteAdminRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*DeleteAdminRequest) ProtoMessage() {} func (x *DeleteAdminRequest) ProtoReflect() protoreflect.Message { mi := &file_service_admin_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 DeleteAdminRequest.ProtoReflect.Descriptor instead. func (*DeleteAdminRequest) Descriptor() ([]byte, []int) { return file_service_admin_proto_rawDescGZIP(), []int{24} } func (x *DeleteAdminRequest) GetAdminId() int64 { if x != nil { return x.AdminId } return 0 } // 根据用户名检查是否需要输入OTP type CheckAdminOTPWithUsernameRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Username string `protobuf:"bytes,1,opt,name=username,proto3" json:"username,omitempty"` } func (x *CheckAdminOTPWithUsernameRequest) Reset() { *x = CheckAdminOTPWithUsernameRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_admin_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CheckAdminOTPWithUsernameRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*CheckAdminOTPWithUsernameRequest) ProtoMessage() {} func (x *CheckAdminOTPWithUsernameRequest) ProtoReflect() protoreflect.Message { mi := &file_service_admin_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 CheckAdminOTPWithUsernameRequest.ProtoReflect.Descriptor instead. func (*CheckAdminOTPWithUsernameRequest) Descriptor() ([]byte, []int) { return file_service_admin_proto_rawDescGZIP(), []int{25} } func (x *CheckAdminOTPWithUsernameRequest) GetUsername() string { if x != nil { return x.Username } return "" } type CheckAdminOTPWithUsernameResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields RequireOTP bool `protobuf:"varint,1,opt,name=requireOTP,proto3" json:"requireOTP,omitempty"` } func (x *CheckAdminOTPWithUsernameResponse) Reset() { *x = CheckAdminOTPWithUsernameResponse{} if protoimpl.UnsafeEnabled { mi := &file_service_admin_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CheckAdminOTPWithUsernameResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*CheckAdminOTPWithUsernameResponse) ProtoMessage() {} func (x *CheckAdminOTPWithUsernameResponse) ProtoReflect() protoreflect.Message { mi := &file_service_admin_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 CheckAdminOTPWithUsernameResponse.ProtoReflect.Descriptor instead. func (*CheckAdminOTPWithUsernameResponse) Descriptor() ([]byte, []int) { return file_service_admin_proto_rawDescGZIP(), []int{26} } func (x *CheckAdminOTPWithUsernameResponse) GetRequireOTP() bool { if x != nil { return x.RequireOTP } return false } // 取得管理员Dashboard数据 type ComposeAdminDashboardRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ApiVersion string `protobuf:"bytes,1,opt,name=apiVersion,proto3" json:"apiVersion,omitempty"` } func (x *ComposeAdminDashboardRequest) Reset() { *x = ComposeAdminDashboardRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_admin_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ComposeAdminDashboardRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ComposeAdminDashboardRequest) ProtoMessage() {} func (x *ComposeAdminDashboardRequest) ProtoReflect() protoreflect.Message { mi := &file_service_admin_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 ComposeAdminDashboardRequest.ProtoReflect.Descriptor instead. func (*ComposeAdminDashboardRequest) Descriptor() ([]byte, []int) { return file_service_admin_proto_rawDescGZIP(), []int{27} } func (x *ComposeAdminDashboardRequest) GetApiVersion() string { if x != nil { return x.ApiVersion } return "" } type ComposeAdminDashboardResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields CountNodeClusters int64 `protobuf:"varint,1,opt,name=countNodeClusters,proto3" json:"countNodeClusters,omitempty"` CountNodes int64 `protobuf:"varint,2,opt,name=countNodes,proto3" json:"countNodes,omitempty"` CountOfflineNodes int64 `protobuf:"varint,9,opt,name=countOfflineNodes,proto3" json:"countOfflineNodes,omitempty"` CountServers int64 `protobuf:"varint,3,opt,name=countServers,proto3" json:"countServers,omitempty"` CountAuditingServers int64 `protobuf:"varint,13,opt,name=countAuditingServers,proto3" json:"countAuditingServers,omitempty"` CountUsers int64 `protobuf:"varint,4,opt,name=countUsers,proto3" json:"countUsers,omitempty"` CountAPINodes int64 `protobuf:"varint,5,opt,name=countAPINodes,proto3" json:"countAPINodes,omitempty"` CountOfflineAPINodes int64 `protobuf:"varint,10,opt,name=countOfflineAPINodes,proto3" json:"countOfflineAPINodes,omitempty"` CountDBNodes int64 `protobuf:"varint,6,opt,name=countDBNodes,proto3" json:"countDBNodes,omitempty"` CountOfflineDBNodes int64 `protobuf:"varint,11,opt,name=countOfflineDBNodes,proto3" json:"countOfflineDBNodes,omitempty"` CountUserNodes int64 `protobuf:"varint,7,opt,name=countUserNodes,proto3" json:"countUserNodes,omitempty"` CountOfflineUserNodes int64 `protobuf:"varint,12,opt,name=countOfflineUserNodes,proto3" json:"countOfflineUserNodes,omitempty"` DefaultNodeClusterId int64 `protobuf:"varint,8,opt,name=defaultNodeClusterId,proto3" json:"defaultNodeClusterId,omitempty"` DailyTrafficStats []*ComposeAdminDashboardResponse_DailyTrafficStat `protobuf:"bytes,30,rep,name=dailyTrafficStats,proto3" json:"dailyTrafficStats,omitempty"` HourlyTrafficStats []*ComposeAdminDashboardResponse_HourlyTrafficStat `protobuf:"bytes,31,rep,name=hourlyTrafficStats,proto3" json:"hourlyTrafficStats,omitempty"` NodeUpgradeInfo *ComposeAdminDashboardResponse_UpgradeInfo `protobuf:"bytes,32,opt,name=nodeUpgradeInfo,proto3" json:"nodeUpgradeInfo,omitempty"` ApiNodeUpgradeInfo *ComposeAdminDashboardResponse_UpgradeInfo `protobuf:"bytes,33,opt,name=apiNodeUpgradeInfo,proto3" json:"apiNodeUpgradeInfo,omitempty"` UserNodeUpgradeInfo *ComposeAdminDashboardResponse_UpgradeInfo `protobuf:"bytes,35,opt,name=userNodeUpgradeInfo,proto3" json:"userNodeUpgradeInfo,omitempty"` AuthorityNodeUpgradeInfo *ComposeAdminDashboardResponse_UpgradeInfo `protobuf:"bytes,36,opt,name=authorityNodeUpgradeInfo,proto3" json:"authorityNodeUpgradeInfo,omitempty"` NsNodeUpgradeInfo *ComposeAdminDashboardResponse_UpgradeInfo `protobuf:"bytes,37,opt,name=nsNodeUpgradeInfo,proto3" json:"nsNodeUpgradeInfo,omitempty"` ReportNodeUpgradeInfo *ComposeAdminDashboardResponse_UpgradeInfo `protobuf:"bytes,41,opt,name=reportNodeUpgradeInfo,proto3" json:"reportNodeUpgradeInfo,omitempty"` TopNodeStats []*ComposeAdminDashboardResponse_NodeStat `protobuf:"bytes,38,rep,name=topNodeStats,proto3" json:"topNodeStats,omitempty"` TopDomainStats []*ComposeAdminDashboardResponse_DomainStat `protobuf:"bytes,39,rep,name=topDomainStats,proto3" json:"topDomainStats,omitempty"` TopCountryStats []*ComposeAdminDashboardResponse_CountryStat `protobuf:"bytes,42,rep,name=topCountryStats,proto3" json:"topCountryStats,omitempty"` MetricDataCharts []*MetricDataChart `protobuf:"bytes,40,rep,name=metricDataCharts,proto3" json:"metricDataCharts,omitempty"` } func (x *ComposeAdminDashboardResponse) Reset() { *x = ComposeAdminDashboardResponse{} if protoimpl.UnsafeEnabled { mi := &file_service_admin_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ComposeAdminDashboardResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*ComposeAdminDashboardResponse) ProtoMessage() {} func (x *ComposeAdminDashboardResponse) ProtoReflect() protoreflect.Message { mi := &file_service_admin_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ComposeAdminDashboardResponse.ProtoReflect.Descriptor instead. func (*ComposeAdminDashboardResponse) Descriptor() ([]byte, []int) { return file_service_admin_proto_rawDescGZIP(), []int{28} } func (x *ComposeAdminDashboardResponse) GetCountNodeClusters() int64 { if x != nil { return x.CountNodeClusters } return 0 } func (x *ComposeAdminDashboardResponse) GetCountNodes() int64 { if x != nil { return x.CountNodes } return 0 } func (x *ComposeAdminDashboardResponse) GetCountOfflineNodes() int64 { if x != nil { return x.CountOfflineNodes } return 0 } func (x *ComposeAdminDashboardResponse) GetCountServers() int64 { if x != nil { return x.CountServers } return 0 } func (x *ComposeAdminDashboardResponse) GetCountAuditingServers() int64 { if x != nil { return x.CountAuditingServers } return 0 } func (x *ComposeAdminDashboardResponse) GetCountUsers() int64 { if x != nil { return x.CountUsers } return 0 } func (x *ComposeAdminDashboardResponse) GetCountAPINodes() int64 { if x != nil { return x.CountAPINodes } return 0 } func (x *ComposeAdminDashboardResponse) GetCountOfflineAPINodes() int64 { if x != nil { return x.CountOfflineAPINodes } return 0 } func (x *ComposeAdminDashboardResponse) GetCountDBNodes() int64 { if x != nil { return x.CountDBNodes } return 0 } func (x *ComposeAdminDashboardResponse) GetCountOfflineDBNodes() int64 { if x != nil { return x.CountOfflineDBNodes } return 0 } func (x *ComposeAdminDashboardResponse) GetCountUserNodes() int64 { if x != nil { return x.CountUserNodes } return 0 } func (x *ComposeAdminDashboardResponse) GetCountOfflineUserNodes() int64 { if x != nil { return x.CountOfflineUserNodes } return 0 } func (x *ComposeAdminDashboardResponse) GetDefaultNodeClusterId() int64 { if x != nil { return x.DefaultNodeClusterId } return 0 } func (x *ComposeAdminDashboardResponse) GetDailyTrafficStats() []*ComposeAdminDashboardResponse_DailyTrafficStat { if x != nil { return x.DailyTrafficStats } return nil } func (x *ComposeAdminDashboardResponse) GetHourlyTrafficStats() []*ComposeAdminDashboardResponse_HourlyTrafficStat { if x != nil { return x.HourlyTrafficStats } return nil } func (x *ComposeAdminDashboardResponse) GetNodeUpgradeInfo() *ComposeAdminDashboardResponse_UpgradeInfo { if x != nil { return x.NodeUpgradeInfo } return nil } func (x *ComposeAdminDashboardResponse) GetApiNodeUpgradeInfo() *ComposeAdminDashboardResponse_UpgradeInfo { if x != nil { return x.ApiNodeUpgradeInfo } return nil } func (x *ComposeAdminDashboardResponse) GetUserNodeUpgradeInfo() *ComposeAdminDashboardResponse_UpgradeInfo { if x != nil { return x.UserNodeUpgradeInfo } return nil } func (x *ComposeAdminDashboardResponse) GetAuthorityNodeUpgradeInfo() *ComposeAdminDashboardResponse_UpgradeInfo { if x != nil { return x.AuthorityNodeUpgradeInfo } return nil } func (x *ComposeAdminDashboardResponse) GetNsNodeUpgradeInfo() *ComposeAdminDashboardResponse_UpgradeInfo { if x != nil { return x.NsNodeUpgradeInfo } return nil } func (x *ComposeAdminDashboardResponse) GetReportNodeUpgradeInfo() *ComposeAdminDashboardResponse_UpgradeInfo { if x != nil { return x.ReportNodeUpgradeInfo } return nil } func (x *ComposeAdminDashboardResponse) GetTopNodeStats() []*ComposeAdminDashboardResponse_NodeStat { if x != nil { return x.TopNodeStats } return nil } func (x *ComposeAdminDashboardResponse) GetTopDomainStats() []*ComposeAdminDashboardResponse_DomainStat { if x != nil { return x.TopDomainStats } return nil } func (x *ComposeAdminDashboardResponse) GetTopCountryStats() []*ComposeAdminDashboardResponse_CountryStat { if x != nil { return x.TopCountryStats } return nil } func (x *ComposeAdminDashboardResponse) GetMetricDataCharts() []*MetricDataChart { if x != nil { return x.MetricDataCharts } return nil } // 修改管理员使用的界面风格 type UpdateAdminThemeRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields AdminId int64 `protobuf:"varint,1,opt,name=adminId,proto3" json:"adminId,omitempty"` Theme string `protobuf:"bytes,2,opt,name=theme,proto3" json:"theme,omitempty"` // 风格代号 } func (x *UpdateAdminThemeRequest) Reset() { *x = UpdateAdminThemeRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_admin_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpdateAdminThemeRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpdateAdminThemeRequest) ProtoMessage() {} func (x *UpdateAdminThemeRequest) ProtoReflect() protoreflect.Message { mi := &file_service_admin_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 UpdateAdminThemeRequest.ProtoReflect.Descriptor instead. func (*UpdateAdminThemeRequest) Descriptor() ([]byte, []int) { return file_service_admin_proto_rawDescGZIP(), []int{29} } func (x *UpdateAdminThemeRequest) GetAdminId() int64 { if x != nil { return x.AdminId } return 0 } func (x *UpdateAdminThemeRequest) GetTheme() string { if x != nil { return x.Theme } return "" } // 修改管理员使用的语言 type UpdateAdminLangRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields LangCode string `protobuf:"bytes,1,opt,name=langCode,proto3" json:"langCode,omitempty"` // 语言代号:en-us, zh-cn, ...,如果为空表示默认 } func (x *UpdateAdminLangRequest) Reset() { *x = UpdateAdminLangRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_admin_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpdateAdminLangRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpdateAdminLangRequest) ProtoMessage() {} func (x *UpdateAdminLangRequest) ProtoReflect() protoreflect.Message { mi := &file_service_admin_proto_msgTypes[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 UpdateAdminLangRequest.ProtoReflect.Descriptor instead. func (*UpdateAdminLangRequest) Descriptor() ([]byte, []int) { return file_service_admin_proto_rawDescGZIP(), []int{30} } func (x *UpdateAdminLangRequest) GetLangCode() string { if x != nil { return x.LangCode } return "" } type ComposeAdminDashboardResponse_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"` CountRequests int64 `protobuf:"varint,4,opt,name=countRequests,proto3" json:"countRequests,omitempty"` CountCachedRequests int64 `protobuf:"varint,5,opt,name=countCachedRequests,proto3" json:"countCachedRequests,omitempty"` CountAttackRequests int64 `protobuf:"varint,6,opt,name=countAttackRequests,proto3" json:"countAttackRequests,omitempty"` AttackBytes int64 `protobuf:"varint,7,opt,name=attackBytes,proto3" json:"attackBytes,omitempty"` } func (x *ComposeAdminDashboardResponse_DailyTrafficStat) Reset() { *x = ComposeAdminDashboardResponse_DailyTrafficStat{} if protoimpl.UnsafeEnabled { mi := &file_service_admin_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ComposeAdminDashboardResponse_DailyTrafficStat) String() string { return protoimpl.X.MessageStringOf(x) } func (*ComposeAdminDashboardResponse_DailyTrafficStat) ProtoMessage() {} func (x *ComposeAdminDashboardResponse_DailyTrafficStat) ProtoReflect() protoreflect.Message { mi := &file_service_admin_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 ComposeAdminDashboardResponse_DailyTrafficStat.ProtoReflect.Descriptor instead. func (*ComposeAdminDashboardResponse_DailyTrafficStat) Descriptor() ([]byte, []int) { return file_service_admin_proto_rawDescGZIP(), []int{28, 0} } func (x *ComposeAdminDashboardResponse_DailyTrafficStat) GetDay() string { if x != nil { return x.Day } return "" } func (x *ComposeAdminDashboardResponse_DailyTrafficStat) GetBytes() int64 { if x != nil { return x.Bytes } return 0 } func (x *ComposeAdminDashboardResponse_DailyTrafficStat) GetCachedBytes() int64 { if x != nil { return x.CachedBytes } return 0 } func (x *ComposeAdminDashboardResponse_DailyTrafficStat) GetCountRequests() int64 { if x != nil { return x.CountRequests } return 0 } func (x *ComposeAdminDashboardResponse_DailyTrafficStat) GetCountCachedRequests() int64 { if x != nil { return x.CountCachedRequests } return 0 } func (x *ComposeAdminDashboardResponse_DailyTrafficStat) GetCountAttackRequests() int64 { if x != nil { return x.CountAttackRequests } return 0 } func (x *ComposeAdminDashboardResponse_DailyTrafficStat) GetAttackBytes() int64 { if x != nil { return x.AttackBytes } return 0 } type ComposeAdminDashboardResponse_HourlyTrafficStat struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Hour string `protobuf:"bytes,1,opt,name=hour,proto3" json:"hour,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"` CountRequests int64 `protobuf:"varint,4,opt,name=countRequests,proto3" json:"countRequests,omitempty"` CountCachedRequests int64 `protobuf:"varint,5,opt,name=countCachedRequests,proto3" json:"countCachedRequests,omitempty"` CountAttackRequests int64 `protobuf:"varint,6,opt,name=countAttackRequests,proto3" json:"countAttackRequests,omitempty"` AttackBytes int64 `protobuf:"varint,7,opt,name=attackBytes,proto3" json:"attackBytes,omitempty"` } func (x *ComposeAdminDashboardResponse_HourlyTrafficStat) Reset() { *x = ComposeAdminDashboardResponse_HourlyTrafficStat{} if protoimpl.UnsafeEnabled { mi := &file_service_admin_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ComposeAdminDashboardResponse_HourlyTrafficStat) String() string { return protoimpl.X.MessageStringOf(x) } func (*ComposeAdminDashboardResponse_HourlyTrafficStat) ProtoMessage() {} func (x *ComposeAdminDashboardResponse_HourlyTrafficStat) ProtoReflect() protoreflect.Message { mi := &file_service_admin_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 ComposeAdminDashboardResponse_HourlyTrafficStat.ProtoReflect.Descriptor instead. func (*ComposeAdminDashboardResponse_HourlyTrafficStat) Descriptor() ([]byte, []int) { return file_service_admin_proto_rawDescGZIP(), []int{28, 1} } func (x *ComposeAdminDashboardResponse_HourlyTrafficStat) GetHour() string { if x != nil { return x.Hour } return "" } func (x *ComposeAdminDashboardResponse_HourlyTrafficStat) GetBytes() int64 { if x != nil { return x.Bytes } return 0 } func (x *ComposeAdminDashboardResponse_HourlyTrafficStat) GetCachedBytes() int64 { if x != nil { return x.CachedBytes } return 0 } func (x *ComposeAdminDashboardResponse_HourlyTrafficStat) GetCountRequests() int64 { if x != nil { return x.CountRequests } return 0 } func (x *ComposeAdminDashboardResponse_HourlyTrafficStat) GetCountCachedRequests() int64 { if x != nil { return x.CountCachedRequests } return 0 } func (x *ComposeAdminDashboardResponse_HourlyTrafficStat) GetCountAttackRequests() int64 { if x != nil { return x.CountAttackRequests } return 0 } func (x *ComposeAdminDashboardResponse_HourlyTrafficStat) GetAttackBytes() int64 { if x != nil { return x.AttackBytes } return 0 } type ComposeAdminDashboardResponse_NodeStat struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields NodeId int64 `protobuf:"varint,1,opt,name=nodeId,proto3" json:"nodeId,omitempty"` NodeName string `protobuf:"bytes,2,opt,name=nodeName,proto3" json:"nodeName,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 *ComposeAdminDashboardResponse_NodeStat) Reset() { *x = ComposeAdminDashboardResponse_NodeStat{} if protoimpl.UnsafeEnabled { mi := &file_service_admin_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ComposeAdminDashboardResponse_NodeStat) String() string { return protoimpl.X.MessageStringOf(x) } func (*ComposeAdminDashboardResponse_NodeStat) ProtoMessage() {} func (x *ComposeAdminDashboardResponse_NodeStat) ProtoReflect() protoreflect.Message { mi := &file_service_admin_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 ComposeAdminDashboardResponse_NodeStat.ProtoReflect.Descriptor instead. func (*ComposeAdminDashboardResponse_NodeStat) Descriptor() ([]byte, []int) { return file_service_admin_proto_rawDescGZIP(), []int{28, 2} } func (x *ComposeAdminDashboardResponse_NodeStat) GetNodeId() int64 { if x != nil { return x.NodeId } return 0 } func (x *ComposeAdminDashboardResponse_NodeStat) GetNodeName() string { if x != nil { return x.NodeName } return "" } func (x *ComposeAdminDashboardResponse_NodeStat) GetCountRequests() int64 { if x != nil { return x.CountRequests } return 0 } func (x *ComposeAdminDashboardResponse_NodeStat) GetBytes() int64 { if x != nil { return x.Bytes } return 0 } type ComposeAdminDashboardResponse_DomainStat struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ServerId int64 `protobuf:"varint,1,opt,name=serverId,proto3" json:"serverId,omitempty"` Domain string `protobuf:"bytes,2,opt,name=domain,proto3" json:"domain,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 *ComposeAdminDashboardResponse_DomainStat) Reset() { *x = ComposeAdminDashboardResponse_DomainStat{} if protoimpl.UnsafeEnabled { mi := &file_service_admin_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ComposeAdminDashboardResponse_DomainStat) String() string { return protoimpl.X.MessageStringOf(x) } func (*ComposeAdminDashboardResponse_DomainStat) ProtoMessage() {} func (x *ComposeAdminDashboardResponse_DomainStat) ProtoReflect() protoreflect.Message { mi := &file_service_admin_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 ComposeAdminDashboardResponse_DomainStat.ProtoReflect.Descriptor instead. func (*ComposeAdminDashboardResponse_DomainStat) Descriptor() ([]byte, []int) { return file_service_admin_proto_rawDescGZIP(), []int{28, 3} } func (x *ComposeAdminDashboardResponse_DomainStat) GetServerId() int64 { if x != nil { return x.ServerId } return 0 } func (x *ComposeAdminDashboardResponse_DomainStat) GetDomain() string { if x != nil { return x.Domain } return "" } func (x *ComposeAdminDashboardResponse_DomainStat) GetCountRequests() int64 { if x != nil { return x.CountRequests } return 0 } func (x *ComposeAdminDashboardResponse_DomainStat) GetBytes() int64 { if x != nil { return x.Bytes } return 0 } type ComposeAdminDashboardResponse_CountryStat struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields CountryName string `protobuf:"bytes,1,opt,name=countryName,proto3" json:"countryName,omitempty"` Bytes int64 `protobuf:"varint,2,opt,name=bytes,proto3" json:"bytes,omitempty"` CountRequests int64 `protobuf:"varint,3,opt,name=countRequests,proto3" json:"countRequests,omitempty"` Percent float32 `protobuf:"fixed32,4,opt,name=percent,proto3" json:"percent,omitempty"` // 流量占比 CountAttackRequests int64 `protobuf:"varint,6,opt,name=countAttackRequests,proto3" json:"countAttackRequests,omitempty"` AttackBytes int64 `protobuf:"varint,7,opt,name=attackBytes,proto3" json:"attackBytes,omitempty"` } func (x *ComposeAdminDashboardResponse_CountryStat) Reset() { *x = ComposeAdminDashboardResponse_CountryStat{} if protoimpl.UnsafeEnabled { mi := &file_service_admin_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ComposeAdminDashboardResponse_CountryStat) String() string { return protoimpl.X.MessageStringOf(x) } func (*ComposeAdminDashboardResponse_CountryStat) ProtoMessage() {} func (x *ComposeAdminDashboardResponse_CountryStat) ProtoReflect() protoreflect.Message { mi := &file_service_admin_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 ComposeAdminDashboardResponse_CountryStat.ProtoReflect.Descriptor instead. func (*ComposeAdminDashboardResponse_CountryStat) Descriptor() ([]byte, []int) { return file_service_admin_proto_rawDescGZIP(), []int{28, 4} } func (x *ComposeAdminDashboardResponse_CountryStat) GetCountryName() string { if x != nil { return x.CountryName } return "" } func (x *ComposeAdminDashboardResponse_CountryStat) GetBytes() int64 { if x != nil { return x.Bytes } return 0 } func (x *ComposeAdminDashboardResponse_CountryStat) GetCountRequests() int64 { if x != nil { return x.CountRequests } return 0 } func (x *ComposeAdminDashboardResponse_CountryStat) GetPercent() float32 { if x != nil { return x.Percent } return 0 } func (x *ComposeAdminDashboardResponse_CountryStat) GetCountAttackRequests() int64 { if x != nil { return x.CountAttackRequests } return 0 } func (x *ComposeAdminDashboardResponse_CountryStat) GetAttackBytes() int64 { if x != nil { return x.AttackBytes } return 0 } // 节点升级信息 type ComposeAdminDashboardResponse_UpgradeInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields CountNodes int64 `protobuf:"varint,1,opt,name=countNodes,proto3" json:"countNodes,omitempty"` // 节点数 NewVersion string `protobuf:"bytes,2,opt,name=newVersion,proto3" json:"newVersion,omitempty"` // 新版本 } func (x *ComposeAdminDashboardResponse_UpgradeInfo) Reset() { *x = ComposeAdminDashboardResponse_UpgradeInfo{} if protoimpl.UnsafeEnabled { mi := &file_service_admin_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ComposeAdminDashboardResponse_UpgradeInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*ComposeAdminDashboardResponse_UpgradeInfo) ProtoMessage() {} func (x *ComposeAdminDashboardResponse_UpgradeInfo) ProtoReflect() protoreflect.Message { mi := &file_service_admin_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 ComposeAdminDashboardResponse_UpgradeInfo.ProtoReflect.Descriptor instead. func (*ComposeAdminDashboardResponse_UpgradeInfo) Descriptor() ([]byte, []int) { return file_service_admin_proto_rawDescGZIP(), []int{28, 5} } func (x *ComposeAdminDashboardResponse_UpgradeInfo) GetCountNodes() int64 { if x != nil { return x.CountNodes } return 0 } func (x *ComposeAdminDashboardResponse_UpgradeInfo) GetNewVersion() string { if x != nil { return x.NewVersion } return "" } var File_service_admin_proto protoreflect.FileDescriptor var file_service_admin_proto_rawDesc = []byte{ 0x0a, 0x13, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x1a, 0x18, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x72, 0x70, 0x63, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4b, 0x0a, 0x11, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x41, 0x64, 0x6d, 0x69, 0x6e, 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, 0x5c, 0x0a, 0x12, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x49, 0x64, 0x12, 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, 0x33, 0x0a, 0x17, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x49, 0x64, 0x22, 0x48, 0x0a, 0x18, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x73, 0x4f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x4f, 0x6b, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x51, 0x0a, 0x19, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x55, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x49, 0x64, 0x12, 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, 0x34, 0x0a, 0x1a, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x55, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x22, 0x3a, 0x0a, 0x1c, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x64, 0x6d, 0x69, 0x6e, 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, 0x40, 0x0a, 0x1d, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x57, 0x69, 0x74, 0x68, 0x55, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1f, 0x0a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x70, 0x62, 0x2e, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x22, 0x34, 0x0a, 0x18, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x46, 0x75, 0x6c, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x49, 0x64, 0x22, 0x37, 0x0a, 0x19, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x46, 0x75, 0x6c, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x75, 0x6c, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x75, 0x6c, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x33, 0x0a, 0x17, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x49, 0x64, 0x22, 0x3b, 0x0a, 0x18, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1f, 0x0a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x70, 0x62, 0x2e, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x22, 0x54, 0x0a, 0x1a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 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, 0x37, 0x0a, 0x1b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x49, 0x64, 0x22, 0x4e, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x49, 0x64, 0x12, 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, 0x22, 0x6b, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x49, 0x64, 0x12, 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, 0x1c, 0x0a, 0x1a, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x56, 0x0a, 0x1b, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x0c, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x62, 0x2e, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x0c, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x22, 0xc0, 0x01, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 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, 0x20, 0x0a, 0x0b, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x73, 0x53, 0x75, 0x70, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x53, 0x75, 0x70, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x61, 0x6e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x63, 0x61, 0x6e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x22, 0x2f, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x49, 0x64, 0x22, 0xee, 0x01, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x49, 0x64, 0x12, 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, 0x20, 0x0a, 0x0b, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x73, 0x53, 0x75, 0x70, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x53, 0x75, 0x70, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x61, 0x6e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x63, 0x61, 0x6e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x22, 0x62, 0x0a, 0x1c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 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, 0x28, 0x0a, 0x0f, 0x68, 0x61, 0x73, 0x57, 0x65, 0x61, 0x6b, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x68, 0x61, 0x73, 0x57, 0x65, 0x61, 0x6b, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x22, 0x8a, 0x01, 0x0a, 0x18, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x28, 0x0a, 0x0f, 0x68, 0x61, 0x73, 0x57, 0x65, 0x61, 0x6b, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x68, 0x61, 0x73, 0x57, 0x65, 0x61, 0x6b, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x22, 0x3e, 0x0a, 0x19, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x06, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x70, 0x62, 0x2e, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x06, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x73, 0x22, 0x2e, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x49, 0x64, 0x22, 0x3e, 0x0a, 0x20, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x4f, 0x54, 0x50, 0x57, 0x69, 0x74, 0x68, 0x55, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 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, 0x43, 0x0a, 0x21, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x4f, 0x54, 0x50, 0x57, 0x69, 0x74, 0x68, 0x55, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 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, 0x3e, 0x0a, 0x1c, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xe0, 0x15, 0x0a, 0x1d, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x11, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x2c, 0x0a, 0x11, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x12, 0x32, 0x0a, 0x14, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x75, 0x64, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x14, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x75, 0x64, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x50, 0x49, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x50, 0x49, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x32, 0x0a, 0x14, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x41, 0x50, 0x49, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x14, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x41, 0x50, 0x49, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x44, 0x42, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x44, 0x42, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x30, 0x0a, 0x13, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x44, 0x42, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 0x52, 0x13, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x44, 0x42, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x07, 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, 0x0c, 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, 0x32, 0x0a, 0x14, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x14, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x60, 0x0a, 0x11, 0x64, 0x61, 0x69, 0x6c, 0x79, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x73, 0x18, 0x1e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 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, 0x63, 0x0a, 0x12, 0x68, 0x6f, 0x75, 0x72, 0x6c, 0x79, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x73, 0x18, 0x1f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x48, 0x6f, 0x75, 0x72, 0x6c, 0x79, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x52, 0x12, 0x68, 0x6f, 0x75, 0x72, 0x6c, 0x79, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x57, 0x0a, 0x0f, 0x6e, 0x6f, 0x64, 0x65, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x20, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0f, 0x6e, 0x6f, 0x64, 0x65, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x5d, 0x0a, 0x12, 0x61, 0x70, 0x69, 0x4e, 0x6f, 0x64, 0x65, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x21, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x12, 0x61, 0x70, 0x69, 0x4e, 0x6f, 0x64, 0x65, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x5f, 0x0a, 0x13, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x23, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x13, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x69, 0x0a, 0x18, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x4e, 0x6f, 0x64, 0x65, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x24, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x18, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x4e, 0x6f, 0x64, 0x65, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x5b, 0x0a, 0x11, 0x6e, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x25, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x11, 0x6e, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x63, 0x0a, 0x15, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x29, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x15, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x4e, 0x0a, 0x0c, 0x74, 0x6f, 0x70, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x18, 0x26, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x52, 0x0c, 0x74, 0x6f, 0x70, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x54, 0x0a, 0x0e, 0x74, 0x6f, 0x70, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x18, 0x27, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x52, 0x0e, 0x74, 0x6f, 0x70, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x57, 0x0a, 0x0f, 0x74, 0x6f, 0x70, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x18, 0x2a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x53, 0x74, 0x61, 0x74, 0x52, 0x0f, 0x74, 0x6f, 0x70, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x3f, 0x0a, 0x10, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x43, 0x68, 0x61, 0x72, 0x74, 0x73, 0x18, 0x28, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x43, 0x68, 0x61, 0x72, 0x74, 0x52, 0x10, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x43, 0x68, 0x61, 0x72, 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, 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x04, 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, 0x05, 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, 0x06, 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, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x42, 0x79, 0x74, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x42, 0x79, 0x74, 0x65, 0x73, 0x1a, 0x8b, 0x02, 0x0a, 0x11, 0x48, 0x6f, 0x75, 0x72, 0x6c, 0x79, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x6f, 0x75, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x6f, 0x75, 0x72, 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, 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x04, 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, 0x05, 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, 0x06, 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, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x42, 0x79, 0x74, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x42, 0x79, 0x74, 0x65, 0x73, 0x1a, 0x7a, 0x0a, 0x08, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x6f, 0x64, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x6f, 0x64, 0x65, 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, 0x1a, 0x7c, 0x0a, 0x0a, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 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, 0x1a, 0xd9, 0x01, 0x0a, 0x0b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x53, 0x74, 0x61, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 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, 0x18, 0x0a, 0x07, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x07, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x12, 0x30, 0x0a, 0x13, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x06, 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, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x42, 0x79, 0x74, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x42, 0x79, 0x74, 0x65, 0x73, 0x1a, 0x4d, 0x0a, 0x0b, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x6e, 0x65, 0x77, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6e, 0x65, 0x77, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x49, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x54, 0x68, 0x65, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x68, 0x65, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x68, 0x65, 0x6d, 0x65, 0x22, 0x34, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x4c, 0x61, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x43, 0x6f, 0x64, 0x65, 0x32, 0xb7, 0x0b, 0x0a, 0x0c, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x3b, 0x0a, 0x0a, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x10, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x12, 0x1b, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x12, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x55, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x55, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x55, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x15, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x57, 0x69, 0x74, 0x68, 0x55, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x57, 0x69, 0x74, 0x68, 0x55, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x64, 0x6d, 0x69, 0x6e, 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, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x46, 0x75, 0x6c, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x46, 0x75, 0x6c, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x46, 0x75, 0x6c, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x10, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x1b, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x13, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x1e, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3d, 0x0a, 0x0f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x3f, 0x0a, 0x10, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x12, 0x1b, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x56, 0x0a, 0x13, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x1e, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x16, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x16, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x4f, 0x0a, 0x15, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x73, 0x12, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, 0x11, 0x6c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x73, 0x12, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x0b, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x16, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x68, 0x0a, 0x19, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x4f, 0x54, 0x50, 0x57, 0x69, 0x74, 0x68, 0x55, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x4f, 0x54, 0x50, 0x57, 0x69, 0x74, 0x68, 0x55, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x4f, 0x54, 0x50, 0x57, 0x69, 0x74, 0x68, 0x55, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x12, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x10, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x54, 0x68, 0x65, 0x6d, 0x65, 0x12, 0x1b, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x54, 0x68, 0x65, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x3d, 0x0a, 0x0f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x4c, 0x61, 0x6e, 0x67, 0x12, 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x4c, 0x61, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_service_admin_proto_rawDescOnce sync.Once file_service_admin_proto_rawDescData = file_service_admin_proto_rawDesc ) func file_service_admin_proto_rawDescGZIP() []byte { file_service_admin_proto_rawDescOnce.Do(func() { file_service_admin_proto_rawDescData = protoimpl.X.CompressGZIP(file_service_admin_proto_rawDescData) }) return file_service_admin_proto_rawDescData } var file_service_admin_proto_msgTypes = make([]protoimpl.MessageInfo, 37) var file_service_admin_proto_goTypes = []interface{}{ (*LoginAdminRequest)(nil), // 0: pb.LoginAdminRequest (*LoginAdminResponse)(nil), // 1: pb.LoginAdminResponse (*CheckAdminExistsRequest)(nil), // 2: pb.CheckAdminExistsRequest (*CheckAdminExistsResponse)(nil), // 3: pb.CheckAdminExistsResponse (*CheckAdminUsernameRequest)(nil), // 4: pb.CheckAdminUsernameRequest (*CheckAdminUsernameResponse)(nil), // 5: pb.CheckAdminUsernameResponse (*FindAdminWithUsernameRequest)(nil), // 6: pb.FindAdminWithUsernameRequest (*FindAdminWithUsernameResponse)(nil), // 7: pb.FindAdminWithUsernameResponse (*FindAdminFullnameRequest)(nil), // 8: pb.FindAdminFullnameRequest (*FindAdminFullnameResponse)(nil), // 9: pb.FindAdminFullnameResponse (*FindEnabledAdminRequest)(nil), // 10: pb.FindEnabledAdminRequest (*FindEnabledAdminResponse)(nil), // 11: pb.FindEnabledAdminResponse (*CreateOrUpdateAdminRequest)(nil), // 12: pb.CreateOrUpdateAdminRequest (*CreateOrUpdateAdminResponse)(nil), // 13: pb.CreateOrUpdateAdminResponse (*UpdateAdminInfoRequest)(nil), // 14: pb.UpdateAdminInfoRequest (*UpdateAdminLoginRequest)(nil), // 15: pb.UpdateAdminLoginRequest (*FindAllAdminModulesRequest)(nil), // 16: pb.FindAllAdminModulesRequest (*FindAllAdminModulesResponse)(nil), // 17: pb.FindAllAdminModulesResponse (*CreateAdminRequest)(nil), // 18: pb.CreateAdminRequest (*CreateAdminResponse)(nil), // 19: pb.CreateAdminResponse (*UpdateAdminRequest)(nil), // 20: pb.UpdateAdminRequest (*CountAllEnabledAdminsRequest)(nil), // 21: pb.CountAllEnabledAdminsRequest (*ListEnabledAdminsRequest)(nil), // 22: pb.ListEnabledAdminsRequest (*ListEnabledAdminsResponse)(nil), // 23: pb.ListEnabledAdminsResponse (*DeleteAdminRequest)(nil), // 24: pb.DeleteAdminRequest (*CheckAdminOTPWithUsernameRequest)(nil), // 25: pb.CheckAdminOTPWithUsernameRequest (*CheckAdminOTPWithUsernameResponse)(nil), // 26: pb.CheckAdminOTPWithUsernameResponse (*ComposeAdminDashboardRequest)(nil), // 27: pb.ComposeAdminDashboardRequest (*ComposeAdminDashboardResponse)(nil), // 28: pb.ComposeAdminDashboardResponse (*UpdateAdminThemeRequest)(nil), // 29: pb.UpdateAdminThemeRequest (*UpdateAdminLangRequest)(nil), // 30: pb.UpdateAdminLangRequest (*ComposeAdminDashboardResponse_DailyTrafficStat)(nil), // 31: pb.ComposeAdminDashboardResponse.DailyTrafficStat (*ComposeAdminDashboardResponse_HourlyTrafficStat)(nil), // 32: pb.ComposeAdminDashboardResponse.HourlyTrafficStat (*ComposeAdminDashboardResponse_NodeStat)(nil), // 33: pb.ComposeAdminDashboardResponse.NodeStat (*ComposeAdminDashboardResponse_DomainStat)(nil), // 34: pb.ComposeAdminDashboardResponse.DomainStat (*ComposeAdminDashboardResponse_CountryStat)(nil), // 35: pb.ComposeAdminDashboardResponse.CountryStat (*ComposeAdminDashboardResponse_UpgradeInfo)(nil), // 36: pb.ComposeAdminDashboardResponse.UpgradeInfo (*Admin)(nil), // 37: pb.Admin (*AdminModuleList)(nil), // 38: pb.AdminModuleList (*MetricDataChart)(nil), // 39: pb.MetricDataChart (*RPCSuccess)(nil), // 40: pb.RPCSuccess (*RPCCountResponse)(nil), // 41: pb.RPCCountResponse } var file_service_admin_proto_depIdxs = []int32{ 37, // 0: pb.FindAdminWithUsernameResponse.admin:type_name -> pb.Admin 37, // 1: pb.FindEnabledAdminResponse.admin:type_name -> pb.Admin 38, // 2: pb.FindAllAdminModulesResponse.adminModules:type_name -> pb.AdminModuleList 37, // 3: pb.ListEnabledAdminsResponse.admins:type_name -> pb.Admin 31, // 4: pb.ComposeAdminDashboardResponse.dailyTrafficStats:type_name -> pb.ComposeAdminDashboardResponse.DailyTrafficStat 32, // 5: pb.ComposeAdminDashboardResponse.hourlyTrafficStats:type_name -> pb.ComposeAdminDashboardResponse.HourlyTrafficStat 36, // 6: pb.ComposeAdminDashboardResponse.nodeUpgradeInfo:type_name -> pb.ComposeAdminDashboardResponse.UpgradeInfo 36, // 7: pb.ComposeAdminDashboardResponse.apiNodeUpgradeInfo:type_name -> pb.ComposeAdminDashboardResponse.UpgradeInfo 36, // 8: pb.ComposeAdminDashboardResponse.userNodeUpgradeInfo:type_name -> pb.ComposeAdminDashboardResponse.UpgradeInfo 36, // 9: pb.ComposeAdminDashboardResponse.authorityNodeUpgradeInfo:type_name -> pb.ComposeAdminDashboardResponse.UpgradeInfo 36, // 10: pb.ComposeAdminDashboardResponse.nsNodeUpgradeInfo:type_name -> pb.ComposeAdminDashboardResponse.UpgradeInfo 36, // 11: pb.ComposeAdminDashboardResponse.reportNodeUpgradeInfo:type_name -> pb.ComposeAdminDashboardResponse.UpgradeInfo 33, // 12: pb.ComposeAdminDashboardResponse.topNodeStats:type_name -> pb.ComposeAdminDashboardResponse.NodeStat 34, // 13: pb.ComposeAdminDashboardResponse.topDomainStats:type_name -> pb.ComposeAdminDashboardResponse.DomainStat 35, // 14: pb.ComposeAdminDashboardResponse.topCountryStats:type_name -> pb.ComposeAdminDashboardResponse.CountryStat 39, // 15: pb.ComposeAdminDashboardResponse.metricDataCharts:type_name -> pb.MetricDataChart 0, // 16: pb.AdminService.loginAdmin:input_type -> pb.LoginAdminRequest 2, // 17: pb.AdminService.checkAdminExists:input_type -> pb.CheckAdminExistsRequest 4, // 18: pb.AdminService.checkAdminUsername:input_type -> pb.CheckAdminUsernameRequest 6, // 19: pb.AdminService.findAdminWithUsername:input_type -> pb.FindAdminWithUsernameRequest 8, // 20: pb.AdminService.findAdminFullname:input_type -> pb.FindAdminFullnameRequest 10, // 21: pb.AdminService.findEnabledAdmin:input_type -> pb.FindEnabledAdminRequest 12, // 22: pb.AdminService.createOrUpdateAdmin:input_type -> pb.CreateOrUpdateAdminRequest 14, // 23: pb.AdminService.updateAdminInfo:input_type -> pb.UpdateAdminInfoRequest 15, // 24: pb.AdminService.updateAdminLogin:input_type -> pb.UpdateAdminLoginRequest 16, // 25: pb.AdminService.findAllAdminModules:input_type -> pb.FindAllAdminModulesRequest 18, // 26: pb.AdminService.createAdmin:input_type -> pb.CreateAdminRequest 20, // 27: pb.AdminService.updateAdmin:input_type -> pb.UpdateAdminRequest 21, // 28: pb.AdminService.countAllEnabledAdmins:input_type -> pb.CountAllEnabledAdminsRequest 22, // 29: pb.AdminService.listEnabledAdmins:input_type -> pb.ListEnabledAdminsRequest 24, // 30: pb.AdminService.deleteAdmin:input_type -> pb.DeleteAdminRequest 25, // 31: pb.AdminService.checkAdminOTPWithUsername:input_type -> pb.CheckAdminOTPWithUsernameRequest 27, // 32: pb.AdminService.composeAdminDashboard:input_type -> pb.ComposeAdminDashboardRequest 29, // 33: pb.AdminService.updateAdminTheme:input_type -> pb.UpdateAdminThemeRequest 30, // 34: pb.AdminService.updateAdminLang:input_type -> pb.UpdateAdminLangRequest 1, // 35: pb.AdminService.loginAdmin:output_type -> pb.LoginAdminResponse 3, // 36: pb.AdminService.checkAdminExists:output_type -> pb.CheckAdminExistsResponse 5, // 37: pb.AdminService.checkAdminUsername:output_type -> pb.CheckAdminUsernameResponse 7, // 38: pb.AdminService.findAdminWithUsername:output_type -> pb.FindAdminWithUsernameResponse 9, // 39: pb.AdminService.findAdminFullname:output_type -> pb.FindAdminFullnameResponse 11, // 40: pb.AdminService.findEnabledAdmin:output_type -> pb.FindEnabledAdminResponse 13, // 41: pb.AdminService.createOrUpdateAdmin:output_type -> pb.CreateOrUpdateAdminResponse 40, // 42: pb.AdminService.updateAdminInfo:output_type -> pb.RPCSuccess 40, // 43: pb.AdminService.updateAdminLogin:output_type -> pb.RPCSuccess 17, // 44: pb.AdminService.findAllAdminModules:output_type -> pb.FindAllAdminModulesResponse 19, // 45: pb.AdminService.createAdmin:output_type -> pb.CreateAdminResponse 40, // 46: pb.AdminService.updateAdmin:output_type -> pb.RPCSuccess 41, // 47: pb.AdminService.countAllEnabledAdmins:output_type -> pb.RPCCountResponse 23, // 48: pb.AdminService.listEnabledAdmins:output_type -> pb.ListEnabledAdminsResponse 40, // 49: pb.AdminService.deleteAdmin:output_type -> pb.RPCSuccess 26, // 50: pb.AdminService.checkAdminOTPWithUsername:output_type -> pb.CheckAdminOTPWithUsernameResponse 28, // 51: pb.AdminService.composeAdminDashboard:output_type -> pb.ComposeAdminDashboardResponse 40, // 52: pb.AdminService.updateAdminTheme:output_type -> pb.RPCSuccess 40, // 53: pb.AdminService.updateAdminLang:output_type -> pb.RPCSuccess 35, // [35:54] is the sub-list for method output_type 16, // [16:35] is the sub-list for method input_type 16, // [16:16] is the sub-list for extension type_name 16, // [16:16] is the sub-list for extension extendee 0, // [0:16] is the sub-list for field type_name } func init() { file_service_admin_proto_init() } func file_service_admin_proto_init() { if File_service_admin_proto != nil { return } file_models_model_admin_proto_init() file_models_model_admin_list_proto_init() file_models_rpc_messages_proto_init() file_service_server_stat_board_proto_init() if !protoimpl.UnsafeEnabled { file_service_admin_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LoginAdminRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_admin_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LoginAdminResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_admin_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CheckAdminExistsRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_admin_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CheckAdminExistsResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_admin_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CheckAdminUsernameRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_admin_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CheckAdminUsernameResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_admin_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindAdminWithUsernameRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_admin_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindAdminWithUsernameResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_admin_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindAdminFullnameRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_admin_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindAdminFullnameResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_admin_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindEnabledAdminRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_admin_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindEnabledAdminResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_admin_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateOrUpdateAdminRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_admin_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateOrUpdateAdminResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_admin_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateAdminInfoRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_admin_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateAdminLoginRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_admin_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindAllAdminModulesRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_admin_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindAllAdminModulesResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_admin_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateAdminRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_admin_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateAdminResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_admin_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateAdminRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_admin_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CountAllEnabledAdminsRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_admin_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListEnabledAdminsRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_admin_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListEnabledAdminsResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_admin_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeleteAdminRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_admin_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CheckAdminOTPWithUsernameRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_admin_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CheckAdminOTPWithUsernameResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_admin_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ComposeAdminDashboardRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_admin_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ComposeAdminDashboardResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_admin_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateAdminThemeRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_admin_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateAdminLangRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_admin_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ComposeAdminDashboardResponse_DailyTrafficStat); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_admin_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ComposeAdminDashboardResponse_HourlyTrafficStat); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_admin_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ComposeAdminDashboardResponse_NodeStat); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_admin_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ComposeAdminDashboardResponse_DomainStat); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_admin_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ComposeAdminDashboardResponse_CountryStat); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_admin_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ComposeAdminDashboardResponse_UpgradeInfo); 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_admin_proto_rawDesc, NumEnums: 0, NumMessages: 37, NumExtensions: 0, NumServices: 1, }, GoTypes: file_service_admin_proto_goTypes, DependencyIndexes: file_service_admin_proto_depIdxs, MessageInfos: file_service_admin_proto_msgTypes, }.Build() File_service_admin_proto = out.File file_service_admin_proto_rawDesc = nil file_service_admin_proto_goTypes = nil file_service_admin_proto_depIdxs = nil }