// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.11
// 	protoc        v7.34.1
// source: users.proto

package pb

import (
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	reflect "reflect"
	sync "sync"
	unsafe "unsafe"
)

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)
)

// --------------------------------users--------------------------------
// --------------------------------users--------------------------------
type Users struct {
	state              protoimpl.MessageState `protogen:"open.v1"`
	Id                 int64                  `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`                                 //id
	Username           string                 `protobuf:"bytes,2,opt,name=username,proto3" json:"username,omitempty"`                      //username
	PasswordHash       string                 `protobuf:"bytes,3,opt,name=passwordHash,proto3" json:"passwordHash,omitempty"`              //passwordHash
	Phone              string                 `protobuf:"bytes,4,opt,name=phone,proto3" json:"phone,omitempty"`                            //phone
	Email              string                 `protobuf:"bytes,5,opt,name=email,proto3" json:"email,omitempty"`                            //email
	Nickname           string                 `protobuf:"bytes,6,opt,name=nickname,proto3" json:"nickname,omitempty"`                      //nickname
	Avatar             string                 `protobuf:"bytes,7,opt,name=avatar,proto3" json:"avatar,omitempty"`                          //avatar
	Bio                string                 `protobuf:"bytes,8,opt,name=bio,proto3" json:"bio,omitempty"`                                //bio
	CurrentRole        string                 `protobuf:"bytes,9,opt,name=currentRole,proto3" json:"currentRole,omitempty"`                //currentRole
	VerifiedRoles      []string               `protobuf:"bytes,10,rep,name=verifiedRoles,proto3" json:"verifiedRoles,omitempty"`           //verifiedRoles
	VerificationStatus string                 `protobuf:"bytes,11,opt,name=verificationStatus,proto3" json:"verificationStatus,omitempty"` //verificationStatus
	IsAdmin            bool                   `protobuf:"varint,12,opt,name=isAdmin,proto3" json:"isAdmin,omitempty"`                      //isAdmin
	CreatedAt          int64                  `protobuf:"varint,13,opt,name=createdAt,proto3" json:"createdAt,omitempty"`                  //createdAt
	UpdatedAt          int64                  `protobuf:"varint,14,opt,name=updatedAt,proto3" json:"updatedAt,omitempty"`                  //updatedAt
	DeletedAt          int64                  `protobuf:"varint,15,opt,name=deletedAt,proto3" json:"deletedAt,omitempty"`                  //deletedAt
	unknownFields      protoimpl.UnknownFields
	sizeCache          protoimpl.SizeCache
}

func (x *Users) Reset() {
	*x = Users{}
	mi := &file_users_proto_msgTypes[0]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Users) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Users) ProtoMessage() {}

func (x *Users) ProtoReflect() protoreflect.Message {
	mi := &file_users_proto_msgTypes[0]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Users.ProtoReflect.Descriptor instead.
func (*Users) Descriptor() ([]byte, []int) {
	return file_users_proto_rawDescGZIP(), []int{0}
}

func (x *Users) GetId() int64 {
	if x != nil {
		return x.Id
	}
	return 0
}

func (x *Users) GetUsername() string {
	if x != nil {
		return x.Username
	}
	return ""
}

func (x *Users) GetPasswordHash() string {
	if x != nil {
		return x.PasswordHash
	}
	return ""
}

func (x *Users) GetPhone() string {
	if x != nil {
		return x.Phone
	}
	return ""
}

func (x *Users) GetEmail() string {
	if x != nil {
		return x.Email
	}
	return ""
}

func (x *Users) GetNickname() string {
	if x != nil {
		return x.Nickname
	}
	return ""
}

func (x *Users) GetAvatar() string {
	if x != nil {
		return x.Avatar
	}
	return ""
}

func (x *Users) GetBio() string {
	if x != nil {
		return x.Bio
	}
	return ""
}

func (x *Users) GetCurrentRole() string {
	if x != nil {
		return x.CurrentRole
	}
	return ""
}

func (x *Users) GetVerifiedRoles() []string {
	if x != nil {
		return x.VerifiedRoles
	}
	return nil
}

func (x *Users) GetVerificationStatus() string {
	if x != nil {
		return x.VerificationStatus
	}
	return ""
}

func (x *Users) GetIsAdmin() bool {
	if x != nil {
		return x.IsAdmin
	}
	return false
}

func (x *Users) GetCreatedAt() int64 {
	if x != nil {
		return x.CreatedAt
	}
	return 0
}

func (x *Users) GetUpdatedAt() int64 {
	if x != nil {
		return x.UpdatedAt
	}
	return 0
}

func (x *Users) GetDeletedAt() int64 {
	if x != nil {
		return x.DeletedAt
	}
	return 0
}

type AddUsersReq struct {
	state              protoimpl.MessageState `protogen:"open.v1"`
	Username           string                 `protobuf:"bytes,1,opt,name=username,proto3" json:"username,omitempty"`                      //username
	PasswordHash       string                 `protobuf:"bytes,2,opt,name=passwordHash,proto3" json:"passwordHash,omitempty"`              //passwordHash
	Phone              string                 `protobuf:"bytes,3,opt,name=phone,proto3" json:"phone,omitempty"`                            //phone
	Email              string                 `protobuf:"bytes,4,opt,name=email,proto3" json:"email,omitempty"`                            //email
	Nickname           string                 `protobuf:"bytes,5,opt,name=nickname,proto3" json:"nickname,omitempty"`                      //nickname
	Avatar             string                 `protobuf:"bytes,6,opt,name=avatar,proto3" json:"avatar,omitempty"`                          //avatar
	Bio                string                 `protobuf:"bytes,7,opt,name=bio,proto3" json:"bio,omitempty"`                                //bio
	CurrentRole        string                 `protobuf:"bytes,8,opt,name=currentRole,proto3" json:"currentRole,omitempty"`                //currentRole
	VerifiedRoles      []string               `protobuf:"bytes,9,rep,name=verifiedRoles,proto3" json:"verifiedRoles,omitempty"`            //verifiedRoles
	VerificationStatus string                 `protobuf:"bytes,10,opt,name=verificationStatus,proto3" json:"verificationStatus,omitempty"` //verificationStatus
	IsAdmin            bool                   `protobuf:"varint,11,opt,name=isAdmin,proto3" json:"isAdmin,omitempty"`                      //isAdmin
	CreatedAt          int64                  `protobuf:"varint,12,opt,name=createdAt,proto3" json:"createdAt,omitempty"`                  //createdAt
	UpdatedAt          int64                  `protobuf:"varint,13,opt,name=updatedAt,proto3" json:"updatedAt,omitempty"`                  //updatedAt
	DeletedAt          int64                  `protobuf:"varint,14,opt,name=deletedAt,proto3" json:"deletedAt,omitempty"`                  //deletedAt
	unknownFields      protoimpl.UnknownFields
	sizeCache          protoimpl.SizeCache
}

func (x *AddUsersReq) Reset() {
	*x = AddUsersReq{}
	mi := &file_users_proto_msgTypes[1]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *AddUsersReq) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*AddUsersReq) ProtoMessage() {}

func (x *AddUsersReq) ProtoReflect() protoreflect.Message {
	mi := &file_users_proto_msgTypes[1]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use AddUsersReq.ProtoReflect.Descriptor instead.
func (*AddUsersReq) Descriptor() ([]byte, []int) {
	return file_users_proto_rawDescGZIP(), []int{1}
}

func (x *AddUsersReq) GetUsername() string {
	if x != nil {
		return x.Username
	}
	return ""
}

func (x *AddUsersReq) GetPasswordHash() string {
	if x != nil {
		return x.PasswordHash
	}
	return ""
}

func (x *AddUsersReq) GetPhone() string {
	if x != nil {
		return x.Phone
	}
	return ""
}

func (x *AddUsersReq) GetEmail() string {
	if x != nil {
		return x.Email
	}
	return ""
}

func (x *AddUsersReq) GetNickname() string {
	if x != nil {
		return x.Nickname
	}
	return ""
}

func (x *AddUsersReq) GetAvatar() string {
	if x != nil {
		return x.Avatar
	}
	return ""
}

func (x *AddUsersReq) GetBio() string {
	if x != nil {
		return x.Bio
	}
	return ""
}

func (x *AddUsersReq) GetCurrentRole() string {
	if x != nil {
		return x.CurrentRole
	}
	return ""
}

func (x *AddUsersReq) GetVerifiedRoles() []string {
	if x != nil {
		return x.VerifiedRoles
	}
	return nil
}

func (x *AddUsersReq) GetVerificationStatus() string {
	if x != nil {
		return x.VerificationStatus
	}
	return ""
}

func (x *AddUsersReq) GetIsAdmin() bool {
	if x != nil {
		return x.IsAdmin
	}
	return false
}

func (x *AddUsersReq) GetCreatedAt() int64 {
	if x != nil {
		return x.CreatedAt
	}
	return 0
}

func (x *AddUsersReq) GetUpdatedAt() int64 {
	if x != nil {
		return x.UpdatedAt
	}
	return 0
}

func (x *AddUsersReq) GetDeletedAt() int64 {
	if x != nil {
		return x.DeletedAt
	}
	return 0
}

type AddUsersResp struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *AddUsersResp) Reset() {
	*x = AddUsersResp{}
	mi := &file_users_proto_msgTypes[2]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *AddUsersResp) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*AddUsersResp) ProtoMessage() {}

func (x *AddUsersResp) ProtoReflect() protoreflect.Message {
	mi := &file_users_proto_msgTypes[2]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use AddUsersResp.ProtoReflect.Descriptor instead.
func (*AddUsersResp) Descriptor() ([]byte, []int) {
	return file_users_proto_rawDescGZIP(), []int{2}
}

type UpdateUsersReq struct {
	state              protoimpl.MessageState `protogen:"open.v1"`
	Id                 int64                  `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`                                       //id
	Username           *string                `protobuf:"bytes,2,opt,name=username,proto3,oneof" json:"username,omitempty"`                      //username
	PasswordHash       *string                `protobuf:"bytes,3,opt,name=passwordHash,proto3,oneof" json:"passwordHash,omitempty"`              //passwordHash
	Phone              *string                `protobuf:"bytes,4,opt,name=phone,proto3,oneof" json:"phone,omitempty"`                            //phone
	Email              *string                `protobuf:"bytes,5,opt,name=email,proto3,oneof" json:"email,omitempty"`                            //email
	Nickname           *string                `protobuf:"bytes,6,opt,name=nickname,proto3,oneof" json:"nickname,omitempty"`                      //nickname
	Avatar             *string                `protobuf:"bytes,7,opt,name=avatar,proto3,oneof" json:"avatar,omitempty"`                          //avatar
	Bio                *string                `protobuf:"bytes,8,opt,name=bio,proto3,oneof" json:"bio,omitempty"`                                //bio
	CurrentRole        *string                `protobuf:"bytes,9,opt,name=currentRole,proto3,oneof" json:"currentRole,omitempty"`                //currentRole
	VerifiedRoles      []string               `protobuf:"bytes,10,rep,name=verifiedRoles,proto3" json:"verifiedRoles,omitempty"`                 //verifiedRoles
	VerificationStatus *string                `protobuf:"bytes,11,opt,name=verificationStatus,proto3,oneof" json:"verificationStatus,omitempty"` //verificationStatus
	IsAdmin            *bool                  `protobuf:"varint,12,opt,name=isAdmin,proto3,oneof" json:"isAdmin,omitempty"`                      //isAdmin
	CreatedAt          *int64                 `protobuf:"varint,13,opt,name=createdAt,proto3,oneof" json:"createdAt,omitempty"`                  //createdAt
	UpdatedAt          *int64                 `protobuf:"varint,14,opt,name=updatedAt,proto3,oneof" json:"updatedAt,omitempty"`                  //updatedAt
	DeletedAt          *int64                 `protobuf:"varint,15,opt,name=deletedAt,proto3,oneof" json:"deletedAt,omitempty"`                  //deletedAt
	unknownFields      protoimpl.UnknownFields
	sizeCache          protoimpl.SizeCache
}

func (x *UpdateUsersReq) Reset() {
	*x = UpdateUsersReq{}
	mi := &file_users_proto_msgTypes[3]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *UpdateUsersReq) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*UpdateUsersReq) ProtoMessage() {}

