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