github.com/cloudwan/edgelq-sdk@v1.15.4/iam/resources/v1/invitation/invitation.pb.fieldpath.go (about) 1 // Code generated by protoc-gen-goten-object 2 // File: edgelq/iam/proto/v1/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 condition "github.com/cloudwan/edgelq-sdk/iam/resources/v1/condition" 27 group "github.com/cloudwan/edgelq-sdk/iam/resources/v1/group" 28 role "github.com/cloudwan/edgelq-sdk/iam/resources/v1/role" 29 service_account "github.com/cloudwan/edgelq-sdk/iam/resources/v1/service_account" 30 user "github.com/cloudwan/edgelq-sdk/iam/resources/v1/user" 31 timestamppb "google.golang.org/protobuf/types/known/timestamppb" 32 ) 33 34 // ensure the imports are used 35 var ( 36 _ = new(json.Marshaler) 37 _ = new(fmt.Stringer) 38 _ = reflect.DeepEqual 39 _ = strings.Builder{} 40 _ = time.Second 41 42 _ = strcase.ToLowerCamel 43 _ = codes.NotFound 44 _ = status.Status{} 45 _ = protojson.UnmarshalOptions{} 46 _ = new(proto.Message) 47 _ = protoregistry.GlobalTypes 48 49 _ = new(gotenobject.FieldPath) 50 ) 51 52 // make sure we're using proto imports 53 var ( 54 _ = &condition.Condition{} 55 _ = &group.Group{} 56 _ = &role.Role{} 57 _ = &service_account.ServiceAccount{} 58 _ = &user.User{} 59 _ = ×tamppb.Timestamp{} 60 ) 61 62 // FieldPath provides implementation to handle 63 // https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/field_mask.proto 64 type Actor_FieldPath interface { 65 gotenobject.FieldPath 66 Selector() Actor_FieldPathSelector 67 Get(source *Actor) []interface{} 68 GetSingle(source *Actor) (interface{}, bool) 69 ClearValue(item *Actor) 70 71 // Those methods build corresponding Actor_FieldPathValue 72 // (or array of values) and holds passed value. Panics if injected type is incorrect. 73 WithIValue(value interface{}) Actor_FieldPathValue 74 WithIArrayOfValues(values interface{}) Actor_FieldPathArrayOfValues 75 WithIArrayItemValue(value interface{}) Actor_FieldPathArrayItemValue 76 } 77 78 type Actor_FieldPathSelector int32 79 80 const ( 81 Actor_FieldPathSelectorUser Actor_FieldPathSelector = 0 82 Actor_FieldPathSelectorServiceAccount Actor_FieldPathSelector = 1 83 ) 84 85 func (s Actor_FieldPathSelector) String() string { 86 switch s { 87 case Actor_FieldPathSelectorUser: 88 return "user" 89 case Actor_FieldPathSelectorServiceAccount: 90 return "service_account" 91 default: 92 panic(fmt.Sprintf("Invalid selector for Actor: %d", s)) 93 } 94 } 95 96 func BuildActor_FieldPath(fp gotenobject.RawFieldPath) (Actor_FieldPath, error) { 97 if len(fp) == 0 { 98 return nil, status.Error(codes.InvalidArgument, "empty field path for object Actor") 99 } 100 if len(fp) == 1 { 101 switch fp[0] { 102 case "user": 103 return &Actor_FieldTerminalPath{selector: Actor_FieldPathSelectorUser}, nil 104 case "service_account", "serviceAccount", "service-account": 105 return &Actor_FieldTerminalPath{selector: Actor_FieldPathSelectorServiceAccount}, nil 106 } 107 } 108 return nil, status.Errorf(codes.InvalidArgument, "unknown field path '%s' for object Actor", fp) 109 } 110 111 func ParseActor_FieldPath(rawField string) (Actor_FieldPath, error) { 112 fp, err := gotenobject.ParseRawFieldPath(rawField) 113 if err != nil { 114 return nil, err 115 } 116 return BuildActor_FieldPath(fp) 117 } 118 119 func MustParseActor_FieldPath(rawField string) Actor_FieldPath { 120 fp, err := ParseActor_FieldPath(rawField) 121 if err != nil { 122 panic(err) 123 } 124 return fp 125 } 126 127 type Actor_FieldTerminalPath struct { 128 selector Actor_FieldPathSelector 129 } 130 131 var _ Actor_FieldPath = (*Actor_FieldTerminalPath)(nil) 132 133 func (fp *Actor_FieldTerminalPath) Selector() Actor_FieldPathSelector { 134 return fp.selector 135 } 136 137 // String returns path representation in proto convention 138 func (fp *Actor_FieldTerminalPath) String() string { 139 return fp.selector.String() 140 } 141 142 // JSONString returns path representation is JSON convention 143 func (fp *Actor_FieldTerminalPath) JSONString() string { 144 return strcase.ToLowerCamel(fp.String()) 145 } 146 147 // Get returns all values pointed by specific field from source Actor 148 func (fp *Actor_FieldTerminalPath) Get(source *Actor) (values []interface{}) { 149 if source != nil { 150 switch fp.selector { 151 case Actor_FieldPathSelectorUser: 152 if source.User != nil { 153 values = append(values, source.User) 154 } 155 case Actor_FieldPathSelectorServiceAccount: 156 if source.ServiceAccount != nil { 157 values = append(values, source.ServiceAccount) 158 } 159 default: 160 panic(fmt.Sprintf("Invalid selector for Actor: %d", fp.selector)) 161 } 162 } 163 return 164 } 165 166 func (fp *Actor_FieldTerminalPath) GetRaw(source proto.Message) []interface{} { 167 return fp.Get(source.(*Actor)) 168 } 169 170 // GetSingle returns value pointed by specific field of from source Actor 171 func (fp *Actor_FieldTerminalPath) GetSingle(source *Actor) (interface{}, bool) { 172 switch fp.selector { 173 case Actor_FieldPathSelectorUser: 174 res := source.GetUser() 175 return res, res != nil 176 case Actor_FieldPathSelectorServiceAccount: 177 res := source.GetServiceAccount() 178 return res, res != nil 179 default: 180 panic(fmt.Sprintf("Invalid selector for Actor: %d", fp.selector)) 181 } 182 } 183 184 func (fp *Actor_FieldTerminalPath) GetSingleRaw(source proto.Message) (interface{}, bool) { 185 return fp.GetSingle(source.(*Actor)) 186 } 187 188 // GetDefault returns a default value of the field type 189 func (fp *Actor_FieldTerminalPath) GetDefault() interface{} { 190 switch fp.selector { 191 case Actor_FieldPathSelectorUser: 192 return (*user.Reference)(nil) 193 case Actor_FieldPathSelectorServiceAccount: 194 return (*service_account.Reference)(nil) 195 default: 196 panic(fmt.Sprintf("Invalid selector for Actor: %d", fp.selector)) 197 } 198 } 199 200 func (fp *Actor_FieldTerminalPath) ClearValue(item *Actor) { 201 if item != nil { 202 switch fp.selector { 203 case Actor_FieldPathSelectorUser: 204 item.User = nil 205 case Actor_FieldPathSelectorServiceAccount: 206 item.ServiceAccount = nil 207 default: 208 panic(fmt.Sprintf("Invalid selector for Actor: %d", fp.selector)) 209 } 210 } 211 } 212 213 func (fp *Actor_FieldTerminalPath) ClearValueRaw(item proto.Message) { 214 fp.ClearValue(item.(*Actor)) 215 } 216 217 // IsLeaf - whether field path is holds simple value 218 func (fp *Actor_FieldTerminalPath) IsLeaf() bool { 219 return fp.selector == Actor_FieldPathSelectorUser || 220 fp.selector == Actor_FieldPathSelectorServiceAccount 221 } 222 223 func (fp *Actor_FieldTerminalPath) SplitIntoTerminalIPaths() []gotenobject.FieldPath { 224 return []gotenobject.FieldPath{fp} 225 } 226 227 func (fp *Actor_FieldTerminalPath) WithIValue(value interface{}) Actor_FieldPathValue { 228 switch fp.selector { 229 case Actor_FieldPathSelectorUser: 230 return &Actor_FieldTerminalPathValue{Actor_FieldTerminalPath: *fp, value: value.(*user.Reference)} 231 case Actor_FieldPathSelectorServiceAccount: 232 return &Actor_FieldTerminalPathValue{Actor_FieldTerminalPath: *fp, value: value.(*service_account.Reference)} 233 default: 234 panic(fmt.Sprintf("Invalid selector for Actor: %d", fp.selector)) 235 } 236 } 237 238 func (fp *Actor_FieldTerminalPath) WithRawIValue(value interface{}) gotenobject.FieldPathValue { 239 return fp.WithIValue(value) 240 } 241 242 func (fp *Actor_FieldTerminalPath) WithIArrayOfValues(values interface{}) Actor_FieldPathArrayOfValues { 243 fpaov := &Actor_FieldTerminalPathArrayOfValues{Actor_FieldTerminalPath: *fp} 244 switch fp.selector { 245 case Actor_FieldPathSelectorUser: 246 return &Actor_FieldTerminalPathArrayOfValues{Actor_FieldTerminalPath: *fp, values: values.([]*user.Reference)} 247 case Actor_FieldPathSelectorServiceAccount: 248 return &Actor_FieldTerminalPathArrayOfValues{Actor_FieldTerminalPath: *fp, values: values.([]*service_account.Reference)} 249 default: 250 panic(fmt.Sprintf("Invalid selector for Actor: %d", fp.selector)) 251 } 252 return fpaov 253 } 254 255 func (fp *Actor_FieldTerminalPath) WithRawIArrayOfValues(values interface{}) gotenobject.FieldPathArrayOfValues { 256 return fp.WithIArrayOfValues(values) 257 } 258 259 func (fp *Actor_FieldTerminalPath) WithIArrayItemValue(value interface{}) Actor_FieldPathArrayItemValue { 260 switch fp.selector { 261 default: 262 panic(fmt.Sprintf("Invalid selector for Actor: %d", fp.selector)) 263 } 264 } 265 266 func (fp *Actor_FieldTerminalPath) WithRawIArrayItemValue(value interface{}) gotenobject.FieldPathArrayItemValue { 267 return fp.WithIArrayItemValue(value) 268 } 269 270 // Actor_FieldPathValue allows storing values for Actor fields according to their type 271 type Actor_FieldPathValue interface { 272 Actor_FieldPath 273 gotenobject.FieldPathValue 274 SetTo(target **Actor) 275 CompareWith(*Actor) (cmp int, comparable bool) 276 } 277 278 func ParseActor_FieldPathValue(pathStr, valueStr string) (Actor_FieldPathValue, error) { 279 fp, err := ParseActor_FieldPath(pathStr) 280 if err != nil { 281 return nil, err 282 } 283 fpv, err := gotenobject.ParseFieldPathValue(fp, valueStr) 284 if err != nil { 285 return nil, status.Errorf(codes.InvalidArgument, "error parsing Actor field path value from %s: %v", valueStr, err) 286 } 287 return fpv.(Actor_FieldPathValue), nil 288 } 289 290 func MustParseActor_FieldPathValue(pathStr, valueStr string) Actor_FieldPathValue { 291 fpv, err := ParseActor_FieldPathValue(pathStr, valueStr) 292 if err != nil { 293 panic(err) 294 } 295 return fpv 296 } 297 298 type Actor_FieldTerminalPathValue struct { 299 Actor_FieldTerminalPath 300 value interface{} 301 } 302 303 var _ Actor_FieldPathValue = (*Actor_FieldTerminalPathValue)(nil) 304 305 // GetRawValue returns raw value stored under selected path for 'Actor' as interface{} 306 func (fpv *Actor_FieldTerminalPathValue) GetRawValue() interface{} { 307 return fpv.value 308 } 309 func (fpv *Actor_FieldTerminalPathValue) AsUserValue() (*user.Reference, bool) { 310 res, ok := fpv.value.(*user.Reference) 311 return res, ok 312 } 313 func (fpv *Actor_FieldTerminalPathValue) AsServiceAccountValue() (*service_account.Reference, bool) { 314 res, ok := fpv.value.(*service_account.Reference) 315 return res, ok 316 } 317 318 // SetTo stores value for selected field for object Actor 319 func (fpv *Actor_FieldTerminalPathValue) SetTo(target **Actor) { 320 if *target == nil { 321 *target = new(Actor) 322 } 323 switch fpv.selector { 324 case Actor_FieldPathSelectorUser: 325 (*target).User = fpv.value.(*user.Reference) 326 case Actor_FieldPathSelectorServiceAccount: 327 (*target).ServiceAccount = fpv.value.(*service_account.Reference) 328 default: 329 panic(fmt.Sprintf("Invalid selector for Actor: %d", fpv.selector)) 330 } 331 } 332 333 func (fpv *Actor_FieldTerminalPathValue) SetToRaw(target proto.Message) { 334 typedObject := target.(*Actor) 335 fpv.SetTo(&typedObject) 336 } 337 338 // CompareWith compares value in the 'Actor_FieldTerminalPathValue' with the value under path in 'Actor'. 339 func (fpv *Actor_FieldTerminalPathValue) CompareWith(source *Actor) (int, bool) { 340 switch fpv.selector { 341 case Actor_FieldPathSelectorUser: 342 leftValue := fpv.value.(*user.Reference) 343 rightValue := source.GetUser() 344 if leftValue == nil { 345 if rightValue != nil { 346 return -1, true 347 } 348 return 0, true 349 } 350 if rightValue == nil { 351 return 1, true 352 } 353 if leftValue.String() == rightValue.String() { 354 return 0, true 355 } else if leftValue.String() < rightValue.String() { 356 return -1, true 357 } else { 358 return 1, true 359 } 360 case Actor_FieldPathSelectorServiceAccount: 361 leftValue := fpv.value.(*service_account.Reference) 362 rightValue := source.GetServiceAccount() 363 if leftValue == nil { 364 if rightValue != nil { 365 return -1, true 366 } 367 return 0, true 368 } 369 if rightValue == nil { 370 return 1, true 371 } 372 if leftValue.String() == rightValue.String() { 373 return 0, true 374 } else if leftValue.String() < rightValue.String() { 375 return -1, true 376 } else { 377 return 1, true 378 } 379 default: 380 panic(fmt.Sprintf("Invalid selector for Actor: %d", fpv.selector)) 381 } 382 } 383 384 func (fpv *Actor_FieldTerminalPathValue) CompareWithRaw(source proto.Message) (int, bool) { 385 return fpv.CompareWith(source.(*Actor)) 386 } 387 388 // Actor_FieldPathArrayItemValue allows storing single item in Path-specific values for Actor according to their type 389 // Present only for array (repeated) types. 390 type Actor_FieldPathArrayItemValue interface { 391 gotenobject.FieldPathArrayItemValue 392 Actor_FieldPath 393 ContainsValue(*Actor) bool 394 } 395 396 // ParseActor_FieldPathArrayItemValue parses string and JSON-encoded value to its Value 397 func ParseActor_FieldPathArrayItemValue(pathStr, valueStr string) (Actor_FieldPathArrayItemValue, error) { 398 fp, err := ParseActor_FieldPath(pathStr) 399 if err != nil { 400 return nil, err 401 } 402 fpaiv, err := gotenobject.ParseFieldPathArrayItemValue(fp, valueStr) 403 if err != nil { 404 return nil, status.Errorf(codes.InvalidArgument, "error parsing Actor field path array item value from %s: %v", valueStr, err) 405 } 406 return fpaiv.(Actor_FieldPathArrayItemValue), nil 407 } 408 409 func MustParseActor_FieldPathArrayItemValue(pathStr, valueStr string) Actor_FieldPathArrayItemValue { 410 fpaiv, err := ParseActor_FieldPathArrayItemValue(pathStr, valueStr) 411 if err != nil { 412 panic(err) 413 } 414 return fpaiv 415 } 416 417 type Actor_FieldTerminalPathArrayItemValue struct { 418 Actor_FieldTerminalPath 419 value interface{} 420 } 421 422 var _ Actor_FieldPathArrayItemValue = (*Actor_FieldTerminalPathArrayItemValue)(nil) 423 424 // GetRawValue returns stored element value for array in object Actor as interface{} 425 func (fpaiv *Actor_FieldTerminalPathArrayItemValue) GetRawItemValue() interface{} { 426 return fpaiv.value 427 } 428 429 func (fpaiv *Actor_FieldTerminalPathArrayItemValue) GetSingle(source *Actor) (interface{}, bool) { 430 return nil, false 431 } 432 433 func (fpaiv *Actor_FieldTerminalPathArrayItemValue) GetSingleRaw(source proto.Message) (interface{}, bool) { 434 return fpaiv.GetSingle(source.(*Actor)) 435 } 436 437 // Contains returns a boolean indicating if value that is being held is present in given 'Actor' 438 func (fpaiv *Actor_FieldTerminalPathArrayItemValue) ContainsValue(source *Actor) bool { 439 slice := fpaiv.Actor_FieldTerminalPath.Get(source) 440 for _, v := range slice { 441 if asProtoMsg, ok := fpaiv.value.(proto.Message); ok { 442 if proto.Equal(asProtoMsg, v.(proto.Message)) { 443 return true 444 } 445 } else if reflect.DeepEqual(v, fpaiv.value) { 446 return true 447 } 448 } 449 return false 450 } 451 452 // Actor_FieldPathArrayOfValues allows storing slice of values for Actor fields according to their type 453 type Actor_FieldPathArrayOfValues interface { 454 gotenobject.FieldPathArrayOfValues 455 Actor_FieldPath 456 } 457 458 func ParseActor_FieldPathArrayOfValues(pathStr, valuesStr string) (Actor_FieldPathArrayOfValues, error) { 459 fp, err := ParseActor_FieldPath(pathStr) 460 if err != nil { 461 return nil, err 462 } 463 fpaov, err := gotenobject.ParseFieldPathArrayOfValues(fp, valuesStr) 464 if err != nil { 465 return nil, status.Errorf(codes.InvalidArgument, "error parsing Actor field path array of values from %s: %v", valuesStr, err) 466 } 467 return fpaov.(Actor_FieldPathArrayOfValues), nil 468 } 469 470 func MustParseActor_FieldPathArrayOfValues(pathStr, valuesStr string) Actor_FieldPathArrayOfValues { 471 fpaov, err := ParseActor_FieldPathArrayOfValues(pathStr, valuesStr) 472 if err != nil { 473 panic(err) 474 } 475 return fpaov 476 } 477 478 type Actor_FieldTerminalPathArrayOfValues struct { 479 Actor_FieldTerminalPath 480 values interface{} 481 } 482 483 var _ Actor_FieldPathArrayOfValues = (*Actor_FieldTerminalPathArrayOfValues)(nil) 484 485 func (fpaov *Actor_FieldTerminalPathArrayOfValues) GetRawValues() (values []interface{}) { 486 switch fpaov.selector { 487 case Actor_FieldPathSelectorUser: 488 for _, v := range fpaov.values.([]*user.Reference) { 489 values = append(values, v) 490 } 491 case Actor_FieldPathSelectorServiceAccount: 492 for _, v := range fpaov.values.([]*service_account.Reference) { 493 values = append(values, v) 494 } 495 } 496 return 497 } 498 func (fpaov *Actor_FieldTerminalPathArrayOfValues) AsUserArrayOfValues() ([]*user.Reference, bool) { 499 res, ok := fpaov.values.([]*user.Reference) 500 return res, ok 501 } 502 func (fpaov *Actor_FieldTerminalPathArrayOfValues) AsServiceAccountArrayOfValues() ([]*service_account.Reference, bool) { 503 res, ok := fpaov.values.([]*service_account.Reference) 504 return res, ok 505 } 506 507 // FieldPath provides implementation to handle 508 // https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/field_mask.proto 509 type Invitation_FieldPath interface { 510 gotenobject.FieldPath 511 Selector() Invitation_FieldPathSelector 512 Get(source *Invitation) []interface{} 513 GetSingle(source *Invitation) (interface{}, bool) 514 ClearValue(item *Invitation) 515 516 // Those methods build corresponding Invitation_FieldPathValue 517 // (or array of values) and holds passed value. Panics if injected type is incorrect. 518 WithIValue(value interface{}) Invitation_FieldPathValue 519 WithIArrayOfValues(values interface{}) Invitation_FieldPathArrayOfValues 520 WithIArrayItemValue(value interface{}) Invitation_FieldPathArrayItemValue 521 } 522 523 type Invitation_FieldPathSelector int32 524 525 const ( 526 Invitation_FieldPathSelectorInviteeEmail Invitation_FieldPathSelector = 0 527 Invitation_FieldPathSelectorInviterActor Invitation_FieldPathSelector = 1 528 Invitation_FieldPathSelectorInviterFullName Invitation_FieldPathSelector = 2 529 Invitation_FieldPathSelectorInviterEmail Invitation_FieldPathSelector = 3 530 Invitation_FieldPathSelectorLanguageCode Invitation_FieldPathSelector = 4 531 Invitation_FieldPathSelectorBindingRoles Invitation_FieldPathSelector = 5 532 Invitation_FieldPathSelectorGroups Invitation_FieldPathSelector = 6 533 Invitation_FieldPathSelectorExpirationDate Invitation_FieldPathSelector = 7 534 Invitation_FieldPathSelectorExtras Invitation_FieldPathSelector = 8 535 Invitation_FieldPathSelectorState Invitation_FieldPathSelector = 9 536 ) 537 538 func (s Invitation_FieldPathSelector) String() string { 539 switch s { 540 case Invitation_FieldPathSelectorInviteeEmail: 541 return "invitee_email" 542 case Invitation_FieldPathSelectorInviterActor: 543 return "inviter_actor" 544 case Invitation_FieldPathSelectorInviterFullName: 545 return "inviter_full_name" 546 case Invitation_FieldPathSelectorInviterEmail: 547 return "inviter_email" 548 case Invitation_FieldPathSelectorLanguageCode: 549 return "language_code" 550 case Invitation_FieldPathSelectorBindingRoles: 551 return "binding_roles" 552 case Invitation_FieldPathSelectorGroups: 553 return "groups" 554 case Invitation_FieldPathSelectorExpirationDate: 555 return "expiration_date" 556 case Invitation_FieldPathSelectorExtras: 557 return "extras" 558 case Invitation_FieldPathSelectorState: 559 return "state" 560 default: 561 panic(fmt.Sprintf("Invalid selector for Invitation: %d", s)) 562 } 563 } 564 565 func BuildInvitation_FieldPath(fp gotenobject.RawFieldPath) (Invitation_FieldPath, error) { 566 if len(fp) == 0 { 567 return nil, status.Error(codes.InvalidArgument, "empty field path for object Invitation") 568 } 569 if len(fp) == 1 { 570 switch fp[0] { 571 case "invitee_email", "inviteeEmail", "invitee-email": 572 return &Invitation_FieldTerminalPath{selector: Invitation_FieldPathSelectorInviteeEmail}, nil 573 case "inviter_actor", "inviterActor", "inviter-actor": 574 return &Invitation_FieldTerminalPath{selector: Invitation_FieldPathSelectorInviterActor}, nil 575 case "inviter_full_name", "inviterFullName", "inviter-full-name": 576 return &Invitation_FieldTerminalPath{selector: Invitation_FieldPathSelectorInviterFullName}, nil 577 case "inviter_email", "inviterEmail", "inviter-email": 578 return &Invitation_FieldTerminalPath{selector: Invitation_FieldPathSelectorInviterEmail}, nil 579 case "language_code", "languageCode", "language-code": 580 return &Invitation_FieldTerminalPath{selector: Invitation_FieldPathSelectorLanguageCode}, nil 581 case "binding_roles", "bindingRoles", "binding-roles": 582 return &Invitation_FieldTerminalPath{selector: Invitation_FieldPathSelectorBindingRoles}, nil 583 case "groups": 584 return &Invitation_FieldTerminalPath{selector: Invitation_FieldPathSelectorGroups}, nil 585 case "expiration_date", "expirationDate", "expiration-date": 586 return &Invitation_FieldTerminalPath{selector: Invitation_FieldPathSelectorExpirationDate}, nil 587 case "extras": 588 return &Invitation_FieldTerminalPath{selector: Invitation_FieldPathSelectorExtras}, nil 589 case "state": 590 return &Invitation_FieldTerminalPath{selector: Invitation_FieldPathSelectorState}, nil 591 } 592 } else { 593 switch fp[0] { 594 case "inviter_actor", "inviterActor", "inviter-actor": 595 if subpath, err := BuildActor_FieldPath(fp[1:]); err != nil { 596 return nil, err 597 } else { 598 return &Invitation_FieldSubPath{selector: Invitation_FieldPathSelectorInviterActor, subPath: subpath}, nil 599 } 600 case "binding_roles", "bindingRoles", "binding-roles": 601 if subpath, err := BuildInvitationBindingRole_FieldPath(fp[1:]); err != nil { 602 return nil, err 603 } else { 604 return &Invitation_FieldSubPath{selector: Invitation_FieldPathSelectorBindingRoles, subPath: subpath}, nil 605 } 606 case "extras": 607 if len(fp) > 2 { 608 return nil, status.Errorf(codes.InvalidArgument, "sub path for maps ('%s') are not supported (object Invitation)", fp) 609 } 610 return &Invitation_FieldPathMap{selector: Invitation_FieldPathSelectorExtras, key: fp[1]}, nil 611 } 612 } 613 return nil, status.Errorf(codes.InvalidArgument, "unknown field path '%s' for object Invitation", fp) 614 } 615 616 func ParseInvitation_FieldPath(rawField string) (Invitation_FieldPath, error) { 617 fp, err := gotenobject.ParseRawFieldPath(rawField) 618 if err != nil { 619 return nil, err 620 } 621 return BuildInvitation_FieldPath(fp) 622 } 623 624 func MustParseInvitation_FieldPath(rawField string) Invitation_FieldPath { 625 fp, err := ParseInvitation_FieldPath(rawField) 626 if err != nil { 627 panic(err) 628 } 629 return fp 630 } 631 632 type Invitation_FieldTerminalPath struct { 633 selector Invitation_FieldPathSelector 634 } 635 636 var _ Invitation_FieldPath = (*Invitation_FieldTerminalPath)(nil) 637 638 func (fp *Invitation_FieldTerminalPath) Selector() Invitation_FieldPathSelector { 639 return fp.selector 640 } 641 642 // String returns path representation in proto convention 643 func (fp *Invitation_FieldTerminalPath) String() string { 644 return fp.selector.String() 645 } 646 647 // JSONString returns path representation is JSON convention 648 func (fp *Invitation_FieldTerminalPath) JSONString() string { 649 return strcase.ToLowerCamel(fp.String()) 650 } 651 652 // Get returns all values pointed by specific field from source Invitation 653 func (fp *Invitation_FieldTerminalPath) Get(source *Invitation) (values []interface{}) { 654 if source != nil { 655 switch fp.selector { 656 case Invitation_FieldPathSelectorInviteeEmail: 657 values = append(values, source.InviteeEmail) 658 case Invitation_FieldPathSelectorInviterActor: 659 if source.InviterActor != nil { 660 values = append(values, source.InviterActor) 661 } 662 case Invitation_FieldPathSelectorInviterFullName: 663 values = append(values, source.InviterFullName) 664 case Invitation_FieldPathSelectorInviterEmail: 665 values = append(values, source.InviterEmail) 666 case Invitation_FieldPathSelectorLanguageCode: 667 values = append(values, source.LanguageCode) 668 case Invitation_FieldPathSelectorBindingRoles: 669 for _, value := range source.GetBindingRoles() { 670 values = append(values, value) 671 } 672 case Invitation_FieldPathSelectorGroups: 673 for _, value := range source.GetGroups() { 674 values = append(values, value) 675 } 676 case Invitation_FieldPathSelectorExpirationDate: 677 if source.ExpirationDate != nil { 678 values = append(values, source.ExpirationDate) 679 } 680 case Invitation_FieldPathSelectorExtras: 681 values = append(values, source.Extras) 682 case Invitation_FieldPathSelectorState: 683 values = append(values, source.State) 684 default: 685 panic(fmt.Sprintf("Invalid selector for Invitation: %d", fp.selector)) 686 } 687 } 688 return 689 } 690 691 func (fp *Invitation_FieldTerminalPath) GetRaw(source proto.Message) []interface{} { 692 return fp.Get(source.(*Invitation)) 693 } 694 695 // GetSingle returns value pointed by specific field of from source Invitation 696 func (fp *Invitation_FieldTerminalPath) GetSingle(source *Invitation) (interface{}, bool) { 697 switch fp.selector { 698 case Invitation_FieldPathSelectorInviteeEmail: 699 return source.GetInviteeEmail(), source != nil 700 case Invitation_FieldPathSelectorInviterActor: 701 res := source.GetInviterActor() 702 return res, res != nil 703 case Invitation_FieldPathSelectorInviterFullName: 704 return source.GetInviterFullName(), source != nil 705 case Invitation_FieldPathSelectorInviterEmail: 706 return source.GetInviterEmail(), source != nil 707 case Invitation_FieldPathSelectorLanguageCode: 708 return source.GetLanguageCode(), source != nil 709 case Invitation_FieldPathSelectorBindingRoles: 710 res := source.GetBindingRoles() 711 return res, res != nil 712 case Invitation_FieldPathSelectorGroups: 713 res := source.GetGroups() 714 return res, res != nil 715 case Invitation_FieldPathSelectorExpirationDate: 716 res := source.GetExpirationDate() 717 return res, res != nil 718 case Invitation_FieldPathSelectorExtras: 719 res := source.GetExtras() 720 return res, res != nil 721 case Invitation_FieldPathSelectorState: 722 return source.GetState(), source != nil 723 default: 724 panic(fmt.Sprintf("Invalid selector for Invitation: %d", fp.selector)) 725 } 726 } 727 728 func (fp *Invitation_FieldTerminalPath) GetSingleRaw(source proto.Message) (interface{}, bool) { 729 return fp.GetSingle(source.(*Invitation)) 730 } 731 732 // GetDefault returns a default value of the field type 733 func (fp *Invitation_FieldTerminalPath) GetDefault() interface{} { 734 switch fp.selector { 735 case Invitation_FieldPathSelectorInviteeEmail: 736 return "" 737 case Invitation_FieldPathSelectorInviterActor: 738 return (*Actor)(nil) 739 case Invitation_FieldPathSelectorInviterFullName: 740 return "" 741 case Invitation_FieldPathSelectorInviterEmail: 742 return "" 743 case Invitation_FieldPathSelectorLanguageCode: 744 return "" 745 case Invitation_FieldPathSelectorBindingRoles: 746 return ([]*Invitation_BindingRole)(nil) 747 case Invitation_FieldPathSelectorGroups: 748 return ([]*group.Reference)(nil) 749 case Invitation_FieldPathSelectorExpirationDate: 750 return (*timestamppb.Timestamp)(nil) 751 case Invitation_FieldPathSelectorExtras: 752 return (map[string]string)(nil) 753 case Invitation_FieldPathSelectorState: 754 return Invitation_STATE_UNSPECIFIED 755 default: 756 panic(fmt.Sprintf("Invalid selector for Invitation: %d", fp.selector)) 757 } 758 } 759 760 func (fp *Invitation_FieldTerminalPath) ClearValue(item *Invitation) { 761 if item != nil { 762 switch fp.selector { 763 case Invitation_FieldPathSelectorInviteeEmail: 764 item.InviteeEmail = "" 765 case Invitation_FieldPathSelectorInviterActor: 766 item.InviterActor = nil 767 case Invitation_FieldPathSelectorInviterFullName: 768 item.InviterFullName = "" 769 case Invitation_FieldPathSelectorInviterEmail: 770 item.InviterEmail = "" 771 case Invitation_FieldPathSelectorLanguageCode: 772 item.LanguageCode = "" 773 case Invitation_FieldPathSelectorBindingRoles: 774 item.BindingRoles = nil 775 case Invitation_FieldPathSelectorGroups: 776 item.Groups = nil 777 case Invitation_FieldPathSelectorExpirationDate: 778 item.ExpirationDate = nil 779 case Invitation_FieldPathSelectorExtras: 780 item.Extras = nil 781 case Invitation_FieldPathSelectorState: 782 item.State = Invitation_STATE_UNSPECIFIED 783 default: 784 panic(fmt.Sprintf("Invalid selector for Invitation: %d", fp.selector)) 785 } 786 } 787 } 788 789 func (fp *Invitation_FieldTerminalPath) ClearValueRaw(item proto.Message) { 790 fp.ClearValue(item.(*Invitation)) 791 } 792 793 // IsLeaf - whether field path is holds simple value 794 func (fp *Invitation_FieldTerminalPath) IsLeaf() bool { 795 return fp.selector == Invitation_FieldPathSelectorInviteeEmail || 796 fp.selector == Invitation_FieldPathSelectorInviterFullName || 797 fp.selector == Invitation_FieldPathSelectorInviterEmail || 798 fp.selector == Invitation_FieldPathSelectorLanguageCode || 799 fp.selector == Invitation_FieldPathSelectorGroups || 800 fp.selector == Invitation_FieldPathSelectorExpirationDate || 801 fp.selector == Invitation_FieldPathSelectorExtras || 802 fp.selector == Invitation_FieldPathSelectorState 803 } 804 805 func (fp *Invitation_FieldTerminalPath) SplitIntoTerminalIPaths() []gotenobject.FieldPath { 806 return []gotenobject.FieldPath{fp} 807 } 808 809 func (fp *Invitation_FieldTerminalPath) WithIValue(value interface{}) Invitation_FieldPathValue { 810 switch fp.selector { 811 case Invitation_FieldPathSelectorInviteeEmail: 812 return &Invitation_FieldTerminalPathValue{Invitation_FieldTerminalPath: *fp, value: value.(string)} 813 case Invitation_FieldPathSelectorInviterActor: 814 return &Invitation_FieldTerminalPathValue{Invitation_FieldTerminalPath: *fp, value: value.(*Actor)} 815 case Invitation_FieldPathSelectorInviterFullName: 816 return &Invitation_FieldTerminalPathValue{Invitation_FieldTerminalPath: *fp, value: value.(string)} 817 case Invitation_FieldPathSelectorInviterEmail: 818 return &Invitation_FieldTerminalPathValue{Invitation_FieldTerminalPath: *fp, value: value.(string)} 819 case Invitation_FieldPathSelectorLanguageCode: 820 return &Invitation_FieldTerminalPathValue{Invitation_FieldTerminalPath: *fp, value: value.(string)} 821 case Invitation_FieldPathSelectorBindingRoles: 822 return &Invitation_FieldTerminalPathValue{Invitation_FieldTerminalPath: *fp, value: value.([]*Invitation_BindingRole)} 823 case Invitation_FieldPathSelectorGroups: 824 return &Invitation_FieldTerminalPathValue{Invitation_FieldTerminalPath: *fp, value: value.([]*group.Reference)} 825 case Invitation_FieldPathSelectorExpirationDate: 826 return &Invitation_FieldTerminalPathValue{Invitation_FieldTerminalPath: *fp, value: value.(*timestamppb.Timestamp)} 827 case Invitation_FieldPathSelectorExtras: 828 return &Invitation_FieldTerminalPathValue{Invitation_FieldTerminalPath: *fp, value: value.(map[string]string)} 829 case Invitation_FieldPathSelectorState: 830 return &Invitation_FieldTerminalPathValue{Invitation_FieldTerminalPath: *fp, value: value.(Invitation_State)} 831 default: 832 panic(fmt.Sprintf("Invalid selector for Invitation: %d", fp.selector)) 833 } 834 } 835 836 func (fp *Invitation_FieldTerminalPath) WithRawIValue(value interface{}) gotenobject.FieldPathValue { 837 return fp.WithIValue(value) 838 } 839 840 func (fp *Invitation_FieldTerminalPath) WithIArrayOfValues(values interface{}) Invitation_FieldPathArrayOfValues { 841 fpaov := &Invitation_FieldTerminalPathArrayOfValues{Invitation_FieldTerminalPath: *fp} 842 switch fp.selector { 843 case Invitation_FieldPathSelectorInviteeEmail: 844 return &Invitation_FieldTerminalPathArrayOfValues{Invitation_FieldTerminalPath: *fp, values: values.([]string)} 845 case Invitation_FieldPathSelectorInviterActor: 846 return &Invitation_FieldTerminalPathArrayOfValues{Invitation_FieldTerminalPath: *fp, values: values.([]*Actor)} 847 case Invitation_FieldPathSelectorInviterFullName: 848 return &Invitation_FieldTerminalPathArrayOfValues{Invitation_FieldTerminalPath: *fp, values: values.([]string)} 849 case Invitation_FieldPathSelectorInviterEmail: 850 return &Invitation_FieldTerminalPathArrayOfValues{Invitation_FieldTerminalPath: *fp, values: values.([]string)} 851 case Invitation_FieldPathSelectorLanguageCode: 852 return &Invitation_FieldTerminalPathArrayOfValues{Invitation_FieldTerminalPath: *fp, values: values.([]string)} 853 case Invitation_FieldPathSelectorBindingRoles: 854 return &Invitation_FieldTerminalPathArrayOfValues{Invitation_FieldTerminalPath: *fp, values: values.([][]*Invitation_BindingRole)} 855 case Invitation_FieldPathSelectorGroups: 856 return &Invitation_FieldTerminalPathArrayOfValues{Invitation_FieldTerminalPath: *fp, values: values.([][]*group.Reference)} 857 case Invitation_FieldPathSelectorExpirationDate: 858 return &Invitation_FieldTerminalPathArrayOfValues{Invitation_FieldTerminalPath: *fp, values: values.([]*timestamppb.Timestamp)} 859 case Invitation_FieldPathSelectorExtras: 860 return &Invitation_FieldTerminalPathArrayOfValues{Invitation_FieldTerminalPath: *fp, values: values.([]map[string]string)} 861 case Invitation_FieldPathSelectorState: 862 return &Invitation_FieldTerminalPathArrayOfValues{Invitation_FieldTerminalPath: *fp, values: values.([]Invitation_State)} 863 default: 864 panic(fmt.Sprintf("Invalid selector for Invitation: %d", fp.selector)) 865 } 866 return fpaov 867 } 868 869 func (fp *Invitation_FieldTerminalPath) WithRawIArrayOfValues(values interface{}) gotenobject.FieldPathArrayOfValues { 870 return fp.WithIArrayOfValues(values) 871 } 872 873 func (fp *Invitation_FieldTerminalPath) WithIArrayItemValue(value interface{}) Invitation_FieldPathArrayItemValue { 874 switch fp.selector { 875 case Invitation_FieldPathSelectorBindingRoles: 876 return &Invitation_FieldTerminalPathArrayItemValue{Invitation_FieldTerminalPath: *fp, value: value.(*Invitation_BindingRole)} 877 case Invitation_FieldPathSelectorGroups: 878 return &Invitation_FieldTerminalPathArrayItemValue{Invitation_FieldTerminalPath: *fp, value: value.(*group.Reference)} 879 default: 880 panic(fmt.Sprintf("Invalid selector for Invitation: %d", fp.selector)) 881 } 882 } 883 884 func (fp *Invitation_FieldTerminalPath) WithRawIArrayItemValue(value interface{}) gotenobject.FieldPathArrayItemValue { 885 return fp.WithIArrayItemValue(value) 886 } 887 888 // FieldPath for map type with additional Key information 889 type Invitation_FieldPathMap struct { 890 key string 891 selector Invitation_FieldPathSelector 892 } 893 894 var _ Invitation_FieldPath = (*Invitation_FieldPathMap)(nil) 895 896 func (fpm *Invitation_FieldPathMap) Selector() Invitation_FieldPathSelector { 897 return fpm.selector 898 } 899 900 func (fpm *Invitation_FieldPathMap) Key() string { 901 return fpm.key 902 } 903 904 // String returns path representation in proto convention 905 func (fpm *Invitation_FieldPathMap) String() string { 906 return fpm.selector.String() + "." + fpm.key 907 } 908 909 // JSONString returns path representation is JSON convention. Note that map keys are not transformed 910 func (fpm *Invitation_FieldPathMap) JSONString() string { 911 return strcase.ToLowerCamel(fpm.selector.String()) + "." + fpm.key 912 } 913 914 // Get returns all values pointed by selected field map key from source Invitation 915 func (fpm *Invitation_FieldPathMap) Get(source *Invitation) (values []interface{}) { 916 switch fpm.selector { 917 case Invitation_FieldPathSelectorExtras: 918 if value, ok := source.GetExtras()[fpm.key]; ok { 919 values = append(values, value) 920 } 921 default: 922 panic(fmt.Sprintf("Invalid selector for Invitation: %d", fpm.selector)) 923 } 924 return 925 } 926 927 func (fpm *Invitation_FieldPathMap) GetRaw(source proto.Message) []interface{} { 928 return fpm.Get(source.(*Invitation)) 929 } 930 931 // GetSingle returns value by selected field map key from source Invitation 932 func (fpm *Invitation_FieldPathMap) GetSingle(source *Invitation) (interface{}, bool) { 933 switch fpm.selector { 934 case Invitation_FieldPathSelectorExtras: 935 res, ok := source.GetExtras()[fpm.key] 936 return res, ok 937 default: 938 panic(fmt.Sprintf("Invalid selector for Invitation: %d", fpm.selector)) 939 } 940 } 941 942 func (fpm *Invitation_FieldPathMap) GetSingleRaw(source proto.Message) (interface{}, bool) { 943 return fpm.GetSingle(source.(*Invitation)) 944 } 945 946 // GetDefault returns a default value of the field type 947 func (fpm *Invitation_FieldPathMap) GetDefault() interface{} { 948 switch fpm.selector { 949 case Invitation_FieldPathSelectorExtras: 950 var v string 951 return v 952 default: 953 panic(fmt.Sprintf("Invalid selector for Invitation: %d", fpm.selector)) 954 } 955 } 956 957 func (fpm *Invitation_FieldPathMap) ClearValue(item *Invitation) { 958 if item != nil { 959 switch fpm.selector { 960 case Invitation_FieldPathSelectorExtras: 961 delete(item.Extras, fpm.key) 962 default: 963 panic(fmt.Sprintf("Invalid selector for Invitation: %d", fpm.selector)) 964 } 965 } 966 } 967 968 func (fpm *Invitation_FieldPathMap) ClearValueRaw(item proto.Message) { 969 fpm.ClearValue(item.(*Invitation)) 970 } 971 972 // IsLeaf - whether field path is holds simple value 973 func (fpm *Invitation_FieldPathMap) IsLeaf() bool { 974 switch fpm.selector { 975 case Invitation_FieldPathSelectorExtras: 976 return true 977 default: 978 panic(fmt.Sprintf("Invalid selector for Invitation: %d", fpm.selector)) 979 } 980 } 981 982 func (fpm *Invitation_FieldPathMap) SplitIntoTerminalIPaths() []gotenobject.FieldPath { 983 return []gotenobject.FieldPath{fpm} 984 } 985 986 func (fpm *Invitation_FieldPathMap) WithIValue(value interface{}) Invitation_FieldPathValue { 987 switch fpm.selector { 988 case Invitation_FieldPathSelectorExtras: 989 return &Invitation_FieldPathMapValue{Invitation_FieldPathMap: *fpm, value: value.(string)} 990 default: 991 panic(fmt.Sprintf("Invalid selector for Invitation: %d", fpm.selector)) 992 } 993 } 994 995 func (fpm *Invitation_FieldPathMap) WithRawIValue(value interface{}) gotenobject.FieldPathValue { 996 return fpm.WithIValue(value) 997 } 998 999 func (fpm *Invitation_FieldPathMap) WithIArrayOfValues(values interface{}) Invitation_FieldPathArrayOfValues { 1000 switch fpm.selector { 1001 case Invitation_FieldPathSelectorExtras: 1002 return &Invitation_FieldPathMapArrayOfValues{Invitation_FieldPathMap: *fpm, values: values.([]string)} 1003 default: 1004 panic(fmt.Sprintf("Invalid selector for Invitation: %d", fpm.selector)) 1005 } 1006 } 1007 1008 func (fpm *Invitation_FieldPathMap) WithRawIArrayOfValues(values interface{}) gotenobject.FieldPathArrayOfValues { 1009 return fpm.WithIArrayOfValues(values) 1010 } 1011 1012 func (fpm *Invitation_FieldPathMap) WithIArrayItemValue(value interface{}) Invitation_FieldPathArrayItemValue { 1013 panic("Cannot create array item value from map fieldpath") 1014 } 1015 1016 func (fpm *Invitation_FieldPathMap) WithRawIArrayItemValue(value interface{}) gotenobject.FieldPathArrayItemValue { 1017 return fpm.WithIArrayItemValue(value) 1018 } 1019 1020 type Invitation_FieldSubPath struct { 1021 selector Invitation_FieldPathSelector 1022 subPath gotenobject.FieldPath 1023 } 1024 1025 var _ Invitation_FieldPath = (*Invitation_FieldSubPath)(nil) 1026 1027 func (fps *Invitation_FieldSubPath) Selector() Invitation_FieldPathSelector { 1028 return fps.selector 1029 } 1030 func (fps *Invitation_FieldSubPath) AsInviterActorSubPath() (Actor_FieldPath, bool) { 1031 res, ok := fps.subPath.(Actor_FieldPath) 1032 return res, ok 1033 } 1034 func (fps *Invitation_FieldSubPath) AsBindingRolesSubPath() (InvitationBindingRole_FieldPath, bool) { 1035 res, ok := fps.subPath.(InvitationBindingRole_FieldPath) 1036 return res, ok 1037 } 1038 1039 // String returns path representation in proto convention 1040 func (fps *Invitation_FieldSubPath) String() string { 1041 return fps.selector.String() + "." + fps.subPath.String() 1042 } 1043 1044 // JSONString returns path representation is JSON convention 1045 func (fps *Invitation_FieldSubPath) JSONString() string { 1046 return strcase.ToLowerCamel(fps.selector.String()) + "." + fps.subPath.JSONString() 1047 } 1048 1049 // Get returns all values pointed by selected field from source Invitation 1050 func (fps *Invitation_FieldSubPath) Get(source *Invitation) (values []interface{}) { 1051 switch fps.selector { 1052 case Invitation_FieldPathSelectorInviterActor: 1053 values = append(values, fps.subPath.GetRaw(source.GetInviterActor())...) 1054 case Invitation_FieldPathSelectorBindingRoles: 1055 for _, item := range source.GetBindingRoles() { 1056 values = append(values, fps.subPath.GetRaw(item)...) 1057 } 1058 default: 1059 panic(fmt.Sprintf("Invalid selector for Invitation: %d", fps.selector)) 1060 } 1061 return 1062 } 1063 1064 func (fps *Invitation_FieldSubPath) GetRaw(source proto.Message) []interface{} { 1065 return fps.Get(source.(*Invitation)) 1066 } 1067 1068 // GetSingle returns value of selected field from source Invitation 1069 func (fps *Invitation_FieldSubPath) GetSingle(source *Invitation) (interface{}, bool) { 1070 switch fps.selector { 1071 case Invitation_FieldPathSelectorInviterActor: 1072 if source.GetInviterActor() == nil { 1073 return nil, false 1074 } 1075 return fps.subPath.GetSingleRaw(source.GetInviterActor()) 1076 case Invitation_FieldPathSelectorBindingRoles: 1077 if len(source.GetBindingRoles()) == 0 { 1078 return nil, false 1079 } 1080 return fps.subPath.GetSingleRaw(source.GetBindingRoles()[0]) 1081 default: 1082 panic(fmt.Sprintf("Invalid selector for Invitation: %d", fps.selector)) 1083 } 1084 } 1085 1086 func (fps *Invitation_FieldSubPath) GetSingleRaw(source proto.Message) (interface{}, bool) { 1087 return fps.GetSingle(source.(*Invitation)) 1088 } 1089 1090 // GetDefault returns a default value of the field type 1091 func (fps *Invitation_FieldSubPath) GetDefault() interface{} { 1092 return fps.subPath.GetDefault() 1093 } 1094 1095 func (fps *Invitation_FieldSubPath) ClearValue(item *Invitation) { 1096 if item != nil { 1097 switch fps.selector { 1098 case Invitation_FieldPathSelectorInviterActor: 1099 fps.subPath.ClearValueRaw(item.InviterActor) 1100 case Invitation_FieldPathSelectorBindingRoles: 1101 for _, subItem := range item.BindingRoles { 1102 fps.subPath.ClearValueRaw(subItem) 1103 } 1104 default: 1105 panic(fmt.Sprintf("Invalid selector for Invitation: %d", fps.selector)) 1106 } 1107 } 1108 } 1109 1110 func (fps *Invitation_FieldSubPath) ClearValueRaw(item proto.Message) { 1111 fps.ClearValue(item.(*Invitation)) 1112 } 1113 1114 // IsLeaf - whether field path is holds simple value 1115 func (fps *Invitation_FieldSubPath) IsLeaf() bool { 1116 return fps.subPath.IsLeaf() 1117 } 1118 1119 func (fps *Invitation_FieldSubPath) SplitIntoTerminalIPaths() []gotenobject.FieldPath { 1120 iPaths := []gotenobject.FieldPath{&Invitation_FieldTerminalPath{selector: fps.selector}} 1121 iPaths = append(iPaths, fps.subPath.SplitIntoTerminalIPaths()...) 1122 return iPaths 1123 } 1124 1125 func (fps *Invitation_FieldSubPath) WithIValue(value interface{}) Invitation_FieldPathValue { 1126 return &Invitation_FieldSubPathValue{fps, fps.subPath.WithRawIValue(value)} 1127 } 1128 1129 func (fps *Invitation_FieldSubPath) WithRawIValue(value interface{}) gotenobject.FieldPathValue { 1130 return fps.WithIValue(value) 1131 } 1132 1133 func (fps *Invitation_FieldSubPath) WithIArrayOfValues(values interface{}) Invitation_FieldPathArrayOfValues { 1134 return &Invitation_FieldSubPathArrayOfValues{fps, fps.subPath.WithRawIArrayOfValues(values)} 1135 } 1136 1137 func (fps *Invitation_FieldSubPath) WithRawIArrayOfValues(values interface{}) gotenobject.FieldPathArrayOfValues { 1138 return fps.WithIArrayOfValues(values) 1139 } 1140 1141 func (fps *Invitation_FieldSubPath) WithIArrayItemValue(value interface{}) Invitation_FieldPathArrayItemValue { 1142 return &Invitation_FieldSubPathArrayItemValue{fps, fps.subPath.WithRawIArrayItemValue(value)} 1143 } 1144 1145 func (fps *Invitation_FieldSubPath) WithRawIArrayItemValue(value interface{}) gotenobject.FieldPathArrayItemValue { 1146 return fps.WithIArrayItemValue(value) 1147 } 1148 1149 // Invitation_FieldPathValue allows storing values for Invitation fields according to their type 1150 type Invitation_FieldPathValue interface { 1151 Invitation_FieldPath 1152 gotenobject.FieldPathValue 1153 SetTo(target **Invitation) 1154 CompareWith(*Invitation) (cmp int, comparable bool) 1155 } 1156 1157 func ParseInvitation_FieldPathValue(pathStr, valueStr string) (Invitation_FieldPathValue, error) { 1158 fp, err := ParseInvitation_FieldPath(pathStr) 1159 if err != nil { 1160 return nil, err 1161 } 1162 fpv, err := gotenobject.ParseFieldPathValue(fp, valueStr) 1163 if err != nil { 1164 return nil, status.Errorf(codes.InvalidArgument, "error parsing Invitation field path value from %s: %v", valueStr, err) 1165 } 1166 return fpv.(Invitation_FieldPathValue), nil 1167 } 1168 1169 func MustParseInvitation_FieldPathValue(pathStr, valueStr string) Invitation_FieldPathValue { 1170 fpv, err := ParseInvitation_FieldPathValue(pathStr, valueStr) 1171 if err != nil { 1172 panic(err) 1173 } 1174 return fpv 1175 } 1176 1177 type Invitation_FieldTerminalPathValue struct { 1178 Invitation_FieldTerminalPath 1179 value interface{} 1180 } 1181 1182 var _ Invitation_FieldPathValue = (*Invitation_FieldTerminalPathValue)(nil) 1183 1184 // GetRawValue returns raw value stored under selected path for 'Invitation' as interface{} 1185 func (fpv *Invitation_FieldTerminalPathValue) GetRawValue() interface{} { 1186 return fpv.value 1187 } 1188 func (fpv *Invitation_FieldTerminalPathValue) AsInviteeEmailValue() (string, bool) { 1189 res, ok := fpv.value.(string) 1190 return res, ok 1191 } 1192 func (fpv *Invitation_FieldTerminalPathValue) AsInviterActorValue() (*Actor, bool) { 1193 res, ok := fpv.value.(*Actor) 1194 return res, ok 1195 } 1196 func (fpv *Invitation_FieldTerminalPathValue) AsInviterFullNameValue() (string, bool) { 1197 res, ok := fpv.value.(string) 1198 return res, ok 1199 } 1200 func (fpv *Invitation_FieldTerminalPathValue) AsInviterEmailValue() (string, bool) { 1201 res, ok := fpv.value.(string) 1202 return res, ok 1203 } 1204 func (fpv *Invitation_FieldTerminalPathValue) AsLanguageCodeValue() (string, bool) { 1205 res, ok := fpv.value.(string) 1206 return res, ok 1207 } 1208 func (fpv *Invitation_FieldTerminalPathValue) AsBindingRolesValue() ([]*Invitation_BindingRole, bool) { 1209 res, ok := fpv.value.([]*Invitation_BindingRole) 1210 return res, ok 1211 } 1212 func (fpv *Invitation_FieldTerminalPathValue) AsGroupsValue() ([]*group.Reference, bool) { 1213 res, ok := fpv.value.([]*group.Reference) 1214 return res, ok 1215 } 1216 func (fpv *Invitation_FieldTerminalPathValue) AsExpirationDateValue() (*timestamppb.Timestamp, bool) { 1217 res, ok := fpv.value.(*timestamppb.Timestamp) 1218 return res, ok 1219 } 1220 func (fpv *Invitation_FieldTerminalPathValue) AsExtrasValue() (map[string]string, bool) { 1221 res, ok := fpv.value.(map[string]string) 1222 return res, ok 1223 } 1224 func (fpv *Invitation_FieldTerminalPathValue) AsStateValue() (Invitation_State, bool) { 1225 res, ok := fpv.value.(Invitation_State) 1226 return res, ok 1227 } 1228 1229 // SetTo stores value for selected field for object Invitation 1230 func (fpv *Invitation_FieldTerminalPathValue) SetTo(target **Invitation) { 1231 if *target == nil { 1232 *target = new(Invitation) 1233 } 1234 switch fpv.selector { 1235 case Invitation_FieldPathSelectorInviteeEmail: 1236 (*target).InviteeEmail = fpv.value.(string) 1237 case Invitation_FieldPathSelectorInviterActor: 1238 (*target).InviterActor = fpv.value.(*Actor) 1239 case Invitation_FieldPathSelectorInviterFullName: 1240 (*target).InviterFullName = fpv.value.(string) 1241 case Invitation_FieldPathSelectorInviterEmail: 1242 (*target).InviterEmail = fpv.value.(string) 1243 case Invitation_FieldPathSelectorLanguageCode: 1244 (*target).LanguageCode = fpv.value.(string) 1245 case Invitation_FieldPathSelectorBindingRoles: 1246 (*target).BindingRoles = fpv.value.([]*Invitation_BindingRole) 1247 case Invitation_FieldPathSelectorGroups: 1248 (*target).Groups = fpv.value.([]*group.Reference) 1249 case Invitation_FieldPathSelectorExpirationDate: 1250 (*target).ExpirationDate = fpv.value.(*timestamppb.Timestamp) 1251 case Invitation_FieldPathSelectorExtras: 1252 (*target).Extras = fpv.value.(map[string]string) 1253 case Invitation_FieldPathSelectorState: 1254 (*target).State = fpv.value.(Invitation_State) 1255 default: 1256 panic(fmt.Sprintf("Invalid selector for Invitation: %d", fpv.selector)) 1257 } 1258 } 1259 1260 func (fpv *Invitation_FieldTerminalPathValue) SetToRaw(target proto.Message) { 1261 typedObject := target.(*Invitation) 1262 fpv.SetTo(&typedObject) 1263 } 1264 1265 // CompareWith compares value in the 'Invitation_FieldTerminalPathValue' with the value under path in 'Invitation'. 1266 func (fpv *Invitation_FieldTerminalPathValue) CompareWith(source *Invitation) (int, bool) { 1267 switch fpv.selector { 1268 case Invitation_FieldPathSelectorInviteeEmail: 1269 leftValue := fpv.value.(string) 1270 rightValue := source.GetInviteeEmail() 1271 if (leftValue) == (rightValue) { 1272 return 0, true 1273 } else if (leftValue) < (rightValue) { 1274 return -1, true 1275 } else { 1276 return 1, true 1277 } 1278 case Invitation_FieldPathSelectorInviterActor: 1279 return 0, false 1280 case Invitation_FieldPathSelectorInviterFullName: 1281 leftValue := fpv.value.(string) 1282 rightValue := source.GetInviterFullName() 1283 if (leftValue) == (rightValue) { 1284 return 0, true 1285 } else if (leftValue) < (rightValue) { 1286 return -1, true 1287 } else { 1288 return 1, true 1289 } 1290 case Invitation_FieldPathSelectorInviterEmail: 1291 leftValue := fpv.value.(string) 1292 rightValue := source.GetInviterEmail() 1293 if (leftValue) == (rightValue) { 1294 return 0, true 1295 } else if (leftValue) < (rightValue) { 1296 return -1, true 1297 } else { 1298 return 1, true 1299 } 1300 case Invitation_FieldPathSelectorLanguageCode: 1301 leftValue := fpv.value.(string) 1302 rightValue := source.GetLanguageCode() 1303 if (leftValue) == (rightValue) { 1304 return 0, true 1305 } else if (leftValue) < (rightValue) { 1306 return -1, true 1307 } else { 1308 return 1, true 1309 } 1310 case Invitation_FieldPathSelectorBindingRoles: 1311 return 0, false 1312 case Invitation_FieldPathSelectorGroups: 1313 return 0, false 1314 case Invitation_FieldPathSelectorExpirationDate: 1315 leftValue := fpv.value.(*timestamppb.Timestamp) 1316 rightValue := source.GetExpirationDate() 1317 if leftValue == nil { 1318 if rightValue != nil { 1319 return -1, true 1320 } 1321 return 0, true 1322 } 1323 if rightValue == nil { 1324 return 1, true 1325 } 1326 if leftValue.AsTime().Equal(rightValue.AsTime()) { 1327 return 0, true 1328 } else if leftValue.AsTime().Before(rightValue.AsTime()) { 1329 return -1, true 1330 } else { 1331 return 1, true 1332 } 1333 case Invitation_FieldPathSelectorExtras: 1334 return 0, false 1335 case Invitation_FieldPathSelectorState: 1336 leftValue := fpv.value.(Invitation_State) 1337 rightValue := source.GetState() 1338 if (leftValue) == (rightValue) { 1339 return 0, true 1340 } else if (leftValue) < (rightValue) { 1341 return -1, true 1342 } else { 1343 return 1, true 1344 } 1345 default: 1346 panic(fmt.Sprintf("Invalid selector for Invitation: %d", fpv.selector)) 1347 } 1348 } 1349 1350 func (fpv *Invitation_FieldTerminalPathValue) CompareWithRaw(source proto.Message) (int, bool) { 1351 return fpv.CompareWith(source.(*Invitation)) 1352 } 1353 1354 type Invitation_FieldPathMapValue struct { 1355 Invitation_FieldPathMap 1356 value interface{} 1357 } 1358 1359 var _ Invitation_FieldPathValue = (*Invitation_FieldPathMapValue)(nil) 1360 1361 // GetValue returns value stored under selected field in Invitation as interface{} 1362 func (fpmv *Invitation_FieldPathMapValue) GetRawValue() interface{} { 1363 return fpmv.value 1364 } 1365 func (fpmv *Invitation_FieldPathMapValue) AsExtrasElementValue() (string, bool) { 1366 res, ok := fpmv.value.(string) 1367 return res, ok 1368 } 1369 1370 // SetTo stores value for selected field in Invitation 1371 func (fpmv *Invitation_FieldPathMapValue) SetTo(target **Invitation) { 1372 if *target == nil { 1373 *target = new(Invitation) 1374 } 1375 switch fpmv.selector { 1376 case Invitation_FieldPathSelectorExtras: 1377 if (*target).Extras == nil { 1378 (*target).Extras = make(map[string]string) 1379 } 1380 (*target).Extras[fpmv.key] = fpmv.value.(string) 1381 default: 1382 panic(fmt.Sprintf("Invalid selector for Invitation: %d", fpmv.selector)) 1383 } 1384 } 1385 1386 func (fpmv *Invitation_FieldPathMapValue) SetToRaw(target proto.Message) { 1387 typedObject := target.(*Invitation) 1388 fpmv.SetTo(&typedObject) 1389 } 1390 1391 // CompareWith compares value in the 'Invitation_FieldPathMapValue' with the value under path in 'Invitation'. 1392 func (fpmv *Invitation_FieldPathMapValue) CompareWith(source *Invitation) (int, bool) { 1393 switch fpmv.selector { 1394 case Invitation_FieldPathSelectorExtras: 1395 leftValue := fpmv.value.(string) 1396 rightValue := source.GetExtras()[fpmv.key] 1397 if (leftValue) == (rightValue) { 1398 return 0, true 1399 } else if (leftValue) < (rightValue) { 1400 return -1, true 1401 } else { 1402 return 1, true 1403 } 1404 default: 1405 panic(fmt.Sprintf("Invalid selector for Invitation: %d", fpmv.selector)) 1406 } 1407 } 1408 1409 func (fpmv *Invitation_FieldPathMapValue) CompareWithRaw(source proto.Message) (int, bool) { 1410 return fpmv.CompareWith(source.(*Invitation)) 1411 } 1412 1413 type Invitation_FieldSubPathValue struct { 1414 Invitation_FieldPath 1415 subPathValue gotenobject.FieldPathValue 1416 } 1417 1418 var _ Invitation_FieldPathValue = (*Invitation_FieldSubPathValue)(nil) 1419 1420 func (fpvs *Invitation_FieldSubPathValue) AsInviterActorPathValue() (Actor_FieldPathValue, bool) { 1421 res, ok := fpvs.subPathValue.(Actor_FieldPathValue) 1422 return res, ok 1423 } 1424 func (fpvs *Invitation_FieldSubPathValue) AsBindingRolesPathValue() (InvitationBindingRole_FieldPathValue, bool) { 1425 res, ok := fpvs.subPathValue.(InvitationBindingRole_FieldPathValue) 1426 return res, ok 1427 } 1428 1429 func (fpvs *Invitation_FieldSubPathValue) SetTo(target **Invitation) { 1430 if *target == nil { 1431 *target = new(Invitation) 1432 } 1433 switch fpvs.Selector() { 1434 case Invitation_FieldPathSelectorInviterActor: 1435 fpvs.subPathValue.(Actor_FieldPathValue).SetTo(&(*target).InviterActor) 1436 case Invitation_FieldPathSelectorBindingRoles: 1437 panic("FieldPath setter is unsupported for array subpaths") 1438 default: 1439 panic(fmt.Sprintf("Invalid selector for Invitation: %d", fpvs.Selector())) 1440 } 1441 } 1442 1443 func (fpvs *Invitation_FieldSubPathValue) SetToRaw(target proto.Message) { 1444 typedObject := target.(*Invitation) 1445 fpvs.SetTo(&typedObject) 1446 } 1447 1448 func (fpvs *Invitation_FieldSubPathValue) GetRawValue() interface{} { 1449 return fpvs.subPathValue.GetRawValue() 1450 } 1451 1452 func (fpvs *Invitation_FieldSubPathValue) CompareWith(source *Invitation) (int, bool) { 1453 switch fpvs.Selector() { 1454 case Invitation_FieldPathSelectorInviterActor: 1455 return fpvs.subPathValue.(Actor_FieldPathValue).CompareWith(source.GetInviterActor()) 1456 case Invitation_FieldPathSelectorBindingRoles: 1457 return 0, false // repeated field 1458 default: 1459 panic(fmt.Sprintf("Invalid selector for Invitation: %d", fpvs.Selector())) 1460 } 1461 } 1462 1463 func (fpvs *Invitation_FieldSubPathValue) CompareWithRaw(source proto.Message) (int, bool) { 1464 return fpvs.CompareWith(source.(*Invitation)) 1465 } 1466 1467 // Invitation_FieldPathArrayItemValue allows storing single item in Path-specific values for Invitation according to their type 1468 // Present only for array (repeated) types. 1469 type Invitation_FieldPathArrayItemValue interface { 1470 gotenobject.FieldPathArrayItemValue 1471 Invitation_FieldPath 1472 ContainsValue(*Invitation) bool 1473 } 1474 1475 // ParseInvitation_FieldPathArrayItemValue parses string and JSON-encoded value to its Value 1476 func ParseInvitation_FieldPathArrayItemValue(pathStr, valueStr string) (Invitation_FieldPathArrayItemValue, error) { 1477 fp, err := ParseInvitation_FieldPath(pathStr) 1478 if err != nil { 1479 return nil, err 1480 } 1481 fpaiv, err := gotenobject.ParseFieldPathArrayItemValue(fp, valueStr) 1482 if err != nil { 1483 return nil, status.Errorf(codes.InvalidArgument, "error parsing Invitation field path array item value from %s: %v", valueStr, err) 1484 } 1485 return fpaiv.(Invitation_FieldPathArrayItemValue), nil 1486 } 1487 1488 func MustParseInvitation_FieldPathArrayItemValue(pathStr, valueStr string) Invitation_FieldPathArrayItemValue { 1489 fpaiv, err := ParseInvitation_FieldPathArrayItemValue(pathStr, valueStr) 1490 if err != nil { 1491 panic(err) 1492 } 1493 return fpaiv 1494 } 1495 1496 type Invitation_FieldTerminalPathArrayItemValue struct { 1497 Invitation_FieldTerminalPath 1498 value interface{} 1499 } 1500 1501 var _ Invitation_FieldPathArrayItemValue = (*Invitation_FieldTerminalPathArrayItemValue)(nil) 1502 1503 // GetRawValue returns stored element value for array in object Invitation as interface{} 1504 func (fpaiv *Invitation_FieldTerminalPathArrayItemValue) GetRawItemValue() interface{} { 1505 return fpaiv.value 1506 } 1507 func (fpaiv *Invitation_FieldTerminalPathArrayItemValue) AsBindingRolesItemValue() (*Invitation_BindingRole, bool) { 1508 res, ok := fpaiv.value.(*Invitation_BindingRole) 1509 return res, ok 1510 } 1511 func (fpaiv *Invitation_FieldTerminalPathArrayItemValue) AsGroupsItemValue() (*group.Reference, bool) { 1512 res, ok := fpaiv.value.(*group.Reference) 1513 return res, ok 1514 } 1515 1516 func (fpaiv *Invitation_FieldTerminalPathArrayItemValue) GetSingle(source *Invitation) (interface{}, bool) { 1517 return nil, false 1518 } 1519 1520 func (fpaiv *Invitation_FieldTerminalPathArrayItemValue) GetSingleRaw(source proto.Message) (interface{}, bool) { 1521 return fpaiv.GetSingle(source.(*Invitation)) 1522 } 1523 1524 // Contains returns a boolean indicating if value that is being held is present in given 'Invitation' 1525 func (fpaiv *Invitation_FieldTerminalPathArrayItemValue) ContainsValue(source *Invitation) bool { 1526 slice := fpaiv.Invitation_FieldTerminalPath.Get(source) 1527 for _, v := range slice { 1528 if asProtoMsg, ok := fpaiv.value.(proto.Message); ok { 1529 if proto.Equal(asProtoMsg, v.(proto.Message)) { 1530 return true 1531 } 1532 } else if reflect.DeepEqual(v, fpaiv.value) { 1533 return true 1534 } 1535 } 1536 return false 1537 } 1538 1539 type Invitation_FieldSubPathArrayItemValue struct { 1540 Invitation_FieldPath 1541 subPathItemValue gotenobject.FieldPathArrayItemValue 1542 } 1543 1544 // GetRawValue returns stored array item value 1545 func (fpaivs *Invitation_FieldSubPathArrayItemValue) GetRawItemValue() interface{} { 1546 return fpaivs.subPathItemValue.GetRawItemValue() 1547 } 1548 func (fpaivs *Invitation_FieldSubPathArrayItemValue) AsInviterActorPathItemValue() (Actor_FieldPathArrayItemValue, bool) { 1549 res, ok := fpaivs.subPathItemValue.(Actor_FieldPathArrayItemValue) 1550 return res, ok 1551 } 1552 func (fpaivs *Invitation_FieldSubPathArrayItemValue) AsBindingRolesPathItemValue() (InvitationBindingRole_FieldPathArrayItemValue, bool) { 1553 res, ok := fpaivs.subPathItemValue.(InvitationBindingRole_FieldPathArrayItemValue) 1554 return res, ok 1555 } 1556 1557 // Contains returns a boolean indicating if value that is being held is present in given 'Invitation' 1558 func (fpaivs *Invitation_FieldSubPathArrayItemValue) ContainsValue(source *Invitation) bool { 1559 switch fpaivs.Selector() { 1560 case Invitation_FieldPathSelectorInviterActor: 1561 return fpaivs.subPathItemValue.(Actor_FieldPathArrayItemValue).ContainsValue(source.GetInviterActor()) 1562 case Invitation_FieldPathSelectorBindingRoles: 1563 return false // repeated/map field 1564 default: 1565 panic(fmt.Sprintf("Invalid selector for Invitation: %d", fpaivs.Selector())) 1566 } 1567 } 1568 1569 // Invitation_FieldPathArrayOfValues allows storing slice of values for Invitation fields according to their type 1570 type Invitation_FieldPathArrayOfValues interface { 1571 gotenobject.FieldPathArrayOfValues 1572 Invitation_FieldPath 1573 } 1574 1575 func ParseInvitation_FieldPathArrayOfValues(pathStr, valuesStr string) (Invitation_FieldPathArrayOfValues, error) { 1576 fp, err := ParseInvitation_FieldPath(pathStr) 1577 if err != nil { 1578 return nil, err 1579 } 1580 fpaov, err := gotenobject.ParseFieldPathArrayOfValues(fp, valuesStr) 1581 if err != nil { 1582 return nil, status.Errorf(codes.InvalidArgument, "error parsing Invitation field path array of values from %s: %v", valuesStr, err) 1583 } 1584 return fpaov.(Invitation_FieldPathArrayOfValues), nil 1585 } 1586 1587 func MustParseInvitation_FieldPathArrayOfValues(pathStr, valuesStr string) Invitation_FieldPathArrayOfValues { 1588 fpaov, err := ParseInvitation_FieldPathArrayOfValues(pathStr, valuesStr) 1589 if err != nil { 1590 panic(err) 1591 } 1592 return fpaov 1593 } 1594 1595 type Invitation_FieldTerminalPathArrayOfValues struct { 1596 Invitation_FieldTerminalPath 1597 values interface{} 1598 } 1599 1600 var _ Invitation_FieldPathArrayOfValues = (*Invitation_FieldTerminalPathArrayOfValues)(nil) 1601 1602 func (fpaov *Invitation_FieldTerminalPathArrayOfValues) GetRawValues() (values []interface{}) { 1603 switch fpaov.selector { 1604 case Invitation_FieldPathSelectorInviteeEmail: 1605 for _, v := range fpaov.values.([]string) { 1606 values = append(values, v) 1607 } 1608 case Invitation_FieldPathSelectorInviterActor: 1609 for _, v := range fpaov.values.([]*Actor) { 1610 values = append(values, v) 1611 } 1612 case Invitation_FieldPathSelectorInviterFullName: 1613 for _, v := range fpaov.values.([]string) { 1614 values = append(values, v) 1615 } 1616 case Invitation_FieldPathSelectorInviterEmail: 1617 for _, v := range fpaov.values.([]string) { 1618 values = append(values, v) 1619 } 1620 case Invitation_FieldPathSelectorLanguageCode: 1621 for _, v := range fpaov.values.([]string) { 1622 values = append(values, v) 1623 } 1624 case Invitation_FieldPathSelectorBindingRoles: 1625 for _, v := range fpaov.values.([][]*Invitation_BindingRole) { 1626 values = append(values, v) 1627 } 1628 case Invitation_FieldPathSelectorGroups: 1629 for _, v := range fpaov.values.([][]*group.Reference) { 1630 values = append(values, v) 1631 } 1632 case Invitation_FieldPathSelectorExpirationDate: 1633 for _, v := range fpaov.values.([]*timestamppb.Timestamp) { 1634 values = append(values, v) 1635 } 1636 case Invitation_FieldPathSelectorExtras: 1637 for _, v := range fpaov.values.([]map[string]string) { 1638 values = append(values, v) 1639 } 1640 case Invitation_FieldPathSelectorState: 1641 for _, v := range fpaov.values.([]Invitation_State) { 1642 values = append(values, v) 1643 } 1644 } 1645 return 1646 } 1647 func (fpaov *Invitation_FieldTerminalPathArrayOfValues) AsInviteeEmailArrayOfValues() ([]string, bool) { 1648 res, ok := fpaov.values.([]string) 1649 return res, ok 1650 } 1651 func (fpaov *Invitation_FieldTerminalPathArrayOfValues) AsInviterActorArrayOfValues() ([]*Actor, bool) { 1652 res, ok := fpaov.values.([]*Actor) 1653 return res, ok 1654 } 1655 func (fpaov *Invitation_FieldTerminalPathArrayOfValues) AsInviterFullNameArrayOfValues() ([]string, bool) { 1656 res, ok := fpaov.values.([]string) 1657 return res, ok 1658 } 1659 func (fpaov *Invitation_FieldTerminalPathArrayOfValues) AsInviterEmailArrayOfValues() ([]string, bool) { 1660 res, ok := fpaov.values.([]string) 1661 return res, ok 1662 } 1663 func (fpaov *Invitation_FieldTerminalPathArrayOfValues) AsLanguageCodeArrayOfValues() ([]string, bool) { 1664 res, ok := fpaov.values.([]string) 1665 return res, ok 1666 } 1667 func (fpaov *Invitation_FieldTerminalPathArrayOfValues) AsBindingRolesArrayOfValues() ([][]*Invitation_BindingRole, bool) { 1668 res, ok := fpaov.values.([][]*Invitation_BindingRole) 1669 return res, ok 1670 } 1671 func (fpaov *Invitation_FieldTerminalPathArrayOfValues) AsGroupsArrayOfValues() ([][]*group.Reference, bool) { 1672 res, ok := fpaov.values.([][]*group.Reference) 1673 return res, ok 1674 } 1675 func (fpaov *Invitation_FieldTerminalPathArrayOfValues) AsExpirationDateArrayOfValues() ([]*timestamppb.Timestamp, bool) { 1676 res, ok := fpaov.values.([]*timestamppb.Timestamp) 1677 return res, ok 1678 } 1679 func (fpaov *Invitation_FieldTerminalPathArrayOfValues) AsExtrasArrayOfValues() ([]map[string]string, bool) { 1680 res, ok := fpaov.values.([]map[string]string) 1681 return res, ok 1682 } 1683 func (fpaov *Invitation_FieldTerminalPathArrayOfValues) AsStateArrayOfValues() ([]Invitation_State, bool) { 1684 res, ok := fpaov.values.([]Invitation_State) 1685 return res, ok 1686 } 1687 1688 type Invitation_FieldPathMapArrayOfValues struct { 1689 Invitation_FieldPathMap 1690 values interface{} 1691 } 1692 1693 var _ Invitation_FieldPathArrayOfValues = (*Invitation_FieldPathMapArrayOfValues)(nil) 1694 1695 func (fpmaov *Invitation_FieldPathMapArrayOfValues) GetRawValues() (values []interface{}) { 1696 switch fpmaov.selector { 1697 case Invitation_FieldPathSelectorExtras: 1698 for _, v := range fpmaov.values.([]string) { 1699 values = append(values, v) 1700 } 1701 } 1702 return 1703 } 1704 func (fpmaov *Invitation_FieldPathMapArrayOfValues) AsExtrasArrayOfElementValues() ([]string, bool) { 1705 res, ok := fpmaov.values.([]string) 1706 return res, ok 1707 } 1708 1709 type Invitation_FieldSubPathArrayOfValues struct { 1710 Invitation_FieldPath 1711 subPathArrayOfValues gotenobject.FieldPathArrayOfValues 1712 } 1713 1714 var _ Invitation_FieldPathArrayOfValues = (*Invitation_FieldSubPathArrayOfValues)(nil) 1715 1716 func (fpsaov *Invitation_FieldSubPathArrayOfValues) GetRawValues() []interface{} { 1717 return fpsaov.subPathArrayOfValues.GetRawValues() 1718 } 1719 func (fpsaov *Invitation_FieldSubPathArrayOfValues) AsInviterActorPathArrayOfValues() (Actor_FieldPathArrayOfValues, bool) { 1720 res, ok := fpsaov.subPathArrayOfValues.(Actor_FieldPathArrayOfValues) 1721 return res, ok 1722 } 1723 func (fpsaov *Invitation_FieldSubPathArrayOfValues) AsBindingRolesPathArrayOfValues() (InvitationBindingRole_FieldPathArrayOfValues, bool) { 1724 res, ok := fpsaov.subPathArrayOfValues.(InvitationBindingRole_FieldPathArrayOfValues) 1725 return res, ok 1726 } 1727 1728 // FieldPath provides implementation to handle 1729 // https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/field_mask.proto 1730 type InvitationBindingRole_FieldPath interface { 1731 gotenobject.FieldPath 1732 Selector() InvitationBindingRole_FieldPathSelector 1733 Get(source *Invitation_BindingRole) []interface{} 1734 GetSingle(source *Invitation_BindingRole) (interface{}, bool) 1735 ClearValue(item *Invitation_BindingRole) 1736 1737 // Those methods build corresponding InvitationBindingRole_FieldPathValue 1738 // (or array of values) and holds passed value. Panics if injected type is incorrect. 1739 WithIValue(value interface{}) InvitationBindingRole_FieldPathValue 1740 WithIArrayOfValues(values interface{}) InvitationBindingRole_FieldPathArrayOfValues 1741 WithIArrayItemValue(value interface{}) InvitationBindingRole_FieldPathArrayItemValue 1742 } 1743 1744 type InvitationBindingRole_FieldPathSelector int32 1745 1746 const ( 1747 InvitationBindingRole_FieldPathSelectorRole InvitationBindingRole_FieldPathSelector = 0 1748 InvitationBindingRole_FieldPathSelectorExecutableConditions InvitationBindingRole_FieldPathSelector = 1 1749 InvitationBindingRole_FieldPathSelectorScopeParams InvitationBindingRole_FieldPathSelector = 2 1750 ) 1751 1752 func (s InvitationBindingRole_FieldPathSelector) String() string { 1753 switch s { 1754 case InvitationBindingRole_FieldPathSelectorRole: 1755 return "role" 1756 case InvitationBindingRole_FieldPathSelectorExecutableConditions: 1757 return "executable_conditions" 1758 case InvitationBindingRole_FieldPathSelectorScopeParams: 1759 return "scope_params" 1760 default: 1761 panic(fmt.Sprintf("Invalid selector for Invitation_BindingRole: %d", s)) 1762 } 1763 } 1764 1765 func BuildInvitationBindingRole_FieldPath(fp gotenobject.RawFieldPath) (InvitationBindingRole_FieldPath, error) { 1766 if len(fp) == 0 { 1767 return nil, status.Error(codes.InvalidArgument, "empty field path for object Invitation_BindingRole") 1768 } 1769 if len(fp) == 1 { 1770 switch fp[0] { 1771 case "role": 1772 return &InvitationBindingRole_FieldTerminalPath{selector: InvitationBindingRole_FieldPathSelectorRole}, nil 1773 case "executable_conditions", "executableConditions", "executable-conditions": 1774 return &InvitationBindingRole_FieldTerminalPath{selector: InvitationBindingRole_FieldPathSelectorExecutableConditions}, nil 1775 case "scope_params", "scopeParams", "scope-params": 1776 return &InvitationBindingRole_FieldTerminalPath{selector: InvitationBindingRole_FieldPathSelectorScopeParams}, nil 1777 } 1778 } else { 1779 switch fp[0] { 1780 case "executable_conditions", "executableConditions", "executable-conditions": 1781 if subpath, err := condition.BuildExecutableCondition_FieldPath(fp[1:]); err != nil { 1782 return nil, err 1783 } else { 1784 return &InvitationBindingRole_FieldSubPath{selector: InvitationBindingRole_FieldPathSelectorExecutableConditions, subPath: subpath}, nil 1785 } 1786 case "scope_params", "scopeParams", "scope-params": 1787 if subpath, err := role.BuildScopeParam_FieldPath(fp[1:]); err != nil { 1788 return nil, err 1789 } else { 1790 return &InvitationBindingRole_FieldSubPath{selector: InvitationBindingRole_FieldPathSelectorScopeParams, subPath: subpath}, nil 1791 } 1792 } 1793 } 1794 return nil, status.Errorf(codes.InvalidArgument, "unknown field path '%s' for object Invitation_BindingRole", fp) 1795 } 1796 1797 func ParseInvitationBindingRole_FieldPath(rawField string) (InvitationBindingRole_FieldPath, error) { 1798 fp, err := gotenobject.ParseRawFieldPath(rawField) 1799 if err != nil { 1800 return nil, err 1801 } 1802 return BuildInvitationBindingRole_FieldPath(fp) 1803 } 1804 1805 func MustParseInvitationBindingRole_FieldPath(rawField string) InvitationBindingRole_FieldPath { 1806 fp, err := ParseInvitationBindingRole_FieldPath(rawField) 1807 if err != nil { 1808 panic(err) 1809 } 1810 return fp 1811 } 1812 1813 type InvitationBindingRole_FieldTerminalPath struct { 1814 selector InvitationBindingRole_FieldPathSelector 1815 } 1816 1817 var _ InvitationBindingRole_FieldPath = (*InvitationBindingRole_FieldTerminalPath)(nil) 1818 1819 func (fp *InvitationBindingRole_FieldTerminalPath) Selector() InvitationBindingRole_FieldPathSelector { 1820 return fp.selector 1821 } 1822 1823 // String returns path representation in proto convention 1824 func (fp *InvitationBindingRole_FieldTerminalPath) String() string { 1825 return fp.selector.String() 1826 } 1827 1828 // JSONString returns path representation is JSON convention 1829 func (fp *InvitationBindingRole_FieldTerminalPath) JSONString() string { 1830 return strcase.ToLowerCamel(fp.String()) 1831 } 1832 1833 // Get returns all values pointed by specific field from source Invitation_BindingRole 1834 func (fp *InvitationBindingRole_FieldTerminalPath) Get(source *Invitation_BindingRole) (values []interface{}) { 1835 if source != nil { 1836 switch fp.selector { 1837 case InvitationBindingRole_FieldPathSelectorRole: 1838 if source.Role != nil { 1839 values = append(values, source.Role) 1840 } 1841 case InvitationBindingRole_FieldPathSelectorExecutableConditions: 1842 for _, value := range source.GetExecutableConditions() { 1843 values = append(values, value) 1844 } 1845 case InvitationBindingRole_FieldPathSelectorScopeParams: 1846 for _, value := range source.GetScopeParams() { 1847 values = append(values, value) 1848 } 1849 default: 1850 panic(fmt.Sprintf("Invalid selector for Invitation_BindingRole: %d", fp.selector)) 1851 } 1852 } 1853 return 1854 } 1855 1856 func (fp *InvitationBindingRole_FieldTerminalPath) GetRaw(source proto.Message) []interface{} { 1857 return fp.Get(source.(*Invitation_BindingRole)) 1858 } 1859 1860 // GetSingle returns value pointed by specific field of from source Invitation_BindingRole 1861 func (fp *InvitationBindingRole_FieldTerminalPath) GetSingle(source *Invitation_BindingRole) (interface{}, bool) { 1862 switch fp.selector { 1863 case InvitationBindingRole_FieldPathSelectorRole: 1864 res := source.GetRole() 1865 return res, res != nil 1866 case InvitationBindingRole_FieldPathSelectorExecutableConditions: 1867 res := source.GetExecutableConditions() 1868 return res, res != nil 1869 case InvitationBindingRole_FieldPathSelectorScopeParams: 1870 res := source.GetScopeParams() 1871 return res, res != nil 1872 default: 1873 panic(fmt.Sprintf("Invalid selector for Invitation_BindingRole: %d", fp.selector)) 1874 } 1875 } 1876 1877 func (fp *InvitationBindingRole_FieldTerminalPath) GetSingleRaw(source proto.Message) (interface{}, bool) { 1878 return fp.GetSingle(source.(*Invitation_BindingRole)) 1879 } 1880 1881 // GetDefault returns a default value of the field type 1882 func (fp *InvitationBindingRole_FieldTerminalPath) GetDefault() interface{} { 1883 switch fp.selector { 1884 case InvitationBindingRole_FieldPathSelectorRole: 1885 return (*role.Reference)(nil) 1886 case InvitationBindingRole_FieldPathSelectorExecutableConditions: 1887 return ([]*condition.ExecutableCondition)(nil) 1888 case InvitationBindingRole_FieldPathSelectorScopeParams: 1889 return ([]*role.ScopeParam)(nil) 1890 default: 1891 panic(fmt.Sprintf("Invalid selector for Invitation_BindingRole: %d", fp.selector)) 1892 } 1893 } 1894 1895 func (fp *InvitationBindingRole_FieldTerminalPath) ClearValue(item *Invitation_BindingRole) { 1896 if item != nil { 1897 switch fp.selector { 1898 case InvitationBindingRole_FieldPathSelectorRole: 1899 item.Role = nil 1900 case InvitationBindingRole_FieldPathSelectorExecutableConditions: 1901 item.ExecutableConditions = nil 1902 case InvitationBindingRole_FieldPathSelectorScopeParams: 1903 item.ScopeParams = nil 1904 default: 1905 panic(fmt.Sprintf("Invalid selector for Invitation_BindingRole: %d", fp.selector)) 1906 } 1907 } 1908 } 1909 1910 func (fp *InvitationBindingRole_FieldTerminalPath) ClearValueRaw(item proto.Message) { 1911 fp.ClearValue(item.(*Invitation_BindingRole)) 1912 } 1913 1914 // IsLeaf - whether field path is holds simple value 1915 func (fp *InvitationBindingRole_FieldTerminalPath) IsLeaf() bool { 1916 return fp.selector == InvitationBindingRole_FieldPathSelectorRole 1917 } 1918 1919 func (fp *InvitationBindingRole_FieldTerminalPath) SplitIntoTerminalIPaths() []gotenobject.FieldPath { 1920 return []gotenobject.FieldPath{fp} 1921 } 1922 1923 func (fp *InvitationBindingRole_FieldTerminalPath) WithIValue(value interface{}) InvitationBindingRole_FieldPathValue { 1924 switch fp.selector { 1925 case InvitationBindingRole_FieldPathSelectorRole: 1926 return &InvitationBindingRole_FieldTerminalPathValue{InvitationBindingRole_FieldTerminalPath: *fp, value: value.(*role.Reference)} 1927 case InvitationBindingRole_FieldPathSelectorExecutableConditions: 1928 return &InvitationBindingRole_FieldTerminalPathValue{InvitationBindingRole_FieldTerminalPath: *fp, value: value.([]*condition.ExecutableCondition)} 1929 case InvitationBindingRole_FieldPathSelectorScopeParams: 1930 return &InvitationBindingRole_FieldTerminalPathValue{InvitationBindingRole_FieldTerminalPath: *fp, value: value.([]*role.ScopeParam)} 1931 default: 1932 panic(fmt.Sprintf("Invalid selector for Invitation_BindingRole: %d", fp.selector)) 1933 } 1934 } 1935 1936 func (fp *InvitationBindingRole_FieldTerminalPath) WithRawIValue(value interface{}) gotenobject.FieldPathValue { 1937 return fp.WithIValue(value) 1938 } 1939 1940 func (fp *InvitationBindingRole_FieldTerminalPath) WithIArrayOfValues(values interface{}) InvitationBindingRole_FieldPathArrayOfValues { 1941 fpaov := &InvitationBindingRole_FieldTerminalPathArrayOfValues{InvitationBindingRole_FieldTerminalPath: *fp} 1942 switch fp.selector { 1943 case InvitationBindingRole_FieldPathSelectorRole: 1944 return &InvitationBindingRole_FieldTerminalPathArrayOfValues{InvitationBindingRole_FieldTerminalPath: *fp, values: values.([]*role.Reference)} 1945 case InvitationBindingRole_FieldPathSelectorExecutableConditions: 1946 return &InvitationBindingRole_FieldTerminalPathArrayOfValues{InvitationBindingRole_FieldTerminalPath: *fp, values: values.([][]*condition.ExecutableCondition)} 1947 case InvitationBindingRole_FieldPathSelectorScopeParams: 1948 return &InvitationBindingRole_FieldTerminalPathArrayOfValues{InvitationBindingRole_FieldTerminalPath: *fp, values: values.([][]*role.ScopeParam)} 1949 default: 1950 panic(fmt.Sprintf("Invalid selector for Invitation_BindingRole: %d", fp.selector)) 1951 } 1952 return fpaov 1953 } 1954 1955 func (fp *InvitationBindingRole_FieldTerminalPath) WithRawIArrayOfValues(values interface{}) gotenobject.FieldPathArrayOfValues { 1956 return fp.WithIArrayOfValues(values) 1957 } 1958 1959 func (fp *InvitationBindingRole_FieldTerminalPath) WithIArrayItemValue(value interface{}) InvitationBindingRole_FieldPathArrayItemValue { 1960 switch fp.selector { 1961 case InvitationBindingRole_FieldPathSelectorExecutableConditions: 1962 return &InvitationBindingRole_FieldTerminalPathArrayItemValue{InvitationBindingRole_FieldTerminalPath: *fp, value: value.(*condition.ExecutableCondition)} 1963 case InvitationBindingRole_FieldPathSelectorScopeParams: 1964 return &InvitationBindingRole_FieldTerminalPathArrayItemValue{InvitationBindingRole_FieldTerminalPath: *fp, value: value.(*role.ScopeParam)} 1965 default: 1966 panic(fmt.Sprintf("Invalid selector for Invitation_BindingRole: %d", fp.selector)) 1967 } 1968 } 1969 1970 func (fp *InvitationBindingRole_FieldTerminalPath) WithRawIArrayItemValue(value interface{}) gotenobject.FieldPathArrayItemValue { 1971 return fp.WithIArrayItemValue(value) 1972 } 1973 1974 type InvitationBindingRole_FieldSubPath struct { 1975 selector InvitationBindingRole_FieldPathSelector 1976 subPath gotenobject.FieldPath 1977 } 1978 1979 var _ InvitationBindingRole_FieldPath = (*InvitationBindingRole_FieldSubPath)(nil) 1980 1981 func (fps *InvitationBindingRole_FieldSubPath) Selector() InvitationBindingRole_FieldPathSelector { 1982 return fps.selector 1983 } 1984 func (fps *InvitationBindingRole_FieldSubPath) AsExecutableConditionsSubPath() (condition.ExecutableCondition_FieldPath, bool) { 1985 res, ok := fps.subPath.(condition.ExecutableCondition_FieldPath) 1986 return res, ok 1987 } 1988 func (fps *InvitationBindingRole_FieldSubPath) AsScopeParamsSubPath() (role.ScopeParam_FieldPath, bool) { 1989 res, ok := fps.subPath.(role.ScopeParam_FieldPath) 1990 return res, ok 1991 } 1992 1993 // String returns path representation in proto convention 1994 func (fps *InvitationBindingRole_FieldSubPath) String() string { 1995 return fps.selector.String() + "." + fps.subPath.String() 1996 } 1997 1998 // JSONString returns path representation is JSON convention 1999 func (fps *InvitationBindingRole_FieldSubPath) JSONString() string { 2000 return strcase.ToLowerCamel(fps.selector.String()) + "." + fps.subPath.JSONString() 2001 } 2002 2003 // Get returns all values pointed by selected field from source Invitation_BindingRole 2004 func (fps *InvitationBindingRole_FieldSubPath) Get(source *Invitation_BindingRole) (values []interface{}) { 2005 switch fps.selector { 2006 case InvitationBindingRole_FieldPathSelectorExecutableConditions: 2007 for _, item := range source.GetExecutableConditions() { 2008 values = append(values, fps.subPath.GetRaw(item)...) 2009 } 2010 case InvitationBindingRole_FieldPathSelectorScopeParams: 2011 for _, item := range source.GetScopeParams() { 2012 values = append(values, fps.subPath.GetRaw(item)...) 2013 } 2014 default: 2015 panic(fmt.Sprintf("Invalid selector for Invitation_BindingRole: %d", fps.selector)) 2016 } 2017 return 2018 } 2019 2020 func (fps *InvitationBindingRole_FieldSubPath) GetRaw(source proto.Message) []interface{} { 2021 return fps.Get(source.(*Invitation_BindingRole)) 2022 } 2023 2024 // GetSingle returns value of selected field from source Invitation_BindingRole 2025 func (fps *InvitationBindingRole_FieldSubPath) GetSingle(source *Invitation_BindingRole) (interface{}, bool) { 2026 switch fps.selector { 2027 case InvitationBindingRole_FieldPathSelectorExecutableConditions: 2028 if len(source.GetExecutableConditions()) == 0 { 2029 return nil, false 2030 } 2031 return fps.subPath.GetSingleRaw(source.GetExecutableConditions()[0]) 2032 case InvitationBindingRole_FieldPathSelectorScopeParams: 2033 if len(source.GetScopeParams()) == 0 { 2034 return nil, false 2035 } 2036 return fps.subPath.GetSingleRaw(source.GetScopeParams()[0]) 2037 default: 2038 panic(fmt.Sprintf("Invalid selector for Invitation_BindingRole: %d", fps.selector)) 2039 } 2040 } 2041 2042 func (fps *InvitationBindingRole_FieldSubPath) GetSingleRaw(source proto.Message) (interface{}, bool) { 2043 return fps.GetSingle(source.(*Invitation_BindingRole)) 2044 } 2045 2046 // GetDefault returns a default value of the field type 2047 func (fps *InvitationBindingRole_FieldSubPath) GetDefault() interface{} { 2048 return fps.subPath.GetDefault() 2049 } 2050 2051 func (fps *InvitationBindingRole_FieldSubPath) ClearValue(item *Invitation_BindingRole) { 2052 if item != nil { 2053 switch fps.selector { 2054 case InvitationBindingRole_FieldPathSelectorExecutableConditions: 2055 for _, subItem := range item.ExecutableConditions { 2056 fps.subPath.ClearValueRaw(subItem) 2057 } 2058 case InvitationBindingRole_FieldPathSelectorScopeParams: 2059 for _, subItem := range item.ScopeParams { 2060 fps.subPath.ClearValueRaw(subItem) 2061 } 2062 default: 2063 panic(fmt.Sprintf("Invalid selector for Invitation_BindingRole: %d", fps.selector)) 2064 } 2065 } 2066 } 2067 2068 func (fps *InvitationBindingRole_FieldSubPath) ClearValueRaw(item proto.Message) { 2069 fps.ClearValue(item.(*Invitation_BindingRole)) 2070 } 2071 2072 // IsLeaf - whether field path is holds simple value 2073 func (fps *InvitationBindingRole_FieldSubPath) IsLeaf() bool { 2074 return fps.subPath.IsLeaf() 2075 } 2076 2077 func (fps *InvitationBindingRole_FieldSubPath) SplitIntoTerminalIPaths() []gotenobject.FieldPath { 2078 iPaths := []gotenobject.FieldPath{&InvitationBindingRole_FieldTerminalPath{selector: fps.selector}} 2079 iPaths = append(iPaths, fps.subPath.SplitIntoTerminalIPaths()...) 2080 return iPaths 2081 } 2082 2083 func (fps *InvitationBindingRole_FieldSubPath) WithIValue(value interface{}) InvitationBindingRole_FieldPathValue { 2084 return &InvitationBindingRole_FieldSubPathValue{fps, fps.subPath.WithRawIValue(value)} 2085 } 2086 2087 func (fps *InvitationBindingRole_FieldSubPath) WithRawIValue(value interface{}) gotenobject.FieldPathValue { 2088 return fps.WithIValue(value) 2089 } 2090 2091 func (fps *InvitationBindingRole_FieldSubPath) WithIArrayOfValues(values interface{}) InvitationBindingRole_FieldPathArrayOfValues { 2092 return &InvitationBindingRole_FieldSubPathArrayOfValues{fps, fps.subPath.WithRawIArrayOfValues(values)} 2093 } 2094 2095 func (fps *InvitationBindingRole_FieldSubPath) WithRawIArrayOfValues(values interface{}) gotenobject.FieldPathArrayOfValues { 2096 return fps.WithIArrayOfValues(values) 2097 } 2098 2099 func (fps *InvitationBindingRole_FieldSubPath) WithIArrayItemValue(value interface{}) InvitationBindingRole_FieldPathArrayItemValue { 2100 return &InvitationBindingRole_FieldSubPathArrayItemValue{fps, fps.subPath.WithRawIArrayItemValue(value)} 2101 } 2102 2103 func (fps *InvitationBindingRole_FieldSubPath) WithRawIArrayItemValue(value interface{}) gotenobject.FieldPathArrayItemValue { 2104 return fps.WithIArrayItemValue(value) 2105 } 2106 2107 // InvitationBindingRole_FieldPathValue allows storing values for BindingRole fields according to their type 2108 type InvitationBindingRole_FieldPathValue interface { 2109 InvitationBindingRole_FieldPath 2110 gotenobject.FieldPathValue 2111 SetTo(target **Invitation_BindingRole) 2112 CompareWith(*Invitation_BindingRole) (cmp int, comparable bool) 2113 } 2114 2115 func ParseInvitationBindingRole_FieldPathValue(pathStr, valueStr string) (InvitationBindingRole_FieldPathValue, error) { 2116 fp, err := ParseInvitationBindingRole_FieldPath(pathStr) 2117 if err != nil { 2118 return nil, err 2119 } 2120 fpv, err := gotenobject.ParseFieldPathValue(fp, valueStr) 2121 if err != nil { 2122 return nil, status.Errorf(codes.InvalidArgument, "error parsing BindingRole field path value from %s: %v", valueStr, err) 2123 } 2124 return fpv.(InvitationBindingRole_FieldPathValue), nil 2125 } 2126 2127 func MustParseInvitationBindingRole_FieldPathValue(pathStr, valueStr string) InvitationBindingRole_FieldPathValue { 2128 fpv, err := ParseInvitationBindingRole_FieldPathValue(pathStr, valueStr) 2129 if err != nil { 2130 panic(err) 2131 } 2132 return fpv 2133 } 2134 2135 type InvitationBindingRole_FieldTerminalPathValue struct { 2136 InvitationBindingRole_FieldTerminalPath 2137 value interface{} 2138 } 2139 2140 var _ InvitationBindingRole_FieldPathValue = (*InvitationBindingRole_FieldTerminalPathValue)(nil) 2141 2142 // GetRawValue returns raw value stored under selected path for 'BindingRole' as interface{} 2143 func (fpv *InvitationBindingRole_FieldTerminalPathValue) GetRawValue() interface{} { 2144 return fpv.value 2145 } 2146 func (fpv *InvitationBindingRole_FieldTerminalPathValue) AsRoleValue() (*role.Reference, bool) { 2147 res, ok := fpv.value.(*role.Reference) 2148 return res, ok 2149 } 2150 func (fpv *InvitationBindingRole_FieldTerminalPathValue) AsExecutableConditionsValue() ([]*condition.ExecutableCondition, bool) { 2151 res, ok := fpv.value.([]*condition.ExecutableCondition) 2152 return res, ok 2153 } 2154 func (fpv *InvitationBindingRole_FieldTerminalPathValue) AsScopeParamsValue() ([]*role.ScopeParam, bool) { 2155 res, ok := fpv.value.([]*role.ScopeParam) 2156 return res, ok 2157 } 2158 2159 // SetTo stores value for selected field for object BindingRole 2160 func (fpv *InvitationBindingRole_FieldTerminalPathValue) SetTo(target **Invitation_BindingRole) { 2161 if *target == nil { 2162 *target = new(Invitation_BindingRole) 2163 } 2164 switch fpv.selector { 2165 case InvitationBindingRole_FieldPathSelectorRole: 2166 (*target).Role = fpv.value.(*role.Reference) 2167 case InvitationBindingRole_FieldPathSelectorExecutableConditions: 2168 (*target).ExecutableConditions = fpv.value.([]*condition.ExecutableCondition) 2169 case InvitationBindingRole_FieldPathSelectorScopeParams: 2170 (*target).ScopeParams = fpv.value.([]*role.ScopeParam) 2171 default: 2172 panic(fmt.Sprintf("Invalid selector for Invitation_BindingRole: %d", fpv.selector)) 2173 } 2174 } 2175 2176 func (fpv *InvitationBindingRole_FieldTerminalPathValue) SetToRaw(target proto.Message) { 2177 typedObject := target.(*Invitation_BindingRole) 2178 fpv.SetTo(&typedObject) 2179 } 2180 2181 // CompareWith compares value in the 'InvitationBindingRole_FieldTerminalPathValue' with the value under path in 'Invitation_BindingRole'. 2182 func (fpv *InvitationBindingRole_FieldTerminalPathValue) CompareWith(source *Invitation_BindingRole) (int, bool) { 2183 switch fpv.selector { 2184 case InvitationBindingRole_FieldPathSelectorRole: 2185 leftValue := fpv.value.(*role.Reference) 2186 rightValue := source.GetRole() 2187 if leftValue == nil { 2188 if rightValue != nil { 2189 return -1, true 2190 } 2191 return 0, true 2192 } 2193 if rightValue == nil { 2194 return 1, true 2195 } 2196 if leftValue.String() == rightValue.String() { 2197 return 0, true 2198 } else if leftValue.String() < rightValue.String() { 2199 return -1, true 2200 } else { 2201 return 1, true 2202 } 2203 case InvitationBindingRole_FieldPathSelectorExecutableConditions: 2204 return 0, false 2205 case InvitationBindingRole_FieldPathSelectorScopeParams: 2206 return 0, false 2207 default: 2208 panic(fmt.Sprintf("Invalid selector for Invitation_BindingRole: %d", fpv.selector)) 2209 } 2210 } 2211 2212 func (fpv *InvitationBindingRole_FieldTerminalPathValue) CompareWithRaw(source proto.Message) (int, bool) { 2213 return fpv.CompareWith(source.(*Invitation_BindingRole)) 2214 } 2215 2216 type InvitationBindingRole_FieldSubPathValue struct { 2217 InvitationBindingRole_FieldPath 2218 subPathValue gotenobject.FieldPathValue 2219 } 2220 2221 var _ InvitationBindingRole_FieldPathValue = (*InvitationBindingRole_FieldSubPathValue)(nil) 2222 2223 func (fpvs *InvitationBindingRole_FieldSubPathValue) AsExecutableConditionsPathValue() (condition.ExecutableCondition_FieldPathValue, bool) { 2224 res, ok := fpvs.subPathValue.(condition.ExecutableCondition_FieldPathValue) 2225 return res, ok 2226 } 2227 func (fpvs *InvitationBindingRole_FieldSubPathValue) AsScopeParamsPathValue() (role.ScopeParam_FieldPathValue, bool) { 2228 res, ok := fpvs.subPathValue.(role.ScopeParam_FieldPathValue) 2229 return res, ok 2230 } 2231 2232 func (fpvs *InvitationBindingRole_FieldSubPathValue) SetTo(target **Invitation_BindingRole) { 2233 if *target == nil { 2234 *target = new(Invitation_BindingRole) 2235 } 2236 switch fpvs.Selector() { 2237 case InvitationBindingRole_FieldPathSelectorExecutableConditions: 2238 panic("FieldPath setter is unsupported for array subpaths") 2239 case InvitationBindingRole_FieldPathSelectorScopeParams: 2240 panic("FieldPath setter is unsupported for array subpaths") 2241 default: 2242 panic(fmt.Sprintf("Invalid selector for Invitation_BindingRole: %d", fpvs.Selector())) 2243 } 2244 } 2245 2246 func (fpvs *InvitationBindingRole_FieldSubPathValue) SetToRaw(target proto.Message) { 2247 typedObject := target.(*Invitation_BindingRole) 2248 fpvs.SetTo(&typedObject) 2249 } 2250 2251 func (fpvs *InvitationBindingRole_FieldSubPathValue) GetRawValue() interface{} { 2252 return fpvs.subPathValue.GetRawValue() 2253 } 2254 2255 func (fpvs *InvitationBindingRole_FieldSubPathValue) CompareWith(source *Invitation_BindingRole) (int, bool) { 2256 switch fpvs.Selector() { 2257 case InvitationBindingRole_FieldPathSelectorExecutableConditions: 2258 return 0, false // repeated field 2259 case InvitationBindingRole_FieldPathSelectorScopeParams: 2260 return 0, false // repeated field 2261 default: 2262 panic(fmt.Sprintf("Invalid selector for Invitation_BindingRole: %d", fpvs.Selector())) 2263 } 2264 } 2265 2266 func (fpvs *InvitationBindingRole_FieldSubPathValue) CompareWithRaw(source proto.Message) (int, bool) { 2267 return fpvs.CompareWith(source.(*Invitation_BindingRole)) 2268 } 2269 2270 // InvitationBindingRole_FieldPathArrayItemValue allows storing single item in Path-specific values for BindingRole according to their type 2271 // Present only for array (repeated) types. 2272 type InvitationBindingRole_FieldPathArrayItemValue interface { 2273 gotenobject.FieldPathArrayItemValue 2274 InvitationBindingRole_FieldPath 2275 ContainsValue(*Invitation_BindingRole) bool 2276 } 2277 2278 // ParseInvitationBindingRole_FieldPathArrayItemValue parses string and JSON-encoded value to its Value 2279 func ParseInvitationBindingRole_FieldPathArrayItemValue(pathStr, valueStr string) (InvitationBindingRole_FieldPathArrayItemValue, error) { 2280 fp, err := ParseInvitationBindingRole_FieldPath(pathStr) 2281 if err != nil { 2282 return nil, err 2283 } 2284 fpaiv, err := gotenobject.ParseFieldPathArrayItemValue(fp, valueStr) 2285 if err != nil { 2286 return nil, status.Errorf(codes.InvalidArgument, "error parsing BindingRole field path array item value from %s: %v", valueStr, err) 2287 } 2288 return fpaiv.(InvitationBindingRole_FieldPathArrayItemValue), nil 2289 } 2290 2291 func MustParseInvitationBindingRole_FieldPathArrayItemValue(pathStr, valueStr string) InvitationBindingRole_FieldPathArrayItemValue { 2292 fpaiv, err := ParseInvitationBindingRole_FieldPathArrayItemValue(pathStr, valueStr) 2293 if err != nil { 2294 panic(err) 2295 } 2296 return fpaiv 2297 } 2298 2299 type InvitationBindingRole_FieldTerminalPathArrayItemValue struct { 2300 InvitationBindingRole_FieldTerminalPath 2301 value interface{} 2302 } 2303 2304 var _ InvitationBindingRole_FieldPathArrayItemValue = (*InvitationBindingRole_FieldTerminalPathArrayItemValue)(nil) 2305 2306 // GetRawValue returns stored element value for array in object Invitation_BindingRole as interface{} 2307 func (fpaiv *InvitationBindingRole_FieldTerminalPathArrayItemValue) GetRawItemValue() interface{} { 2308 return fpaiv.value 2309 } 2310 func (fpaiv *InvitationBindingRole_FieldTerminalPathArrayItemValue) AsExecutableConditionsItemValue() (*condition.ExecutableCondition, bool) { 2311 res, ok := fpaiv.value.(*condition.ExecutableCondition) 2312 return res, ok 2313 } 2314 func (fpaiv *InvitationBindingRole_FieldTerminalPathArrayItemValue) AsScopeParamsItemValue() (*role.ScopeParam, bool) { 2315 res, ok := fpaiv.value.(*role.ScopeParam) 2316 return res, ok 2317 } 2318 2319 func (fpaiv *InvitationBindingRole_FieldTerminalPathArrayItemValue) GetSingle(source *Invitation_BindingRole) (interface{}, bool) { 2320 return nil, false 2321 } 2322 2323 func (fpaiv *InvitationBindingRole_FieldTerminalPathArrayItemValue) GetSingleRaw(source proto.Message) (interface{}, bool) { 2324 return fpaiv.GetSingle(source.(*Invitation_BindingRole)) 2325 } 2326 2327 // Contains returns a boolean indicating if value that is being held is present in given 'BindingRole' 2328 func (fpaiv *InvitationBindingRole_FieldTerminalPathArrayItemValue) ContainsValue(source *Invitation_BindingRole) bool { 2329 slice := fpaiv.InvitationBindingRole_FieldTerminalPath.Get(source) 2330 for _, v := range slice { 2331 if asProtoMsg, ok := fpaiv.value.(proto.Message); ok { 2332 if proto.Equal(asProtoMsg, v.(proto.Message)) { 2333 return true 2334 } 2335 } else if reflect.DeepEqual(v, fpaiv.value) { 2336 return true 2337 } 2338 } 2339 return false 2340 } 2341 2342 type InvitationBindingRole_FieldSubPathArrayItemValue struct { 2343 InvitationBindingRole_FieldPath 2344 subPathItemValue gotenobject.FieldPathArrayItemValue 2345 } 2346 2347 // GetRawValue returns stored array item value 2348 func (fpaivs *InvitationBindingRole_FieldSubPathArrayItemValue) GetRawItemValue() interface{} { 2349 return fpaivs.subPathItemValue.GetRawItemValue() 2350 } 2351 func (fpaivs *InvitationBindingRole_FieldSubPathArrayItemValue) AsExecutableConditionsPathItemValue() (condition.ExecutableCondition_FieldPathArrayItemValue, bool) { 2352 res, ok := fpaivs.subPathItemValue.(condition.ExecutableCondition_FieldPathArrayItemValue) 2353 return res, ok 2354 } 2355 func (fpaivs *InvitationBindingRole_FieldSubPathArrayItemValue) AsScopeParamsPathItemValue() (role.ScopeParam_FieldPathArrayItemValue, bool) { 2356 res, ok := fpaivs.subPathItemValue.(role.ScopeParam_FieldPathArrayItemValue) 2357 return res, ok 2358 } 2359 2360 // Contains returns a boolean indicating if value that is being held is present in given 'BindingRole' 2361 func (fpaivs *InvitationBindingRole_FieldSubPathArrayItemValue) ContainsValue(source *Invitation_BindingRole) bool { 2362 switch fpaivs.Selector() { 2363 case InvitationBindingRole_FieldPathSelectorExecutableConditions: 2364 return false // repeated/map field 2365 case InvitationBindingRole_FieldPathSelectorScopeParams: 2366 return false // repeated/map field 2367 default: 2368 panic(fmt.Sprintf("Invalid selector for Invitation_BindingRole: %d", fpaivs.Selector())) 2369 } 2370 } 2371 2372 // InvitationBindingRole_FieldPathArrayOfValues allows storing slice of values for BindingRole fields according to their type 2373 type InvitationBindingRole_FieldPathArrayOfValues interface { 2374 gotenobject.FieldPathArrayOfValues 2375 InvitationBindingRole_FieldPath 2376 } 2377 2378 func ParseInvitationBindingRole_FieldPathArrayOfValues(pathStr, valuesStr string) (InvitationBindingRole_FieldPathArrayOfValues, error) { 2379 fp, err := ParseInvitationBindingRole_FieldPath(pathStr) 2380 if err != nil { 2381 return nil, err 2382 } 2383 fpaov, err := gotenobject.ParseFieldPathArrayOfValues(fp, valuesStr) 2384 if err != nil { 2385 return nil, status.Errorf(codes.InvalidArgument, "error parsing BindingRole field path array of values from %s: %v", valuesStr, err) 2386 } 2387 return fpaov.(InvitationBindingRole_FieldPathArrayOfValues), nil 2388 } 2389 2390 func MustParseInvitationBindingRole_FieldPathArrayOfValues(pathStr, valuesStr string) InvitationBindingRole_FieldPathArrayOfValues { 2391 fpaov, err := ParseInvitationBindingRole_FieldPathArrayOfValues(pathStr, valuesStr) 2392 if err != nil { 2393 panic(err) 2394 } 2395 return fpaov 2396 } 2397 2398 type InvitationBindingRole_FieldTerminalPathArrayOfValues struct { 2399 InvitationBindingRole_FieldTerminalPath 2400 values interface{} 2401 } 2402 2403 var _ InvitationBindingRole_FieldPathArrayOfValues = (*InvitationBindingRole_FieldTerminalPathArrayOfValues)(nil) 2404 2405 func (fpaov *InvitationBindingRole_FieldTerminalPathArrayOfValues) GetRawValues() (values []interface{}) { 2406 switch fpaov.selector { 2407 case InvitationBindingRole_FieldPathSelectorRole: 2408 for _, v := range fpaov.values.([]*role.Reference) { 2409 values = append(values, v) 2410 } 2411 case InvitationBindingRole_FieldPathSelectorExecutableConditions: 2412 for _, v := range fpaov.values.([][]*condition.ExecutableCondition) { 2413 values = append(values, v) 2414 } 2415 case InvitationBindingRole_FieldPathSelectorScopeParams: 2416 for _, v := range fpaov.values.([][]*role.ScopeParam) { 2417 values = append(values, v) 2418 } 2419 } 2420 return 2421 } 2422 func (fpaov *InvitationBindingRole_FieldTerminalPathArrayOfValues) AsRoleArrayOfValues() ([]*role.Reference, bool) { 2423 res, ok := fpaov.values.([]*role.Reference) 2424 return res, ok 2425 } 2426 func (fpaov *InvitationBindingRole_FieldTerminalPathArrayOfValues) AsExecutableConditionsArrayOfValues() ([][]*condition.ExecutableCondition, bool) { 2427 res, ok := fpaov.values.([][]*condition.ExecutableCondition) 2428 return res, ok 2429 } 2430 func (fpaov *InvitationBindingRole_FieldTerminalPathArrayOfValues) AsScopeParamsArrayOfValues() ([][]*role.ScopeParam, bool) { 2431 res, ok := fpaov.values.([][]*role.ScopeParam) 2432 return res, ok 2433 } 2434 2435 type InvitationBindingRole_FieldSubPathArrayOfValues struct { 2436 InvitationBindingRole_FieldPath 2437 subPathArrayOfValues gotenobject.FieldPathArrayOfValues 2438 } 2439 2440 var _ InvitationBindingRole_FieldPathArrayOfValues = (*InvitationBindingRole_FieldSubPathArrayOfValues)(nil) 2441 2442 func (fpsaov *InvitationBindingRole_FieldSubPathArrayOfValues) GetRawValues() []interface{} { 2443 return fpsaov.subPathArrayOfValues.GetRawValues() 2444 } 2445 func (fpsaov *InvitationBindingRole_FieldSubPathArrayOfValues) AsExecutableConditionsPathArrayOfValues() (condition.ExecutableCondition_FieldPathArrayOfValues, bool) { 2446 res, ok := fpsaov.subPathArrayOfValues.(condition.ExecutableCondition_FieldPathArrayOfValues) 2447 return res, ok 2448 } 2449 func (fpsaov *InvitationBindingRole_FieldSubPathArrayOfValues) AsScopeParamsPathArrayOfValues() (role.ScopeParam_FieldPathArrayOfValues, bool) { 2450 res, ok := fpsaov.subPathArrayOfValues.(role.ScopeParam_FieldPathArrayOfValues) 2451 return res, ok 2452 }