func (x *UpdateUsersReq) ProtoReflect() protoreflect.Message {
	mi := &file_users_proto_msgTypes[3]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use UpdateUsersReq.ProtoReflect.Descriptor instead.
func (*UpdateUsersReq) Descriptor() ([]byte, []int) {
	return file_users_proto_rawDescGZIP(), []int{3}
}

func (x *UpdateUsersReq) GetId() int64 {
	if x != nil {
		return x.Id
	}
	return 0
}

func (x *UpdateUsersReq) GetUsername() string {
	if x != nil && x.Username != nil {
		return *x.Username
	}
	return ""
}

func (x *UpdateUsersReq) GetPasswordHash() string {
	if x != nil && x.PasswordHash != nil {
		return *x.PasswordHash
	}
	return ""
}

func (x *UpdateUsersReq) GetPhone() string {
	if x != nil && x.Phone != nil {
		return *x.Phone
	}
	return ""
}

func (x *UpdateUsersReq) GetEmail() string {
	if x != nil && x.Email != nil {
		return *x.Email
	}
	return ""
}

func (x *UpdateUsersReq) GetNickname() string {
	if x != nil && x.Nickname != nil {
		return *x.Nickname
	}
	return ""
}

func (x *UpdateUsersReq) GetAvatar() string {
	if x != nil && x.Avatar != nil {
		return *x.Avatar
	}
	return ""
}

func (x *UpdateUsersReq) GetBio() string {
	if x != nil && x.Bio != nil {
		return *x.Bio
	}
	return ""
}

func (x *UpdateUsersReq) GetCurrentRole() string {
	if x != nil && x.CurrentRole != nil {
		return *x.CurrentRole
	}
	return ""
}

func (x *UpdateUsersReq) GetVerifiedRoles() []string {
	if x != nil {
		return x.VerifiedRoles
	}
	return nil
}

func (x *UpdateUsersReq) GetVerificationStatus() string {
	if x != nil && x.VerificationStatus != nil {
		return *x.VerificationStatus
	}
	return ""
}

func (x *UpdateUsersReq) GetIsAdmin() bool {
	if x != nil && x.IsAdmin != nil {
		return *x.IsAdmin
	}
	return false
}

func (x *UpdateUsersReq) GetCreatedAt() int64 {
	if x != nil && x.CreatedAt != nil {
		return *x.CreatedAt
	}
	return 0
}

func (x *UpdateUsersReq) GetUpdatedAt() int64 {
	if x != nil && x.UpdatedAt != nil {
		return *x.UpdatedAt
	}
	return 0
}

func (x *UpdateUsersReq) GetDeletedAt() int64 {
	if x != nil && x.DeletedAt != nil {
		return *x.DeletedAt
	}
	return 0
}

type UpdateUsersResp struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *UpdateUsersResp) Reset() {
	*x = UpdateUsersResp{}
	mi := &file_users_proto_msgTypes[4]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *UpdateUsersResp) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*UpdateUsersResp) ProtoMessage() {}

func (x *UpdateUsersResp) ProtoReflect() protoreflect.Message {
	mi := &file_users_proto_msgTypes[4]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use UpdateUsersResp.ProtoReflect.Descriptor instead.
func (*UpdateUsersResp) Descriptor() ([]byte, []int) {
	return file_users_proto_rawDescGZIP(), []int{4}
}

type DelUsersReq struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Id            int64                  `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` //id
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DelUsersReq) Reset() {
	*x = DelUsersReq{}
	mi := &file_users_proto_msgTypes[5]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DelUsersReq) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DelUsersReq) ProtoMessage() {}

func (x *DelUsersReq) ProtoReflect() protoreflect.Message {
	mi := &file_users_proto_msgTypes[5]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DelUsersReq.ProtoReflect.Descriptor instead.
func (*DelUsersReq) Descriptor() ([]byte, []int) {
	return file_users_proto_rawDescGZIP(), []int{5}
}

func (x *DelUsersReq) GetId() int64 {
	if x != nil {
		return x.Id
	}
	return 0
}

type DelUsersResp struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DelUsersResp) Reset() {
	*x = DelUsersResp{}
	mi := &file_users_proto_msgTypes[6]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DelUsersResp) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DelUsersResp) ProtoMessage() {}

func (x *DelUsersResp) ProtoReflect() protoreflect.Message {
	mi := &file_users_proto_msgTypes[6]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DelUsersResp.ProtoReflect.Descriptor instead.
func (*DelUsersResp) Descriptor() ([]byte, []int) {
	return file_users_proto_rawDescGZIP(), []int{6}
}

type GetUsersByIdReq struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Id            int64                  `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` //id
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetUsersByIdReq) Reset() {
	*x = GetUsersByIdReq{}
	mi := &file_users_proto_msgTypes[7]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GetUsersByIdReq) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetUsersByIdReq) ProtoMessage() {}

func (x *GetUsersByIdReq) ProtoReflect() protoreflect.Message {
	mi := &file_users_proto_msgTypes[7]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetUsersByIdReq.ProtoReflect.Descriptor instead.
func (*GetUsersByIdReq) Descriptor() ([]byte, []int) {
	return file_users_proto_rawDescGZIP(), []int{7}
}

func (x *GetUsersByIdReq) GetId() int64 {
	if x != nil {
		return x.Id
	}
	return 0
}

type GetUsersByIdResp struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Users         *Users                 `protobuf:"bytes,1,opt,name=users,proto3" json:"users,omitempty"` //users
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetUsersByIdResp) Reset() {
	*x = GetUsersByIdResp{}
	mi := &file_users_proto_msgTypes[8]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GetUsersByIdResp) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetUsersByIdResp) ProtoMessage() {}

func (x *GetUsersByIdResp) ProtoReflect() protoreflect.Message {
	mi := &file_users_proto_msgTypes[8]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetUsersByIdResp.ProtoReflect.Descriptor instead.
func (*GetUsersByIdResp) Descriptor() ([]byte, []int) {
	return file_users_proto_rawDescGZIP(), []int{8}
}

func (x *GetUsersByIdResp) GetUsers() *Users {
	if x != nil {
		return x.Users
	}
	return nil
}

type GetUsersByIdsReq struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Ids           []int64                `protobuf:"varint,1,rep,packed,name=ids,proto3" json:"ids,omitempty"` //ids
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetUsersByIdsReq) Reset() {
	*x = GetUsersByIdsReq{}
	mi := &file_users_proto_msgTypes[9]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GetUsersByIdsReq) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetUsersByIdsReq) ProtoMessage() {}

func (x *GetUsersByIdsReq) ProtoReflect() protoreflect.Message {
	mi := &file_users_proto_msgTypes[9]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetUsersByIdsReq.ProtoReflect.Descriptor instead.
func (*GetUsersByIdsReq) Descriptor() ([]byte, []int) {
	return file_users_proto_rawDescGZIP(), []int{9}
}

func (x *GetUsersByIdsReq) GetIds() []int64 {
	if x != nil {
		return x.Ids
	}
	return nil
}

type GetUsersByIdsResp struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Users         []*Users               `protobuf:"bytes,1,rep,name=users,proto3" json:"users,omitempty"` //users
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetUsersByIdsResp) Reset() {
	*x = GetUsersByIdsResp{}
	mi := &file_users_proto_msgTypes[10]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GetUsersByIdsResp) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetUsersByIdsResp) ProtoMessage() {}

func (x *GetUsersByIdsResp) ProtoReflect() protoreflect.Message {
	mi := &file_users_proto_msgTypes[10]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetUsersByIdsResp.ProtoReflect.Descriptor instead.
func (*GetUsersByIdsResp) Descriptor() ([]byte, []int) {
	return file_users_proto_rawDescGZIP(), []int{10}
}

func (x *GetUsersByIdsResp) GetUsers() []*Users {
	if x != nil {
		return x.Users
	}
	return nil
}

type SearchUsersReq struct {
	state              protoimpl.MessageState `protogen:"open.v1"`
	Offset             *int64                 `protobuf:"varint,1,opt,name=offset,proto3,oneof" json:"offset,omitempty"`                         //offset
	Limit              *int64                 `protobuf:"varint,2,opt,name=limit,proto3,oneof" json:"limit,omitempty"`                           //limit
	Id                 *int64                 `protobuf:"varint,3,opt,name=id,proto3,oneof" json:"id,omitempty"`                                 //id
	Username           *string                `protobuf:"bytes,4,opt,name=username,proto3,oneof" json:"username,omitempty"`                      //username
	PasswordHash       *string                `protobuf:"bytes,5,opt,name=passwordHash,proto3,oneof" json:"passwordHash,omitempty"`              //passwordHash
	Phone              *string                `protobuf:"bytes,6,opt,name=phone,proto3,oneof" json:"phone,omitempty"`                            //phone
	Email              *string                `protobuf:"bytes,7,opt,name=email,proto3,oneof" json:"email,omitempty"`                            //email
	Nickname           *string                `protobuf:"bytes,8,opt,name=nickname,proto3,oneof" json:"nickname,omitempty"`                      //nickname
	Avatar             *string                `protobuf:"bytes,9,opt,name=avatar,proto3,oneof" json:"avatar,omitempty"`                          //avatar
	Bio                *string                `protobuf:"bytes,10,opt,name=bio,proto3,oneof" json:"bio,omitempty"`                               //bio
	CurrentRole        *string                `protobuf:"bytes,11,opt,name=currentRole,proto3,oneof" json:"currentRole,omitempty"`               //currentRole
	VerifiedRoles      []string               `protobuf:"bytes,12,rep,name=verifiedRoles,proto3" json:"verifiedRoles,omitempty"`                 //verifiedRoles
	VerificationStatus *string                `protobuf:"bytes,13,opt,name=verificationStatus,proto3,oneof" json:"verificationStatus,omitempty"` //verificationStatus
	IsAdmin            *bool                  `protobuf:"varint,14,opt,name=isAdmin,proto3,oneof" json:"isAdmin,omitempty"`                      //isAdmin
	CreatedAt          *int64                 `protobuf:"varint,15,opt,name=createdAt,proto3,oneof" json:"createdAt,omitempty"`                  //createdAt
	UpdatedAt          *int64                 `protobuf:"varint,16,opt,name=updatedAt,proto3,oneof" json:"updatedAt,omitempty"`                  //updatedAt
	DeletedAt          *int64                 `protobuf:"varint,17,opt,name=deletedAt,proto3,oneof" json:"deletedAt,omitempty"`                  //deletedAt
	unknownFields      protoimpl.UnknownFields
	sizeCache          protoimpl.SizeCache
}

func (x *SearchUsersReq) Reset() {
	*x = SearchUsersReq{}
	mi := &file_users_proto_msgTypes[11]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *SearchUsersReq) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SearchUsersReq) ProtoMessage() {}

func (x *SearchUsersReq) ProtoReflect() protoreflect.Message {
	mi := &file_users_proto_msgTypes[11]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SearchUsersReq.ProtoReflect.Descriptor instead.
func (*SearchUsersReq) Descriptor() ([]byte, []int) {
	return file_users_proto_rawDescGZIP(), []int{11}
}

func (x *SearchUsersReq) GetOffset() int64 {
	if x != nil && x.Offset != nil {
		return *x.Offset
	}
	return 0
}

func (x *SearchUsersReq) GetLimit() int64 {
	if x != nil && x.Limit != nil {
		return *x.Limit
	}
	return 0
}

func (x *SearchUsersReq) GetId() int64 {
	if x != nil && x.Id != nil {
		return *x.Id
	}
	return 0
}

func (x *SearchUsersReq) GetUsername() string {
	if x != nil && x.Username != nil {
		return *x.Username
	}
	return ""
}

func (x *SearchUsersReq) GetPasswordHash() string {
	if x != nil && x.PasswordHash != nil {
		return *x.PasswordHash
	}
	return ""
}

func (x *SearchUsersReq) GetPhone() string {
	if x != nil && x.Phone != nil {
		return *x.Phone
	}
	return ""
}

func (x *SearchUsersReq) GetEmail() string {
	if x != nil && x.Email != nil {
		return *x.Email
	}
	return ""
}

func (x *SearchUsersReq) GetNickname() string {
	if x != nil && x.Nickname != nil {
		return *x.Nickname
	}
	return ""
}

func (x *SearchUsersReq) GetAvatar() string {
	if x != nil && x.Avatar != nil {
		return *x.Avatar
	}
	return ""
}

func (x *SearchUsersReq) GetBio() string {
	if x != nil && x.Bio != nil {
		return *x.Bio
	}
	return ""
}

func (x *SearchUsersReq) GetCurrentRole() string {
	if x != nil && x.CurrentRole != nil {
		return *x.CurrentRole
	}
	return ""
}

func (x *SearchUsersReq) GetVerifiedRoles() []string {
	if x != nil {
		return x.VerifiedRoles
	}
	return nil
}

func (x *SearchUsersReq) GetVerificationStatus() string {
	if x != nil && x.VerificationStatus != nil {
		return *x.VerificationStatus
	}
	return ""
}

func (x *SearchUsersReq) GetIsAdmin() bool {
	if x != nil && x.IsAdmin != nil {
		return *x.IsAdmin
	}
	return false
}

func (x *SearchUsersReq) GetCreatedAt() int64 {
	if x != nil && x.CreatedAt != nil {
		return *x.CreatedAt
	}
	return 0
}

func (x *SearchUsersReq) GetUpdatedAt() int64 {
	if x != nil && x.UpdatedAt != nil {
		return *x.UpdatedAt
	}
	return 0
}

func (x *SearchUsersReq) GetDeletedAt() int64 {
	if x != nil && x.DeletedAt != nil {
		return *x.DeletedAt
	}
	return 0
}

type SearchUsersResp struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Users         []*Users               `protobuf:"bytes,1,rep,name=users,proto3" json:"users,omitempty"` //users
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *SearchUsersResp) Reset() {
	*x = SearchUsersResp{}
	mi := &file_users_proto_msgTypes[12]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *SearchUsersResp) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SearchUsersResp) ProtoMessage() {}

func (x *SearchUsersResp) ProtoReflect() protoreflect.Message {
	mi := &file_users_proto_msgTypes[12]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SearchUsersResp.ProtoReflect.Descriptor instead.
func (*SearchUsersResp) Descriptor() ([]byte, []int) {
	return file_users_proto_rawDescGZIP(), []int{12}
}

func (x *SearchUsersResp) GetUsers() []*Users {
	if x != nil {
		return x.Users
	}
	return nil
}

type GetUserByUsernameReq struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Username      string                 `protobuf:"bytes,1,opt,name=username,proto3" json:"username,omitempty"` //username
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetUserByUsernameReq) Reset() {
	*x = GetUserByUsernameReq{}
	mi := &file_users_proto_msgTypes[13]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GetUserByUsernameReq) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetUserByUsernameReq) ProtoMessage() {}

