func (*UpdateUserRequest) Descriptor() ([]byte, []int) {
	return file_test_proto_rawDescGZIP(), []int{3}
}
Deprecated: Use UpdateUserRequest.ProtoReflect.Descriptor instead.
package testproto
import (
	reflect "reflect"
	sync "sync"
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	anypb "google.golang.org/protobuf/types/known/anypb"
	fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb"
)
const (
	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
type Role int32
const (
	Role_UNKNOWN Role = 0
	Role_REGULAR Role = 1
	Role_ADMIN   Role = 2
)
var (
	Role_name = map[int32]string{
		0: "UNKNOWN",
		1: "REGULAR",
		2: "ADMIN",
	}
	Role_value = map[string]int32{
		"UNKNOWN": 0,
		"REGULAR": 1,
		"ADMIN":   2,
	}
)
func (x Role) Enum() *Role {
	p := new(Role)
	*p = x
	return p
}
func (x Role) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (Role) Descriptor() protoreflect.EnumDescriptor {
	return file_test_proto_enumTypes[0].Descriptor()
}
func (Role) Type() protoreflect.EnumType {
	return &file_test_proto_enumTypes[0]
}
func (x Role) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}
func (Role) EnumDescriptor() ([]byte, []int) {
	return file_test_proto_rawDescGZIP(), []int{0}
}
type Permission int32
const (
	Permission_READ    Permission = 0
	Permission_WRITE   Permission = 1
	Permission_EXECUTE Permission = 2
)
var (
	Permission_name = map[int32]string{
		0: "READ",
		1: "WRITE",
		2: "EXECUTE",
	}
	Permission_value = map[string]int32{
		"READ":    0,
		"WRITE":   1,
		"EXECUTE": 2,
	}
)
func (x Permission) Enum() *Permission {
	p := new(Permission)
	*p = x
	return p
}
func (x Permission) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (Permission) Descriptor() protoreflect.EnumDescriptor {
	return file_test_proto_enumTypes[1].Descriptor()
}
func (Permission) Type() protoreflect.EnumType {
	return &file_test_proto_enumTypes[1]
}
func (x Permission) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}
func (Permission) EnumDescriptor() ([]byte, []int) {
	return file_test_proto_rawDescGZIP(), []int{1}
}
type Image struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
	OriginalUrl string `protobuf:"bytes,1,opt,name=original_url,json=originalUrl,proto3" json:"original_url,omitempty"`
	ResizedUrl  string `protobuf:"bytes,2,opt,name=resized_url,json=resizedUrl,proto3" json:"resized_url,omitempty"`
}
func (x *Image) Reset() {
	*x = Image{}
	if protoimpl.UnsafeEnabled {
		mi := &file_test_proto_msgTypes[0]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}
func (x *Image) String() string {
	return protoimpl.X.MessageStringOf(x)
}
func (*Image) ProtoMessage() {}
func (x *Image) ProtoReflect() protoreflect.Message {
	mi := &file_test_proto_msgTypes[0]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}
func (*Image) Descriptor() ([]byte, []int) {
	return file_test_proto_rawDescGZIP(), []int{0}
}
func (x *Image) GetOriginalUrl() string {
	if x != nil {
		return x.OriginalUrl
	}
	return ""
}
func (x *Image) GetResizedUrl() string {
	if x != nil {
		return x.ResizedUrl
	}
	return ""
}
type Metrics struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
	Height uint32 `protobuf:"varint,1,opt,name=height,proto3" json:"height,omitempty"`
	Weight uint32 `protobuf:"varint,2,opt,name=weight,proto3" json:"weight,omitempty"`
}
func (x *Metrics) Reset() {
	*x = Metrics{}
	if protoimpl.UnsafeEnabled {
		mi := &file_test_proto_msgTypes[1]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}
func (x *Metrics) String() string {
	return protoimpl.X.MessageStringOf(x)
}
func (*Metrics) ProtoMessage() {}
func (x *Metrics) ProtoReflect() protoreflect.Message {
	mi := &file_test_proto_msgTypes[1]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}
func (*Metrics) Descriptor() ([]byte, []int) {
	return file_test_proto_rawDescGZIP(), []int{1}
}
func (x *Metrics) GetHeight() uint32 {
	if x != nil {
		return x.Height
	}
	return 0
}
func (x *Metrics) GetWeight() uint32 {
	if x != nil {
		return x.Weight
	}
	return 0
}
type User struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
	Id          uint32            `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	Username    string            `protobuf:"bytes,2,opt,name=username,proto3" json:"username,omitempty"`
	Role        Role              `protobuf:"varint,3,opt,name=role,proto3,enum=Role" json:"role,omitempty"`
	Meta        map[string]string `protobuf:"bytes,4,rep,name=meta,proto3" json:"meta,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
	Deactivated bool              `protobuf:"varint,5,opt,name=deactivated,proto3" json:"deactivated,omitempty"`
	Permissions []Permission      `protobuf:"varint,6,rep,packed,name=permissions,proto3,enum=Permission" json:"permissions,omitempty"`
	Name      isUser_Name  `protobuf_oneof:"name"`
	Details   []*anypb.Any `protobuf:"bytes,9,rep,name=details,proto3" json:"details,omitempty"`
	Images    []*Image     `protobuf:"bytes,10,rep,name=images,proto3" json:"images,omitempty"`
	Avatar    *Image       `protobuf:"bytes,11,opt,name=avatar,proto3" json:"avatar,omitempty"`
	Tags      []string     `protobuf:"bytes,12,rep,name=tags,proto3" json:"tags,omitempty"`
	Friends   []*User      `protobuf:"bytes,13,rep,name=friends,proto3" json:"friends,omitempty"`
	ExtraUser *anypb.Any   `protobuf:"bytes,14,opt,name=extra_user,json=extraUser,proto3" json:"extra_user,omitempty"`
}
func (x *User) Reset() {
	*x = User{}
	if protoimpl.UnsafeEnabled {
		mi := &file_test_proto_msgTypes[2]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}
func (x *User) String() string {
	return protoimpl.X.MessageStringOf(x)
}
func (*User) ProtoMessage() {}
func (x *User) ProtoReflect() protoreflect.Message {
	mi := &file_test_proto_msgTypes[2]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}
func (*User) Descriptor() ([]byte, []int) {
	return file_test_proto_rawDescGZIP(), []int{2}
}
func (x *User) GetId() uint32 {
	if x != nil {
		return x.Id
	}
	return 0
}
func (x *User) GetUsername() string {
	if x != nil {
		return x.Username
	}
	return ""
}
func (x *User) GetRole() Role {
	if x != nil {
		return x.Role
	}
	return Role_UNKNOWN
}
func (x *User) GetMeta() map[string]string {
	if x != nil {
		return x.Meta
	}
	return nil
}
func (x *User) GetDeactivated() bool {
	if x != nil {
		return x.Deactivated
	}
	return false
}
func (x *User) GetPermissions() []Permission {
	if x != nil {
		return x.Permissions
	}
	return nil
}
func (m *User) GetName() isUser_Name {
	if m != nil {
		return m.Name
	}
	return nil
}
func (x *User) GetMaleName() string {
	if x, ok := x.GetName().(*User_MaleName); ok {
		return x.MaleName
	}
	return ""
}
func (x *User) GetFemaleName() string {
	if x, ok := x.GetName().(*User_FemaleName); ok {
		return x.FemaleName
	}
	return ""
}
func (x *User) GetDetails() []*anypb.Any {
	if x != nil {
		return x.Details
	}
	return nil
}
func (x *User) GetImages() []*Image {
	if x != nil {
		return x.Images
	}
	return nil
}
func (x *User) GetAvatar() *Image {
	if x != nil {
		return x.Avatar
	}
	return nil
}
func (x *User) GetTags() []string {
	if x != nil {
		return x.Tags
	}
	return nil
}
func (x *User) GetFriends() []*User {
	if x != nil {
		return x.Friends
	}
	return nil
}
func (x *User) GetExtraUser() *anypb.Any {
	if x != nil {
		return x.ExtraUser
	}
	return nil
}
type isUser_Name interface {
	isUser_Name()
}
type User_MaleName struct {
	MaleName string `protobuf:"bytes,7,opt,name=male_name,json=maleName,proto3,oneof"`
}
type User_FemaleName struct {
	FemaleName string `protobuf:"bytes,8,opt,name=female_name,json=femaleName,proto3,oneof"`
}
func (*User_MaleName) isUser_Name() {}
func (*User_FemaleName) isUser_Name() {}
type UpdateUserRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
	User      *User                  `protobuf:"bytes,1,opt,name=user,proto3" json:"user,omitempty"`
	FieldMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=field_mask,json=fieldMask,proto3" json:"field_mask,omitempty"`
}
func (x *UpdateUserRequest) Reset() {
	*x = UpdateUserRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_test_proto_msgTypes[3]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}
func (x *UpdateUserRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}
func (*UpdateUserRequest) ProtoMessage() {}
func (x *UpdateUserRequest) ProtoReflect() protoreflect.Message {
	mi := &file_test_proto_msgTypes[3]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}