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