func (x *GetUserByUsernameReq) ProtoReflect() protoreflect.Message {
	mi := &file_users_proto_msgTypes[13]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetUserByUsernameReq.ProtoReflect.Descriptor instead.
func (*GetUserByUsernameReq) Descriptor() ([]byte, []int) {
	return file_users_proto_rawDescGZIP(), []int{13}
}

func (x *GetUserByUsernameReq) GetUsername() string {
	if x != nil {
		return x.Username
	}
	return ""
}

type GetUserByUsernameResp struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Users         *Users                 `protobuf:"bytes,1,opt,name=users,proto3" json:"users,omitempty"` //users
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetUserByUsernameResp) Reset() {
	*x = GetUserByUsernameResp{}
	mi := &file_users_proto_msgTypes[14]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GetUserByUsernameResp) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetUserByUsernameResp) ProtoMessage() {}

func (x *GetUserByUsernameResp) ProtoReflect() protoreflect.Message {
	mi := &file_users_proto_msgTypes[14]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetUserByUsernameResp.ProtoReflect.Descriptor instead.
func (*GetUserByUsernameResp) Descriptor() ([]byte, []int) {
	return file_users_proto_rawDescGZIP(), []int{14}
}

func (x *GetUserByUsernameResp) GetUsers() *Users {
	if x != nil {
		return x.Users
	}
	return nil
}

type LoginReq struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Username      string                 `protobuf:"bytes,1,opt,name=username,proto3" json:"username,omitempty"`
	Passwd        string                 `protobuf:"bytes,2,opt,name=passwd,proto3" json:"passwd,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *LoginReq) Reset() {
	*x = LoginReq{}
	mi := &file_users_proto_msgTypes[15]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *LoginReq) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*LoginReq) ProtoMessage() {}

func (x *LoginReq) ProtoReflect() protoreflect.Message {
	mi := &file_users_proto_msgTypes[15]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use LoginReq.ProtoReflect.Descriptor instead.
func (*LoginReq) Descriptor() ([]byte, []int) {
	return file_users_proto_rawDescGZIP(), []int{15}
}

func (x *LoginReq) GetUsername() string {
	if x != nil {
		return x.Username
	}
	return ""
}

func (x *LoginReq) GetPasswd() string {
	if x != nil {
		return x.Passwd
	}
	return ""
}

type LoginResp struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Token         string                 `protobuf:"bytes,1,opt,name=token,proto3" json:"token,omitempty"`
	Username      string                 `protobuf:"bytes,2,opt,name=username,proto3" json:"username,omitempty"`
	Email         string                 `protobuf:"bytes,3,opt,name=email,proto3" json:"email,omitempty"`
	Id            int64                  `protobuf:"varint,4,opt,name=id,proto3" json:"id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *LoginResp) Reset() {
	*x = LoginResp{}
	mi := &file_users_proto_msgTypes[16]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *LoginResp) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*LoginResp) ProtoMessage() {}

func (x *LoginResp) ProtoReflect() protoreflect.Message {
	mi := &file_users_proto_msgTypes[16]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use LoginResp.ProtoReflect.Descriptor instead.
func (*LoginResp) Descriptor() ([]byte, []int) {
	return file_users_proto_rawDescGZIP(), []int{16}
}

func (x *LoginResp) GetToken() string {
	if x != nil {
		return x.Token
	}
	return ""
}

func (x *LoginResp) GetUsername() string {
	if x != nil {
		return x.Username
	}
	return ""
}

func (x *LoginResp) GetEmail() string {
	if x != nil {
		return x.Email
	}
	return ""
}

func (x *LoginResp) GetId() int64 {
	if x != nil {
		return x.Id
	}
	return 0
}

type ValidateTokenReq struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Token         string                 `protobuf:"bytes,1,opt,name=token,proto3" json:"token,omitempty"`    // JWT token
	UserId        int64                  `protobuf:"varint,2,opt,name=userId,proto3" json:"userId,omitempty"` // 用户ID
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ValidateTokenReq) Reset() {
	*x = ValidateTokenReq{}
	mi := &file_users_proto_msgTypes[17]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ValidateTokenReq) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ValidateTokenReq) ProtoMessage() {}

func (x *ValidateTokenReq) ProtoReflect() protoreflect.Message {
	mi := &file_users_proto_msgTypes[17]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ValidateTokenReq.ProtoReflect.Descriptor instead.
func (*ValidateTokenReq) Descriptor() ([]byte, []int) {
	return file_users_proto_rawDescGZIP(), []int{17}
}

func (x *ValidateTokenReq) GetToken() string {
	if x != nil {
		return x.Token
	}
	return ""
}

func (x *ValidateTokenReq) GetUserId() int64 {
	if x != nil {
		return x.UserId
	}
	return 0
}

type ValidateTokenResp struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Valid         bool                   `protobuf:"varint,1,opt,name=valid,proto3" json:"valid,omitempty"`      // token 是否有效（不在黑名单中）
	Message       string                 `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"`   // 验证失败原因
	UserId        int64                  `protobuf:"varint,3,opt,name=userId,proto3" json:"userId,omitempty"`    // 用户ID
	RoleType      string                 `protobuf:"bytes,4,opt,name=roleType,proto3" json:"roleType,omitempty"` // 用户角色
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ValidateTokenResp) Reset() {
	*x = ValidateTokenResp{}
	mi := &file_users_proto_msgTypes[18]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ValidateTokenResp) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ValidateTokenResp) ProtoMessage() {}

func (x *ValidateTokenResp) ProtoReflect() protoreflect.Message {
	mi := &file_users_proto_msgTypes[18]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ValidateTokenResp.ProtoReflect.Descriptor instead.
func (*ValidateTokenResp) Descriptor() ([]byte, []int) {
	return file_users_proto_rawDescGZIP(), []int{18}
}

func (x *ValidateTokenResp) GetValid() bool {
	if x != nil {
		return x.Valid
	}
	return false
}

func (x *ValidateTokenResp) GetMessage() string {
	if x != nil {
		return x.Message
	}
	return ""
}

func (x *ValidateTokenResp) GetUserId() int64 {
	if x != nil {
		return x.UserId
	}
	return 0
}

func (x *ValidateTokenResp) GetRoleType() string {
	if x != nil {
		return x.RoleType
	}
	return ""
}

type CheckPermissionReq struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	UserId        int64                  `protobuf:"varint,1,opt,name=userId,proto3" json:"userId,omitempty"`    // 用户ID
	Resource      string                 `protobuf:"bytes,2,opt,name=resource,proto3" json:"resource,omitempty"` // 资源 ID
	Action        string                 `protobuf:"bytes,3,opt,name=action,proto3" json:"action,omitempty"`     // 操作类型: read/write/delete
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *CheckPermissionReq) Reset() {
	*x = CheckPermissionReq{}
	mi := &file_users_proto_msgTypes[19]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *CheckPermissionReq) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CheckPermissionReq) ProtoMessage() {}

func (x *CheckPermissionReq) ProtoReflect() protoreflect.Message {
	mi := &file_users_proto_msgTypes[19]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CheckPermissionReq.ProtoReflect.Descriptor instead.
func (*CheckPermissionReq) Descriptor() ([]byte, []int) {
	return file_users_proto_rawDescGZIP(), []int{19}
}

func (x *CheckPermissionReq) GetUserId() int64 {
	if x != nil {
		return x.UserId
	}
	return 0
}

func (x *CheckPermissionReq) GetResource() string {
	if x != nil {
		return x.Resource
	}
	return ""
}

func (x *CheckPermissionReq) GetAction() string {
	if x != nil {
		return x.Action
	}
	return ""
}

type CheckPermissionResp struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Allowed       bool                   `protobuf:"varint,1,opt,name=allowed,proto3" json:"allowed,omitempty"` // 是否有权限
	Message       string                 `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"`  // 拒绝原因
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *CheckPermissionResp) Reset() {
	*x = CheckPermissionResp{}
	mi := &file_users_proto_msgTypes[20]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *CheckPermissionResp) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CheckPermissionResp) ProtoMessage() {}

func (x *CheckPermissionResp) ProtoReflect() protoreflect.Message {
	mi := &file_users_proto_msgTypes[20]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CheckPermissionResp.ProtoReflect.Descriptor instead.
func (*CheckPermissionResp) Descriptor() ([]byte, []int) {
	return file_users_proto_rawDescGZIP(), []int{20}
}

func (x *CheckPermissionResp) GetAllowed() bool {
	if x != nil {
		return x.Allowed
	}
	return false
}

func (x *CheckPermissionResp) GetMessage() string {
	if x != nil {
		return x.Message
	}
	return ""
}

type RegisterReq struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Username      string                 `protobuf:"bytes,1,opt,name=username,proto3" json:"username,omitempty"`
	Passwd        string                 `protobuf:"bytes,2,opt,name=passwd,proto3" json:"passwd,omitempty"`
	Phone         string                 `protobuf:"bytes,3,opt,name=phone,proto3" json:"phone,omitempty"`
	Vcode         string                 `protobuf:"bytes,4,opt,name=vcode,proto3" json:"vcode,omitempty"`
	Email         string                 `protobuf:"bytes,5,opt,name=email,proto3" json:"email,omitempty"`
	RequestId     string                 `protobuf:"bytes,6,opt,name=requestId,proto3" json:"requestId,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *RegisterReq) Reset() {
	*x = RegisterReq{}
	mi := &file_users_proto_msgTypes[21]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *RegisterReq) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RegisterReq) ProtoMessage() {}

func (x *RegisterReq) ProtoReflect() protoreflect.Message {
	mi := &file_users_proto_msgTypes[21]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RegisterReq.ProtoReflect.Descriptor instead.
func (*RegisterReq) Descriptor() ([]byte, []int) {
	return file_users_proto_rawDescGZIP(), []int{21}
}

func (x *RegisterReq) GetUsername() string {
	if x != nil {
		return x.Username
	}
	return ""
}

func (x *RegisterReq) GetPasswd() string {
	if x != nil {
		return x.Passwd
	}
	return ""
}

func (x *RegisterReq) GetPhone() string {
	if x != nil {
		return x.Phone
	}
	return ""
}

func (x *RegisterReq) GetVcode() string {
	if x != nil {
		return x.Vcode
	}
	return ""
}

func (x *RegisterReq) GetEmail() string {
	if x != nil {
		return x.Email
	}
	return ""
}

func (x *RegisterReq) GetRequestId() string {
	if x != nil {
		return x.RequestId
	}
	return ""
}

type RegisterResp struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Res           string                 `protobuf:"bytes,1,opt,name=res,proto3" json:"res,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *RegisterResp) Reset() {
	*x = RegisterResp{}
	mi := &file_users_proto_msgTypes[22]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *RegisterResp) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RegisterResp) ProtoMessage() {}

func (x *RegisterResp) ProtoReflect() protoreflect.Message {
	mi := &file_users_proto_msgTypes[22]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RegisterResp.ProtoReflect.Descriptor instead.
func (*RegisterResp) Descriptor() ([]byte, []int) {
	return file_users_proto_rawDescGZIP(), []int{22}
}

func (x *RegisterResp) GetRes() string {
	if x != nil {
		return x.Res
	}
	return ""
}

type LogoutReq struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	UserId        int64                  `protobuf:"varint,1,opt,name=userId,proto3" json:"userId,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *LogoutReq) Reset() {
	*x = LogoutReq{}
	mi := &file_users_proto_msgTypes[23]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *LogoutReq) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*LogoutReq) ProtoMessage() {}

func (x *LogoutReq) ProtoReflect() protoreflect.Message {
	mi := &file_users_proto_msgTypes[23]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use LogoutReq.ProtoReflect.Descriptor instead.
func (*LogoutReq) Descriptor() ([]byte, []int) {
	return file_users_proto_rawDescGZIP(), []int{23}
}

func (x *LogoutReq) GetUserId() int64 {
	if x != nil {
		return x.UserId
	}
	return 0
}

type LogoutResp struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *LogoutResp) Reset() {
	*x = LogoutResp{}
	mi := &file_users_proto_msgTypes[24]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *LogoutResp) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*LogoutResp) ProtoMessage() {}

func (x *LogoutResp) ProtoReflect() protoreflect.Message {
	mi := &file_users_proto_msgTypes[24]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use LogoutResp.ProtoReflect.Descriptor instead.
func (*LogoutResp) Descriptor() ([]byte, []int) {
	return file_users_proto_rawDescGZIP(), []int{24}
}

type ResetPasswordReq struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	NewPassword   string                 `protobuf:"bytes,1,opt,name=newPassword,proto3" json:"newPassword,omitempty"`
	Email         string                 `protobuf:"bytes,2,opt,name=email,proto3" json:"email,omitempty"`
	RequestId     string                 `protobuf:"bytes,3,opt,name=requestId,proto3" json:"requestId,omitempty"`
	Vcode         string                 `protobuf:"bytes,4,opt,name=vcode,proto3" json:"vcode,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ResetPasswordReq) Reset() {
	*x = ResetPasswordReq{}
	mi := &file_users_proto_msgTypes[25]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ResetPasswordReq) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ResetPasswordReq) ProtoMessage() {}

