github.com/cloudwan/edgelq-sdk@v1.15.4/iam/resources/v1alpha2/invitation/invitation.pb.fieldpath.go (about)

     1  // Code generated by protoc-gen-goten-object
     2  // File: edgelq/iam/proto/v1alpha2/invitation.proto
     3  // DO NOT EDIT!!!
     4  
     5  package iam_invitation
     6  
     7  import (
     8  	"encoding/json"
     9  	"fmt"
    10  	"reflect"
    11  	"strings"
    12  	"time"
    13  
    14  	"google.golang.org/grpc/codes"
    15  	"google.golang.org/grpc/status"
    16  	"google.golang.org/protobuf/encoding/protojson"
    17  	"google.golang.org/protobuf/proto"
    18  	"google.golang.org/protobuf/reflect/protoregistry"
    19  
    20  	gotenobject "github.com/cloudwan/goten-sdk/runtime/object"
    21  	"github.com/cloudwan/goten-sdk/runtime/strcase"
    22  )
    23  
    24  // proto imports
    25  import (
    26  	role "github.com/cloudwan/edgelq-sdk/iam/resources/v1alpha2/role"
    27  	service_account "github.com/cloudwan/edgelq-sdk/iam/resources/v1alpha2/service_account"
    28  	user "github.com/cloudwan/edgelq-sdk/iam/resources/v1alpha2/user"
    29  	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
    30  )
    31  
    32  // ensure the imports are used
    33  var (
    34  	_ = new(json.Marshaler)
    35  	_ = new(fmt.Stringer)
    36  	_ = reflect.DeepEqual
    37  	_ = strings.Builder{}
    38  	_ = time.Second
    39  
    40  	_ = strcase.ToLowerCamel
    41  	_ = codes.NotFound
    42  	_ = status.Status{}
    43  	_ = protojson.UnmarshalOptions{}
    44  	_ = new(proto.Message)
    45  	_ = protoregistry.GlobalTypes
    46  
    47  	_ = new(gotenobject.FieldPath)
    48  )
    49  
    50  // make sure we're using proto imports
    51  var (
    52  	_ = &role.Role{}
    53  	_ = &service_account.ServiceAccount{}
    54  	_ = &user.User{}
    55  	_ = &timestamppb.Timestamp{}
    56  )
    57  
    58  // FieldPath provides implementation to handle
    59  // https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/field_mask.proto
    60  type Actor_FieldPath interface {
    61  	gotenobject.FieldPath
    62  	Selector() Actor_FieldPathSelector
    63  	Get(source *Actor) []interface{}
    64  	GetSingle(source *Actor) (interface{}, bool)
    65  	ClearValue(item *Actor)
    66  
    67  	// Those methods build corresponding Actor_FieldPathValue
    68  	// (or array of values) and holds passed value. Panics if injected type is incorrect.
    69  	WithIValue(value interface{}) Actor_FieldPathValue
    70  	WithIArrayOfValues(values interface{}) Actor_FieldPathArrayOfValues
    71  	WithIArrayItemValue(value interface{}) Actor_FieldPathArrayItemValue
    72  }
    73  
    74  type Actor_FieldPathSelector int32
    75  
    76  const (
    77  	Actor_FieldPathSelectorUser           Actor_FieldPathSelector = 0
    78  	Actor_FieldPathSelectorServiceAccount Actor_FieldPathSelector = 1
    79  )
    80  
    81  func (s Actor_FieldPathSelector) String() string {
    82  	switch s {
    83  	case Actor_FieldPathSelectorUser:
    84  		return "user"
    85  	case Actor_FieldPathSelectorServiceAccount:
    86  		return "service_account"
    87  	default:
    88  		panic(fmt.Sprintf("Invalid selector for Actor: %d", s))
    89  	}
    90  }
    91  
    92  func BuildActor_FieldPath(fp gotenobject.RawFieldPath) (Actor_FieldPath, error) {
    93  	if len(fp) == 0 {
    94  		return nil, status.Error(codes.InvalidArgument, "empty field path for object Actor")
    95  	}
    96  	if len(fp) == 1 {
    97  		switch fp[0] {
    98  		case "user":
    99  			return &Actor_FieldTerminalPath{selector: Actor_FieldPathSelectorUser}, nil
   100  		case "service_account", "serviceAccount", "service-account":
   101  			return &Actor_FieldTerminalPath{selector: Actor_FieldPathSelectorServiceAccount}, nil
   102  		}
   103  	}
   104  	return nil, status.Errorf(codes.InvalidArgument, "unknown field path '%s' for object Actor", fp)
   105  }
   106  
   107  func ParseActor_FieldPath(rawField string) (Actor_FieldPath, error) {
   108  	fp, err := gotenobject.ParseRawFieldPath(rawField)
   109  	if err != nil {
   110  		return nil, err
   111  	}
   112  	return BuildActor_FieldPath(fp)
   113  }
   114  
   115  func MustParseActor_FieldPath(rawField string) Actor_FieldPath {
   116  	fp, err := ParseActor_FieldPath(rawField)
   117  	if err != nil {
   118  		panic(err)
   119  	}
   120  	return fp
   121  }
   122  
   123  type Actor_FieldTerminalPath struct {
   124  	selector Actor_FieldPathSelector
   125  }
   126  
   127  var _ Actor_FieldPath = (*Actor_FieldTerminalPath)(nil)
   128  
   129  func (fp *Actor_FieldTerminalPath) Selector() Actor_FieldPathSelector {
   130  	return fp.selector
   131  }
   132  
   133  // String returns path representation in proto convention
   134  func (fp *Actor_FieldTerminalPath) String() string {
   135  	return fp.selector.String()
   136  }
   137  
   138  // JSONString returns path representation is JSON convention
   139  func (fp *Actor_FieldTerminalPath) JSONString() string {
   140  	return strcase.ToLowerCamel(fp.String())
   141  }
   142  
   143  // Get returns all values pointed by specific field from source Actor
   144  func (fp *Actor_FieldTerminalPath) Get(source *Actor) (values []interface{}) {
   145  	if source != nil {
   146  		switch fp.selector {
   147  		case Actor_FieldPathSelectorUser:
   148  			if source.User != nil {
   149  				values = append(values, source.User)
   150  			}
   151  		case Actor_FieldPathSelectorServiceAccount:
   152  			if source.ServiceAccount != nil {
   153  				values = append(values, source.ServiceAccount)
   154  			}
   155  		default:
   156  			panic(fmt.Sprintf("Invalid selector for Actor: %d", fp.selector))
   157  		}
   158  	}
   159  	return
   160  }
   161  
   162  func (fp *Actor_FieldTerminalPath) GetRaw(source proto.Message) []interface{} {
   163  	return fp.Get(source.(*Actor))
   164  }
   165  
   166  // GetSingle returns value pointed by specific field of from source Actor
   167  func (fp *Actor_FieldTerminalPath) GetSingle(source *Actor) (interface{}, bool) {
   168  	switch fp.selector {
   169  	case Actor_FieldPathSelectorUser:
   170  		res := source.GetUser()
   171  		return res, res != nil
   172  	case Actor_FieldPathSelectorServiceAccount:
   173  		res := source.GetServiceAccount()
   174  		return res, res != nil
   175  	default:
   176  		panic(fmt.Sprintf("Invalid selector for Actor: %d", fp.selector))
   177  	}
   178  }
   179  
   180  func (fp *Actor_FieldTerminalPath) GetSingleRaw(source proto.Message) (interface{}, bool) {
   181  	return fp.GetSingle(source.(*Actor))
   182  }
   183  
   184  // GetDefault returns a default value of the field type
   185  func (fp *Actor_FieldTerminalPath) GetDefault() interface{} {
   186  	switch fp.selector {
   187  	case Actor_FieldPathSelectorUser:
   188  		return (*user.Reference)(nil)
   189  	case Actor_FieldPathSelectorServiceAccount:
   190  		return (*service_account.Reference)(nil)
   191  	default:
   192  		panic(fmt.Sprintf("Invalid selector for Actor: %d", fp.selector))
   193  	}
   194  }
   195  
   196  func (fp *Actor_FieldTerminalPath) ClearValue(item *Actor) {
   197  	if item != nil {
   198  		switch fp.selector {
   199  		case Actor_FieldPathSelectorUser:
   200  			item.User = nil
   201  		case Actor_FieldPathSelectorServiceAccount:
   202  			item.ServiceAccount = nil
   203  		default:
   204  			panic(fmt.Sprintf("Invalid selector for Actor: %d", fp.selector))
   205  		}
   206  	}
   207  }
   208  
   209  func (fp *Actor_FieldTerminalPath) ClearValueRaw(item proto.Message) {
   210  	fp.ClearValue(item.(*Actor))
   211  }
   212  
   213  // IsLeaf - whether field path is holds simple value
   214  func (fp *Actor_FieldTerminalPath) IsLeaf() bool {
   215  	return fp.selector == Actor_FieldPathSelectorUser ||
   216  		fp.selector == Actor_FieldPathSelectorServiceAccount
   217  }
   218  
   219  func (fp *Actor_FieldTerminalPath) SplitIntoTerminalIPaths() []gotenobject.FieldPath {
   220  	return []gotenobject.FieldPath{fp}
   221  }
   222  
   223  func (fp *Actor_FieldTerminalPath) WithIValue(value interface{}) Actor_FieldPathValue {
   224  	switch fp.selector {
   225  	case Actor_FieldPathSelectorUser:
   226  		return &Actor_FieldTerminalPathValue{Actor_FieldTerminalPath: *fp, value: value.(*user.Reference)}
   227  	case Actor_FieldPathSelectorServiceAccount:
   228  		return &Actor_FieldTerminalPathValue{Actor_FieldTerminalPath: *fp, value: value.(*service_account.Reference)}
   229  	default:
   230  		panic(fmt.Sprintf("Invalid selector for Actor: %d", fp.selector))
   231  	}
   232  }
   233  
   234  func (fp *Actor_FieldTerminalPath) WithRawIValue(value interface{}) gotenobject.FieldPathValue {
   235  	return fp.WithIValue(value)
   236  }
   237  
   238  func (fp *Actor_FieldTerminalPath) WithIArrayOfValues(values interface{}) Actor_FieldPathArrayOfValues {
   239  	fpaov := &Actor_FieldTerminalPathArrayOfValues{Actor_FieldTerminalPath: *fp}
   240  	switch fp.selector {
   241  	case Actor_FieldPathSelectorUser:
   242  		return &Actor_FieldTerminalPathArrayOfValues{Actor_FieldTerminalPath: *fp, values: values.([]*user.Reference)}
   243  	case Actor_FieldPathSelectorServiceAccount:
   244  		return &Actor_FieldTerminalPathArrayOfValues{Actor_FieldTerminalPath: *fp, values: values.([]*service_account.Reference)}
   245  	default:
   246  		panic(fmt.Sprintf("Invalid selector for Actor: %d", fp.selector))
   247  	}
   248  	return fpaov
   249  }
   250  
   251  func (fp *Actor_FieldTerminalPath) WithRawIArrayOfValues(values interface{}) gotenobject.FieldPathArrayOfValues {
   252  	return fp.WithIArrayOfValues(values)
   253  }
   254  
   255  func (fp *Actor_FieldTerminalPath) WithIArrayItemValue(value interface{}) Actor_FieldPathArrayItemValue {
   256  	switch fp.selector {
   257  	default:
   258  		panic(fmt.Sprintf("Invalid selector for Actor: %d", fp.selector))
   259  	}
   260  }
   261  
   262  func (fp *Actor_FieldTerminalPath) WithRawIArrayItemValue(value interface{}) gotenobject.FieldPathArrayItemValue {
   263  	return fp.WithIArrayItemValue(value)
   264  }
   265  
   266  // Actor_FieldPathValue allows storing values for Actor fields according to their type
   267  type Actor_FieldPathValue interface {
   268  	Actor_FieldPath
   269  	gotenobject.FieldPathValue
   270  	SetTo(target **Actor)
   271  	CompareWith(*Actor) (cmp int, comparable bool)
   272  }
   273  
   274  func ParseActor_FieldPathValue(pathStr, valueStr string) (Actor_FieldPathValue, error) {
   275  	fp, err := ParseActor_FieldPath(pathStr)
   276  	if err != nil {
   277  		return nil, err
   278  	}
   279  	fpv, err := gotenobject.ParseFieldPathValue(fp, valueStr)
   280  	if err != nil {
   281  		return nil, status.Errorf(codes.InvalidArgument, "error parsing Actor field path value from %s: %v", valueStr, err)
   282  	}
   283  	return fpv.(Actor_FieldPathValue), nil
   284  }
   285  
   286  func MustParseActor_FieldPathValue(pathStr, valueStr string) Actor_FieldPathValue {
   287  	fpv, err := ParseActor_FieldPathValue(pathStr, valueStr)
   288  	if err != nil {
   289  		panic(err)
   290  	}
   291  	return fpv
   292  }
   293  
   294  type Actor_FieldTerminalPathValue struct {
   295  	Actor_FieldTerminalPath
   296  	value interface{}
   297  }
   298  
   299  var _ Actor_FieldPathValue = (*Actor_FieldTerminalPathValue)(nil)
   300  
   301  // GetRawValue returns raw value stored under selected path for 'Actor' as interface{}
   302  func (fpv *Actor_FieldTerminalPathValue) GetRawValue() interface{} {
   303  	return fpv.value
   304  }
   305  func (fpv *Actor_FieldTerminalPathValue) AsUserValue() (*user.Reference, bool) {
   306  	res, ok := fpv.value.(*user.Reference)
   307  	return res, ok
   308  }
   309  func (fpv *Actor_FieldTerminalPathValue) AsServiceAccountValue() (*service_account.Reference, bool) {
   310  	res, ok := fpv.value.(*service_account.Reference)
   311  	return res, ok
   312  }
   313  
   314  // SetTo stores value for selected field for object Actor
   315  func (fpv *Actor_FieldTerminalPathValue) SetTo(target **Actor) {
   316  	if *target == nil {
   317  		*target = new(Actor)
   318  	}
   319  	switch fpv.selector {
   320  	case Actor_FieldPathSelectorUser:
   321  		(*target).User = fpv.value.(*user.Reference)
   322  	case Actor_FieldPathSelectorServiceAccount:
   323  		(*target).ServiceAccount = fpv.value.(*service_account.Reference)
   324  	default:
   325  		panic(fmt.Sprintf("Invalid selector for Actor: %d", fpv.selector))
   326  	}
   327  }
   328  
   329  func (fpv *Actor_FieldTerminalPathValue) SetToRaw(target proto.Message) {
   330  	typedObject := target.(*Actor)
   331  	fpv.SetTo(&typedObject)
   332  }
   333  
   334  // CompareWith compares value in the 'Actor_FieldTerminalPathValue' with the value under path in 'Actor'.
   335  func (fpv *Actor_FieldTerminalPathValue) CompareWith(source *Actor) (int, bool) {
   336  	switch fpv.selector {
   337  	case Actor_FieldPathSelectorUser:
   338  		leftValue := fpv.value.(*user.Reference)
   339  		rightValue := source.GetUser()
   340  		if leftValue == nil {
   341  			if rightValue != nil {
   342  				return -1, true
   343  			}
   344  			return 0, true
   345  		}
   346  		if rightValue == nil {
   347  			return 1, true
   348  		}
   349  		if leftValue.String() == rightValue.String() {
   350  			return 0, true
   351  		} else if leftValue.String() < rightValue.String() {
   352  			return -1, true
   353  		} else {
   354  			return 1, true
   355  		}
   356  	case Actor_FieldPathSelectorServiceAccount:
   357  		leftValue := fpv.value.(*service_account.Reference)
   358  		rightValue := source.GetServiceAccount()
   359  		if leftValue == nil {
   360  			if rightValue != nil {
   361  				return -1, true
   362  			}
   363  			return 0, true
   364  		}
   365  		if rightValue == nil {
   366  			return 1, true
   367  		}
   368  		if leftValue.String() == rightValue.String() {
   369  			return 0, true
   370  		} else if leftValue.String() < rightValue.String() {
   371  			return -1, true
   372  		} else {
   373  			return 1, true
   374  		}
   375  	default:
   376  		panic(fmt.Sprintf("Invalid selector for Actor: %d", fpv.selector))
   377  	}
   378  }
   379  
   380  func (fpv *Actor_FieldTerminalPathValue) CompareWithRaw(source proto.Message) (int, bool) {
   381  	return fpv.CompareWith(source.(*Actor))
   382  }
   383  
   384  // Actor_FieldPathArrayItemValue allows storing single item in Path-specific values for Actor according to their type
   385  // Present only for array (repeated) types.
   386  type Actor_FieldPathArrayItemValue interface {
   387  	gotenobject.FieldPathArrayItemValue
   388  	Actor_FieldPath
   389  	ContainsValue(*Actor) bool
   390  }
   391  
   392  // ParseActor_FieldPathArrayItemValue parses string and JSON-encoded value to its Value
   393  func ParseActor_FieldPathArrayItemValue(pathStr, valueStr string) (Actor_FieldPathArrayItemValue, error) {
   394  	fp, err := ParseActor_FieldPath(pathStr)
   395  	if err != nil {
   396  		return nil, err
   397  	}
   398  	fpaiv, err := gotenobject.ParseFieldPathArrayItemValue(fp, valueStr)
   399  	if err != nil {
   400  		return nil, status.Errorf(codes.InvalidArgument, "error parsing Actor field path array item value from %s: %v", valueStr, err)
   401  	}
   402  	return fpaiv.(Actor_FieldPathArrayItemValue), nil
   403  }
   404  
   405  func MustParseActor_FieldPathArrayItemValue(pathStr, valueStr string) Actor_FieldPathArrayItemValue {
   406  	fpaiv, err := ParseActor_FieldPathArrayItemValue(pathStr, valueStr)
   407  	if err != nil {
   408  		panic(err)
   409  	}
   410  	return fpaiv
   411  }
   412  
   413  type Actor_FieldTerminalPathArrayItemValue struct {
   414  	Actor_FieldTerminalPath
   415  	value interface{}
   416  }
   417  
   418  var _ Actor_FieldPathArrayItemValue = (*Actor_FieldTerminalPathArrayItemValue)(nil)
   419  
   420  // GetRawValue returns stored element value for array in object Actor as interface{}
   421  func (fpaiv *Actor_FieldTerminalPathArrayItemValue) GetRawItemValue() interface{} {
   422  	return fpaiv.value
   423  }
   424  
   425  func (fpaiv *Actor_FieldTerminalPathArrayItemValue) GetSingle(source *Actor) (interface{}, bool) {
   426  	return nil, false
   427  }
   428  
   429  func (fpaiv *Actor_FieldTerminalPathArrayItemValue) GetSingleRaw(source proto.Message) (interface{}, bool) {
   430  	return fpaiv.GetSingle(source.(*Actor))
   431  }
   432  
   433  // Contains returns a boolean indicating if value that is being held is present in given 'Actor'
   434  func (fpaiv *Actor_FieldTerminalPathArrayItemValue) ContainsValue(source *Actor) bool {
   435  	slice := fpaiv.Actor_FieldTerminalPath.Get(source)
   436  	for _, v := range slice {
   437  		if asProtoMsg, ok := fpaiv.value.(proto.Message); ok {
   438  			if proto.Equal(asProtoMsg, v.(proto.Message)) {
   439  				return true
   440  			}
   441  		} else if reflect.DeepEqual(v, fpaiv.value) {
   442  			return true
   443  		}
   444  	}
   445  	return false
   446  }
   447  
   448  // Actor_FieldPathArrayOfValues allows storing slice of values for Actor fields according to their type
   449  type Actor_FieldPathArrayOfValues interface {
   450  	gotenobject.FieldPathArrayOfValues
   451  	Actor_FieldPath
   452  }
   453  
   454  func ParseActor_FieldPathArrayOfValues(pathStr, valuesStr string) (Actor_FieldPathArrayOfValues, error) {
   455  	fp, err := ParseActor_FieldPath(pathStr)
   456  	if err != nil {
   457  		return nil, err
   458  	}
   459  	fpaov, err := gotenobject.ParseFieldPathArrayOfValues(fp, valuesStr)
   460  	if err != nil {
   461  		return nil, status.Errorf(codes.InvalidArgument, "error parsing Actor field path array of values from %s: %v", valuesStr, err)
   462  	}
   463  	return fpaov.(Actor_FieldPathArrayOfValues), nil
   464  }
   465  
   466  func MustParseActor_FieldPathArrayOfValues(pathStr, valuesStr string) Actor_FieldPathArrayOfValues {
   467  	fpaov, err := ParseActor_FieldPathArrayOfValues(pathStr, valuesStr)
   468  	if err != nil {
   469  		panic(err)
   470  	}
   471  	return fpaov
   472  }
   473  
   474  type Actor_FieldTerminalPathArrayOfValues struct {
   475  	Actor_FieldTerminalPath
   476  	values interface{}
   477  }
   478  
   479  var _ Actor_FieldPathArrayOfValues = (*Actor_FieldTerminalPathArrayOfValues)(nil)
   480  
   481  func (fpaov *Actor_FieldTerminalPathArrayOfValues) GetRawValues() (values []interface{}) {
   482  	switch fpaov.selector {
   483  	case Actor_FieldPathSelectorUser:
   484  		for _, v := range fpaov.values.([]*user.Reference) {
   485  			values = append(values, v)
   486  		}
   487  	case Actor_FieldPathSelectorServiceAccount:
   488  		for _, v := range fpaov.values.([]*service_account.Reference) {
   489  			values = append(values, v)
   490  		}
   491  	}
   492  	return
   493  }
   494  func (fpaov *Actor_FieldTerminalPathArrayOfValues) AsUserArrayOfValues() ([]*user.Reference, bool) {
   495  	res, ok := fpaov.values.([]*user.Reference)
   496  	return res, ok
   497  }
   498  func (fpaov *Actor_FieldTerminalPathArrayOfValues) AsServiceAccountArrayOfValues() ([]*service_account.Reference, bool) {
   499  	res, ok := fpaov.values.([]*service_account.Reference)
   500  	return res, ok
   501  }
   502  
   503  // FieldPath provides implementation to handle
   504  // https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/field_mask.proto
   505  type Invitation_FieldPath interface {
   506  	gotenobject.FieldPath
   507  	Selector() Invitation_FieldPathSelector
   508  	Get(source *Invitation) []interface{}
   509  	GetSingle(source *Invitation) (interface{}, bool)
   510  	ClearValue(item *Invitation)
   511  
   512  	// Those methods build corresponding Invitation_FieldPathValue
   513  	// (or array of values) and holds passed value. Panics if injected type is incorrect.
   514  	WithIValue(value interface{}) Invitation_FieldPathValue
   515  	WithIArrayOfValues(values interface{}) Invitation_FieldPathArrayOfValues
   516  	WithIArrayItemValue(value interface{}) Invitation_FieldPathArrayItemValue
   517  }
   518  
   519  type Invitation_FieldPathSelector int32
   520  
   521  const (
   522  	Invitation_FieldPathSelectorInviteeEmail    Invitation_FieldPathSelector = 0
   523  	Invitation_FieldPathSelectorInviterActor    Invitation_FieldPathSelector = 1
   524  	Invitation_FieldPathSelectorInviterFullName Invitation_FieldPathSelector = 2
   525  	Invitation_FieldPathSelectorInviterEmail    Invitation_FieldPathSelector = 3
   526  	Invitation_FieldPathSelectorLanguageCode    Invitation_FieldPathSelector = 4
   527  	Invitation_FieldPathSelectorRoles           Invitation_FieldPathSelector = 5
   528  	Invitation_FieldPathSelectorExpirationDate  Invitation_FieldPathSelector = 6
   529  	Invitation_FieldPathSelectorExtras          Invitation_FieldPathSelector = 7
   530  	Invitation_FieldPathSelectorState           Invitation_FieldPathSelector = 8
   531  )
   532  
   533  func (s Invitation_FieldPathSelector) String() string {
   534  	switch s {
   535  	case Invitation_FieldPathSelectorInviteeEmail:
   536  		return "invitee_email"
   537  	case Invitation_FieldPathSelectorInviterActor:
   538  		return "inviter_actor"
   539  	case Invitation_FieldPathSelectorInviterFullName:
   540  		return "inviter_full_name"
   541  	case Invitation_FieldPathSelectorInviterEmail:
   542  		return "inviter_email"
   543  	case Invitation_FieldPathSelectorLanguageCode:
   544  		return "language_code"
   545  	case Invitation_FieldPathSelectorRoles:
   546  		return "roles"
   547  	case Invitation_FieldPathSelectorExpirationDate:
   548  		return "expiration_date"
   549  	case Invitation_FieldPathSelectorExtras:
   550  		return "extras"
   551  	case Invitation_FieldPathSelectorState:
   552  		return "state"
   553  	default:
   554  		panic(fmt.Sprintf("Invalid selector for Invitation: %d", s))
   555  	}
   556  }
   557  
   558  func BuildInvitation_FieldPath(fp gotenobject.RawFieldPath) (Invitation_FieldPath, error) {
   559  	if len(fp) == 0 {
   560  		return nil, status.Error(codes.InvalidArgument, "empty field path for object Invitation")
   561  	}
   562  	if len(fp) == 1 {
   563  		switch fp[0] {
   564  		case "invitee_email", "inviteeEmail", "invitee-email":
   565  			return &Invitation_FieldTerminalPath{selector: Invitation_FieldPathSelectorInviteeEmail}, nil
   566  		case "inviter_actor", "inviterActor", "inviter-actor":
   567  			return &Invitation_FieldTerminalPath{selector: Invitation_FieldPathSelectorInviterActor}, nil
   568  		case "inviter_full_name", "inviterFullName", "inviter-full-name":
   569  			return &Invitation_FieldTerminalPath{selector: Invitation_FieldPathSelectorInviterFullName}, nil
   570  		case "inviter_email", "inviterEmail", "inviter-email":
   571  			return &Invitation_FieldTerminalPath{selector: Invitation_FieldPathSelectorInviterEmail}, nil
   572  		case "language_code", "languageCode", "language-code":
   573  			return &Invitation_FieldTerminalPath{selector: Invitation_FieldPathSelectorLanguageCode}, nil
   574  		case "roles":
   575  			return &Invitation_FieldTerminalPath{selector: Invitation_FieldPathSelectorRoles}, nil
   576  		case "expiration_date", "expirationDate", "expiration-date":
   577  			return &Invitation_FieldTerminalPath{selector: Invitation_FieldPathSelectorExpirationDate}, nil
   578  		case "extras":
   579  			return &Invitation_FieldTerminalPath{selector: Invitation_FieldPathSelectorExtras}, nil
   580  		case "state":
   581  			return &Invitation_FieldTerminalPath{selector: Invitation_FieldPathSelectorState}, nil
   582  		}
   583  	} else {
   584  		switch fp[0] {
   585  		case "inviter_actor", "inviterActor", "inviter-actor":
   586  			if subpath, err := BuildActor_FieldPath(fp[1:]); err != nil {
   587  				return nil, err
   588  			} else {
   589  				return &Invitation_FieldSubPath{selector: Invitation_FieldPathSelectorInviterActor, subPath: subpath}, nil
   590  			}
   591  		case "extras":
   592  			if len(fp) > 2 {
   593  				return nil, status.Errorf(codes.InvalidArgument, "sub path for maps ('%s') are not supported (object Invitation)", fp)
   594  			}
   595  			return &Invitation_FieldPathMap{selector: Invitation_FieldPathSelectorExtras, key: fp[1]}, nil
   596  		}
   597  	}
   598  	return nil, status.Errorf(codes.InvalidArgument, "unknown field path '%s' for object Invitation", fp)
   599  }
   600  
   601  func ParseInvitation_FieldPath(rawField string) (Invitation_FieldPath, error) {
   602  	fp, err := gotenobject.ParseRawFieldPath(rawField)
   603  	if err != nil {
   604  		return nil, err
   605  	}
   606  	return BuildInvitation_FieldPath(fp)
   607  }
   608  
   609  func MustParseInvitation_FieldPath(rawField string) Invitation_FieldPath {
   610  	fp, err := ParseInvitation_FieldPath(rawField)
   611  	if err != nil {
   612  		panic(err)
   613  	}
   614  	return fp
   615  }
   616  
   617  type Invitation_FieldTerminalPath struct {
   618  	selector Invitation_FieldPathSelector
   619  }
   620  
   621  var _ Invitation_FieldPath = (*Invitation_FieldTerminalPath)(nil)
   622  
   623  func (fp *Invitation_FieldTerminalPath) Selector() Invitation_FieldPathSelector {
   624  	return fp.selector
   625  }
   626  
   627  // String returns path representation in proto convention
   628  func (fp *Invitation_FieldTerminalPath) String() string {
   629  	return fp.selector.String()
   630  }
   631  
   632  // JSONString returns path representation is JSON convention
   633  func (fp *Invitation_FieldTerminalPath) JSONString() string {
   634  	return strcase.ToLowerCamel(fp.String())
   635  }
   636  
   637  // Get returns all values pointed by specific field from source Invitation
   638  func (fp *Invitation_FieldTerminalPath) Get(source *Invitation) (values []interface{}) {
   639  	if source != nil {
   640  		switch fp.selector {
   641  		case Invitation_FieldPathSelectorInviteeEmail:
   642  			values = append(values, source.InviteeEmail)
   643  		case Invitation_FieldPathSelectorInviterActor:
   644  			if source.InviterActor != nil {
   645  				values = append(values, source.InviterActor)
   646  			}
   647  		case Invitation_FieldPathSelectorInviterFullName:
   648  			values = append(values, source.InviterFullName)
   649  		case Invitation_FieldPathSelectorInviterEmail:
   650  			values = append(values, source.InviterEmail)
   651  		case Invitation_FieldPathSelectorLanguageCode:
   652  			values = append(values, source.LanguageCode)
   653  		case Invitation_FieldPathSelectorRoles:
   654  			for _, value := range source.GetRoles() {
   655  				values = append(values, value)
   656  			}
   657  		case Invitation_FieldPathSelectorExpirationDate:
   658  			if source.ExpirationDate != nil {
   659  				values = append(values, source.ExpirationDate)
   660  			}
   661  		case Invitation_FieldPathSelectorExtras:
   662  			values = append(values, source.Extras)
   663  		case Invitation_FieldPathSelectorState:
   664  			values = append(values, source.State)
   665  		default:
   666  			panic(fmt.Sprintf("Invalid selector for Invitation: %d", fp.selector))
   667  		}
   668  	}
   669  	return
   670  }
   671  
   672  func (fp *Invitation_FieldTerminalPath) GetRaw(source proto.Message) []interface{} {
   673  	return fp.Get(source.(*Invitation))
   674  }
   675  
   676  // GetSingle returns value pointed by specific field of from source Invitation
   677  func (fp *Invitation_FieldTerminalPath) GetSingle(source *Invitation) (interface{}, bool) {
   678  	switch fp.selector {
   679  	case Invitation_FieldPathSelectorInviteeEmail:
   680  		return source.GetInviteeEmail(), source != nil
   681  	case Invitation_FieldPathSelectorInviterActor:
   682  		res := source.GetInviterActor()
   683  		return res, res != nil
   684  	case Invitation_FieldPathSelectorInviterFullName:
   685  		return source.GetInviterFullName(), source != nil
   686  	case Invitation_FieldPathSelectorInviterEmail:
   687  		return source.GetInviterEmail(), source != nil
   688  	case Invitation_FieldPathSelectorLanguageCode:
   689  		return source.GetLanguageCode(), source != nil
   690  	case Invitation_FieldPathSelectorRoles:
   691  		res := source.GetRoles()
   692  		return res, res != nil
   693  	case Invitation_FieldPathSelectorExpirationDate:
   694  		res := source.GetExpirationDate()
   695  		return res, res != nil
   696  	case Invitation_FieldPathSelectorExtras:
   697  		res := source.GetExtras()
   698  		return res, res != nil
   699  	case Invitation_FieldPathSelectorState:
   700  		return source.GetState(), source != nil
   701  	default:
   702  		panic(fmt.Sprintf("Invalid selector for Invitation: %d", fp.selector))
   703  	}
   704  }
   705  
   706  func (fp *Invitation_FieldTerminalPath) GetSingleRaw(source proto.Message) (interface{}, bool) {
   707  	return fp.GetSingle(source.(*Invitation))
   708  }
   709  
   710  // GetDefault returns a default value of the field type
   711  func (fp *Invitation_FieldTerminalPath) GetDefault() interface{} {
   712  	switch fp.selector {
   713  	case Invitation_FieldPathSelectorInviteeEmail:
   714  		return ""
   715  	case Invitation_FieldPathSelectorInviterActor:
   716  		return (*Actor)(nil)
   717  	case Invitation_FieldPathSelectorInviterFullName:
   718  		return ""
   719  	case Invitation_FieldPathSelectorInviterEmail:
   720  		return ""
   721  	case Invitation_FieldPathSelectorLanguageCode:
   722  		return ""
   723  	case Invitation_FieldPathSelectorRoles:
   724  		return ([]*role.Reference)(nil)
   725  	case Invitation_FieldPathSelectorExpirationDate:
   726  		return (*timestamppb.Timestamp)(nil)
   727  	case Invitation_FieldPathSelectorExtras:
   728  		return (map[string]string)(nil)
   729  	case Invitation_FieldPathSelectorState:
   730  		return Invitation_STATE_UNSPECIFIED
   731  	default:
   732  		panic(fmt.Sprintf("Invalid selector for Invitation: %d", fp.selector))
   733  	}
   734  }
   735  
   736  func (fp *Invitation_FieldTerminalPath) ClearValue(item *Invitation) {
   737  	if item != nil {
   738  		switch fp.selector {
   739  		case Invitation_FieldPathSelectorInviteeEmail:
   740  			item.InviteeEmail = ""
   741  		case Invitation_FieldPathSelectorInviterActor:
   742  			item.InviterActor = nil
   743  		case Invitation_FieldPathSelectorInviterFullName:
   744  			item.InviterFullName = ""
   745  		case Invitation_FieldPathSelectorInviterEmail:
   746  			item.InviterEmail = ""
   747  		case Invitation_FieldPathSelectorLanguageCode:
   748  			item.LanguageCode = ""
   749  		case Invitation_FieldPathSelectorRoles:
   750  			item.Roles = nil
   751  		case Invitation_FieldPathSelectorExpirationDate:
   752  			item.ExpirationDate = nil
   753  		case Invitation_FieldPathSelectorExtras:
   754  			item.Extras = nil
   755  		case Invitation_FieldPathSelectorState:
   756  			item.State = Invitation_STATE_UNSPECIFIED
   757  		default:
   758  			panic(fmt.Sprintf("Invalid selector for Invitation: %d", fp.selector))
   759  		}
   760  	}
   761  }
   762  
   763  func (fp *Invitation_FieldTerminalPath) ClearValueRaw(item proto.Message) {
   764  	fp.ClearValue(item.(*Invitation))
   765  }
   766  
   767  // IsLeaf - whether field path is holds simple value
   768  func (fp *Invitation_FieldTerminalPath) IsLeaf() bool {
   769  	return fp.selector == Invitation_FieldPathSelectorInviteeEmail ||
   770  		fp.selector == Invitation_FieldPathSelectorInviterFullName ||
   771  		fp.selector == Invitation_FieldPathSelectorInviterEmail ||
   772  		fp.selector == Invitation_FieldPathSelectorLanguageCode ||
   773  		fp.selector == Invitation_FieldPathSelectorRoles ||
   774  		fp.selector == Invitation_FieldPathSelectorExpirationDate ||
   775  		fp.selector == Invitation_FieldPathSelectorExtras ||
   776  		fp.selector == Invitation_FieldPathSelectorState
   777  }
   778  
   779  func (fp *Invitation_FieldTerminalPath) SplitIntoTerminalIPaths() []gotenobject.FieldPath {
   780  	return []gotenobject.FieldPath{fp}
   781  }
   782  
   783  func (fp *Invitation_FieldTerminalPath) WithIValue(value interface{}) Invitation_FieldPathValue {
   784  	switch fp.selector {
   785  	case Invitation_FieldPathSelectorInviteeEmail:
   786  		return &Invitation_FieldTerminalPathValue{Invitation_FieldTerminalPath: *fp, value: value.(string)}
   787  	case Invitation_FieldPathSelectorInviterActor:
   788  		return &Invitation_FieldTerminalPathValue{Invitation_FieldTerminalPath: *fp, value: value.(*Actor)}
   789  	case Invitation_FieldPathSelectorInviterFullName:
   790  		return &Invitation_FieldTerminalPathValue{Invitation_FieldTerminalPath: *fp, value: value.(string)}
   791  	case Invitation_FieldPathSelectorInviterEmail:
   792  		return &Invitation_FieldTerminalPathValue{Invitation_FieldTerminalPath: *fp, value: value.(string)}
   793  	case Invitation_FieldPathSelectorLanguageCode:
   794  		return &Invitation_FieldTerminalPathValue{Invitation_FieldTerminalPath: *fp, value: value.(string)}
   795  	case Invitation_FieldPathSelectorRoles:
   796  		return &Invitation_FieldTerminalPathValue{Invitation_FieldTerminalPath: *fp, value: value.([]*role.Reference)}
   797  	case Invitation_FieldPathSelectorExpirationDate:
   798  		return &Invitation_FieldTerminalPathValue{Invitation_FieldTerminalPath: *fp, value: value.(*timestamppb.Timestamp)}
   799  	case Invitation_FieldPathSelectorExtras:
   800  		return &Invitation_FieldTerminalPathValue{Invitation_FieldTerminalPath: *fp, value: value.(map[string]string)}
   801  	case Invitation_FieldPathSelectorState:
   802  		return &Invitation_FieldTerminalPathValue{Invitation_FieldTerminalPath: *fp, value: value.(Invitation_State)}
   803  	default:
   804  		panic(fmt.Sprintf("Invalid selector for Invitation: %d", fp.selector))
   805  	}
   806  }
   807  
   808  func (fp *Invitation_FieldTerminalPath) WithRawIValue(value interface{}) gotenobject.FieldPathValue {
   809  	return fp.WithIValue(value)
   810  }
   811  
   812  func (fp *Invitation_FieldTerminalPath) WithIArrayOfValues(values interface{}) Invitation_FieldPathArrayOfValues {
   813  	fpaov := &Invitation_FieldTerminalPathArrayOfValues{Invitation_FieldTerminalPath: *fp}
   814  	switch fp.selector {
   815  	case Invitation_FieldPathSelectorInviteeEmail:
   816  		return &Invitation_FieldTerminalPathArrayOfValues{Invitation_FieldTerminalPath: *fp, values: values.([]string)}
   817  	case Invitation_FieldPathSelectorInviterActor:
   818  		return &Invitation_FieldTerminalPathArrayOfValues{Invitation_FieldTerminalPath: *fp, values: values.([]*Actor)}
   819  	case Invitation_FieldPathSelectorInviterFullName:
   820  		return &Invitation_FieldTerminalPathArrayOfValues{Invitation_FieldTerminalPath: *fp, values: values.([]string)}
   821  	case Invitation_FieldPathSelectorInviterEmail:
   822  		return &Invitation_FieldTerminalPathArrayOfValues{Invitation_FieldTerminalPath: *fp, values: values.([]string)}
   823  	case Invitation_FieldPathSelectorLanguageCode:
   824  		return &Invitation_FieldTerminalPathArrayOfValues{Invitation_FieldTerminalPath: *fp, values: values.([]string)}
   825  	case Invitation_FieldPathSelectorRoles:
   826  		return &Invitation_FieldTerminalPathArrayOfValues{Invitation_FieldTerminalPath: *fp, values: values.([][]*role.Reference)}
   827  	case Invitation_FieldPathSelectorExpirationDate:
   828  		return &Invitation_FieldTerminalPathArrayOfValues{Invitation_FieldTerminalPath: *fp, values: values.([]*timestamppb.Timestamp)}
   829  	case Invitation_FieldPathSelectorExtras:
   830  		return &Invitation_FieldTerminalPathArrayOfValues{Invitation_FieldTerminalPath: *fp, values: values.([]map[string]string)}
   831  	case Invitation_FieldPathSelectorState:
   832  		return &Invitation_FieldTerminalPathArrayOfValues{Invitation_FieldTerminalPath: *fp, values: values.([]Invitation_State)}
   833  	default:
   834  		panic(fmt.Sprintf("Invalid selector for Invitation: %d", fp.selector))
   835  	}
   836  	return fpaov
   837  }
   838  
   839  func (fp *Invitation_FieldTerminalPath) WithRawIArrayOfValues(values interface{}) gotenobject.FieldPathArrayOfValues {
   840  	return fp.WithIArrayOfValues(values)
   841  }
   842  
   843  func (fp *Invitation_FieldTerminalPath) WithIArrayItemValue(value interface{}) Invitation_FieldPathArrayItemValue {
   844  	switch fp.selector {
   845  	case Invitation_FieldPathSelectorRoles:
   846  		return &Invitation_FieldTerminalPathArrayItemValue{Invitation_FieldTerminalPath: *fp, value: value.(*role.Reference)}
   847  	default:
   848  		panic(fmt.Sprintf("Invalid selector for Invitation: %d", fp.selector))
   849  	}
   850  }
   851  
   852  func (fp *Invitation_FieldTerminalPath) WithRawIArrayItemValue(value interface{}) gotenobject.FieldPathArrayItemValue {
   853  	return fp.WithIArrayItemValue(value)
   854  }
   855  
   856  // FieldPath for map type with additional Key information
   857  type Invitation_FieldPathMap struct {
   858  	key      string
   859  	selector Invitation_FieldPathSelector
   860  }
   861  
   862  var _ Invitation_FieldPath = (*Invitation_FieldPathMap)(nil)
   863  
   864  func (fpm *Invitation_FieldPathMap) Selector() Invitation_FieldPathSelector {
   865  	return fpm.selector
   866  }
   867  
   868  func (fpm *Invitation_FieldPathMap) Key() string {
   869  	return fpm.key
   870  }
   871  
   872  // String returns path representation in proto convention
   873  func (fpm *Invitation_FieldPathMap) String() string {
   874  	return fpm.selector.String() + "." + fpm.key
   875  }
   876  
   877  // JSONString returns path representation is JSON convention. Note that map keys are not transformed
   878  func (fpm *Invitation_FieldPathMap) JSONString() string {
   879  	return strcase.ToLowerCamel(fpm.selector.String()) + "." + fpm.key
   880  }
   881  
   882  // Get returns all values pointed by selected field map key from source Invitation
   883  func (fpm *Invitation_FieldPathMap) Get(source *Invitation) (values []interface{}) {
   884  	switch fpm.selector {
   885  	case Invitation_FieldPathSelectorExtras:
   886  		if value, ok := source.GetExtras()[fpm.key]; ok {
   887  			values = append(values, value)
   888  		}
   889  	default:
   890  		panic(fmt.Sprintf("Invalid selector for Invitation: %d", fpm.selector))
   891  	}
   892  	return
   893  }
   894  
   895  func (fpm *Invitation_FieldPathMap) GetRaw(source proto.Message) []interface{} {
   896  	return fpm.Get(source.(*Invitation))
   897  }
   898  
   899  // GetSingle returns value by selected field map key from source Invitation
   900  func (fpm *Invitation_FieldPathMap) GetSingle(source *Invitation) (interface{}, bool) {
   901  	switch fpm.selector {
   902  	case Invitation_FieldPathSelectorExtras:
   903  		res, ok := source.GetExtras()[fpm.key]
   904  		return res, ok
   905  	default:
   906  		panic(fmt.Sprintf("Invalid selector for Invitation: %d", fpm.selector))
   907  	}
   908  }
   909  
   910  func (fpm *Invitation_FieldPathMap) GetSingleRaw(source proto.Message) (interface{}, bool) {
   911  	return fpm.GetSingle(source.(*Invitation))
   912  }
   913  
   914  // GetDefault returns a default value of the field type
   915  func (fpm *Invitation_FieldPathMap) GetDefault() interface{} {
   916  	switch fpm.selector {
   917  	case Invitation_FieldPathSelectorExtras:
   918  		var v string
   919  		return v
   920  	default:
   921  		panic(fmt.Sprintf("Invalid selector for Invitation: %d", fpm.selector))
   922  	}
   923  }
   924  
   925  func (fpm *Invitation_FieldPathMap) ClearValue(item *Invitation) {
   926  	if item != nil {
   927  		switch fpm.selector {
   928  		case Invitation_FieldPathSelectorExtras:
   929  			delete(item.Extras, fpm.key)
   930  		default:
   931  			panic(fmt.Sprintf("Invalid selector for Invitation: %d", fpm.selector))
   932  		}
   933  	}
   934  }
   935  
   936  func (fpm *Invitation_FieldPathMap) ClearValueRaw(item proto.Message) {
   937  	fpm.ClearValue(item.(*Invitation))
   938  }
   939  
   940  // IsLeaf - whether field path is holds simple value
   941  func (fpm *Invitation_FieldPathMap) IsLeaf() bool {
   942  	switch fpm.selector {
   943  	case Invitation_FieldPathSelectorExtras:
   944  		return true
   945  	default:
   946  		panic(fmt.Sprintf("Invalid selector for Invitation: %d", fpm.selector))
   947  	}
   948  }
   949  
   950  func (fpm *Invitation_FieldPathMap) SplitIntoTerminalIPaths() []gotenobject.FieldPath {
   951  	return []gotenobject.FieldPath{fpm}
   952  }
   953  
   954  func (fpm *Invitation_FieldPathMap) WithIValue(value interface{}) Invitation_FieldPathValue {
   955  	switch fpm.selector {
   956  	case Invitation_FieldPathSelectorExtras:
   957  		return &Invitation_FieldPathMapValue{Invitation_FieldPathMap: *fpm, value: value.(string)}
   958  	default:
   959  		panic(fmt.Sprintf("Invalid selector for Invitation: %d", fpm.selector))
   960  	}
   961  }
   962  
   963  func (fpm *Invitation_FieldPathMap) WithRawIValue(value interface{}) gotenobject.FieldPathValue {
   964  	return fpm.WithIValue(value)
   965  }
   966  
   967  func (fpm *Invitation_FieldPathMap) WithIArrayOfValues(values interface{}) Invitation_FieldPathArrayOfValues {
   968  	switch fpm.selector {
   969  	case Invitation_FieldPathSelectorExtras:
   970  		return &Invitation_FieldPathMapArrayOfValues{Invitation_FieldPathMap: *fpm, values: values.([]string)}
   971  	default:
   972  		panic(fmt.Sprintf("Invalid selector for Invitation: %d", fpm.selector))
   973  	}
   974  }
   975  
   976  func (fpm *Invitation_FieldPathMap) WithRawIArrayOfValues(values interface{}) gotenobject.FieldPathArrayOfValues {
   977  	return fpm.WithIArrayOfValues(values)
   978  }
   979  
   980  func (fpm *Invitation_FieldPathMap) WithIArrayItemValue(value interface{}) Invitation_FieldPathArrayItemValue {
   981  	panic("Cannot create array item value from map fieldpath")
   982  }
   983  
   984  func (fpm *Invitation_FieldPathMap) WithRawIArrayItemValue(value interface{}) gotenobject.FieldPathArrayItemValue {
   985  	return fpm.WithIArrayItemValue(value)
   986  }
   987  
   988  type Invitation_FieldSubPath struct {
   989  	selector Invitation_FieldPathSelector
   990  	subPath  gotenobject.FieldPath
   991  }
   992  
   993  var _ Invitation_FieldPath = (*Invitation_FieldSubPath)(nil)
   994  
   995  func (fps *Invitation_FieldSubPath) Selector() Invitation_FieldPathSelector {
   996  	return fps.selector
   997  }
   998  func (fps *Invitation_FieldSubPath) AsInviterActorSubPath() (Actor_FieldPath, bool) {
   999  	res, ok := fps.subPath.(Actor_FieldPath)
  1000  	return res, ok
  1001  }
  1002  
  1003  // String returns path representation in proto convention
  1004  func (fps *Invitation_FieldSubPath) String() string {
  1005  	return fps.selector.String() + "." + fps.subPath.String()
  1006  }
  1007  
  1008  // JSONString returns path representation is JSON convention
  1009  func (fps *Invitation_FieldSubPath) JSONString() string {
  1010  	return strcase.ToLowerCamel(fps.selector.String()) + "." + fps.subPath.JSONString()
  1011  }
  1012  
  1013  // Get returns all values pointed by selected field from source Invitation
  1014  func (fps *Invitation_FieldSubPath) Get(source *Invitation) (values []interface{}) {
  1015  	switch fps.selector {
  1016  	case Invitation_FieldPathSelectorInviterActor:
  1017  		values = append(values, fps.subPath.GetRaw(source.GetInviterActor())...)
  1018  	default:
  1019  		panic(fmt.Sprintf("Invalid selector for Invitation: %d", fps.selector))
  1020  	}
  1021  	return
  1022  }
  1023  
  1024  func (fps *Invitation_FieldSubPath) GetRaw(source proto.Message) []interface{} {
  1025  	return fps.Get(source.(*Invitation))
  1026  }
  1027  
  1028  // GetSingle returns value of selected field from source Invitation
  1029  func (fps *Invitation_FieldSubPath) GetSingle(source *Invitation) (interface{}, bool) {
  1030  	switch fps.selector {
  1031  	case Invitation_FieldPathSelectorInviterActor:
  1032  		if source.GetInviterActor() == nil {
  1033  			return nil, false
  1034  		}
  1035  		return fps.subPath.GetSingleRaw(source.GetInviterActor())
  1036  	default:
  1037  		panic(fmt.Sprintf("Invalid selector for Invitation: %d", fps.selector))
  1038  	}
  1039  }
  1040  
  1041  func (fps *Invitation_FieldSubPath) GetSingleRaw(source proto.Message) (interface{}, bool) {
  1042  	return fps.GetSingle(source.(*Invitation))
  1043  }
  1044  
  1045  // GetDefault returns a default value of the field type
  1046  func (fps *Invitation_FieldSubPath) GetDefault() interface{} {
  1047  	return fps.subPath.GetDefault()
  1048  }
  1049  
  1050  func (fps *Invitation_FieldSubPath) ClearValue(item *Invitation) {
  1051  	if item != nil {
  1052  		switch fps.selector {
  1053  		case Invitation_FieldPathSelectorInviterActor:
  1054  			fps.subPath.ClearValueRaw(item.InviterActor)
  1055  		default:
  1056  			panic(fmt.Sprintf("Invalid selector for Invitation: %d", fps.selector))
  1057  		}
  1058  	}
  1059  }
  1060  
  1061  func (fps *Invitation_FieldSubPath) ClearValueRaw(item proto.Message) {
  1062  	fps.ClearValue(item.(*Invitation))
  1063  }
  1064  
  1065  // IsLeaf - whether field path is holds simple value
  1066  func (fps *Invitation_FieldSubPath) IsLeaf() bool {
  1067  	return fps.subPath.IsLeaf()
  1068  }
  1069  
  1070  func (fps *Invitation_FieldSubPath) SplitIntoTerminalIPaths() []gotenobject.FieldPath {
  1071  	iPaths := []gotenobject.FieldPath{&Invitation_FieldTerminalPath{selector: fps.selector}}
  1072  	iPaths = append(iPaths, fps.subPath.SplitIntoTerminalIPaths()...)
  1073  	return iPaths
  1074  }
  1075  
  1076  func (fps *Invitation_FieldSubPath) WithIValue(value interface{}) Invitation_FieldPathValue {
  1077  	return &Invitation_FieldSubPathValue{fps, fps.subPath.WithRawIValue(value)}
  1078  }
  1079  
  1080  func (fps *Invitation_FieldSubPath) WithRawIValue(value interface{}) gotenobject.FieldPathValue {
  1081  	return fps.WithIValue(value)
  1082  }
  1083  
  1084  func (fps *Invitation_FieldSubPath) WithIArrayOfValues(values interface{}) Invitation_FieldPathArrayOfValues {
  1085  	return &Invitation_FieldSubPathArrayOfValues{fps, fps.subPath.WithRawIArrayOfValues(values)}
  1086  }
  1087  
  1088  func (fps *Invitation_FieldSubPath) WithRawIArrayOfValues(values interface{}) gotenobject.FieldPathArrayOfValues {
  1089  	return fps.WithIArrayOfValues(values)
  1090  }
  1091  
  1092  func (fps *Invitation_FieldSubPath) WithIArrayItemValue(value interface{}) Invitation_FieldPathArrayItemValue {
  1093  	return &Invitation_FieldSubPathArrayItemValue{fps, fps.subPath.WithRawIArrayItemValue(value)}
  1094  }
  1095  
  1096  func (fps *Invitation_FieldSubPath) WithRawIArrayItemValue(value interface{}) gotenobject.FieldPathArrayItemValue {
  1097  	return fps.WithIArrayItemValue(value)
  1098  }
  1099  
  1100  // Invitation_FieldPathValue allows storing values for Invitation fields according to their type
  1101  type Invitation_FieldPathValue interface {
  1102  	Invitation_FieldPath
  1103  	gotenobject.FieldPathValue
  1104  	SetTo(target **Invitation)
  1105  	CompareWith(*Invitation) (cmp int, comparable bool)
  1106  }
  1107  
  1108  func ParseInvitation_FieldPathValue(pathStr, valueStr string) (Invitation_FieldPathValue, error) {
  1109  	fp, err := ParseInvitation_FieldPath(pathStr)
  1110  	if err != nil {
  1111  		return nil, err
  1112  	}
  1113  	fpv, err := gotenobject.ParseFieldPathValue(fp, valueStr)
  1114  	if err != nil {
  1115  		return nil, status.Errorf(codes.InvalidArgument, "error parsing Invitation field path value from %s: %v", valueStr, err)
  1116  	}
  1117  	return fpv.(Invitation_FieldPathValue), nil
  1118  }
  1119  
  1120  func MustParseInvitation_FieldPathValue(pathStr, valueStr string) Invitation_FieldPathValue {
  1121  	fpv, err := ParseInvitation_FieldPathValue(pathStr, valueStr)
  1122  	if err != nil {
  1123  		panic(err)
  1124  	}
  1125  	return fpv
  1126  }
  1127  
  1128  type Invitation_FieldTerminalPathValue struct {
  1129  	Invitation_FieldTerminalPath
  1130  	value interface{}
  1131  }
  1132  
  1133  var _ Invitation_FieldPathValue = (*Invitation_FieldTerminalPathValue)(nil)
  1134  
  1135  // GetRawValue returns raw value stored under selected path for 'Invitation' as interface{}
  1136  func (fpv *Invitation_FieldTerminalPathValue) GetRawValue() interface{} {
  1137  	return fpv.value
  1138  }
  1139  func (fpv *Invitation_FieldTerminalPathValue) AsInviteeEmailValue() (string, bool) {
  1140  	res, ok := fpv.value.(string)
  1141  	return res, ok
  1142  }
  1143  func (fpv *Invitation_FieldTerminalPathValue) AsInviterActorValue() (*Actor, bool) {
  1144  	res, ok := fpv.value.(*Actor)
  1145  	return res, ok
  1146  }
  1147  func (fpv *Invitation_FieldTerminalPathValue) AsInviterFullNameValue() (string, bool) {
  1148  	res, ok := fpv.value.(string)
  1149  	return res, ok
  1150  }
  1151  func (fpv *Invitation_FieldTerminalPathValue) AsInviterEmailValue() (string, bool) {
  1152  	res, ok := fpv.value.(string)
  1153  	return res, ok
  1154  }
  1155  func (fpv *Invitation_FieldTerminalPathValue) AsLanguageCodeValue() (string, bool) {
  1156  	res, ok := fpv.value.(string)
  1157  	return res, ok
  1158  }
  1159  func (fpv *Invitation_FieldTerminalPathValue) AsRolesValue() ([]*role.Reference, bool) {
  1160  	res, ok := fpv.value.([]*role.Reference)
  1161  	return res, ok
  1162  }
  1163  func (fpv *Invitation_FieldTerminalPathValue) AsExpirationDateValue() (*timestamppb.Timestamp, bool) {
  1164  	res, ok := fpv.value.(*timestamppb.Timestamp)
  1165  	return res, ok
  1166  }
  1167  func (fpv *Invitation_FieldTerminalPathValue) AsExtrasValue() (map[string]string, bool) {
  1168  	res, ok := fpv.value.(map[string]string)
  1169  	return res, ok
  1170  }
  1171  func (fpv *Invitation_FieldTerminalPathValue) AsStateValue() (Invitation_State, bool) {
  1172  	res, ok := fpv.value.(Invitation_State)
  1173  	return res, ok
  1174  }
  1175  
  1176  // SetTo stores value for selected field for object Invitation
  1177  func (fpv *Invitation_FieldTerminalPathValue) SetTo(target **Invitation) {
  1178  	if *target == nil {
  1179  		*target = new(Invitation)
  1180  	}
  1181  	switch fpv.selector {
  1182  	case Invitation_FieldPathSelectorInviteeEmail:
  1183  		(*target).InviteeEmail = fpv.value.(string)
  1184  	case Invitation_FieldPathSelectorInviterActor:
  1185  		(*target).InviterActor = fpv.value.(*Actor)
  1186  	case Invitation_FieldPathSelectorInviterFullName:
  1187  		(*target).InviterFullName = fpv.value.(string)
  1188  	case Invitation_FieldPathSelectorInviterEmail:
  1189  		(*target).InviterEmail = fpv.value.(string)
  1190  	case Invitation_FieldPathSelectorLanguageCode:
  1191  		(*target).LanguageCode = fpv.value.(string)
  1192  	case Invitation_FieldPathSelectorRoles:
  1193  		(*target).Roles = fpv.value.([]*role.Reference)
  1194  	case Invitation_FieldPathSelectorExpirationDate:
  1195  		(*target).ExpirationDate = fpv.value.(*timestamppb.Timestamp)
  1196  	case Invitation_FieldPathSelectorExtras:
  1197  		(*target).Extras = fpv.value.(map[string]string)
  1198  	case Invitation_FieldPathSelectorState:
  1199  		(*target).State = fpv.value.(Invitation_State)
  1200  	default:
  1201  		panic(fmt.Sprintf("Invalid selector for Invitation: %d", fpv.selector))
  1202  	}
  1203  }
  1204  
  1205  func (fpv *Invitation_FieldTerminalPathValue) SetToRaw(target proto.Message) {
  1206  	typedObject := target.(*Invitation)
  1207  	fpv.SetTo(&typedObject)
  1208  }
  1209  
  1210  // CompareWith compares value in the 'Invitation_FieldTerminalPathValue' with the value under path in 'Invitation'.
  1211  func (fpv *Invitation_FieldTerminalPathValue) CompareWith(source *Invitation) (int, bool) {
  1212  	switch fpv.selector {
  1213  	case Invitation_FieldPathSelectorInviteeEmail:
  1214  		leftValue := fpv.value.(string)
  1215  		rightValue := source.GetInviteeEmail()
  1216  		if (leftValue) == (rightValue) {
  1217  			return 0, true
  1218  		} else if (leftValue) < (rightValue) {
  1219  			return -1, true
  1220  		} else {
  1221  			return 1, true
  1222  		}
  1223  	case Invitation_FieldPathSelectorInviterActor:
  1224  		return 0, false
  1225  	case Invitation_FieldPathSelectorInviterFullName:
  1226  		leftValue := fpv.value.(string)
  1227  		rightValue := source.GetInviterFullName()
  1228  		if (leftValue) == (rightValue) {
  1229  			return 0, true
  1230  		} else if (leftValue) < (rightValue) {
  1231  			return -1, true
  1232  		} else {
  1233  			return 1, true
  1234  		}
  1235  	case Invitation_FieldPathSelectorInviterEmail:
  1236  		leftValue := fpv.value.(string)
  1237  		rightValue := source.GetInviterEmail()
  1238  		if (leftValue) == (rightValue) {
  1239  			return 0, true
  1240  		} else if (leftValue) < (rightValue) {
  1241  			return -1, true
  1242  		} else {
  1243  			return 1, true
  1244  		}
  1245  	case Invitation_FieldPathSelectorLanguageCode:
  1246  		leftValue := fpv.value.(string)
  1247  		rightValue := source.GetLanguageCode()
  1248  		if (leftValue) == (rightValue) {
  1249  			return 0, true
  1250  		} else if (leftValue) < (rightValue) {
  1251  			return -1, true
  1252  		} else {
  1253  			return 1, true
  1254  		}
  1255  	case Invitation_FieldPathSelectorRoles:
  1256  		return 0, false
  1257  	case Invitation_FieldPathSelectorExpirationDate:
  1258  		leftValue := fpv.value.(*timestamppb.Timestamp)
  1259  		rightValue := source.GetExpirationDate()
  1260  		if leftValue == nil {
  1261  			if rightValue != nil {
  1262  				return -1, true
  1263  			}
  1264  			return 0, true
  1265  		}
  1266  		if rightValue == nil {
  1267  			return 1, true
  1268  		}
  1269  		if leftValue.AsTime().Equal(rightValue.AsTime()) {
  1270  			return 0, true
  1271  		} else if leftValue.AsTime().Before(rightValue.AsTime()) {
  1272  			return -1, true
  1273  		} else {
  1274  			return 1, true
  1275  		}
  1276  	case Invitation_FieldPathSelectorExtras:
  1277  		return 0, false
  1278  	case Invitation_FieldPathSelectorState:
  1279  		leftValue := fpv.value.(Invitation_State)
  1280  		rightValue := source.GetState()
  1281  		if (leftValue) == (rightValue) {
  1282  			return 0, true
  1283  		} else if (leftValue) < (rightValue) {
  1284  			return -1, true
  1285  		} else {
  1286  			return 1, true
  1287  		}
  1288  	default:
  1289  		panic(fmt.Sprintf("Invalid selector for Invitation: %d", fpv.selector))
  1290  	}
  1291  }
  1292  
  1293  func (fpv *Invitation_FieldTerminalPathValue) CompareWithRaw(source proto.Message) (int, bool) {
  1294  	return fpv.CompareWith(source.(*Invitation))
  1295  }
  1296  
  1297  type Invitation_FieldPathMapValue struct {
  1298  	Invitation_FieldPathMap
  1299  	value interface{}
  1300  }
  1301  
  1302  var _ Invitation_FieldPathValue = (*Invitation_FieldPathMapValue)(nil)
  1303  
  1304  // GetValue returns value stored under selected field in Invitation as interface{}
  1305  func (fpmv *Invitation_FieldPathMapValue) GetRawValue() interface{} {
  1306  	return fpmv.value
  1307  }
  1308  func (fpmv *Invitation_FieldPathMapValue) AsExtrasElementValue() (string, bool) {
  1309  	res, ok := fpmv.value.(string)
  1310  	return res, ok
  1311  }
  1312  
  1313  // SetTo stores value for selected field in Invitation
  1314  func (fpmv *Invitation_FieldPathMapValue) SetTo(target **Invitation) {
  1315  	if *target == nil {
  1316  		*target = new(Invitation)
  1317  	}
  1318  	switch fpmv.selector {
  1319  	case Invitation_FieldPathSelectorExtras:
  1320  		if (*target).Extras == nil {
  1321  			(*target).Extras = make(map[string]string)
  1322  		}
  1323  		(*target).Extras[fpmv.key] = fpmv.value.(string)
  1324  	default:
  1325  		panic(fmt.Sprintf("Invalid selector for Invitation: %d", fpmv.selector))
  1326  	}
  1327  }
  1328  
  1329  func (fpmv *Invitation_FieldPathMapValue) SetToRaw(target proto.Message) {
  1330  	typedObject := target.(*Invitation)
  1331  	fpmv.SetTo(&typedObject)
  1332  }
  1333  
  1334  // CompareWith compares value in the 'Invitation_FieldPathMapValue' with the value under path in 'Invitation'.
  1335  func (fpmv *Invitation_FieldPathMapValue) CompareWith(source *Invitation) (int, bool) {
  1336  	switch fpmv.selector {
  1337  	case Invitation_FieldPathSelectorExtras:
  1338  		leftValue := fpmv.value.(string)
  1339  		rightValue := source.GetExtras()[fpmv.key]
  1340  		if (leftValue) == (rightValue) {
  1341  			return 0, true
  1342  		} else if (leftValue) < (rightValue) {
  1343  			return -1, true
  1344  		} else {
  1345  			return 1, true
  1346  		}
  1347  	default:
  1348  		panic(fmt.Sprintf("Invalid selector for Invitation: %d", fpmv.selector))
  1349  	}
  1350  }
  1351  
  1352  func (fpmv *Invitation_FieldPathMapValue) CompareWithRaw(source proto.Message) (int, bool) {
  1353  	return fpmv.CompareWith(source.(*Invitation))
  1354  }
  1355  
  1356  type Invitation_FieldSubPathValue struct {
  1357  	Invitation_FieldPath
  1358  	subPathValue gotenobject.FieldPathValue
  1359  }
  1360  
  1361  var _ Invitation_FieldPathValue = (*Invitation_FieldSubPathValue)(nil)
  1362  
  1363  func (fpvs *Invitation_FieldSubPathValue) AsInviterActorPathValue() (Actor_FieldPathValue, bool) {
  1364  	res, ok := fpvs.subPathValue.(Actor_FieldPathValue)
  1365  	return res, ok
  1366  }
  1367  
  1368  func (fpvs *Invitation_FieldSubPathValue) SetTo(target **Invitation) {
  1369  	if *target == nil {
  1370  		*target = new(Invitation)
  1371  	}
  1372  	switch fpvs.Selector() {
  1373  	case Invitation_FieldPathSelectorInviterActor:
  1374  		fpvs.subPathValue.(Actor_FieldPathValue).SetTo(&(*target).InviterActor)
  1375  	default:
  1376  		panic(fmt.Sprintf("Invalid selector for Invitation: %d", fpvs.Selector()))
  1377  	}
  1378  }
  1379  
  1380  func (fpvs *Invitation_FieldSubPathValue) SetToRaw(target proto.Message) {
  1381  	typedObject := target.(*Invitation)
  1382  	fpvs.SetTo(&typedObject)
  1383  }
  1384  
  1385  func (fpvs *Invitation_FieldSubPathValue) GetRawValue() interface{} {
  1386  	return fpvs.subPathValue.GetRawValue()
  1387  }
  1388  
  1389  func (fpvs *Invitation_FieldSubPathValue) CompareWith(source *Invitation) (int, bool) {
  1390  	switch fpvs.Selector() {
  1391  	case Invitation_FieldPathSelectorInviterActor:
  1392  		return fpvs.subPathValue.(Actor_FieldPathValue).CompareWith(source.GetInviterActor())
  1393  	default:
  1394  		panic(fmt.Sprintf("Invalid selector for Invitation: %d", fpvs.Selector()))
  1395  	}
  1396  }
  1397  
  1398  func (fpvs *Invitation_FieldSubPathValue) CompareWithRaw(source proto.Message) (int, bool) {
  1399  	return fpvs.CompareWith(source.(*Invitation))
  1400  }
  1401  
  1402  // Invitation_FieldPathArrayItemValue allows storing single item in Path-specific values for Invitation according to their type
  1403  // Present only for array (repeated) types.
  1404  type Invitation_FieldPathArrayItemValue interface {
  1405  	gotenobject.FieldPathArrayItemValue
  1406  	Invitation_FieldPath
  1407  	ContainsValue(*Invitation) bool
  1408  }
  1409  
  1410  // ParseInvitation_FieldPathArrayItemValue parses string and JSON-encoded value to its Value
  1411  func ParseInvitation_FieldPathArrayItemValue(pathStr, valueStr string) (Invitation_FieldPathArrayItemValue, error) {
  1412  	fp, err := ParseInvitation_FieldPath(pathStr)
  1413  	if err != nil {
  1414  		return nil, err
  1415  	}
  1416  	fpaiv, err := gotenobject.ParseFieldPathArrayItemValue(fp, valueStr)
  1417  	if err != nil {
  1418  		return nil, status.Errorf(codes.InvalidArgument, "error parsing Invitation field path array item value from %s: %v", valueStr, err)
  1419  	}
  1420  	return fpaiv.(Invitation_FieldPathArrayItemValue), nil
  1421  }
  1422  
  1423  func MustParseInvitation_FieldPathArrayItemValue(pathStr, valueStr string) Invitation_FieldPathArrayItemValue {
  1424  	fpaiv, err := ParseInvitation_FieldPathArrayItemValue(pathStr, valueStr)
  1425  	if err != nil {
  1426  		panic(err)
  1427  	}
  1428  	return fpaiv
  1429  }
  1430  
  1431  type Invitation_FieldTerminalPathArrayItemValue struct {
  1432  	Invitation_FieldTerminalPath
  1433  	value interface{}
  1434  }
  1435  
  1436  var _ Invitation_FieldPathArrayItemValue = (*Invitation_FieldTerminalPathArrayItemValue)(nil)
  1437  
  1438  // GetRawValue returns stored element value for array in object Invitation as interface{}
  1439  func (fpaiv *Invitation_FieldTerminalPathArrayItemValue) GetRawItemValue() interface{} {
  1440  	return fpaiv.value
  1441  }
  1442  func (fpaiv *Invitation_FieldTerminalPathArrayItemValue) AsRolesItemValue() (*role.Reference, bool) {
  1443  	res, ok := fpaiv.value.(*role.Reference)
  1444  	return res, ok
  1445  }
  1446  
  1447  func (fpaiv *Invitation_FieldTerminalPathArrayItemValue) GetSingle(source *Invitation) (interface{}, bool) {
  1448  	return nil, false
  1449  }
  1450  
  1451  func (fpaiv *Invitation_FieldTerminalPathArrayItemValue) GetSingleRaw(source proto.Message) (interface{}, bool) {
  1452  	return fpaiv.GetSingle(source.(*Invitation))
  1453  }
  1454  
  1455  // Contains returns a boolean indicating if value that is being held is present in given 'Invitation'
  1456  func (fpaiv *Invitation_FieldTerminalPathArrayItemValue) ContainsValue(source *Invitation) bool {
  1457  	slice := fpaiv.Invitation_FieldTerminalPath.Get(source)
  1458  	for _, v := range slice {
  1459  		if asProtoMsg, ok := fpaiv.value.(proto.Message); ok {
  1460  			if proto.Equal(asProtoMsg, v.(proto.Message)) {
  1461  				return true
  1462  			}
  1463  		} else if reflect.DeepEqual(v, fpaiv.value) {
  1464  			return true
  1465  		}
  1466  	}
  1467  	return false
  1468  }
  1469  
  1470  type Invitation_FieldSubPathArrayItemValue struct {
  1471  	Invitation_FieldPath
  1472  	subPathItemValue gotenobject.FieldPathArrayItemValue
  1473  }
  1474  
  1475  // GetRawValue returns stored array item value
  1476  func (fpaivs *Invitation_FieldSubPathArrayItemValue) GetRawItemValue() interface{} {
  1477  	return fpaivs.subPathItemValue.GetRawItemValue()
  1478  }
  1479  func (fpaivs *Invitation_FieldSubPathArrayItemValue) AsInviterActorPathItemValue() (Actor_FieldPathArrayItemValue, bool) {
  1480  	res, ok := fpaivs.subPathItemValue.(Actor_FieldPathArrayItemValue)
  1481  	return res, ok
  1482  }
  1483  
  1484  // Contains returns a boolean indicating if value that is being held is present in given 'Invitation'
  1485  func (fpaivs *Invitation_FieldSubPathArrayItemValue) ContainsValue(source *Invitation) bool {
  1486  	switch fpaivs.Selector() {
  1487  	case Invitation_FieldPathSelectorInviterActor:
  1488  		return fpaivs.subPathItemValue.(Actor_FieldPathArrayItemValue).ContainsValue(source.GetInviterActor())
  1489  	default:
  1490  		panic(fmt.Sprintf("Invalid selector for Invitation: %d", fpaivs.Selector()))
  1491  	}
  1492  }
  1493  
  1494  // Invitation_FieldPathArrayOfValues allows storing slice of values for Invitation fields according to their type
  1495  type Invitation_FieldPathArrayOfValues interface {
  1496  	gotenobject.FieldPathArrayOfValues
  1497  	Invitation_FieldPath
  1498  }
  1499  
  1500  func ParseInvitation_FieldPathArrayOfValues(pathStr, valuesStr string) (Invitation_FieldPathArrayOfValues, error) {
  1501  	fp, err := ParseInvitation_FieldPath(pathStr)
  1502  	if err != nil {
  1503  		return nil, err
  1504  	}
  1505  	fpaov, err := gotenobject.ParseFieldPathArrayOfValues(fp, valuesStr)
  1506  	if err != nil {
  1507  		return nil, status.Errorf(codes.InvalidArgument, "error parsing Invitation field path array of values from %s: %v", valuesStr, err)
  1508  	}
  1509  	return fpaov.(Invitation_FieldPathArrayOfValues), nil
  1510  }
  1511  
  1512  func MustParseInvitation_FieldPathArrayOfValues(pathStr, valuesStr string) Invitation_FieldPathArrayOfValues {
  1513  	fpaov, err := ParseInvitation_FieldPathArrayOfValues(pathStr, valuesStr)
  1514  	if err != nil {
  1515  		panic(err)
  1516  	}
  1517  	return fpaov
  1518  }
  1519  
  1520  type Invitation_FieldTerminalPathArrayOfValues struct {
  1521  	Invitation_FieldTerminalPath
  1522  	values interface{}
  1523  }
  1524  
  1525  var _ Invitation_FieldPathArrayOfValues = (*Invitation_FieldTerminalPathArrayOfValues)(nil)
  1526  
  1527  func (fpaov *Invitation_FieldTerminalPathArrayOfValues) GetRawValues() (values []interface{}) {
  1528  	switch fpaov.selector {
  1529  	case Invitation_FieldPathSelectorInviteeEmail:
  1530  		for _, v := range fpaov.values.([]string) {
  1531  			values = append(values, v)
  1532  		}
  1533  	case Invitation_FieldPathSelectorInviterActor:
  1534  		for _, v := range fpaov.values.([]*Actor) {
  1535  			values = append(values, v)
  1536  		}
  1537  	case Invitation_FieldPathSelectorInviterFullName:
  1538  		for _, v := range fpaov.values.([]string) {
  1539  			values = append(values, v)
  1540  		}
  1541  	case Invitation_FieldPathSelectorInviterEmail:
  1542  		for _, v := range fpaov.values.([]string) {
  1543  			values = append(values, v)
  1544  		}
  1545  	case Invitation_FieldPathSelectorLanguageCode:
  1546  		for _, v := range fpaov.values.([]string) {
  1547  			values = append(values, v)
  1548  		}
  1549  	case Invitation_FieldPathSelectorRoles:
  1550  		for _, v := range fpaov.values.([][]*role.Reference) {
  1551  			values = append(values, v)
  1552  		}
  1553  	case Invitation_FieldPathSelectorExpirationDate:
  1554  		for _, v := range fpaov.values.([]*timestamppb.Timestamp) {
  1555  			values = append(values, v)
  1556  		}
  1557  	case Invitation_FieldPathSelectorExtras:
  1558  		for _, v := range fpaov.values.([]map[string]string) {
  1559  			values = append(values, v)
  1560  		}
  1561  	case Invitation_FieldPathSelectorState:
  1562  		for _, v := range fpaov.values.([]Invitation_State) {
  1563  			values = append(values, v)
  1564  		}
  1565  	}
  1566  	return
  1567  }
  1568  func (fpaov *Invitation_FieldTerminalPathArrayOfValues) AsInviteeEmailArrayOfValues() ([]string, bool) {
  1569  	res, ok := fpaov.values.([]string)
  1570  	return res, ok
  1571  }
  1572  func (fpaov *Invitation_FieldTerminalPathArrayOfValues) AsInviterActorArrayOfValues() ([]*Actor, bool) {
  1573  	res, ok := fpaov.values.([]*Actor)
  1574  	return res, ok
  1575  }
  1576  func (fpaov *Invitation_FieldTerminalPathArrayOfValues) AsInviterFullNameArrayOfValues() ([]string, bool) {
  1577  	res, ok := fpaov.values.([]string)
  1578  	return res, ok
  1579  }
  1580  func (fpaov *Invitation_FieldTerminalPathArrayOfValues) AsInviterEmailArrayOfValues() ([]string, bool) {
  1581  	res, ok := fpaov.values.([]string)
  1582  	return res, ok
  1583  }
  1584  func (fpaov *Invitation_FieldTerminalPathArrayOfValues) AsLanguageCodeArrayOfValues() ([]string, bool) {
  1585  	res, ok := fpaov.values.([]string)
  1586  	return res, ok
  1587  }
  1588  func (fpaov *Invitation_FieldTerminalPathArrayOfValues) AsRolesArrayOfValues() ([][]*role.Reference, bool) {
  1589  	res, ok := fpaov.values.([][]*role.Reference)
  1590  	return res, ok
  1591  }
  1592  func (fpaov *Invitation_FieldTerminalPathArrayOfValues) AsExpirationDateArrayOfValues() ([]*timestamppb.Timestamp, bool) {
  1593  	res, ok := fpaov.values.([]*timestamppb.Timestamp)
  1594  	return res, ok
  1595  }
  1596  func (fpaov *Invitation_FieldTerminalPathArrayOfValues) AsExtrasArrayOfValues() ([]map[string]string, bool) {
  1597  	res, ok := fpaov.values.([]map[string]string)
  1598  	return res, ok
  1599  }
  1600  func (fpaov *Invitation_FieldTerminalPathArrayOfValues) AsStateArrayOfValues() ([]Invitation_State, bool) {
  1601  	res, ok := fpaov.values.([]Invitation_State)
  1602  	return res, ok
  1603  }
  1604  
  1605  type Invitation_FieldPathMapArrayOfValues struct {
  1606  	Invitation_FieldPathMap
  1607  	values interface{}
  1608  }
  1609  
  1610  var _ Invitation_FieldPathArrayOfValues = (*Invitation_FieldPathMapArrayOfValues)(nil)
  1611  
  1612  func (fpmaov *Invitation_FieldPathMapArrayOfValues) GetRawValues() (values []interface{}) {
  1613  	switch fpmaov.selector {
  1614  	case Invitation_FieldPathSelectorExtras:
  1615  		for _, v := range fpmaov.values.([]string) {
  1616  			values = append(values, v)
  1617  		}
  1618  	}
  1619  	return
  1620  }
  1621  func (fpmaov *Invitation_FieldPathMapArrayOfValues) AsExtrasArrayOfElementValues() ([]string, bool) {
  1622  	res, ok := fpmaov.values.([]string)
  1623  	return res, ok
  1624  }
  1625  
  1626  type Invitation_FieldSubPathArrayOfValues struct {
  1627  	Invitation_FieldPath
  1628  	subPathArrayOfValues gotenobject.FieldPathArrayOfValues
  1629  }
  1630  
  1631  var _ Invitation_FieldPathArrayOfValues = (*Invitation_FieldSubPathArrayOfValues)(nil)
  1632  
  1633  func (fpsaov *Invitation_FieldSubPathArrayOfValues) GetRawValues() []interface{} {
  1634  	return fpsaov.subPathArrayOfValues.GetRawValues()
  1635  }
  1636  func (fpsaov *Invitation_FieldSubPathArrayOfValues) AsInviterActorPathArrayOfValues() (Actor_FieldPathArrayOfValues, bool) {
  1637  	res, ok := fpsaov.subPathArrayOfValues.(Actor_FieldPathArrayOfValues)
  1638  	return res, ok
  1639  }