func (x *ResetPasswordReq) ProtoReflect() protoreflect.Message {
	mi := &file_users_proto_msgTypes[25]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ResetPasswordReq.ProtoReflect.Descriptor instead.
func (*ResetPasswordReq) Descriptor() ([]byte, []int) {
	return file_users_proto_rawDescGZIP(), []int{25}
}

func (x *ResetPasswordReq) GetNewPassword() string {
	if x != nil {
		return x.NewPassword
	}
	return ""
}

func (x *ResetPasswordReq) GetEmail() string {
	if x != nil {
		return x.Email
	}
	return ""
}

func (x *ResetPasswordReq) GetRequestId() string {
	if x != nil {
		return x.RequestId
	}
	return ""
}

func (x *ResetPasswordReq) GetVcode() string {
	if x != nil {
		return x.Vcode
	}
	return ""
}

type ResetPasswordResp struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ResetPasswordResp) Reset() {
	*x = ResetPasswordResp{}
	mi := &file_users_proto_msgTypes[26]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ResetPasswordResp) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ResetPasswordResp) ProtoMessage() {}

func (x *ResetPasswordResp) ProtoReflect() protoreflect.Message {
	mi := &file_users_proto_msgTypes[26]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ResetPasswordResp.ProtoReflect.Descriptor instead.
func (*ResetPasswordResp) Descriptor() ([]byte, []int) {
	return file_users_proto_rawDescGZIP(), []int{26}
}

type SwitchRoleReq struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	UserId        int64                  `protobuf:"varint,1,opt,name=userId,proto3" json:"userId,omitempty"`
	NewRole       string                 `protobuf:"bytes,2,opt,name=newRole,proto3" json:"newRole,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *SwitchRoleReq) Reset() {
	*x = SwitchRoleReq{}
	mi := &file_users_proto_msgTypes[27]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *SwitchRoleReq) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SwitchRoleReq) ProtoMessage() {}

func (x *SwitchRoleReq) ProtoReflect() protoreflect.Message {
	mi := &file_users_proto_msgTypes[27]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SwitchRoleReq.ProtoReflect.Descriptor instead.
func (*SwitchRoleReq) Descriptor() ([]byte, []int) {
	return file_users_proto_rawDescGZIP(), []int{27}
}

func (x *SwitchRoleReq) GetUserId() int64 {
	if x != nil {
		return x.UserId
	}
	return 0
}

func (x *SwitchRoleReq) GetNewRole() string {
	if x != nil {
		return x.NewRole
	}
	return ""
}

type SwitchRoleResp struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Success       bool                   `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *SwitchRoleResp) Reset() {
	*x = SwitchRoleResp{}
	mi := &file_users_proto_msgTypes[28]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *SwitchRoleResp) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SwitchRoleResp) ProtoMessage() {}

func (x *SwitchRoleResp) ProtoReflect() protoreflect.Message {
	mi := &file_users_proto_msgTypes[28]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SwitchRoleResp.ProtoReflect.Descriptor instead.
func (*SwitchRoleResp) Descriptor() ([]byte, []int) {
	return file_users_proto_rawDescGZIP(), []int{28}
}

func (x *SwitchRoleResp) GetSuccess() bool {
	if x != nil {
		return x.Success
	}
	return false
}

// --------------------------------userFollows--------------------------------
type UserFollows struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Id            int64                  `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`                 //id
	FollowerId    int64                  `protobuf:"varint,2,opt,name=followerId,proto3" json:"followerId,omitempty"` //followerId
	FolloweeId    int64                  `protobuf:"varint,3,opt,name=followeeId,proto3" json:"followeeId,omitempty"` //followeeId
	CreatedAt     int64                  `protobuf:"varint,4,opt,name=createdAt,proto3" json:"createdAt,omitempty"`   //createdAt
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *UserFollows) Reset() {
	*x = UserFollows{}
	mi := &file_users_proto_msgTypes[29]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *UserFollows) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*UserFollows) ProtoMessage() {}

func (x *UserFollows) ProtoReflect() protoreflect.Message {
	mi := &file_users_proto_msgTypes[29]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use UserFollows.ProtoReflect.Descriptor instead.
func (*UserFollows) Descriptor() ([]byte, []int) {
	return file_users_proto_rawDescGZIP(), []int{29}
}

func (x *UserFollows) GetId() int64 {
	if x != nil {
		return x.Id
	}
	return 0
}

func (x *UserFollows) GetFollowerId() int64 {
	if x != nil {
		return x.FollowerId
	}
	return 0
}

func (x *UserFollows) GetFolloweeId() int64 {
	if x != nil {
		return x.FolloweeId
	}
	return 0
}

func (x *UserFollows) GetCreatedAt() int64 {
	if x != nil {
		return x.CreatedAt
	}
	return 0
}

type AddUserFollowsReq struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	FollowerId    int64                  `protobuf:"varint,1,opt,name=followerId,proto3" json:"followerId,omitempty"` //followerId
	FolloweeId    int64                  `protobuf:"varint,2,opt,name=followeeId,proto3" json:"followeeId,omitempty"` //followeeId
	CreatedAt     int64                  `protobuf:"varint,3,opt,name=createdAt,proto3" json:"createdAt,omitempty"`   //createdAt
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *AddUserFollowsReq) Reset() {
	*x = AddUserFollowsReq{}
	mi := &file_users_proto_msgTypes[30]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *AddUserFollowsReq) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*AddUserFollowsReq) ProtoMessage() {}

func (x *AddUserFollowsReq) ProtoReflect() protoreflect.Message {
	mi := &file_users_proto_msgTypes[30]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use AddUserFollowsReq.ProtoReflect.Descriptor instead.
func (*AddUserFollowsReq) Descriptor() ([]byte, []int) {
	return file_users_proto_rawDescGZIP(), []int{30}
}

func (x *AddUserFollowsReq) GetFollowerId() int64 {
	if x != nil {
		return x.FollowerId
	}
	return 0
}

func (x *AddUserFollowsReq) GetFolloweeId() int64 {
	if x != nil {
		return x.FolloweeId
	}
	return 0
}

func (x *AddUserFollowsReq) GetCreatedAt() int64 {
	if x != nil {
		return x.CreatedAt
	}
	return 0
}

type AddUserFollowsResp struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *AddUserFollowsResp) Reset() {
	*x = AddUserFollowsResp{}
	mi := &file_users_proto_msgTypes[31]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *AddUserFollowsResp) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*AddUserFollowsResp) ProtoMessage() {}

func (x *AddUserFollowsResp) ProtoReflect() protoreflect.Message {
	mi := &file_users_proto_msgTypes[31]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use AddUserFollowsResp.ProtoReflect.Descriptor instead.
func (*AddUserFollowsResp) Descriptor() ([]byte, []int) {
	return file_users_proto_rawDescGZIP(), []int{31}
}

type UpdateUserFollowsReq struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Id            int64                  `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`                 //id
	FollowerId    int64                  `protobuf:"varint,2,opt,name=followerId,proto3" json:"followerId,omitempty"` //followerId
	FolloweeId    int64                  `protobuf:"varint,3,opt,name=followeeId,proto3" json:"followeeId,omitempty"` //followeeId
	CreatedAt     int64                  `protobuf:"varint,4,opt,name=createdAt,proto3" json:"createdAt,omitempty"`   //createdAt
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *UpdateUserFollowsReq) Reset() {
	*x = UpdateUserFollowsReq{}
	mi := &file_users_proto_msgTypes[32]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *UpdateUserFollowsReq) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*UpdateUserFollowsReq) ProtoMessage() {}

func (x *UpdateUserFollowsReq) ProtoReflect() protoreflect.Message {
	mi := &file_users_proto_msgTypes[32]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use UpdateUserFollowsReq.ProtoReflect.Descriptor instead.
func (*UpdateUserFollowsReq) Descriptor() ([]byte, []int) {
	return file_users_proto_rawDescGZIP(), []int{32}
}

func (x *UpdateUserFollowsReq) GetId() int64 {
	if x != nil {
		return x.Id
	}
	return 0
}

func (x *UpdateUserFollowsReq) GetFollowerId() int64 {
	if x != nil {
		return x.FollowerId
	}
	return 0
}

func (x *UpdateUserFollowsReq) GetFolloweeId() int64 {
	if x != nil {
		return x.FolloweeId
	}
	return 0
}

func (x *UpdateUserFollowsReq) GetCreatedAt() int64 {
	if x != nil {
		return x.CreatedAt
	}
	return 0
}

type UpdateUserFollowsResp struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *UpdateUserFollowsResp) Reset() {
	*x = UpdateUserFollowsResp{}
	mi := &file_users_proto_msgTypes[33]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *UpdateUserFollowsResp) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*UpdateUserFollowsResp) ProtoMessage() {}

func (x *UpdateUserFollowsResp) ProtoReflect() protoreflect.Message {
	mi := &file_users_proto_msgTypes[33]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use UpdateUserFollowsResp.ProtoReflect.Descriptor instead.
func (*UpdateUserFollowsResp) Descriptor() ([]byte, []int) {
	return file_users_proto_rawDescGZIP(), []int{33}
}

type DelUserFollowsReq struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Id            int64                  `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`         //id
	UserId        int64                  `protobuf:"varint,2,opt,name=userId,proto3" json:"userId,omitempty"` // userId
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DelUserFollowsReq) Reset() {
	*x = DelUserFollowsReq{}
	mi := &file_users_proto_msgTypes[34]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DelUserFollowsReq) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DelUserFollowsReq) ProtoMessage() {}

func (x *DelUserFollowsReq) ProtoReflect() protoreflect.Message {
	mi := &file_users_proto_msgTypes[34]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DelUserFollowsReq.ProtoReflect.Descriptor instead.
func (*DelUserFollowsReq) Descriptor() ([]byte, []int) {
	return file_users_proto_rawDescGZIP(), []int{34}
}

func (x *DelUserFollowsReq) GetId() int64 {
	if x != nil {
		return x.Id
	}
	return 0
}

func (x *DelUserFollowsReq) GetUserId() int64 {
	if x != nil {
		return x.UserId
	}
	return 0
}

type DelUserFollowsResp struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DelUserFollowsResp) Reset() {
	*x = DelUserFollowsResp{}
	mi := &file_users_proto_msgTypes[35]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DelUserFollowsResp) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DelUserFollowsResp) ProtoMessage() {}

func (x *DelUserFollowsResp) ProtoReflect() protoreflect.Message {
	mi := &file_users_proto_msgTypes[35]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DelUserFollowsResp.ProtoReflect.Descriptor instead.
func (*DelUserFollowsResp) Descriptor() ([]byte, []int) {
	return file_users_proto_rawDescGZIP(), []int{35}
}

type GetUserFollowsByIdReq struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Id            int64                  `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` //id
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetUserFollowsByIdReq) Reset() {
	*x = GetUserFollowsByIdReq{}
	mi := &file_users_proto_msgTypes[36]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GetUserFollowsByIdReq) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetUserFollowsByIdReq) ProtoMessage() {}

func (x *GetUserFollowsByIdReq) ProtoReflect() protoreflect.Message {
	mi := &file_users_proto_msgTypes[36]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetUserFollowsByIdReq.ProtoReflect.Descriptor instead.
func (*GetUserFollowsByIdReq) Descriptor() ([]byte, []int) {
	return file_users_proto_rawDescGZIP(), []int{36}
}

func (x *GetUserFollowsByIdReq) GetId() int64 {
	if x != nil {
		return x.Id
	}
	return 0
}

type GetUserFollowsByIdResp struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	UserFollows   *UserFollows           `protobuf:"bytes,1,opt,name=userFollows,proto3" json:"userFollows,omitempty"` //userFollows
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetUserFollowsByIdResp) Reset() {
	*x = GetUserFollowsByIdResp{}
	mi := &file_users_proto_msgTypes[37]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GetUserFollowsByIdResp) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetUserFollowsByIdResp) ProtoMessage() {}

func (x *GetUserFollowsByIdResp) ProtoReflect() protoreflect.Message {
	mi := &file_users_proto_msgTypes[37]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetUserFollowsByIdResp.ProtoReflect.Descriptor instead.
func (*GetUserFollowsByIdResp) Descriptor() ([]byte, []int) {
	return file_users_proto_rawDescGZIP(), []int{37}
}

func (x *GetUserFollowsByIdResp) GetUserFollows() *UserFollows {
	if x != nil {
		return x.UserFollows
	}
	return nil
}

type SearchUserFollowsReq struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Offset        int64                  `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"`         //offset
	Limit         int64                  `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"`           //limit
	Id            int64                  `protobuf:"varint,3,opt,name=id,proto3" json:"id,omitempty"`                 //id
	FollowerId    int64                  `protobuf:"varint,4,opt,name=followerId,proto3" json:"followerId,omitempty"` //followerId
	FolloweeId    int64                  `protobuf:"varint,5,opt,name=followeeId,proto3" json:"followeeId,omitempty"` //followeeId
	CreatedAt     int64                  `protobuf:"varint,6,opt,name=createdAt,proto3" json:"createdAt,omitempty"`   //createdAt
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *SearchUserFollowsReq) Reset() {
	*x = SearchUserFollowsReq{}
	mi := &file_users_proto_msgTypes[38]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *SearchUserFollowsReq) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SearchUserFollowsReq) ProtoMessage() {}

func (x *SearchUserFollowsReq) ProtoReflect() protoreflect.Message {
	mi := &file_users_proto_msgTypes[38]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SearchUserFollowsReq.ProtoReflect.Descriptor instead.
func (*SearchUserFollowsReq) Descriptor() ([]byte, []int) {
	return file_users_proto_rawDescGZIP(), []int{38}
}

func (x *SearchUserFollowsReq) GetOffset() int64 {
	if x != nil {
		return x.Offset
	}
	return 0
}

func (x *SearchUserFollowsReq) GetLimit() int64 {
	if x != nil {
		return x.Limit
	}
	return 0
}

func (x *SearchUserFollowsReq) GetId() int64 {
	if x != nil {
		return x.Id
	}
	return 0
}

func (x *SearchUserFollowsReq) GetFollowerId() int64 {
	if x != nil {
		return x.FollowerId
	}
	return 0
}

func (x *SearchUserFollowsReq) GetFolloweeId() int64 {
	if x != nil {
		return x.FolloweeId
	}
	return 0
}

func (x *SearchUserFollowsReq) GetCreatedAt() int64 {
	if x != nil {
		return x.CreatedAt
	}
	return 0
}

type SearchUserFollowsResp struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	UserFollows   []*UserFollows         `protobuf:"bytes,1,rep,name=userFollows,proto3" json:"userFollows,omitempty"` //userFollows
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *SearchUserFollowsResp) Reset() {
	*x = SearchUserFollowsResp{}
	mi := &file_users_proto_msgTypes[39]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *SearchUserFollowsResp) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SearchUserFollowsResp) ProtoMessage() {}

func (x *SearchUserFollowsResp) ProtoReflect() protoreflect.Message {
	mi := &file_users_proto_msgTypes[39]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SearchUserFollowsResp.ProtoReflect.Descriptor instead.
func (*SearchUserFollowsResp) Descriptor() ([]byte, []int) {
	return file_users_proto_rawDescGZIP(), []int{39}
}

func (x *SearchUserFollowsResp) GetUserFollows() []*UserFollows {
	if x != nil {
		return x.UserFollows
	}
	return nil
}

// --------------------------------userPreferences--------------------------------
type UserPreferences struct {
	state                 protoimpl.MessageState `protogen:"open.v1"`
	UserId                int64                  `protobuf:"varint,1,opt,name=userId,proto3" json:"userId,omitempty"`                               //userId
	NotificationOrder     bool                   `protobuf:"varint,2,opt,name=notificationOrder,proto3" json:"notificationOrder,omitempty"`         //notificationOrder
	NotificationCommunity bool                   `protobuf:"varint,3,opt,name=notificationCommunity,proto3" json:"notificationCommunity,omitempty"` //notificationCommunity
	NotificationSystem    bool                   `protobuf:"varint,4,opt,name=notificationSystem,proto3" json:"notificationSystem,omitempty"`       //notificationSystem
	Theme                 string                 `protobuf:"bytes,5,opt,name=theme,proto3" json:"theme,omitempty"`                                  //theme
	Language              string                 `protobuf:"bytes,6,opt,name=language,proto3" json:"language,omitempty"`                            //language
	UpdatedAt             int64                  `protobuf:"varint,7,opt,name=updatedAt,proto3" json:"updatedAt,omitempty"`                         //updatedAt
	unknownFields         protoimpl.UnknownFields
	sizeCache             protoimpl.SizeCache
}

func (x *UserPreferences) Reset() {
	*x = UserPreferences{}
	mi := &file_users_proto_msgTypes[40]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *UserPreferences) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*UserPreferences) ProtoMessage() {}

func (x *UserPreferences) ProtoReflect() protoreflect.Message {
	mi := &file_users_proto_msgTypes[40]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use UserPreferences.ProtoReflect.Descriptor instead.
func (*UserPreferences) Descriptor() ([]byte, []int) {
	return file_users_proto_rawDescGZIP(), []int{40}
}

func (x *UserPreferences) GetUserId() int64 {
	if x != nil {
		return x.UserId
	}
	return 0
}

func (x *UserPreferences) GetNotificationOrder() bool {
	if x != nil {
		return x.NotificationOrder
	}
	return false
}

func (x *UserPreferences) GetNotificationCommunity() bool {
	if x != nil {
		return x.NotificationCommunity
	}
	return false
}

func (x *UserPreferences) GetNotificationSystem() bool {
	if x != nil {
		return x.NotificationSystem
	}
	return false
}

func (x *UserPreferences) GetTheme() string {
	if x != nil {
		return x.Theme
	}
	return ""
}

func (x *UserPreferences) GetLanguage() string {
	if x != nil {
		return x.Language
	}
	return ""
}

func (x *UserPreferences) GetUpdatedAt() int64 {
	if x != nil {
		return x.UpdatedAt
	}
	return 0
}

type AddUserPreferencesReq struct {
	state                 protoimpl.MessageState `protogen:"open.v1"`
	UserId                int64                  `protobuf:"varint,1,opt,name=userId,proto3" json:"userId,omitempty"`                               //userId
	NotificationOrder     bool                   `protobuf:"varint,2,opt,name=notificationOrder,proto3" json:"notificationOrder,omitempty"`         //notificationOrder
	NotificationCommunity bool                   `protobuf:"varint,3,opt,name=notificationCommunity,proto3" json:"notificationCommunity,omitempty"` //notificationCommunity
	NotificationSystem    bool                   `protobuf:"varint,4,opt,name=notificationSystem,proto3" json:"notificationSystem,omitempty"`       //notificationSystem
	Theme                 string                 `protobuf:"bytes,5,opt,name=theme,proto3" json:"theme,omitempty"`                                  //theme
	Language              string                 `protobuf:"bytes,6,opt,name=language,proto3" json:"language,omitempty"`                            //language
	UpdatedAt             int64                  `protobuf:"varint,7,opt,name=updatedAt,proto3" json:"updatedAt,omitempty"`                         //updatedAt
	unknownFields         protoimpl.UnknownFields
	sizeCache             protoimpl.SizeCache
}

func (x *AddUserPreferencesReq) Reset() {
	*x = AddUserPreferencesReq{}
	mi := &file_users_proto_msgTypes[41]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *AddUserPreferencesReq) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*AddUserPreferencesReq) ProtoMessage() {}

func (x *AddUserPreferencesReq) ProtoReflect() protoreflect.Message {
	mi := &file_users_proto_msgTypes[41]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use AddUserPreferencesReq.ProtoReflect.Descriptor instead.
func (*AddUserPreferencesReq) Descriptor() ([]byte, []int) {
	return file_users_proto_rawDescGZIP(), []int{41}
}

func (x *AddUserPreferencesReq) GetUserId() int64 {
	if x != nil {
		return x.UserId
	}
	return 0
}

func (x *AddUserPreferencesReq) GetNotificationOrder() bool {
	if x != nil {
		return x.NotificationOrder
	}
	return false
}

func (x *AddUserPreferencesReq) GetNotificationCommunity() bool {
	if x != nil {
		return x.NotificationCommunity
	}
	return false
}

func (x *AddUserPreferencesReq) GetNotificationSystem() bool {
	if x != nil {
		return x.NotificationSystem
	}
	return false
}

func (x *AddUserPreferencesReq) GetTheme() string {
	if x != nil {
		return x.Theme
	}
	return ""
}

func (x *AddUserPreferencesReq) GetLanguage() string {
	if x != nil {
		return x.Language
	}
	return ""
}

func (x *AddUserPreferencesReq) GetUpdatedAt() int64 {
	if x != nil {
		return x.UpdatedAt
	}
	return 0
}

type AddUserPreferencesResp struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *AddUserPreferencesResp) Reset() {
	*x = AddUserPreferencesResp{}
	mi := &file_users_proto_msgTypes[42]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *AddUserPreferencesResp) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*AddUserPreferencesResp) ProtoMessage() {}

func (x *AddUserPreferencesResp) ProtoReflect() protoreflect.Message {
	mi := &file_users_proto_msgTypes[42]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use AddUserPreferencesResp.ProtoReflect.Descriptor instead.
func (*AddUserPreferencesResp) Descriptor() ([]byte, []int) {
	return file_users_proto_rawDescGZIP(), []int{42}
}

type UpdateUserPreferencesReq struct {
	state                 protoimpl.MessageState `protogen:"open.v1"`
	UserId                int64                  `protobuf:"varint,1,opt,name=userId,proto3" json:"userId,omitempty"`                               //userId
	NotificationOrder     bool                   `protobuf:"varint,2,opt,name=notificationOrder,proto3" json:"notificationOrder,omitempty"`         //notificationOrder
	NotificationCommunity bool                   `protobuf:"varint,3,opt,name=notificationCommunity,proto3" json:"notificationCommunity,omitempty"` //notificationCommunity
	NotificationSystem    bool                   `protobuf:"varint,4,opt,name=notificationSystem,proto3" json:"notificationSystem,omitempty"`       //notificationSystem
	Theme                 string                 `protobuf:"bytes,5,opt,name=theme,proto3" json:"theme,omitempty"`                                  //theme
	Language              string                 `protobuf:"bytes,6,opt,name=language,proto3" json:"language,omitempty"`                            //language
	UpdatedAt             int64                  `protobuf:"varint,7,opt,name=updatedAt,proto3" json:"updatedAt,omitempty"`                         //updatedAt
	unknownFields         protoimpl.UnknownFields
	sizeCache             protoimpl.SizeCache
}

func (x *UpdateUserPreferencesReq) Reset() {
	*x = UpdateUserPreferencesReq{}
	mi := &file_users_proto_msgTypes[43]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *UpdateUserPreferencesReq) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*UpdateUserPreferencesReq) ProtoMessage() {}

func (x *UpdateUserPreferencesReq) ProtoReflect() protoreflect.Message {
	mi := &file_users_proto_msgTypes[43]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use UpdateUserPreferencesReq.ProtoReflect.Descriptor instead.
func (*UpdateUserPreferencesReq) Descriptor() ([]byte, []int) {
	return file_users_proto_rawDescGZIP(), []int{43}
}

func (x *UpdateUserPreferencesReq) GetUserId() int64 {
	if x != nil {
		return x.UserId
	}
	return 0
}

func (x *UpdateUserPreferencesReq) GetNotificationOrder() bool {
	if x != nil {
		return x.NotificationOrder
	}
	return false
}

func (x *UpdateUserPreferencesReq) GetNotificationCommunity() bool {
	if x != nil {
		return x.NotificationCommunity
	}
	return false
}

func (x *UpdateUserPreferencesReq) GetNotificationSystem() bool {
	if x != nil {
		return x.NotificationSystem
	}
	return false
}

func (x *UpdateUserPreferencesReq) GetTheme() string {
	if x != nil {
		return x.Theme
	}
	return ""
}

func (x *UpdateUserPreferencesReq) GetLanguage() string {
	if x != nil {
		return x.Language
	}
	return ""
}

func (x *UpdateUserPreferencesReq) GetUpdatedAt() int64 {
	if x != nil {
		return x.UpdatedAt
	}
	return 0
}

type UpdateUserPreferencesResp struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *UpdateUserPreferencesResp) Reset() {
	*x = UpdateUserPreferencesResp{}
	mi := &file_users_proto_msgTypes[44]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *UpdateUserPreferencesResp) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*UpdateUserPreferencesResp) ProtoMessage() {}

func (x *UpdateUserPreferencesResp) ProtoReflect() protoreflect.Message {
	mi := &file_users_proto_msgTypes[44]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use UpdateUserPreferencesResp.ProtoReflect.Descriptor instead.
func (*UpdateUserPreferencesResp) Descriptor() ([]byte, []int) {
	return file_users_proto_rawDescGZIP(), []int{44}
}

type DelUserPreferencesReq struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Id            int64                  `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` //id
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DelUserPreferencesReq) Reset() {
	*x = DelUserPreferencesReq{}
	mi := &file_users_proto_msgTypes[45]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DelUserPreferencesReq) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DelUserPreferencesReq) ProtoMessage() {}

func (x *DelUserPreferencesReq) ProtoReflect() protoreflect.Message {
	mi := &file_users_proto_msgTypes[45]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DelUserPreferencesReq.ProtoReflect.Descriptor instead.
func (*DelUserPreferencesReq) Descriptor() ([]byte, []int) {
	return file_users_proto_rawDescGZIP(), []int{45}
}

func (x *DelUserPreferencesReq) GetId() int64 {
	if x != nil {
		return x.Id
	}
	return 0
}

type DelUserPreferencesResp struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DelUserPreferencesResp) Reset() {
	*x = DelUserPreferencesResp{}
	mi := &file_users_proto_msgTypes[46]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DelUserPreferencesResp) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DelUserPreferencesResp) ProtoMessage() {}

func (x *DelUserPreferencesResp) ProtoReflect() protoreflect.Message {
	mi := &file_users_proto_msgTypes[46]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DelUserPreferencesResp.ProtoReflect.Descriptor instead.
func (*DelUserPreferencesResp) Descriptor() ([]byte, []int) {
	return file_users_proto_rawDescGZIP(), []int{46}
}

type GetUserPreferencesByIdReq struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Id            int64                  `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` //id
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetUserPreferencesByIdReq) Reset() {
	*x = GetUserPreferencesByIdReq{}
	mi := &file_users_proto_msgTypes[47]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GetUserPreferencesByIdReq) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetUserPreferencesByIdReq) ProtoMessage() {}

func (x *GetUserPreferencesByIdReq) ProtoReflect() protoreflect.Message {
	mi := &file_users_proto_msgTypes[47]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetUserPreferencesByIdReq.ProtoReflect.Descriptor instead.
func (*GetUserPreferencesByIdReq) Descriptor() ([]byte, []int) {
	return file_users_proto_rawDescGZIP(), []int{47}
}

func (x *GetUserPreferencesByIdReq) GetId() int64 {
	if x != nil {
		return x.Id
	}
	return 0
}

type GetUserPreferencesByIdResp struct {
	state           protoimpl.MessageState `protogen:"open.v1"`
	UserPreferences *UserPreferences       `protobuf:"bytes,1,opt,name=userPreferences,proto3" json:"userPreferences,omitempty"` //userPreferences
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *GetUserPreferencesByIdResp) Reset() {
	*x = GetUserPreferencesByIdResp{}
	mi := &file_users_proto_msgTypes[48]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GetUserPreferencesByIdResp) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetUserPreferencesByIdResp) ProtoMessage() {}

func (x *GetUserPreferencesByIdResp) ProtoReflect() protoreflect.Message {
	mi := &file_users_proto_msgTypes[48]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetUserPreferencesByIdResp.ProtoReflect.Descriptor instead.
func (*GetUserPreferencesByIdResp) Descriptor() ([]byte, []int) {
	return file_users_proto_rawDescGZIP(), []int{48}
}

func (x *GetUserPreferencesByIdResp) GetUserPreferences() *UserPreferences {
	if x != nil {
		return x.UserPreferences
	}
	return nil
}

type SearchUserPreferencesReq struct {
	state                 protoimpl.MessageState `protogen:"open.v1"`
	Offset                int64                  `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"`                               //offset
	Limit                 int64                  `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"`                                 //limit
	UserId                int64                  `protobuf:"varint,3,opt,name=userId,proto3" json:"userId,omitempty"`                               //userId
	NotificationOrder     bool                   `protobuf:"varint,4,opt,name=notificationOrder,proto3" json:"notificationOrder,omitempty"`         //notificationOrder
	NotificationCommunity bool                   `protobuf:"varint,5,opt,name=notificationCommunity,proto3" json:"notificationCommunity,omitempty"` //notificationCommunity
	NotificationSystem    bool                   `protobuf:"varint,6,opt,name=notificationSystem,proto3" json:"notificationSystem,omitempty"`       //notificationSystem
	Theme                 string                 `protobuf:"bytes,7,opt,name=theme,proto3" json:"theme,omitempty"`                                  //theme
	Language              string                 `protobuf:"bytes,8,opt,name=language,proto3" json:"language,omitempty"`                            //language
	UpdatedAt             int64                  `protobuf:"varint,9,opt,name=updatedAt,proto3" json:"updatedAt,omitempty"`                         //updatedAt
	unknownFields         protoimpl.UnknownFields
	sizeCache             protoimpl.SizeCache
}

func (x *SearchUserPreferencesReq) Reset() {
	*x = SearchUserPreferencesReq{}
	mi := &file_users_proto_msgTypes[49]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *SearchUserPreferencesReq) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SearchUserPreferencesReq) ProtoMessage() {}

func (x *SearchUserPreferencesReq) ProtoReflect() protoreflect.Message {
	mi := &file_users_proto_msgTypes[49]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SearchUserPreferencesReq.ProtoReflect.Descriptor instead.
func (*SearchUserPreferencesReq) Descriptor() ([]byte, []int) {
	return file_users_proto_rawDescGZIP(), []int{49}
}

func (x *SearchUserPreferencesReq) GetOffset() int64 {
	if x != nil {
		return x.Offset
	}
	return 0
}

func (x *SearchUserPreferencesReq) GetLimit() int64 {
	if x != nil {
		return x.Limit
	}
	return 0
}

func (x *SearchUserPreferencesReq) GetUserId() int64 {
	if x != nil {
		return x.UserId
	}
	return 0
}

func (x *SearchUserPreferencesReq) GetNotificationOrder() bool {
	if x != nil {
		return x.NotificationOrder
	}
	return false
}

func (x *SearchUserPreferencesReq) GetNotificationCommunity() bool {
	if x != nil {
		return x.NotificationCommunity
	}
	return false
}

func (x *SearchUserPreferencesReq) GetNotificationSystem() bool {
	if x != nil {
		return x.NotificationSystem
	}
	return false
}

func (x *SearchUserPreferencesReq) GetTheme() string {
	if x != nil {
		return x.Theme
	}
	return ""
}

func (x *SearchUserPreferencesReq) GetLanguage() string {
	if x != nil {
		return x.Language
	}
	return ""
}

func (x *SearchUserPreferencesReq) GetUpdatedAt() int64 {
	if x != nil {
		return x.UpdatedAt
	}
	return 0
}

type SearchUserPreferencesResp struct {
	state           protoimpl.MessageState `protogen:"open.v1"`
	UserPreferences []*UserPreferences     `protobuf:"bytes,1,rep,name=userPreferences,proto3" json:"userPreferences,omitempty"` //userPreferences
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *SearchUserPreferencesResp) Reset() {
	*x = SearchUserPreferencesResp{}
	mi := &file_users_proto_msgTypes[50]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *SearchUserPreferencesResp) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SearchUserPreferencesResp) ProtoMessage() {}

func (x *SearchUserPreferencesResp) ProtoReflect() protoreflect.Message {
	mi := &file_users_proto_msgTypes[50]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SearchUserPreferencesResp.ProtoReflect.Descriptor instead.
func (*SearchUserPreferencesResp) Descriptor() ([]byte, []int) {
	return file_users_proto_rawDescGZIP(), []int{50}
}

func (x *SearchUserPreferencesResp) GetUserPreferences() []*UserPreferences {
	if x != nil {
		return x.UserPreferences
	}
	return nil
}

var File_users_proto protoreflect.FileDescriptor

const file_users_proto_rawDesc = "" +
	"\n" +
	"\vusers.proto\x12\x02pb\"\xb5\x03\n" +
	"\x05Users\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\x03R\x02id\x12\x1a\n" +
	"\busername\x18\x02 \x01(\tR\busername\x12\"\n" +
	"\fpasswordHash\x18\x03 \x01(\tR\fpasswordHash\x12\x14\n" +
	"\x05phone\x18\x04 \x01(\tR\x05phone\x12\x14\n" +
	"\x05email\x18\x05 \x01(\tR\x05email\x12\x1a\n" +
	"\bnickname\x18\x06 \x01(\tR\bnickname\x12\x16\n" +
	"\x06avatar\x18\a \x01(\tR\x06avatar\x12\x10\n" +
	"\x03bio\x18\b \x01(\tR\x03bio\x12 \n" +
	"\vcurrentRole\x18\t \x01(\tR\vcurrentRole\x12$\n" +
	"\rverifiedRoles\x18\n" +
	" \x03(\tR\rverifiedRoles\x12.\n" +
	"\x12verificationStatus\x18\v \x01(\tR\x12verificationStatus\x12\x18\n" +
	"\aisAdmin\x18\f \x01(\bR\aisAdmin\x12\x1c\n" +
	"\tcreatedAt\x18\r \x01(\x03R\tcreatedAt\x12\x1c\n" +
	"\tupdatedAt\x18\x0e \x01(\x03R\tupdatedAt\x12\x1c\n" +
	"\tdeletedAt\x18\x0f \x01(\x03R\tdeletedAt\"\xab\x03\n" +
	"\vAddUsersReq\x12\x1a\n" +
	"\busername\x18\x01 \x01(\tR\busername\x12\"\n" +
	"\fpasswordHash\x18\x02 \x01(\tR\fpasswordHash\x12\x14\n" +
	"\x05phone\x18\x03 \x01(\tR\x05phone\x12\x14\n" +
	"\x05email\x18\x04 \x01(\tR\x05email\x12\x1a\n" +
	"\bnickname\x18\x05 \x01(\tR\bnickname\x12\x16\n" +
	"\x06avatar\x18\x06 \x01(\tR\x06avatar\x12\x10\n" +
	"\x03bio\x18\a \x01(\tR\x03bio\x12 \n" +
	"\vcurrentRole\x18\b \x01(\tR\vcurrentRole\x12$\n" +
	"\rverifiedRoles\x18\t \x03(\tR\rverifiedRoles\x12.\n" +
	"\x12verificationStatus\x18\n" +
	" \x01(\tR\x12verificationStatus\x12\x18\n" +
	"\aisAdmin\x18\v \x01(\bR\aisAdmin\x12\x1c\n" +
	"\tcreatedAt\x18\f \x01(\x03R\tcreatedAt\x12\x1c\n" +
	"\tupdatedAt\x18\r \x01(\x03R\tupdatedAt\x12\x1c\n" +
	"\tdeletedAt\x18\x0e \x01(\x03R\tdeletedAt\"\x0e\n" +
	"\fAddUsersResp\"\xae\x05\n" +
	"\x0eUpdateUsersReq\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\x03R\x02id\x12\x1f\n" +
	"\busername\x18\x02 \x01(\tH\x00R\busername\x88\x01\x01\x12'\n" +
	"\fpasswordHash\x18\x03 \x01(\tH\x01R\fpasswordHash\x88\x01\x01\x12\x19\n" +
	"\x05phone\x18\x04 \x01(\tH\x02R\x05phone\x88\x01\x01\x12\x19\n" +
	"\x05email\x18\x05 \x01(\tH\x03R\x05email\x88\x01\x01\x12\x1f\n" +
	"\bnickname\x18\x06 \x01(\tH\x04R\bnickname\x88\x01\x01\x12\x1b\n" +
	"\x06avatar\x18\a \x01(\tH\x05R\x06avatar\x88\x01\x01\x12\x15\n" +
	"\x03bio\x18\b \x01(\tH\x06R\x03bio\x88\x01\x01\x12%\n" +
	"\vcurrentRole\x18\t \x01(\tH\aR\vcurrentRole\x88\x01\x01\x12$\n" +
	"\rverifiedRoles\x18\n" +
	" \x03(\tR\rverifiedRoles\x123\n" +
	"\x12verificationStatus\x18\v \x01(\tH\bR\x12verificationStatus\x88\x01\x01\x12\x1d\n" +
	"\aisAdmin\x18\f \x01(\bH\tR\aisAdmin\x88\x01\x01\x12!\n" +
	"\tcreatedAt\x18\r \x01(\x03H\n" +
	"R\tcreatedAt\x88\x01\x01\x12!\n" +
	"\tupdatedAt\x18\x0e \x01(\x03H\vR\tupdatedAt\x88\x01\x01\x12!\n" +
	"\tdeletedAt\x18\x0f \x01(\x03H\fR\tdeletedAt\x88\x01\x01B\v\n" +
	"\t_usernameB\x0f\n" +
	"\r_passwordHashB\b\n" +
	"\x06_phoneB\b\n" +
	"\x06_emailB\v\n" +
	"\t_nicknameB\t\n" +
	"\a_avatarB\x06\n" +
	"\x04_bioB\x0e\n" +
	"\f_currentRoleB\x15\n" +
	"\x13_verificationStatusB\n" +
	"\n" +
	"\b_isAdminB\f\n" +
	"\n" +
	"_createdAtB\f\n" +
	"\n" +
	"_updatedAtB\f\n" +
	"\n" +
	"_deletedAt\"\x11\n" +
	"\x0fUpdateUsersResp\"\x1d\n" +
	"\vDelUsersReq\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\x03R\x02id\"\x0e\n" +
	"\fDelUsersResp\"!\n" +
	"\x0fGetUsersByIdReq\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\x03R\x02id\"3\n" +
	"\x10GetUsersByIdResp\x12\x1f\n" +
	"\x05users\x18\x01 \x01(\v2\t.pb.UsersR\x05users\"$\n" +
	"\x10GetUsersByIdsReq\x12\x10\n" +
	"\x03ids\x18\x01 \x03(\x03R\x03ids\"4\n" +
	"\x11GetUsersByIdsResp\x12\x1f\n" +
	"\x05users\x18\x01 \x03(\v2\t.pb.UsersR\x05users\"\x87\x06\n" +
	"\x0eSearchUsersReq\x12\x1b\n" +
	"\x06offset\x18\x01 \x01(\x03H\x00R\x06offset\x88\x01\x01\x12\x19\n" +
	"\x05limit\x18\x02 \x01(\x03H\x01R\x05limit\x88\x01\x01\x12\x13\n" +
	"\x02id\x18\x03 \x01(\x03H\x02R\x02id\x88\x01\x01\x12\x1f\n" +
	"\busername\x18\x04 \x01(\tH\x03R\busername\x88\x01\x01\x12'\n" +
	"\fpasswordHash\x18\x05 \x01(\tH\x04R\fpasswordHash\x88\x01\x01\x12\x19\n" +
	"\x05phone\x18\x06 \x01(\tH\x05R\x05phone\x88\x01\x01\x12\x19\n" +
	"\x05email\x18\a \x01(\tH\x06R\x05email\x88\x01\x01\x12\x1f\n" +
	"\bnickname\x18\b \x01(\tH\aR\bnickname\x88\x01\x01\x12\x1b\n" +
	"\x06avatar\x18\t \x01(\tH\bR\x06avatar\x88\x01\x01\x12\x15\n" +
	"\x03bio\x18\n" +
	" \x01(\tH\tR\x03bio\x88\x01\x01\x12%\n" +
	"\vcurrentRole\x18\v \x01(\tH\n" +
	"R\vcurrentRole\x88\x01\x01\x12$\n" +
	"\rverifiedRoles\x18\f \x03(\tR\rverifiedRoles\x123\n" +
	"\x12verificationStatus\x18\r \x01(\tH\vR\x12verificationStatus\x88\x01\x01\x12\x1d\n" +
	"\aisAdmin\x18\x0e \x01(\bH\fR\aisAdmin\x88\x01\x01\x12!\n" +
	"\tcreatedAt\x18\x0f \x01(\x03H\rR\tcreatedAt\x88\x01\x01\x12!\n" +
	"\tupdatedAt\x18\x10 \x01(\x03H\x0eR\tupdatedAt\x88\x01\x01\x12!\n" +
	"\tdeletedAt\x18\x11 \x01(\x03H\x0fR\tdeletedAt\x88\x01\x01B\t\n" +
	"\a_offsetB\b\n" +
	"\x06_limitB\x05\n" +
	"\x03_idB\v\n" +
	"\t_usernameB\x0f\n" +
	"\r_passwordHashB\b\n" +
	"\x06_phoneB\b\n" +
	"\x06_emailB\v\n" +
	"\t_nicknameB\t\n" +
	"\a_avatarB\x06\n" +
	"\x04_bioB\x0e\n" +
	"\f_currentRoleB\x15\n" +
	"\x13_verificationStatusB\n" +
	"\n" +
	"\b_isAdminB\f\n" +
	"\n" +
	"_createdAtB\f\n" +
	"\n" +
	"_updatedAtB\f\n" +
	"\n" +
	"_deletedAt\"2\n" +
	"\x0fSearchUsersResp\x12\x1f\n" +
	"\x05users\x18\x01 \x03(\v2\t.pb.UsersR\x05users\"2\n" +
	"\x14GetUserByUsernameReq\x12\x1a\n" +
	"\busername\x18\x01 \x01(\tR\busername\"8\n" +
	"\x15GetUserByUsernameResp\x12\x1f\n" +
	"\x05users\x18\x01 \x01(\v2\t.pb.UsersR\x05users\">\n" +
	"\bLoginReq\x12\x1a\n" +
	"\busername\x18\x01 \x01(\tR\busername\x12\x16\n" +
	"\x06passwd\x18\x02 \x01(\tR\x06passwd\"c\n" +
	"\tLoginResp\x12\x14\n" +
	"\x05token\x18\x01 \x01(\tR\x05token\x12\x1a\n" +
	"\busername\x18\x02 \x01(\tR\busername\x12\x14\n" +
	"\x05email\x18\x03 \x01(\tR\x05email\x12\x0e\n" +
	"\x02id\x18\x04 \x01(\x03R\x02id\"@\n" +
	"\x10ValidateTokenReq\x12\x14\n" +
	"\x05token\x18\x01 \x01(\tR\x05token\x12\x16\n" +
	"\x06userId\x18\x02 \x01(\x03R\x06userId\"w\n" +
	"\x11ValidateTokenResp\x12\x14\n" +
	"\x05valid\x18\x01 \x01(\bR\x05valid\x12\x18\n" +
	"\amessage\x18\x02 \x01(\tR\amessage\x12\x16\n" +
	"\x06userId\x18\x03 \x01(\x03R\x06userId\x12\x1a\n" +
	"\broleType\x18\x04 \x01(\tR\broleType\"`\n" +
	"\x12CheckPermissionReq\x12\x16\n" +
	"\x06userId\x18\x01 \x01(\x03R\x06userId\x12\x1a\n" +
	"\bresource\x18\x02 \x01(\tR\bresource\x12\x16\n" +
	"\x06action\x18\x03 \x01(\tR\x06action\"I\n" +
	"\x13CheckPermissionResp\x12\x18\n" +
	"\aallowed\x18\x01 \x01(\bR\aallowed\x12\x18\n" +
	"\amessage\x18\x02 \x01(\tR\amessage\"\xa1\x01\n" +
	"\vRegisterReq\x12\x1a\n" +
	"\busername\x18\x01 \x01(\tR\busername\x12\x16\n" +
	"\x06passwd\x18\x02 \x01(\tR\x06passwd\x12\x14\n" +
	"\x05phone\x18\x03 \x01(\tR\x05phone\x12\x14\n" +
	"\x05vcode\x18\x04 \x01(\tR\x05vcode\x12\x14\n" +
	"\x05email\x18\x05 \x01(\tR\x05email\x12\x1c\n" +
	"\trequestId\x18\x06 \x01(\tR\trequestId\" \n" +
	"\fRegisterResp\x12\x10\n" +
	"\x03res\x18\x01 \x01(\tR\x03res\"#\n" +
	"\tLogoutReq\x12\x16\n" +
	"\x06userId\x18\x01 \x01(\x03R\x06userId\"\f\n" +
	"\n" +
	"LogoutResp\"~\n" +
	"\x10ResetPasswordReq\x12 \n" +
	"\vnewPassword\x18\x01 \x01(\tR\vnewPassword\x12\x14\n" +
	"\x05email\x18\x02 \x01(\tR\x05email\x12\x1c\n" +
	"\trequestId\x18\x03 \x01(\tR\trequestId\x12\x14\n" +
	"\x05vcode\x18\x04 \x01(\tR\x05vcode\"\x13\n" +
	"\x11ResetPasswordResp\"A\n" +
	"\rSwitchRoleReq\x12\x16\n" +
	"\x06userId\x18\x01 \x01(\x03R\x06userId\x12\x18\n" +
	"\anewRole\x18\x02 \x01(\tR\anewRole\"*\n" +
	"\x0eSwitchRoleResp\x12\x18\n" +
	"\asuccess\x18\x01 \x01(\bR\asuccess\"{\n" +
	"\vUserFollows\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\x03R\x02id\x12\x1e\n" +
	"\n" +
	"followerId\x18\x02 \x01(\x03R\n" +
	"followerId\x12\x1e\n" +
	"\n" +
	"followeeId\x18\x03 \x01(\x03R\n" +
	"followeeId\x12\x1c\n" +
	"\tcreatedAt\x18\x04 \x01(\x03R\tcreatedAt\"q\n" +
	"\x11AddUserFollowsReq\x12\x1e\n" +
	"\n" +
	"followerId\x18\x01 \x01(\x03R\n" +
	"followerId\x12\x1e\n" +
	"\n" +
	"followeeId\x18\x02 \x01(\x03R\n" +
	"followeeId\x12\x1c\n" +
	"\tcreatedAt\x18\x03 \x01(\x03R\tcreatedAt\"\x14\n" +
	"\x12AddUserFollowsResp\"\x84\x01\n" +
	"\x14UpdateUserFollowsReq\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\x03R\x02id\x12\x1e\n" +
	"\n" +
	"followerId\x18\x02 \x01(\x03R\n" +
	"followerId\x12\x1e\n" +
	"\n" +
	"followeeId\x18\x03 \x01(\x03R\n" +
	"followeeId\x12\x1c\n" +
	"\tcreatedAt\x18\x04 \x01(\x03R\tcreatedAt\"\x17\n" +
	"\x15UpdateUserFollowsResp\";\n" +
	"\x11DelUserFollowsReq\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\x03R\x02id\x12\x16\n" +
	"\x06userId\x18\x02 \x01(\x03R\x06userId\"\x14\n" +
	"\x12DelUserFollowsResp\"'\n" +
	"\x15GetUserFollowsByIdReq\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\x03R\x02id\"K\n" +
	"\x16GetUserFollowsByIdResp\x121\n" +
	"\vuserFollows\x18\x01 \x01(\v2\x0f.pb.UserFollowsR\vuserFollows\"\xb2\x01\n" +
	"\x14SearchUserFollowsReq\x12\x16\n" +
	"\x06offset\x18\x01 \x01(\x03R\x06offset\x12\x14\n" +
	"\x05limit\x18\x02 \x01(\x03R\x05limit\x12\x0e\n" +
	"\x02id\x18\x03 \x01(\x03R\x02id\x12\x1e\n" +
	"\n" +
	"followerId\x18\x04 \x01(\x03R\n" +
	"followerId\x12\x1e\n" +
	"\n" +
	"followeeId\x18\x05 \x01(\x03R\n" +
	"followeeId\x12\x1c\n" +
	"\tcreatedAt\x18\x06 \x01(\x03R\tcreatedAt\"J\n" +
	"\x15SearchUserFollowsResp\x121\n" +
	"\vuserFollows\x18\x01 \x03(\v2\x0f.pb.UserFollowsR\vuserFollows\"\x8d\x02\n" +
	"\x0fUserPreferences\x12\x16\n" +
	"\x06userId\x18\x01 \x01(\x03R\x06userId\x12,\n" +
	"\x11notificationOrder\x18\x02 \x01(\bR\x11notificationOrder\x124\n" +
	"\x15notificationCommunity\x18\x03 \x01(\bR\x15notificationCommunity\x12.\n" +
	"\x12notificationSystem\x18\x04 \x01(\bR\x12notificationSystem\x12\x14\n" +
	"\x05theme\x18\x05 \x01(\tR\x05theme\x12\x1a\n" +
	"\blanguage\x18\x06 \x01(\tR\blanguage\x12\x1c\n" +
	"\tupdatedAt\x18\a \x01(\x03R\tupdatedAt\"\x93\x02\n" +
	"\x15AddUserPreferencesReq\x12\x16\n" +
	"\x06userId\x18\x01 \x01(\x03R\x06userId\x12,\n" +
	"\x11notificationOrder\x18\x02 \x01(\bR\x11notificationOrder\x124\n" +
	"\x15notificationCommunity\x18\x03 \x01(\bR\x15notificationCommunity\x12.\n" +
	"\x12notificationSystem\x18\x04 \x01(\bR\x12notificationSystem\x12\x14\n" +
	"\x05theme\x18\x05 \x01(\tR\x05theme\x12\x1a\n" +
	"\blanguage\x18\x06 \x01(\tR\blanguage\x12\x1c\n" +
	"\tupdatedAt\x18\a \x01(\x03R\tupdatedAt\"\x18\n" +
	"\x16AddUserPreferencesResp\"\x96\x02\n" +
	"\x18UpdateUserPreferencesReq\x12\x16\n" +
	"\x06userId\x18\x01 \x01(\x03R\x06userId\x12,\n" +
	"\x11notificationOrder\x18\x02 \x01(\bR\x11notificationOrder\x124\n" +
	"\x15notificationCommunity\x18\x03 \x01(\bR\x15notificationCommunity\x12.\n" +
	"\x12notificationSystem\x18\x04 \x01(\bR\x12notificationSystem\x12\x14\n" +
	"\x05theme\x18\x05 \x01(\tR\x05theme\x12\x1a\n" +
	"\blanguage\x18\x06 \x01(\tR\blanguage\x12\x1c\n" +
	"\tupdatedAt\x18\a \x01(\x03R\tupdatedAt\"\x1b\n" +
	"\x19UpdateUserPreferencesResp\"'\n" +
	"\x15DelUserPreferencesReq\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\x03R\x02id\"\x18\n" +
	"\x16DelUserPreferencesResp\"+\n" +
	"\x19GetUserPreferencesByIdReq\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\x03R\x02id\"[\n" +
	"\x1aGetUserPreferencesByIdResp\x12=\n" +
	"\x0fuserPreferences\x18\x01 \x01(\v2\x13.pb.UserPreferencesR\x0fuserPreferences\"\xc4\x02\n" +
	"\x18SearchUserPreferencesReq\x12\x16\n" +
	"\x06offset\x18\x01 \x01(\x03R\x06offset\x12\x14\n" +
	"\x05limit\x18\x02 \x01(\x03R\x05limit\x12\x16\n" +
	"\x06userId\x18\x03 \x01(\x03R\x06userId\x12,\n" +
	"\x11notificationOrder\x18\x04 \x01(\bR\x11notificationOrder\x124\n" +
	"\x15notificationCommunity\x18\x05 \x01(\bR\x15notificationCommunity\x12.\n" +
	"\x12notificationSystem\x18\x06 \x01(\bR\x12notificationSystem\x12\x14\n" +
	"\x05theme\x18\a \x01(\tR\x05theme\x12\x1a\n" +
	"\blanguage\x18\b \x01(\tR\blanguage\x12\x1c\n" +
	"\tupdatedAt\x18\t \x01(\x03R\tupdatedAt\"Z\n" +
	"\x19SearchUserPreferencesResp\x12=\n" +
	"\x0fuserPreferences\x18\x01 \x03(\v2\x13.pb.UserPreferencesR\x0fuserPreferences2\x92\f\n" +
	"\n" +
	"usercenter\x12-\n" +
	"\bAddUsers\x12\x0f.pb.AddUsersReq\x1a\x10.pb.AddUsersResp\x126\n" +
	"\vUpdateUsers\x12\x12.pb.UpdateUsersReq\x1a\x13.pb.UpdateUsersResp\x12-\n" +
	"\bDelUsers\x12\x0f.pb.DelUsersReq\x1a\x10.pb.DelUsersResp\x129\n" +
	"\fGetUsersById\x12\x13.pb.GetUsersByIdReq\x1a\x14.pb.GetUsersByIdResp\x12<\n" +
	"\rGetUsersByIds\x12\x14.pb.GetUsersByIdsReq\x1a\x15.pb.GetUsersByIdsResp\x126\n" +
	"\vSearchUsers\x12\x12.pb.SearchUsersReq\x1a\x13.pb.SearchUsersResp\x12H\n" +
	"\x11GetUserByUsername\x12\x18.pb.GetUserByUsernameReq\x1a\x19.pb.GetUserByUsernameResp\x12$\n" +
	"\x05Login\x12\f.pb.LoginReq\x1a\r.pb.LoginResp\x12-\n" +
	"\bRegister\x12\x0f.pb.RegisterReq\x1a\x10.pb.RegisterResp\x12<\n" +
	"\rValidateToken\x12\x14.pb.ValidateTokenReq\x1a\x15.pb.ValidateTokenResp\x12B\n" +
	"\x0fCheckPermission\x12\x16.pb.CheckPermissionReq\x1a\x17.pb.CheckPermissionResp\x12'\n" +
	"\x06Logout\x12\r.pb.LogoutReq\x1a\x0e.pb.LogoutResp\x12<\n" +
	"\rResetPassword\x12\x14.pb.ResetPasswordReq\x1a\x15.pb.ResetPasswordResp\x123\n" +
	"\n" +
	"SwitchRole\x12\x11.pb.SwitchRoleReq\x1a\x12.pb.SwitchRoleResp\x12?\n" +
	"\x0eAddUserFollows\x12\x15.pb.AddUserFollowsReq\x1a\x16.pb.AddUserFollowsResp\x12H\n" +
	"\x11UpdateUserFollows\x12\x18.pb.UpdateUserFollowsReq\x1a\x19.pb.UpdateUserFollowsResp\x12?\n" +
	"\x0eDelUserFollows\x12\x15.pb.DelUserFollowsReq\x1a\x16.pb.DelUserFollowsResp\x12K\n" +
	"\x12GetUserFollowsById\x12\x19.pb.GetUserFollowsByIdReq\x1a\x1a.pb.GetUserFollowsByIdResp\x12H\n" +
	"\x11SearchUserFollows\x12\x18.pb.SearchUserFollowsReq\x1a\x19.pb.SearchUserFollowsResp\x12K\n" +
	"\x12AddUserPreferences\x12\x19.pb.AddUserPreferencesReq\x1a\x1a.pb.AddUserPreferencesResp\x12T\n" +
	"\x15UpdateUserPreferences\x12\x1c.pb.UpdateUserPreferencesReq\x1a\x1d.pb.UpdateUserPreferencesResp\x12K\n" +
	"\x12DelUserPreferences\x12\x19.pb.DelUserPreferencesReq\x1a\x1a.pb.DelUserPreferencesResp\x12W\n" +
	"\x16GetUserPreferencesById\x12\x1d.pb.GetUserPreferencesByIdReq\x1a\x1e.pb.GetUserPreferencesByIdResp\x12T\n" +
	"\x15SearchUserPreferences\x12\x1c.pb.SearchUserPreferencesReq\x1a\x1d.pb.SearchUserPreferencesRespB\x06Z\x04./pbb\x06proto3"

var (
	file_users_proto_rawDescOnce sync.Once
	file_users_proto_rawDescData []byte
)

func file_users_proto_rawDescGZIP() []byte {
	file_users_proto_rawDescOnce.Do(func() {
		file_users_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_users_proto_rawDesc), len(file_users_proto_rawDesc)))
	})
	return file_users_proto_rawDescData
}

var file_users_proto_msgTypes = make([]protoimpl.MessageInfo, 51)
var file_users_proto_goTypes = []any{
	(*Users)(nil),                      // 0: pb.Users
	(*AddUsersReq)(nil),                // 1: pb.AddUsersReq
	(*AddUsersResp)(nil),               // 2: pb.AddUsersResp
	(*UpdateUsersReq)(nil),             // 3: pb.UpdateUsersReq
	(*UpdateUsersResp)(nil),            // 4: pb.UpdateUsersResp
	(*DelUsersReq)(nil),                // 5: pb.DelUsersReq
	(*DelUsersResp)(nil),               // 6: pb.DelUsersResp
	(*GetUsersByIdReq)(nil),            // 7: pb.GetUsersByIdReq
	(*GetUsersByIdResp)(nil),           // 8: pb.GetUsersByIdResp
	(*GetUsersByIdsReq)(nil),           // 9: pb.GetUsersByIdsReq
	(*GetUsersByIdsResp)(nil),          // 10: pb.GetUsersByIdsResp
	(*SearchUsersReq)(nil),             // 11: pb.SearchUsersReq
	(*SearchUsersResp)(nil),            // 12: pb.SearchUsersResp
	(*GetUserByUsernameReq)(nil),       // 13: pb.GetUserByUsernameReq
	(*GetUserByUsernameResp)(nil),      // 14: pb.GetUserByUsernameResp
	(*LoginReq)(nil),                   // 15: pb.LoginReq
	(*LoginResp)(nil),                  // 16: pb.LoginResp
	(*ValidateTokenReq)(nil),           // 17: pb.ValidateTokenReq
	(*ValidateTokenResp)(nil),          // 18: pb.ValidateTokenResp
	(*CheckPermissionReq)(nil),         // 19: pb.CheckPermissionReq
	(*CheckPermissionResp)(nil),        // 20: pb.CheckPermissionResp
	(*RegisterReq)(nil),                // 21: pb.RegisterReq
	(*RegisterResp)(nil),               // 22: pb.RegisterResp
	(*LogoutReq)(nil),                  // 23: pb.LogoutReq
	(*LogoutResp)(nil),                 // 24: pb.LogoutResp
	(*ResetPasswordReq)(nil),           // 25: pb.ResetPasswordReq
	(*ResetPasswordResp)(nil),          // 26: pb.ResetPasswordResp
	(*SwitchRoleReq)(nil),              // 27: pb.SwitchRoleReq
	(*SwitchRoleResp)(nil),             // 28: pb.SwitchRoleResp
	(*UserFollows)(nil),                // 29: pb.UserFollows
	(*AddUserFollowsReq)(nil),          // 30: pb.AddUserFollowsReq
	(*AddUserFollowsResp)(nil),         // 31: pb.AddUserFollowsResp
	(*UpdateUserFollowsReq)(nil),       // 32: pb.UpdateUserFollowsReq
	(*UpdateUserFollowsResp)(nil),      // 33: pb.UpdateUserFollowsResp
	(*DelUserFollowsReq)(nil),          // 34: pb.DelUserFollowsReq
	(*DelUserFollowsResp)(nil),         // 35: pb.DelUserFollowsResp
	(*GetUserFollowsByIdReq)(nil),      // 36: pb.GetUserFollowsByIdReq
	(*GetUserFollowsByIdResp)(nil),     // 37: pb.GetUserFollowsByIdResp
	(*SearchUserFollowsReq)(nil),       // 38: pb.SearchUserFollowsReq
	(*SearchUserFollowsResp)(nil),      // 39: pb.SearchUserFollowsResp
	(*UserPreferences)(nil),            // 40: pb.UserPreferences
	(*AddUserPreferencesReq)(nil),      // 41: pb.AddUserPreferencesReq
	(*AddUserPreferencesResp)(nil),     // 42: pb.AddUserPreferencesResp
	(*UpdateUserPreferencesReq)(nil),   // 43: pb.UpdateUserPreferencesReq
	(*UpdateUserPreferencesResp)(nil),  // 44: pb.UpdateUserPreferencesResp
	(*DelUserPreferencesReq)(nil),      // 45: pb.DelUserPreferencesReq
	(*DelUserPreferencesResp)(nil),     // 46: pb.DelUserPreferencesResp
	(*GetUserPreferencesByIdReq)(nil),  // 47: pb.GetUserPreferencesByIdReq
	(*GetUserPreferencesByIdResp)(nil), // 48: pb.GetUserPreferencesByIdResp
	(*SearchUserPreferencesReq)(nil),   // 49: pb.SearchUserPreferencesReq
	(*SearchUserPreferencesResp)(nil),  // 50: pb.SearchUserPreferencesResp
}
var file_users_proto_depIdxs = []int32{
	0,  // 0: pb.GetUsersByIdResp.users:type_name -> pb.Users
	0,  // 1: pb.GetUsersByIdsResp.users:type_name -> pb.Users
	0,  // 2: pb.SearchUsersResp.users:type_name -> pb.Users
	0,  // 3: pb.GetUserByUsernameResp.users:type_name -> pb.Users
	29, // 4: pb.GetUserFollowsByIdResp.userFollows:type_name -> pb.UserFollows
	29, // 5: pb.SearchUserFollowsResp.userFollows:type_name -> pb.UserFollows
	40, // 6: pb.GetUserPreferencesByIdResp.userPreferences:type_name -> pb.UserPreferences
	40, // 7: pb.SearchUserPreferencesResp.userPreferences:type_name -> pb.UserPreferences
	1,  // 8: pb.usercenter.AddUsers:input_type -> pb.AddUsersReq
	3,  // 9: pb.usercenter.UpdateUsers:input_type -> pb.UpdateUsersReq
	5,  // 10: pb.usercenter.DelUsers:input_type -> pb.DelUsersReq
	7,  // 11: pb.usercenter.GetUsersById:input_type -> pb.GetUsersByIdReq
	9,  // 12: pb.usercenter.GetUsersByIds:input_type -> pb.GetUsersByIdsReq
	11, // 13: pb.usercenter.SearchUsers:input_type -> pb.SearchUsersReq
	13, // 14: pb.usercenter.GetUserByUsername:input_type -> pb.GetUserByUsernameReq
	15, // 15: pb.usercenter.Login:input_type -> pb.LoginReq
	21, // 16: pb.usercenter.Register:input_type -> pb.RegisterReq
	17, // 17: pb.usercenter.ValidateToken:input_type -> pb.ValidateTokenReq
	19, // 18: pb.usercenter.CheckPermission:input_type -> pb.CheckPermissionReq
	23, // 19: pb.usercenter.Logout:input_type -> pb.LogoutReq
	25, // 20: pb.usercenter.ResetPassword:input_type -> pb.ResetPasswordReq
	27, // 21: pb.usercenter.SwitchRole:input_type -> pb.SwitchRoleReq
	30, // 22: pb.usercenter.AddUserFollows:input_type -> pb.AddUserFollowsReq
	32, // 23: pb.usercenter.UpdateUserFollows:input_type -> pb.UpdateUserFollowsReq
	34, // 24: pb.usercenter.DelUserFollows:input_type -> pb.DelUserFollowsReq
	36, // 25: pb.usercenter.GetUserFollowsById:input_type -> pb.GetUserFollowsByIdReq
	38, // 26: pb.usercenter.SearchUserFollows:input_type -> pb.SearchUserFollowsReq
	41, // 27: pb.usercenter.AddUserPreferences:input_type -> pb.AddUserPreferencesReq
	43, // 28: pb.usercenter.UpdateUserPreferences:input_type -> pb.UpdateUserPreferencesReq
	45, // 29: pb.usercenter.DelUserPreferences:input_type -> pb.DelUserPreferencesReq
	47, // 30: pb.usercenter.GetUserPreferencesById:input_type -> pb.GetUserPreferencesByIdReq
	49, // 31: pb.usercenter.SearchUserPreferences:input_type -> pb.SearchUserPreferencesReq
	2,  // 32: pb.usercenter.AddUsers:output_type -> pb.AddUsersResp
	4,  // 33: pb.usercenter.UpdateUsers:output_type -> pb.UpdateUsersResp
	6,  // 34: pb.usercenter.DelUsers:output_type -> pb.DelUsersResp
	8,  // 35: pb.usercenter.GetUsersById:output_type -> pb.GetUsersByIdResp
	10, // 36: pb.usercenter.GetUsersByIds:output_type -> pb.GetUsersByIdsResp
	12, // 37: pb.usercenter.SearchUsers:output_type -> pb.SearchUsersResp
	14, // 38: pb.usercenter.GetUserByUsername:output_type -> pb.GetUserByUsernameResp
	16, // 39: pb.usercenter.Login:output_type -> pb.LoginResp
	22, // 40: pb.usercenter.Register:output_type -> pb.RegisterResp
	18, // 41: pb.usercenter.ValidateToken:output_type -> pb.ValidateTokenResp
	20, // 42: pb.usercenter.CheckPermission:output_type -> pb.CheckPermissionResp
	24, // 43: pb.usercenter.Logout:output_type -> pb.LogoutResp
	26, // 44: pb.usercenter.ResetPassword:output_type -> pb.ResetPasswordResp
	28, // 45: pb.usercenter.SwitchRole:output_type -> pb.SwitchRoleResp
	31, // 46: pb.usercenter.AddUserFollows:output_type -> pb.AddUserFollowsResp
	33, // 47: pb.usercenter.UpdateUserFollows:output_type -> pb.UpdateUserFollowsResp
	35, // 48: pb.usercenter.DelUserFollows:output_type -> pb.DelUserFollowsResp
	37, // 49: pb.usercenter.GetUserFollowsById:output_type -> pb.GetUserFollowsByIdResp
	39, // 50: pb.usercenter.SearchUserFollows:output_type -> pb.SearchUserFollowsResp
	42, // 51: pb.usercenter.AddUserPreferences:output_type -> pb.AddUserPreferencesResp
	44, // 52: pb.usercenter.UpdateUserPreferences:output_type -> pb.UpdateUserPreferencesResp
	46, // 53: pb.usercenter.DelUserPreferences:output_type -> pb.DelUserPreferencesResp
	48, // 54: pb.usercenter.GetUserPreferencesById:output_type -> pb.GetUserPreferencesByIdResp
	50, // 55: pb.usercenter.SearchUserPreferences:output_type -> pb.SearchUserPreferencesResp
	32, // [32:56] is the sub-list for method output_type
	8,  // [8:32] is the sub-list for method input_type
	8,  // [8:8] is the sub-list for extension type_name
	8,  // [8:8] is the sub-list for extension extendee
	0,  // [0:8] is the sub-list for field type_name
}

func init() { file_users_proto_init() }
func file_users_proto_init() {
	if File_users_proto != nil {
		return
	}
	file_users_proto_msgTypes[3].OneofWrappers = []any{}
	file_users_proto_msgTypes[11].OneofWrappers = []any{}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_users_proto_rawDesc), len(file_users_proto_rawDesc)),
			NumEnums:      0,
			NumMessages:   51,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_users_proto_goTypes,
		DependencyIndexes: file_users_proto_depIdxs,
		MessageInfos:      file_users_proto_msgTypes,
	}.Build()
	File_users_proto = out.File
	file_users_proto_goTypes = nil
	file_users_proto_depIdxs = nil
}
