github.com/cloudwan/edgelq-sdk@v1.15.4/iam/resources/v1/user/user.pb.fieldpath.go (about) 1 // Code generated by protoc-gen-goten-object 2 // File: edgelq/iam/proto/v1/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_FieldPathSelectorMetadata User_FieldPathSelector = 1 75 User_FieldPathSelectorFullName 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 User_FieldPathSelectorCtrlStatus User_FieldPathSelector = 8 82 ) 83 84 func (s User_FieldPathSelector) String() string { 85 switch s { 86 case User_FieldPathSelectorName: 87 return "name" 88 case User_FieldPathSelectorMetadata: 89 return "metadata" 90 case User_FieldPathSelectorFullName: 91 return "full_name" 92 case User_FieldPathSelectorEmail: 93 return "email" 94 case User_FieldPathSelectorEmailVerified: 95 return "email_verified" 96 case User_FieldPathSelectorAuthInfo: 97 return "auth_info" 98 case User_FieldPathSelectorSettings: 99 return "settings" 100 case User_FieldPathSelectorRefreshedTime: 101 return "refreshed_time" 102 case User_FieldPathSelectorCtrlStatus: 103 return "ctrl_status" 104 default: 105 panic(fmt.Sprintf("Invalid selector for User: %d", s)) 106 } 107 } 108 109 func BuildUser_FieldPath(fp gotenobject.RawFieldPath) (User_FieldPath, error) { 110 if len(fp) == 0 { 111 return nil, status.Error(codes.InvalidArgument, "empty field path for object User") 112 } 113 if len(fp) == 1 { 114 switch fp[0] { 115 case "name": 116 return &User_FieldTerminalPath{selector: User_FieldPathSelectorName}, nil 117 case "metadata": 118 return &User_FieldTerminalPath{selector: User_FieldPathSelectorMetadata}, nil 119 case "full_name", "fullName", "full-name": 120 return &User_FieldTerminalPath{selector: User_FieldPathSelectorFullName}, nil 121 case "email": 122 return &User_FieldTerminalPath{selector: User_FieldPathSelectorEmail}, nil 123 case "email_verified", "emailVerified", "email-verified": 124 return &User_FieldTerminalPath{selector: User_FieldPathSelectorEmailVerified}, nil 125 case "auth_info", "authInfo", "auth-info": 126 return &User_FieldTerminalPath{selector: User_FieldPathSelectorAuthInfo}, nil 127 case "settings": 128 return &User_FieldTerminalPath{selector: User_FieldPathSelectorSettings}, nil 129 case "refreshed_time", "refreshedTime", "refreshed-time": 130 return &User_FieldTerminalPath{selector: User_FieldPathSelectorRefreshedTime}, nil 131 case "ctrl_status", "ctrlStatus", "ctrl-status": 132 return &User_FieldTerminalPath{selector: User_FieldPathSelectorCtrlStatus}, nil 133 } 134 } else { 135 switch fp[0] { 136 case "metadata": 137 if subpath, err := meta.BuildMeta_FieldPath(fp[1:]); err != nil { 138 return nil, err 139 } else { 140 return &User_FieldSubPath{selector: User_FieldPathSelectorMetadata, subPath: subpath}, nil 141 } 142 case "auth_info", "authInfo", "auth-info": 143 if subpath, err := BuildUserAuthInfo_FieldPath(fp[1:]); err != nil { 144 return nil, err 145 } else { 146 return &User_FieldSubPath{selector: User_FieldPathSelectorAuthInfo, subPath: subpath}, nil 147 } 148 case "ctrl_status", "ctrlStatus", "ctrl-status": 149 if subpath, err := BuildUserWorkStatus_FieldPath(fp[1:]); err != nil { 150 return nil, err 151 } else { 152 return &User_FieldSubPath{selector: User_FieldPathSelectorCtrlStatus, subPath: subpath}, nil 153 } 154 case "settings": 155 if len(fp) > 2 { 156 return nil, status.Errorf(codes.InvalidArgument, "sub path for maps ('%s') are not supported (object User)", fp) 157 } 158 return &User_FieldPathMap{selector: User_FieldPathSelectorSettings, key: fp[1]}, nil 159 } 160 } 161 return nil, status.Errorf(codes.InvalidArgument, "unknown field path '%s' for object User", fp) 162 } 163 164 func ParseUser_FieldPath(rawField string) (User_FieldPath, error) { 165 fp, err := gotenobject.ParseRawFieldPath(rawField) 166 if err != nil { 167 return nil, err 168 } 169 return BuildUser_FieldPath(fp) 170 } 171 172 func MustParseUser_FieldPath(rawField string) User_FieldPath { 173 fp, err := ParseUser_FieldPath(rawField) 174 if err != nil { 175 panic(err) 176 } 177 return fp 178 } 179 180 type User_FieldTerminalPath struct { 181 selector User_FieldPathSelector 182 } 183 184 var _ User_FieldPath = (*User_FieldTerminalPath)(nil) 185 186 func (fp *User_FieldTerminalPath) Selector() User_FieldPathSelector { 187 return fp.selector 188 } 189 190 // String returns path representation in proto convention 191 func (fp *User_FieldTerminalPath) String() string { 192 return fp.selector.String() 193 } 194 195 // JSONString returns path representation is JSON convention 196 func (fp *User_FieldTerminalPath) JSONString() string { 197 return strcase.ToLowerCamel(fp.String()) 198 } 199 200 // Get returns all values pointed by specific field from source User 201 func (fp *User_FieldTerminalPath) Get(source *User) (values []interface{}) { 202 if source != nil { 203 switch fp.selector { 204 case User_FieldPathSelectorName: 205 if source.Name != nil { 206 values = append(values, source.Name) 207 } 208 case User_FieldPathSelectorMetadata: 209 if source.Metadata != nil { 210 values = append(values, source.Metadata) 211 } 212 case User_FieldPathSelectorFullName: 213 values = append(values, source.FullName) 214 case User_FieldPathSelectorEmail: 215 values = append(values, source.Email) 216 case User_FieldPathSelectorEmailVerified: 217 values = append(values, source.EmailVerified) 218 case User_FieldPathSelectorAuthInfo: 219 if source.AuthInfo != nil { 220 values = append(values, source.AuthInfo) 221 } 222 case User_FieldPathSelectorSettings: 223 values = append(values, source.Settings) 224 case User_FieldPathSelectorRefreshedTime: 225 if source.RefreshedTime != nil { 226 values = append(values, source.RefreshedTime) 227 } 228 case User_FieldPathSelectorCtrlStatus: 229 if source.CtrlStatus != nil { 230 values = append(values, source.CtrlStatus) 231 } 232 default: 233 panic(fmt.Sprintf("Invalid selector for User: %d", fp.selector)) 234 } 235 } 236 return 237 } 238 239 func (fp *User_FieldTerminalPath) GetRaw(source proto.Message) []interface{} { 240 return fp.Get(source.(*User)) 241 } 242 243 // GetSingle returns value pointed by specific field of from source User 244 func (fp *User_FieldTerminalPath) GetSingle(source *User) (interface{}, bool) { 245 switch fp.selector { 246 case User_FieldPathSelectorName: 247 res := source.GetName() 248 return res, res != nil 249 case User_FieldPathSelectorMetadata: 250 res := source.GetMetadata() 251 return res, res != nil 252 case User_FieldPathSelectorFullName: 253 return source.GetFullName(), source != nil 254 case User_FieldPathSelectorEmail: 255 return source.GetEmail(), source != nil 256 case User_FieldPathSelectorEmailVerified: 257 return source.GetEmailVerified(), source != nil 258 case User_FieldPathSelectorAuthInfo: 259 res := source.GetAuthInfo() 260 return res, res != nil 261 case User_FieldPathSelectorSettings: 262 res := source.GetSettings() 263 return res, res != nil 264 case User_FieldPathSelectorRefreshedTime: 265 res := source.GetRefreshedTime() 266 return res, res != nil 267 case User_FieldPathSelectorCtrlStatus: 268 res := source.GetCtrlStatus() 269 return res, res != nil 270 default: 271 panic(fmt.Sprintf("Invalid selector for User: %d", fp.selector)) 272 } 273 } 274 275 func (fp *User_FieldTerminalPath) GetSingleRaw(source proto.Message) (interface{}, bool) { 276 return fp.GetSingle(source.(*User)) 277 } 278 279 // GetDefault returns a default value of the field type 280 func (fp *User_FieldTerminalPath) GetDefault() interface{} { 281 switch fp.selector { 282 case User_FieldPathSelectorName: 283 return (*Name)(nil) 284 case User_FieldPathSelectorMetadata: 285 return (*meta.Meta)(nil) 286 case User_FieldPathSelectorFullName: 287 return "" 288 case User_FieldPathSelectorEmail: 289 return "" 290 case User_FieldPathSelectorEmailVerified: 291 return false 292 case User_FieldPathSelectorAuthInfo: 293 return (*User_AuthInfo)(nil) 294 case User_FieldPathSelectorSettings: 295 return (map[string]string)(nil) 296 case User_FieldPathSelectorRefreshedTime: 297 return (*timestamppb.Timestamp)(nil) 298 case User_FieldPathSelectorCtrlStatus: 299 return (*User_WorkStatus)(nil) 300 default: 301 panic(fmt.Sprintf("Invalid selector for User: %d", fp.selector)) 302 } 303 } 304 305 func (fp *User_FieldTerminalPath) ClearValue(item *User) { 306 if item != nil { 307 switch fp.selector { 308 case User_FieldPathSelectorName: 309 item.Name = nil 310 case User_FieldPathSelectorMetadata: 311 item.Metadata = nil 312 case User_FieldPathSelectorFullName: 313 item.FullName = "" 314 case User_FieldPathSelectorEmail: 315 item.Email = "" 316 case User_FieldPathSelectorEmailVerified: 317 item.EmailVerified = false 318 case User_FieldPathSelectorAuthInfo: 319 item.AuthInfo = nil 320 case User_FieldPathSelectorSettings: 321 item.Settings = nil 322 case User_FieldPathSelectorRefreshedTime: 323 item.RefreshedTime = nil 324 case User_FieldPathSelectorCtrlStatus: 325 item.CtrlStatus = nil 326 default: 327 panic(fmt.Sprintf("Invalid selector for User: %d", fp.selector)) 328 } 329 } 330 } 331 332 func (fp *User_FieldTerminalPath) ClearValueRaw(item proto.Message) { 333 fp.ClearValue(item.(*User)) 334 } 335 336 // IsLeaf - whether field path is holds simple value 337 func (fp *User_FieldTerminalPath) IsLeaf() bool { 338 return fp.selector == User_FieldPathSelectorName || 339 fp.selector == User_FieldPathSelectorFullName || 340 fp.selector == User_FieldPathSelectorEmail || 341 fp.selector == User_FieldPathSelectorEmailVerified || 342 fp.selector == User_FieldPathSelectorSettings || 343 fp.selector == User_FieldPathSelectorRefreshedTime 344 } 345 346 func (fp *User_FieldTerminalPath) SplitIntoTerminalIPaths() []gotenobject.FieldPath { 347 return []gotenobject.FieldPath{fp} 348 } 349 350 func (fp *User_FieldTerminalPath) WithIValue(value interface{}) User_FieldPathValue { 351 switch fp.selector { 352 case User_FieldPathSelectorName: 353 return &User_FieldTerminalPathValue{User_FieldTerminalPath: *fp, value: value.(*Name)} 354 case User_FieldPathSelectorMetadata: 355 return &User_FieldTerminalPathValue{User_FieldTerminalPath: *fp, value: value.(*meta.Meta)} 356 case User_FieldPathSelectorFullName: 357 return &User_FieldTerminalPathValue{User_FieldTerminalPath: *fp, value: value.(string)} 358 case User_FieldPathSelectorEmail: 359 return &User_FieldTerminalPathValue{User_FieldTerminalPath: *fp, value: value.(string)} 360 case User_FieldPathSelectorEmailVerified: 361 return &User_FieldTerminalPathValue{User_FieldTerminalPath: *fp, value: value.(bool)} 362 case User_FieldPathSelectorAuthInfo: 363 return &User_FieldTerminalPathValue{User_FieldTerminalPath: *fp, value: value.(*User_AuthInfo)} 364 case User_FieldPathSelectorSettings: 365 return &User_FieldTerminalPathValue{User_FieldTerminalPath: *fp, value: value.(map[string]string)} 366 case User_FieldPathSelectorRefreshedTime: 367 return &User_FieldTerminalPathValue{User_FieldTerminalPath: *fp, value: value.(*timestamppb.Timestamp)} 368 case User_FieldPathSelectorCtrlStatus: 369 return &User_FieldTerminalPathValue{User_FieldTerminalPath: *fp, value: value.(*User_WorkStatus)} 370 default: 371 panic(fmt.Sprintf("Invalid selector for User: %d", fp.selector)) 372 } 373 } 374 375 func (fp *User_FieldTerminalPath) WithRawIValue(value interface{}) gotenobject.FieldPathValue { 376 return fp.WithIValue(value) 377 } 378 379 func (fp *User_FieldTerminalPath) WithIArrayOfValues(values interface{}) User_FieldPathArrayOfValues { 380 fpaov := &User_FieldTerminalPathArrayOfValues{User_FieldTerminalPath: *fp} 381 switch fp.selector { 382 case User_FieldPathSelectorName: 383 return &User_FieldTerminalPathArrayOfValues{User_FieldTerminalPath: *fp, values: values.([]*Name)} 384 case User_FieldPathSelectorMetadata: 385 return &User_FieldTerminalPathArrayOfValues{User_FieldTerminalPath: *fp, values: values.([]*meta.Meta)} 386 case User_FieldPathSelectorFullName: 387 return &User_FieldTerminalPathArrayOfValues{User_FieldTerminalPath: *fp, values: values.([]string)} 388 case User_FieldPathSelectorEmail: 389 return &User_FieldTerminalPathArrayOfValues{User_FieldTerminalPath: *fp, values: values.([]string)} 390 case User_FieldPathSelectorEmailVerified: 391 return &User_FieldTerminalPathArrayOfValues{User_FieldTerminalPath: *fp, values: values.([]bool)} 392 case User_FieldPathSelectorAuthInfo: 393 return &User_FieldTerminalPathArrayOfValues{User_FieldTerminalPath: *fp, values: values.([]*User_AuthInfo)} 394 case User_FieldPathSelectorSettings: 395 return &User_FieldTerminalPathArrayOfValues{User_FieldTerminalPath: *fp, values: values.([]map[string]string)} 396 case User_FieldPathSelectorRefreshedTime: 397 return &User_FieldTerminalPathArrayOfValues{User_FieldTerminalPath: *fp, values: values.([]*timestamppb.Timestamp)} 398 case User_FieldPathSelectorCtrlStatus: 399 return &User_FieldTerminalPathArrayOfValues{User_FieldTerminalPath: *fp, values: values.([]*User_WorkStatus)} 400 default: 401 panic(fmt.Sprintf("Invalid selector for User: %d", fp.selector)) 402 } 403 return fpaov 404 } 405 406 func (fp *User_FieldTerminalPath) WithRawIArrayOfValues(values interface{}) gotenobject.FieldPathArrayOfValues { 407 return fp.WithIArrayOfValues(values) 408 } 409 410 func (fp *User_FieldTerminalPath) WithIArrayItemValue(value interface{}) User_FieldPathArrayItemValue { 411 switch fp.selector { 412 default: 413 panic(fmt.Sprintf("Invalid selector for User: %d", fp.selector)) 414 } 415 } 416 417 func (fp *User_FieldTerminalPath) WithRawIArrayItemValue(value interface{}) gotenobject.FieldPathArrayItemValue { 418 return fp.WithIArrayItemValue(value) 419 } 420 421 // FieldPath for map type with additional Key information 422 type User_FieldPathMap struct { 423 key string 424 selector User_FieldPathSelector 425 } 426 427 var _ User_FieldPath = (*User_FieldPathMap)(nil) 428 429 func (fpm *User_FieldPathMap) Selector() User_FieldPathSelector { 430 return fpm.selector 431 } 432 433 func (fpm *User_FieldPathMap) Key() string { 434 return fpm.key 435 } 436 437 // String returns path representation in proto convention 438 func (fpm *User_FieldPathMap) String() string { 439 return fpm.selector.String() + "." + fpm.key 440 } 441 442 // JSONString returns path representation is JSON convention. Note that map keys are not transformed 443 func (fpm *User_FieldPathMap) JSONString() string { 444 return strcase.ToLowerCamel(fpm.selector.String()) + "." + fpm.key 445 } 446 447 // Get returns all values pointed by selected field map key from source User 448 func (fpm *User_FieldPathMap) Get(source *User) (values []interface{}) { 449 switch fpm.selector { 450 case User_FieldPathSelectorSettings: 451 if value, ok := source.GetSettings()[fpm.key]; ok { 452 values = append(values, value) 453 } 454 default: 455 panic(fmt.Sprintf("Invalid selector for User: %d", fpm.selector)) 456 } 457 return 458 } 459 460 func (fpm *User_FieldPathMap) GetRaw(source proto.Message) []interface{} { 461 return fpm.Get(source.(*User)) 462 } 463 464 // GetSingle returns value by selected field map key from source User 465 func (fpm *User_FieldPathMap) GetSingle(source *User) (interface{}, bool) { 466 switch fpm.selector { 467 case User_FieldPathSelectorSettings: 468 res, ok := source.GetSettings()[fpm.key] 469 return res, ok 470 default: 471 panic(fmt.Sprintf("Invalid selector for User: %d", fpm.selector)) 472 } 473 } 474 475 func (fpm *User_FieldPathMap) GetSingleRaw(source proto.Message) (interface{}, bool) { 476 return fpm.GetSingle(source.(*User)) 477 } 478 479 // GetDefault returns a default value of the field type 480 func (fpm *User_FieldPathMap) GetDefault() interface{} { 481 switch fpm.selector { 482 case User_FieldPathSelectorSettings: 483 var v string 484 return v 485 default: 486 panic(fmt.Sprintf("Invalid selector for User: %d", fpm.selector)) 487 } 488 } 489 490 func (fpm *User_FieldPathMap) ClearValue(item *User) { 491 if item != nil { 492 switch fpm.selector { 493 case User_FieldPathSelectorSettings: 494 delete(item.Settings, fpm.key) 495 default: 496 panic(fmt.Sprintf("Invalid selector for User: %d", fpm.selector)) 497 } 498 } 499 } 500 501 func (fpm *User_FieldPathMap) ClearValueRaw(item proto.Message) { 502 fpm.ClearValue(item.(*User)) 503 } 504 505 // IsLeaf - whether field path is holds simple value 506 func (fpm *User_FieldPathMap) IsLeaf() bool { 507 switch fpm.selector { 508 case User_FieldPathSelectorSettings: 509 return true 510 default: 511 panic(fmt.Sprintf("Invalid selector for User: %d", fpm.selector)) 512 } 513 } 514 515 func (fpm *User_FieldPathMap) SplitIntoTerminalIPaths() []gotenobject.FieldPath { 516 return []gotenobject.FieldPath{fpm} 517 } 518 519 func (fpm *User_FieldPathMap) WithIValue(value interface{}) User_FieldPathValue { 520 switch fpm.selector { 521 case User_FieldPathSelectorSettings: 522 return &User_FieldPathMapValue{User_FieldPathMap: *fpm, value: value.(string)} 523 default: 524 panic(fmt.Sprintf("Invalid selector for User: %d", fpm.selector)) 525 } 526 } 527 528 func (fpm *User_FieldPathMap) WithRawIValue(value interface{}) gotenobject.FieldPathValue { 529 return fpm.WithIValue(value) 530 } 531 532 func (fpm *User_FieldPathMap) WithIArrayOfValues(values interface{}) User_FieldPathArrayOfValues { 533 switch fpm.selector { 534 case User_FieldPathSelectorSettings: 535 return &User_FieldPathMapArrayOfValues{User_FieldPathMap: *fpm, values: values.([]string)} 536 default: 537 panic(fmt.Sprintf("Invalid selector for User: %d", fpm.selector)) 538 } 539 } 540 541 func (fpm *User_FieldPathMap) WithRawIArrayOfValues(values interface{}) gotenobject.FieldPathArrayOfValues { 542 return fpm.WithIArrayOfValues(values) 543 } 544 545 func (fpm *User_FieldPathMap) WithIArrayItemValue(value interface{}) User_FieldPathArrayItemValue { 546 panic("Cannot create array item value from map fieldpath") 547 } 548 549 func (fpm *User_FieldPathMap) WithRawIArrayItemValue(value interface{}) gotenobject.FieldPathArrayItemValue { 550 return fpm.WithIArrayItemValue(value) 551 } 552 553 type User_FieldSubPath struct { 554 selector User_FieldPathSelector 555 subPath gotenobject.FieldPath 556 } 557 558 var _ User_FieldPath = (*User_FieldSubPath)(nil) 559 560 func (fps *User_FieldSubPath) Selector() User_FieldPathSelector { 561 return fps.selector 562 } 563 func (fps *User_FieldSubPath) AsMetadataSubPath() (meta.Meta_FieldPath, bool) { 564 res, ok := fps.subPath.(meta.Meta_FieldPath) 565 return res, ok 566 } 567 func (fps *User_FieldSubPath) AsAuthInfoSubPath() (UserAuthInfo_FieldPath, bool) { 568 res, ok := fps.subPath.(UserAuthInfo_FieldPath) 569 return res, ok 570 } 571 func (fps *User_FieldSubPath) AsCtrlStatusSubPath() (UserWorkStatus_FieldPath, bool) { 572 res, ok := fps.subPath.(UserWorkStatus_FieldPath) 573 return res, ok 574 } 575 576 // String returns path representation in proto convention 577 func (fps *User_FieldSubPath) String() string { 578 return fps.selector.String() + "." + fps.subPath.String() 579 } 580 581 // JSONString returns path representation is JSON convention 582 func (fps *User_FieldSubPath) JSONString() string { 583 return strcase.ToLowerCamel(fps.selector.String()) + "." + fps.subPath.JSONString() 584 } 585 586 // Get returns all values pointed by selected field from source User 587 func (fps *User_FieldSubPath) Get(source *User) (values []interface{}) { 588 switch fps.selector { 589 case User_FieldPathSelectorMetadata: 590 values = append(values, fps.subPath.GetRaw(source.GetMetadata())...) 591 case User_FieldPathSelectorAuthInfo: 592 values = append(values, fps.subPath.GetRaw(source.GetAuthInfo())...) 593 case User_FieldPathSelectorCtrlStatus: 594 values = append(values, fps.subPath.GetRaw(source.GetCtrlStatus())...) 595 default: 596 panic(fmt.Sprintf("Invalid selector for User: %d", fps.selector)) 597 } 598 return 599 } 600 601 func (fps *User_FieldSubPath) GetRaw(source proto.Message) []interface{} { 602 return fps.Get(source.(*User)) 603 } 604 605 // GetSingle returns value of selected field from source User 606 func (fps *User_FieldSubPath) GetSingle(source *User) (interface{}, bool) { 607 switch fps.selector { 608 case User_FieldPathSelectorMetadata: 609 if source.GetMetadata() == nil { 610 return nil, false 611 } 612 return fps.subPath.GetSingleRaw(source.GetMetadata()) 613 case User_FieldPathSelectorAuthInfo: 614 if source.GetAuthInfo() == nil { 615 return nil, false 616 } 617 return fps.subPath.GetSingleRaw(source.GetAuthInfo()) 618 case User_FieldPathSelectorCtrlStatus: 619 if source.GetCtrlStatus() == nil { 620 return nil, false 621 } 622 return fps.subPath.GetSingleRaw(source.GetCtrlStatus()) 623 default: 624 panic(fmt.Sprintf("Invalid selector for User: %d", fps.selector)) 625 } 626 } 627 628 func (fps *User_FieldSubPath) GetSingleRaw(source proto.Message) (interface{}, bool) { 629 return fps.GetSingle(source.(*User)) 630 } 631 632 // GetDefault returns a default value of the field type 633 func (fps *User_FieldSubPath) GetDefault() interface{} { 634 return fps.subPath.GetDefault() 635 } 636 637 func (fps *User_FieldSubPath) ClearValue(item *User) { 638 if item != nil { 639 switch fps.selector { 640 case User_FieldPathSelectorMetadata: 641 fps.subPath.ClearValueRaw(item.Metadata) 642 case User_FieldPathSelectorAuthInfo: 643 fps.subPath.ClearValueRaw(item.AuthInfo) 644 case User_FieldPathSelectorCtrlStatus: 645 fps.subPath.ClearValueRaw(item.CtrlStatus) 646 default: 647 panic(fmt.Sprintf("Invalid selector for User: %d", fps.selector)) 648 } 649 } 650 } 651 652 func (fps *User_FieldSubPath) ClearValueRaw(item proto.Message) { 653 fps.ClearValue(item.(*User)) 654 } 655 656 // IsLeaf - whether field path is holds simple value 657 func (fps *User_FieldSubPath) IsLeaf() bool { 658 return fps.subPath.IsLeaf() 659 } 660 661 func (fps *User_FieldSubPath) SplitIntoTerminalIPaths() []gotenobject.FieldPath { 662 iPaths := []gotenobject.FieldPath{&User_FieldTerminalPath{selector: fps.selector}} 663 iPaths = append(iPaths, fps.subPath.SplitIntoTerminalIPaths()...) 664 return iPaths 665 } 666 667 func (fps *User_FieldSubPath) WithIValue(value interface{}) User_FieldPathValue { 668 return &User_FieldSubPathValue{fps, fps.subPath.WithRawIValue(value)} 669 } 670 671 func (fps *User_FieldSubPath) WithRawIValue(value interface{}) gotenobject.FieldPathValue { 672 return fps.WithIValue(value) 673 } 674 675 func (fps *User_FieldSubPath) WithIArrayOfValues(values interface{}) User_FieldPathArrayOfValues { 676 return &User_FieldSubPathArrayOfValues{fps, fps.subPath.WithRawIArrayOfValues(values)} 677 } 678 679 func (fps *User_FieldSubPath) WithRawIArrayOfValues(values interface{}) gotenobject.FieldPathArrayOfValues { 680 return fps.WithIArrayOfValues(values) 681 } 682 683 func (fps *User_FieldSubPath) WithIArrayItemValue(value interface{}) User_FieldPathArrayItemValue { 684 return &User_FieldSubPathArrayItemValue{fps, fps.subPath.WithRawIArrayItemValue(value)} 685 } 686 687 func (fps *User_FieldSubPath) WithRawIArrayItemValue(value interface{}) gotenobject.FieldPathArrayItemValue { 688 return fps.WithIArrayItemValue(value) 689 } 690 691 // User_FieldPathValue allows storing values for User fields according to their type 692 type User_FieldPathValue interface { 693 User_FieldPath 694 gotenobject.FieldPathValue 695 SetTo(target **User) 696 CompareWith(*User) (cmp int, comparable bool) 697 } 698 699 func ParseUser_FieldPathValue(pathStr, valueStr string) (User_FieldPathValue, error) { 700 fp, err := ParseUser_FieldPath(pathStr) 701 if err != nil { 702 return nil, err 703 } 704 fpv, err := gotenobject.ParseFieldPathValue(fp, valueStr) 705 if err != nil { 706 return nil, status.Errorf(codes.InvalidArgument, "error parsing User field path value from %s: %v", valueStr, err) 707 } 708 return fpv.(User_FieldPathValue), nil 709 } 710 711 func MustParseUser_FieldPathValue(pathStr, valueStr string) User_FieldPathValue { 712 fpv, err := ParseUser_FieldPathValue(pathStr, valueStr) 713 if err != nil { 714 panic(err) 715 } 716 return fpv 717 } 718 719 type User_FieldTerminalPathValue struct { 720 User_FieldTerminalPath 721 value interface{} 722 } 723 724 var _ User_FieldPathValue = (*User_FieldTerminalPathValue)(nil) 725 726 // GetRawValue returns raw value stored under selected path for 'User' as interface{} 727 func (fpv *User_FieldTerminalPathValue) GetRawValue() interface{} { 728 return fpv.value 729 } 730 func (fpv *User_FieldTerminalPathValue) AsNameValue() (*Name, bool) { 731 res, ok := fpv.value.(*Name) 732 return res, ok 733 } 734 func (fpv *User_FieldTerminalPathValue) AsMetadataValue() (*meta.Meta, bool) { 735 res, ok := fpv.value.(*meta.Meta) 736 return res, ok 737 } 738 func (fpv *User_FieldTerminalPathValue) AsFullNameValue() (string, bool) { 739 res, ok := fpv.value.(string) 740 return res, ok 741 } 742 func (fpv *User_FieldTerminalPathValue) AsEmailValue() (string, bool) { 743 res, ok := fpv.value.(string) 744 return res, ok 745 } 746 func (fpv *User_FieldTerminalPathValue) AsEmailVerifiedValue() (bool, bool) { 747 res, ok := fpv.value.(bool) 748 return res, ok 749 } 750 func (fpv *User_FieldTerminalPathValue) AsAuthInfoValue() (*User_AuthInfo, bool) { 751 res, ok := fpv.value.(*User_AuthInfo) 752 return res, ok 753 } 754 func (fpv *User_FieldTerminalPathValue) AsSettingsValue() (map[string]string, bool) { 755 res, ok := fpv.value.(map[string]string) 756 return res, ok 757 } 758 func (fpv *User_FieldTerminalPathValue) AsRefreshedTimeValue() (*timestamppb.Timestamp, bool) { 759 res, ok := fpv.value.(*timestamppb.Timestamp) 760 return res, ok 761 } 762 func (fpv *User_FieldTerminalPathValue) AsCtrlStatusValue() (*User_WorkStatus, bool) { 763 res, ok := fpv.value.(*User_WorkStatus) 764 return res, ok 765 } 766 767 // SetTo stores value for selected field for object User 768 func (fpv *User_FieldTerminalPathValue) SetTo(target **User) { 769 if *target == nil { 770 *target = new(User) 771 } 772 switch fpv.selector { 773 case User_FieldPathSelectorName: 774 (*target).Name = fpv.value.(*Name) 775 case User_FieldPathSelectorMetadata: 776 (*target).Metadata = fpv.value.(*meta.Meta) 777 case User_FieldPathSelectorFullName: 778 (*target).FullName = fpv.value.(string) 779 case User_FieldPathSelectorEmail: 780 (*target).Email = fpv.value.(string) 781 case User_FieldPathSelectorEmailVerified: 782 (*target).EmailVerified = fpv.value.(bool) 783 case User_FieldPathSelectorAuthInfo: 784 (*target).AuthInfo = fpv.value.(*User_AuthInfo) 785 case User_FieldPathSelectorSettings: 786 (*target).Settings = fpv.value.(map[string]string) 787 case User_FieldPathSelectorRefreshedTime: 788 (*target).RefreshedTime = fpv.value.(*timestamppb.Timestamp) 789 case User_FieldPathSelectorCtrlStatus: 790 (*target).CtrlStatus = fpv.value.(*User_WorkStatus) 791 default: 792 panic(fmt.Sprintf("Invalid selector for User: %d", fpv.selector)) 793 } 794 } 795 796 func (fpv *User_FieldTerminalPathValue) SetToRaw(target proto.Message) { 797 typedObject := target.(*User) 798 fpv.SetTo(&typedObject) 799 } 800 801 // CompareWith compares value in the 'User_FieldTerminalPathValue' with the value under path in 'User'. 802 func (fpv *User_FieldTerminalPathValue) CompareWith(source *User) (int, bool) { 803 switch fpv.selector { 804 case User_FieldPathSelectorName: 805 leftValue := fpv.value.(*Name) 806 rightValue := source.GetName() 807 if leftValue == nil { 808 if rightValue != nil { 809 return -1, true 810 } 811 return 0, true 812 } 813 if rightValue == nil { 814 return 1, true 815 } 816 if leftValue.String() == rightValue.String() { 817 return 0, true 818 } else if leftValue.String() < rightValue.String() { 819 return -1, true 820 } else { 821 return 1, true 822 } 823 case User_FieldPathSelectorMetadata: 824 return 0, false 825 case User_FieldPathSelectorFullName: 826 leftValue := fpv.value.(string) 827 rightValue := source.GetFullName() 828 if (leftValue) == (rightValue) { 829 return 0, true 830 } else if (leftValue) < (rightValue) { 831 return -1, true 832 } else { 833 return 1, true 834 } 835 case User_FieldPathSelectorEmail: 836 leftValue := fpv.value.(string) 837 rightValue := source.GetEmail() 838 if (leftValue) == (rightValue) { 839 return 0, true 840 } else if (leftValue) < (rightValue) { 841 return -1, true 842 } else { 843 return 1, true 844 } 845 case User_FieldPathSelectorEmailVerified: 846 leftValue := fpv.value.(bool) 847 rightValue := source.GetEmailVerified() 848 if (leftValue) == (rightValue) { 849 return 0, true 850 } else if !(leftValue) && (rightValue) { 851 return -1, true 852 } else { 853 return 1, true 854 } 855 case User_FieldPathSelectorAuthInfo: 856 return 0, false 857 case User_FieldPathSelectorSettings: 858 return 0, false 859 case User_FieldPathSelectorRefreshedTime: 860 leftValue := fpv.value.(*timestamppb.Timestamp) 861 rightValue := source.GetRefreshedTime() 862 if leftValue == nil { 863 if rightValue != nil { 864 return -1, true 865 } 866 return 0, true 867 } 868 if rightValue == nil { 869 return 1, true 870 } 871 if leftValue.AsTime().Equal(rightValue.AsTime()) { 872 return 0, true 873 } else if leftValue.AsTime().Before(rightValue.AsTime()) { 874 return -1, true 875 } else { 876 return 1, true 877 } 878 case User_FieldPathSelectorCtrlStatus: 879 return 0, false 880 default: 881 panic(fmt.Sprintf("Invalid selector for User: %d", fpv.selector)) 882 } 883 } 884 885 func (fpv *User_FieldTerminalPathValue) CompareWithRaw(source proto.Message) (int, bool) { 886 return fpv.CompareWith(source.(*User)) 887 } 888 889 type User_FieldPathMapValue struct { 890 User_FieldPathMap 891 value interface{} 892 } 893 894 var _ User_FieldPathValue = (*User_FieldPathMapValue)(nil) 895 896 // GetValue returns value stored under selected field in User as interface{} 897 func (fpmv *User_FieldPathMapValue) GetRawValue() interface{} { 898 return fpmv.value 899 } 900 func (fpmv *User_FieldPathMapValue) AsSettingsElementValue() (string, bool) { 901 res, ok := fpmv.value.(string) 902 return res, ok 903 } 904 905 // SetTo stores value for selected field in User 906 func (fpmv *User_FieldPathMapValue) SetTo(target **User) { 907 if *target == nil { 908 *target = new(User) 909 } 910 switch fpmv.selector { 911 case User_FieldPathSelectorSettings: 912 if (*target).Settings == nil { 913 (*target).Settings = make(map[string]string) 914 } 915 (*target).Settings[fpmv.key] = fpmv.value.(string) 916 default: 917 panic(fmt.Sprintf("Invalid selector for User: %d", fpmv.selector)) 918 } 919 } 920 921 func (fpmv *User_FieldPathMapValue) SetToRaw(target proto.Message) { 922 typedObject := target.(*User) 923 fpmv.SetTo(&typedObject) 924 } 925 926 // CompareWith compares value in the 'User_FieldPathMapValue' with the value under path in 'User'. 927 func (fpmv *User_FieldPathMapValue) CompareWith(source *User) (int, bool) { 928 switch fpmv.selector { 929 case User_FieldPathSelectorSettings: 930 leftValue := fpmv.value.(string) 931 rightValue := source.GetSettings()[fpmv.key] 932 if (leftValue) == (rightValue) { 933 return 0, true 934 } else if (leftValue) < (rightValue) { 935 return -1, true 936 } else { 937 return 1, true 938 } 939 default: 940 panic(fmt.Sprintf("Invalid selector for User: %d", fpmv.selector)) 941 } 942 } 943 944 func (fpmv *User_FieldPathMapValue) CompareWithRaw(source proto.Message) (int, bool) { 945 return fpmv.CompareWith(source.(*User)) 946 } 947 948 type User_FieldSubPathValue struct { 949 User_FieldPath 950 subPathValue gotenobject.FieldPathValue 951 } 952 953 var _ User_FieldPathValue = (*User_FieldSubPathValue)(nil) 954 955 func (fpvs *User_FieldSubPathValue) AsMetadataPathValue() (meta.Meta_FieldPathValue, bool) { 956 res, ok := fpvs.subPathValue.(meta.Meta_FieldPathValue) 957 return res, ok 958 } 959 func (fpvs *User_FieldSubPathValue) AsAuthInfoPathValue() (UserAuthInfo_FieldPathValue, bool) { 960 res, ok := fpvs.subPathValue.(UserAuthInfo_FieldPathValue) 961 return res, ok 962 } 963 func (fpvs *User_FieldSubPathValue) AsCtrlStatusPathValue() (UserWorkStatus_FieldPathValue, bool) { 964 res, ok := fpvs.subPathValue.(UserWorkStatus_FieldPathValue) 965 return res, ok 966 } 967 968 func (fpvs *User_FieldSubPathValue) SetTo(target **User) { 969 if *target == nil { 970 *target = new(User) 971 } 972 switch fpvs.Selector() { 973 case User_FieldPathSelectorMetadata: 974 fpvs.subPathValue.(meta.Meta_FieldPathValue).SetTo(&(*target).Metadata) 975 case User_FieldPathSelectorAuthInfo: 976 fpvs.subPathValue.(UserAuthInfo_FieldPathValue).SetTo(&(*target).AuthInfo) 977 case User_FieldPathSelectorCtrlStatus: 978 fpvs.subPathValue.(UserWorkStatus_FieldPathValue).SetTo(&(*target).CtrlStatus) 979 default: 980 panic(fmt.Sprintf("Invalid selector for User: %d", fpvs.Selector())) 981 } 982 } 983 984 func (fpvs *User_FieldSubPathValue) SetToRaw(target proto.Message) { 985 typedObject := target.(*User) 986 fpvs.SetTo(&typedObject) 987 } 988 989 func (fpvs *User_FieldSubPathValue) GetRawValue() interface{} { 990 return fpvs.subPathValue.GetRawValue() 991 } 992 993 func (fpvs *User_FieldSubPathValue) CompareWith(source *User) (int, bool) { 994 switch fpvs.Selector() { 995 case User_FieldPathSelectorMetadata: 996 return fpvs.subPathValue.(meta.Meta_FieldPathValue).CompareWith(source.GetMetadata()) 997 case User_FieldPathSelectorAuthInfo: 998 return fpvs.subPathValue.(UserAuthInfo_FieldPathValue).CompareWith(source.GetAuthInfo()) 999 case User_FieldPathSelectorCtrlStatus: 1000 return fpvs.subPathValue.(UserWorkStatus_FieldPathValue).CompareWith(source.GetCtrlStatus()) 1001 default: 1002 panic(fmt.Sprintf("Invalid selector for User: %d", fpvs.Selector())) 1003 } 1004 } 1005 1006 func (fpvs *User_FieldSubPathValue) CompareWithRaw(source proto.Message) (int, bool) { 1007 return fpvs.CompareWith(source.(*User)) 1008 } 1009 1010 // User_FieldPathArrayItemValue allows storing single item in Path-specific values for User according to their type 1011 // Present only for array (repeated) types. 1012 type User_FieldPathArrayItemValue interface { 1013 gotenobject.FieldPathArrayItemValue 1014 User_FieldPath 1015 ContainsValue(*User) bool 1016 } 1017 1018 // ParseUser_FieldPathArrayItemValue parses string and JSON-encoded value to its Value 1019 func ParseUser_FieldPathArrayItemValue(pathStr, valueStr string) (User_FieldPathArrayItemValue, error) { 1020 fp, err := ParseUser_FieldPath(pathStr) 1021 if err != nil { 1022 return nil, err 1023 } 1024 fpaiv, err := gotenobject.ParseFieldPathArrayItemValue(fp, valueStr) 1025 if err != nil { 1026 return nil, status.Errorf(codes.InvalidArgument, "error parsing User field path array item value from %s: %v", valueStr, err) 1027 } 1028 return fpaiv.(User_FieldPathArrayItemValue), nil 1029 } 1030 1031 func MustParseUser_FieldPathArrayItemValue(pathStr, valueStr string) User_FieldPathArrayItemValue { 1032 fpaiv, err := ParseUser_FieldPathArrayItemValue(pathStr, valueStr) 1033 if err != nil { 1034 panic(err) 1035 } 1036 return fpaiv 1037 } 1038 1039 type User_FieldTerminalPathArrayItemValue struct { 1040 User_FieldTerminalPath 1041 value interface{} 1042 } 1043 1044 var _ User_FieldPathArrayItemValue = (*User_FieldTerminalPathArrayItemValue)(nil) 1045 1046 // GetRawValue returns stored element value for array in object User as interface{} 1047 func (fpaiv *User_FieldTerminalPathArrayItemValue) GetRawItemValue() interface{} { 1048 return fpaiv.value 1049 } 1050 1051 func (fpaiv *User_FieldTerminalPathArrayItemValue) GetSingle(source *User) (interface{}, bool) { 1052 return nil, false 1053 } 1054 1055 func (fpaiv *User_FieldTerminalPathArrayItemValue) GetSingleRaw(source proto.Message) (interface{}, bool) { 1056 return fpaiv.GetSingle(source.(*User)) 1057 } 1058 1059 // Contains returns a boolean indicating if value that is being held is present in given 'User' 1060 func (fpaiv *User_FieldTerminalPathArrayItemValue) ContainsValue(source *User) bool { 1061 slice := fpaiv.User_FieldTerminalPath.Get(source) 1062 for _, v := range slice { 1063 if asProtoMsg, ok := fpaiv.value.(proto.Message); ok { 1064 if proto.Equal(asProtoMsg, v.(proto.Message)) { 1065 return true 1066 } 1067 } else if reflect.DeepEqual(v, fpaiv.value) { 1068 return true 1069 } 1070 } 1071 return false 1072 } 1073 1074 type User_FieldSubPathArrayItemValue struct { 1075 User_FieldPath 1076 subPathItemValue gotenobject.FieldPathArrayItemValue 1077 } 1078 1079 // GetRawValue returns stored array item value 1080 func (fpaivs *User_FieldSubPathArrayItemValue) GetRawItemValue() interface{} { 1081 return fpaivs.subPathItemValue.GetRawItemValue() 1082 } 1083 func (fpaivs *User_FieldSubPathArrayItemValue) AsMetadataPathItemValue() (meta.Meta_FieldPathArrayItemValue, bool) { 1084 res, ok := fpaivs.subPathItemValue.(meta.Meta_FieldPathArrayItemValue) 1085 return res, ok 1086 } 1087 func (fpaivs *User_FieldSubPathArrayItemValue) AsAuthInfoPathItemValue() (UserAuthInfo_FieldPathArrayItemValue, bool) { 1088 res, ok := fpaivs.subPathItemValue.(UserAuthInfo_FieldPathArrayItemValue) 1089 return res, ok 1090 } 1091 func (fpaivs *User_FieldSubPathArrayItemValue) AsCtrlStatusPathItemValue() (UserWorkStatus_FieldPathArrayItemValue, bool) { 1092 res, ok := fpaivs.subPathItemValue.(UserWorkStatus_FieldPathArrayItemValue) 1093 return res, ok 1094 } 1095 1096 // Contains returns a boolean indicating if value that is being held is present in given 'User' 1097 func (fpaivs *User_FieldSubPathArrayItemValue) ContainsValue(source *User) bool { 1098 switch fpaivs.Selector() { 1099 case User_FieldPathSelectorMetadata: 1100 return fpaivs.subPathItemValue.(meta.Meta_FieldPathArrayItemValue).ContainsValue(source.GetMetadata()) 1101 case User_FieldPathSelectorAuthInfo: 1102 return fpaivs.subPathItemValue.(UserAuthInfo_FieldPathArrayItemValue).ContainsValue(source.GetAuthInfo()) 1103 case User_FieldPathSelectorCtrlStatus: 1104 return fpaivs.subPathItemValue.(UserWorkStatus_FieldPathArrayItemValue).ContainsValue(source.GetCtrlStatus()) 1105 default: 1106 panic(fmt.Sprintf("Invalid selector for User: %d", fpaivs.Selector())) 1107 } 1108 } 1109 1110 // User_FieldPathArrayOfValues allows storing slice of values for User fields according to their type 1111 type User_FieldPathArrayOfValues interface { 1112 gotenobject.FieldPathArrayOfValues 1113 User_FieldPath 1114 } 1115 1116 func ParseUser_FieldPathArrayOfValues(pathStr, valuesStr string) (User_FieldPathArrayOfValues, error) { 1117 fp, err := ParseUser_FieldPath(pathStr) 1118 if err != nil { 1119 return nil, err 1120 } 1121 fpaov, err := gotenobject.ParseFieldPathArrayOfValues(fp, valuesStr) 1122 if err != nil { 1123 return nil, status.Errorf(codes.InvalidArgument, "error parsing User field path array of values from %s: %v", valuesStr, err) 1124 } 1125 return fpaov.(User_FieldPathArrayOfValues), nil 1126 } 1127 1128 func MustParseUser_FieldPathArrayOfValues(pathStr, valuesStr string) User_FieldPathArrayOfValues { 1129 fpaov, err := ParseUser_FieldPathArrayOfValues(pathStr, valuesStr) 1130 if err != nil { 1131 panic(err) 1132 } 1133 return fpaov 1134 } 1135 1136 type User_FieldTerminalPathArrayOfValues struct { 1137 User_FieldTerminalPath 1138 values interface{} 1139 } 1140 1141 var _ User_FieldPathArrayOfValues = (*User_FieldTerminalPathArrayOfValues)(nil) 1142 1143 func (fpaov *User_FieldTerminalPathArrayOfValues) GetRawValues() (values []interface{}) { 1144 switch fpaov.selector { 1145 case User_FieldPathSelectorName: 1146 for _, v := range fpaov.values.([]*Name) { 1147 values = append(values, v) 1148 } 1149 case User_FieldPathSelectorMetadata: 1150 for _, v := range fpaov.values.([]*meta.Meta) { 1151 values = append(values, v) 1152 } 1153 case User_FieldPathSelectorFullName: 1154 for _, v := range fpaov.values.([]string) { 1155 values = append(values, v) 1156 } 1157 case User_FieldPathSelectorEmail: 1158 for _, v := range fpaov.values.([]string) { 1159 values = append(values, v) 1160 } 1161 case User_FieldPathSelectorEmailVerified: 1162 for _, v := range fpaov.values.([]bool) { 1163 values = append(values, v) 1164 } 1165 case User_FieldPathSelectorAuthInfo: 1166 for _, v := range fpaov.values.([]*User_AuthInfo) { 1167 values = append(values, v) 1168 } 1169 case User_FieldPathSelectorSettings: 1170 for _, v := range fpaov.values.([]map[string]string) { 1171 values = append(values, v) 1172 } 1173 case User_FieldPathSelectorRefreshedTime: 1174 for _, v := range fpaov.values.([]*timestamppb.Timestamp) { 1175 values = append(values, v) 1176 } 1177 case User_FieldPathSelectorCtrlStatus: 1178 for _, v := range fpaov.values.([]*User_WorkStatus) { 1179 values = append(values, v) 1180 } 1181 } 1182 return 1183 } 1184 func (fpaov *User_FieldTerminalPathArrayOfValues) AsNameArrayOfValues() ([]*Name, bool) { 1185 res, ok := fpaov.values.([]*Name) 1186 return res, ok 1187 } 1188 func (fpaov *User_FieldTerminalPathArrayOfValues) AsMetadataArrayOfValues() ([]*meta.Meta, bool) { 1189 res, ok := fpaov.values.([]*meta.Meta) 1190 return res, ok 1191 } 1192 func (fpaov *User_FieldTerminalPathArrayOfValues) AsFullNameArrayOfValues() ([]string, bool) { 1193 res, ok := fpaov.values.([]string) 1194 return res, ok 1195 } 1196 func (fpaov *User_FieldTerminalPathArrayOfValues) AsEmailArrayOfValues() ([]string, bool) { 1197 res, ok := fpaov.values.([]string) 1198 return res, ok 1199 } 1200 func (fpaov *User_FieldTerminalPathArrayOfValues) AsEmailVerifiedArrayOfValues() ([]bool, bool) { 1201 res, ok := fpaov.values.([]bool) 1202 return res, ok 1203 } 1204 func (fpaov *User_FieldTerminalPathArrayOfValues) AsAuthInfoArrayOfValues() ([]*User_AuthInfo, bool) { 1205 res, ok := fpaov.values.([]*User_AuthInfo) 1206 return res, ok 1207 } 1208 func (fpaov *User_FieldTerminalPathArrayOfValues) AsSettingsArrayOfValues() ([]map[string]string, bool) { 1209 res, ok := fpaov.values.([]map[string]string) 1210 return res, ok 1211 } 1212 func (fpaov *User_FieldTerminalPathArrayOfValues) AsRefreshedTimeArrayOfValues() ([]*timestamppb.Timestamp, bool) { 1213 res, ok := fpaov.values.([]*timestamppb.Timestamp) 1214 return res, ok 1215 } 1216 func (fpaov *User_FieldTerminalPathArrayOfValues) AsCtrlStatusArrayOfValues() ([]*User_WorkStatus, bool) { 1217 res, ok := fpaov.values.([]*User_WorkStatus) 1218 return res, ok 1219 } 1220 1221 type User_FieldPathMapArrayOfValues struct { 1222 User_FieldPathMap 1223 values interface{} 1224 } 1225 1226 var _ User_FieldPathArrayOfValues = (*User_FieldPathMapArrayOfValues)(nil) 1227 1228 func (fpmaov *User_FieldPathMapArrayOfValues) GetRawValues() (values []interface{}) { 1229 switch fpmaov.selector { 1230 case User_FieldPathSelectorSettings: 1231 for _, v := range fpmaov.values.([]string) { 1232 values = append(values, v) 1233 } 1234 } 1235 return 1236 } 1237 func (fpmaov *User_FieldPathMapArrayOfValues) AsSettingsArrayOfElementValues() ([]string, bool) { 1238 res, ok := fpmaov.values.([]string) 1239 return res, ok 1240 } 1241 1242 type User_FieldSubPathArrayOfValues struct { 1243 User_FieldPath 1244 subPathArrayOfValues gotenobject.FieldPathArrayOfValues 1245 } 1246 1247 var _ User_FieldPathArrayOfValues = (*User_FieldSubPathArrayOfValues)(nil) 1248 1249 func (fpsaov *User_FieldSubPathArrayOfValues) GetRawValues() []interface{} { 1250 return fpsaov.subPathArrayOfValues.GetRawValues() 1251 } 1252 func (fpsaov *User_FieldSubPathArrayOfValues) AsMetadataPathArrayOfValues() (meta.Meta_FieldPathArrayOfValues, bool) { 1253 res, ok := fpsaov.subPathArrayOfValues.(meta.Meta_FieldPathArrayOfValues) 1254 return res, ok 1255 } 1256 func (fpsaov *User_FieldSubPathArrayOfValues) AsAuthInfoPathArrayOfValues() (UserAuthInfo_FieldPathArrayOfValues, bool) { 1257 res, ok := fpsaov.subPathArrayOfValues.(UserAuthInfo_FieldPathArrayOfValues) 1258 return res, ok 1259 } 1260 func (fpsaov *User_FieldSubPathArrayOfValues) AsCtrlStatusPathArrayOfValues() (UserWorkStatus_FieldPathArrayOfValues, bool) { 1261 res, ok := fpsaov.subPathArrayOfValues.(UserWorkStatus_FieldPathArrayOfValues) 1262 return res, ok 1263 } 1264 1265 // FieldPath provides implementation to handle 1266 // https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/field_mask.proto 1267 type UserAuthInfo_FieldPath interface { 1268 gotenobject.FieldPath 1269 Selector() UserAuthInfo_FieldPathSelector 1270 Get(source *User_AuthInfo) []interface{} 1271 GetSingle(source *User_AuthInfo) (interface{}, bool) 1272 ClearValue(item *User_AuthInfo) 1273 1274 // Those methods build corresponding UserAuthInfo_FieldPathValue 1275 // (or array of values) and holds passed value. Panics if injected type is incorrect. 1276 WithIValue(value interface{}) UserAuthInfo_FieldPathValue 1277 WithIArrayOfValues(values interface{}) UserAuthInfo_FieldPathArrayOfValues 1278 WithIArrayItemValue(value interface{}) UserAuthInfo_FieldPathArrayItemValue 1279 } 1280 1281 type UserAuthInfo_FieldPathSelector int32 1282 1283 const ( 1284 UserAuthInfo_FieldPathSelectorProvider UserAuthInfo_FieldPathSelector = 0 1285 UserAuthInfo_FieldPathSelectorId UserAuthInfo_FieldPathSelector = 1 1286 ) 1287 1288 func (s UserAuthInfo_FieldPathSelector) String() string { 1289 switch s { 1290 case UserAuthInfo_FieldPathSelectorProvider: 1291 return "provider" 1292 case UserAuthInfo_FieldPathSelectorId: 1293 return "id" 1294 default: 1295 panic(fmt.Sprintf("Invalid selector for User_AuthInfo: %d", s)) 1296 } 1297 } 1298 1299 func BuildUserAuthInfo_FieldPath(fp gotenobject.RawFieldPath) (UserAuthInfo_FieldPath, error) { 1300 if len(fp) == 0 { 1301 return nil, status.Error(codes.InvalidArgument, "empty field path for object User_AuthInfo") 1302 } 1303 if len(fp) == 1 { 1304 switch fp[0] { 1305 case "provider": 1306 return &UserAuthInfo_FieldTerminalPath{selector: UserAuthInfo_FieldPathSelectorProvider}, nil 1307 case "id": 1308 return &UserAuthInfo_FieldTerminalPath{selector: UserAuthInfo_FieldPathSelectorId}, nil 1309 } 1310 } 1311 return nil, status.Errorf(codes.InvalidArgument, "unknown field path '%s' for object User_AuthInfo", fp) 1312 } 1313 1314 func ParseUserAuthInfo_FieldPath(rawField string) (UserAuthInfo_FieldPath, error) { 1315 fp, err := gotenobject.ParseRawFieldPath(rawField) 1316 if err != nil { 1317 return nil, err 1318 } 1319 return BuildUserAuthInfo_FieldPath(fp) 1320 } 1321 1322 func MustParseUserAuthInfo_FieldPath(rawField string) UserAuthInfo_FieldPath { 1323 fp, err := ParseUserAuthInfo_FieldPath(rawField) 1324 if err != nil { 1325 panic(err) 1326 } 1327 return fp 1328 } 1329 1330 type UserAuthInfo_FieldTerminalPath struct { 1331 selector UserAuthInfo_FieldPathSelector 1332 } 1333 1334 var _ UserAuthInfo_FieldPath = (*UserAuthInfo_FieldTerminalPath)(nil) 1335 1336 func (fp *UserAuthInfo_FieldTerminalPath) Selector() UserAuthInfo_FieldPathSelector { 1337 return fp.selector 1338 } 1339 1340 // String returns path representation in proto convention 1341 func (fp *UserAuthInfo_FieldTerminalPath) String() string { 1342 return fp.selector.String() 1343 } 1344 1345 // JSONString returns path representation is JSON convention 1346 func (fp *UserAuthInfo_FieldTerminalPath) JSONString() string { 1347 return strcase.ToLowerCamel(fp.String()) 1348 } 1349 1350 // Get returns all values pointed by specific field from source User_AuthInfo 1351 func (fp *UserAuthInfo_FieldTerminalPath) Get(source *User_AuthInfo) (values []interface{}) { 1352 if source != nil { 1353 switch fp.selector { 1354 case UserAuthInfo_FieldPathSelectorProvider: 1355 values = append(values, source.Provider) 1356 case UserAuthInfo_FieldPathSelectorId: 1357 values = append(values, source.Id) 1358 default: 1359 panic(fmt.Sprintf("Invalid selector for User_AuthInfo: %d", fp.selector)) 1360 } 1361 } 1362 return 1363 } 1364 1365 func (fp *UserAuthInfo_FieldTerminalPath) GetRaw(source proto.Message) []interface{} { 1366 return fp.Get(source.(*User_AuthInfo)) 1367 } 1368 1369 // GetSingle returns value pointed by specific field of from source User_AuthInfo 1370 func (fp *UserAuthInfo_FieldTerminalPath) GetSingle(source *User_AuthInfo) (interface{}, bool) { 1371 switch fp.selector { 1372 case UserAuthInfo_FieldPathSelectorProvider: 1373 return source.GetProvider(), source != nil 1374 case UserAuthInfo_FieldPathSelectorId: 1375 return source.GetId(), source != nil 1376 default: 1377 panic(fmt.Sprintf("Invalid selector for User_AuthInfo: %d", fp.selector)) 1378 } 1379 } 1380 1381 func (fp *UserAuthInfo_FieldTerminalPath) GetSingleRaw(source proto.Message) (interface{}, bool) { 1382 return fp.GetSingle(source.(*User_AuthInfo)) 1383 } 1384 1385 // GetDefault returns a default value of the field type 1386 func (fp *UserAuthInfo_FieldTerminalPath) GetDefault() interface{} { 1387 switch fp.selector { 1388 case UserAuthInfo_FieldPathSelectorProvider: 1389 return "" 1390 case UserAuthInfo_FieldPathSelectorId: 1391 return "" 1392 default: 1393 panic(fmt.Sprintf("Invalid selector for User_AuthInfo: %d", fp.selector)) 1394 } 1395 } 1396 1397 func (fp *UserAuthInfo_FieldTerminalPath) ClearValue(item *User_AuthInfo) { 1398 if item != nil { 1399 switch fp.selector { 1400 case UserAuthInfo_FieldPathSelectorProvider: 1401 item.Provider = "" 1402 case UserAuthInfo_FieldPathSelectorId: 1403 item.Id = "" 1404 default: 1405 panic(fmt.Sprintf("Invalid selector for User_AuthInfo: %d", fp.selector)) 1406 } 1407 } 1408 } 1409 1410 func (fp *UserAuthInfo_FieldTerminalPath) ClearValueRaw(item proto.Message) { 1411 fp.ClearValue(item.(*User_AuthInfo)) 1412 } 1413 1414 // IsLeaf - whether field path is holds simple value 1415 func (fp *UserAuthInfo_FieldTerminalPath) IsLeaf() bool { 1416 return fp.selector == UserAuthInfo_FieldPathSelectorProvider || 1417 fp.selector == UserAuthInfo_FieldPathSelectorId 1418 } 1419 1420 func (fp *UserAuthInfo_FieldTerminalPath) SplitIntoTerminalIPaths() []gotenobject.FieldPath { 1421 return []gotenobject.FieldPath{fp} 1422 } 1423 1424 func (fp *UserAuthInfo_FieldTerminalPath) WithIValue(value interface{}) UserAuthInfo_FieldPathValue { 1425 switch fp.selector { 1426 case UserAuthInfo_FieldPathSelectorProvider: 1427 return &UserAuthInfo_FieldTerminalPathValue{UserAuthInfo_FieldTerminalPath: *fp, value: value.(string)} 1428 case UserAuthInfo_FieldPathSelectorId: 1429 return &UserAuthInfo_FieldTerminalPathValue{UserAuthInfo_FieldTerminalPath: *fp, value: value.(string)} 1430 default: 1431 panic(fmt.Sprintf("Invalid selector for User_AuthInfo: %d", fp.selector)) 1432 } 1433 } 1434 1435 func (fp *UserAuthInfo_FieldTerminalPath) WithRawIValue(value interface{}) gotenobject.FieldPathValue { 1436 return fp.WithIValue(value) 1437 } 1438 1439 func (fp *UserAuthInfo_FieldTerminalPath) WithIArrayOfValues(values interface{}) UserAuthInfo_FieldPathArrayOfValues { 1440 fpaov := &UserAuthInfo_FieldTerminalPathArrayOfValues{UserAuthInfo_FieldTerminalPath: *fp} 1441 switch fp.selector { 1442 case UserAuthInfo_FieldPathSelectorProvider: 1443 return &UserAuthInfo_FieldTerminalPathArrayOfValues{UserAuthInfo_FieldTerminalPath: *fp, values: values.([]string)} 1444 case UserAuthInfo_FieldPathSelectorId: 1445 return &UserAuthInfo_FieldTerminalPathArrayOfValues{UserAuthInfo_FieldTerminalPath: *fp, values: values.([]string)} 1446 default: 1447 panic(fmt.Sprintf("Invalid selector for User_AuthInfo: %d", fp.selector)) 1448 } 1449 return fpaov 1450 } 1451 1452 func (fp *UserAuthInfo_FieldTerminalPath) WithRawIArrayOfValues(values interface{}) gotenobject.FieldPathArrayOfValues { 1453 return fp.WithIArrayOfValues(values) 1454 } 1455 1456 func (fp *UserAuthInfo_FieldTerminalPath) WithIArrayItemValue(value interface{}) UserAuthInfo_FieldPathArrayItemValue { 1457 switch fp.selector { 1458 default: 1459 panic(fmt.Sprintf("Invalid selector for User_AuthInfo: %d", fp.selector)) 1460 } 1461 } 1462 1463 func (fp *UserAuthInfo_FieldTerminalPath) WithRawIArrayItemValue(value interface{}) gotenobject.FieldPathArrayItemValue { 1464 return fp.WithIArrayItemValue(value) 1465 } 1466 1467 // UserAuthInfo_FieldPathValue allows storing values for AuthInfo fields according to their type 1468 type UserAuthInfo_FieldPathValue interface { 1469 UserAuthInfo_FieldPath 1470 gotenobject.FieldPathValue 1471 SetTo(target **User_AuthInfo) 1472 CompareWith(*User_AuthInfo) (cmp int, comparable bool) 1473 } 1474 1475 func ParseUserAuthInfo_FieldPathValue(pathStr, valueStr string) (UserAuthInfo_FieldPathValue, error) { 1476 fp, err := ParseUserAuthInfo_FieldPath(pathStr) 1477 if err != nil { 1478 return nil, err 1479 } 1480 fpv, err := gotenobject.ParseFieldPathValue(fp, valueStr) 1481 if err != nil { 1482 return nil, status.Errorf(codes.InvalidArgument, "error parsing AuthInfo field path value from %s: %v", valueStr, err) 1483 } 1484 return fpv.(UserAuthInfo_FieldPathValue), nil 1485 } 1486 1487 func MustParseUserAuthInfo_FieldPathValue(pathStr, valueStr string) UserAuthInfo_FieldPathValue { 1488 fpv, err := ParseUserAuthInfo_FieldPathValue(pathStr, valueStr) 1489 if err != nil { 1490 panic(err) 1491 } 1492 return fpv 1493 } 1494 1495 type UserAuthInfo_FieldTerminalPathValue struct { 1496 UserAuthInfo_FieldTerminalPath 1497 value interface{} 1498 } 1499 1500 var _ UserAuthInfo_FieldPathValue = (*UserAuthInfo_FieldTerminalPathValue)(nil) 1501 1502 // GetRawValue returns raw value stored under selected path for 'AuthInfo' as interface{} 1503 func (fpv *UserAuthInfo_FieldTerminalPathValue) GetRawValue() interface{} { 1504 return fpv.value 1505 } 1506 func (fpv *UserAuthInfo_FieldTerminalPathValue) AsProviderValue() (string, bool) { 1507 res, ok := fpv.value.(string) 1508 return res, ok 1509 } 1510 func (fpv *UserAuthInfo_FieldTerminalPathValue) AsIdValue() (string, bool) { 1511 res, ok := fpv.value.(string) 1512 return res, ok 1513 } 1514 1515 // SetTo stores value for selected field for object AuthInfo 1516 func (fpv *UserAuthInfo_FieldTerminalPathValue) SetTo(target **User_AuthInfo) { 1517 if *target == nil { 1518 *target = new(User_AuthInfo) 1519 } 1520 switch fpv.selector { 1521 case UserAuthInfo_FieldPathSelectorProvider: 1522 (*target).Provider = fpv.value.(string) 1523 case UserAuthInfo_FieldPathSelectorId: 1524 (*target).Id = fpv.value.(string) 1525 default: 1526 panic(fmt.Sprintf("Invalid selector for User_AuthInfo: %d", fpv.selector)) 1527 } 1528 } 1529 1530 func (fpv *UserAuthInfo_FieldTerminalPathValue) SetToRaw(target proto.Message) { 1531 typedObject := target.(*User_AuthInfo) 1532 fpv.SetTo(&typedObject) 1533 } 1534 1535 // CompareWith compares value in the 'UserAuthInfo_FieldTerminalPathValue' with the value under path in 'User_AuthInfo'. 1536 func (fpv *UserAuthInfo_FieldTerminalPathValue) CompareWith(source *User_AuthInfo) (int, bool) { 1537 switch fpv.selector { 1538 case UserAuthInfo_FieldPathSelectorProvider: 1539 leftValue := fpv.value.(string) 1540 rightValue := source.GetProvider() 1541 if (leftValue) == (rightValue) { 1542 return 0, true 1543 } else if (leftValue) < (rightValue) { 1544 return -1, true 1545 } else { 1546 return 1, true 1547 } 1548 case UserAuthInfo_FieldPathSelectorId: 1549 leftValue := fpv.value.(string) 1550 rightValue := source.GetId() 1551 if (leftValue) == (rightValue) { 1552 return 0, true 1553 } else if (leftValue) < (rightValue) { 1554 return -1, true 1555 } else { 1556 return 1, true 1557 } 1558 default: 1559 panic(fmt.Sprintf("Invalid selector for User_AuthInfo: %d", fpv.selector)) 1560 } 1561 } 1562 1563 func (fpv *UserAuthInfo_FieldTerminalPathValue) CompareWithRaw(source proto.Message) (int, bool) { 1564 return fpv.CompareWith(source.(*User_AuthInfo)) 1565 } 1566 1567 // UserAuthInfo_FieldPathArrayItemValue allows storing single item in Path-specific values for AuthInfo according to their type 1568 // Present only for array (repeated) types. 1569 type UserAuthInfo_FieldPathArrayItemValue interface { 1570 gotenobject.FieldPathArrayItemValue 1571 UserAuthInfo_FieldPath 1572 ContainsValue(*User_AuthInfo) bool 1573 } 1574 1575 // ParseUserAuthInfo_FieldPathArrayItemValue parses string and JSON-encoded value to its Value 1576 func ParseUserAuthInfo_FieldPathArrayItemValue(pathStr, valueStr string) (UserAuthInfo_FieldPathArrayItemValue, error) { 1577 fp, err := ParseUserAuthInfo_FieldPath(pathStr) 1578 if err != nil { 1579 return nil, err 1580 } 1581 fpaiv, err := gotenobject.ParseFieldPathArrayItemValue(fp, valueStr) 1582 if err != nil { 1583 return nil, status.Errorf(codes.InvalidArgument, "error parsing AuthInfo field path array item value from %s: %v", valueStr, err) 1584 } 1585 return fpaiv.(UserAuthInfo_FieldPathArrayItemValue), nil 1586 } 1587 1588 func MustParseUserAuthInfo_FieldPathArrayItemValue(pathStr, valueStr string) UserAuthInfo_FieldPathArrayItemValue { 1589 fpaiv, err := ParseUserAuthInfo_FieldPathArrayItemValue(pathStr, valueStr) 1590 if err != nil { 1591 panic(err) 1592 } 1593 return fpaiv 1594 } 1595 1596 type UserAuthInfo_FieldTerminalPathArrayItemValue struct { 1597 UserAuthInfo_FieldTerminalPath 1598 value interface{} 1599 } 1600 1601 var _ UserAuthInfo_FieldPathArrayItemValue = (*UserAuthInfo_FieldTerminalPathArrayItemValue)(nil) 1602 1603 // GetRawValue returns stored element value for array in object User_AuthInfo as interface{} 1604 func (fpaiv *UserAuthInfo_FieldTerminalPathArrayItemValue) GetRawItemValue() interface{} { 1605 return fpaiv.value 1606 } 1607 1608 func (fpaiv *UserAuthInfo_FieldTerminalPathArrayItemValue) GetSingle(source *User_AuthInfo) (interface{}, bool) { 1609 return nil, false 1610 } 1611 1612 func (fpaiv *UserAuthInfo_FieldTerminalPathArrayItemValue) GetSingleRaw(source proto.Message) (interface{}, bool) { 1613 return fpaiv.GetSingle(source.(*User_AuthInfo)) 1614 } 1615 1616 // Contains returns a boolean indicating if value that is being held is present in given 'AuthInfo' 1617 func (fpaiv *UserAuthInfo_FieldTerminalPathArrayItemValue) ContainsValue(source *User_AuthInfo) bool { 1618 slice := fpaiv.UserAuthInfo_FieldTerminalPath.Get(source) 1619 for _, v := range slice { 1620 if asProtoMsg, ok := fpaiv.value.(proto.Message); ok { 1621 if proto.Equal(asProtoMsg, v.(proto.Message)) { 1622 return true 1623 } 1624 } else if reflect.DeepEqual(v, fpaiv.value) { 1625 return true 1626 } 1627 } 1628 return false 1629 } 1630 1631 // UserAuthInfo_FieldPathArrayOfValues allows storing slice of values for AuthInfo fields according to their type 1632 type UserAuthInfo_FieldPathArrayOfValues interface { 1633 gotenobject.FieldPathArrayOfValues 1634 UserAuthInfo_FieldPath 1635 } 1636 1637 func ParseUserAuthInfo_FieldPathArrayOfValues(pathStr, valuesStr string) (UserAuthInfo_FieldPathArrayOfValues, error) { 1638 fp, err := ParseUserAuthInfo_FieldPath(pathStr) 1639 if err != nil { 1640 return nil, err 1641 } 1642 fpaov, err := gotenobject.ParseFieldPathArrayOfValues(fp, valuesStr) 1643 if err != nil { 1644 return nil, status.Errorf(codes.InvalidArgument, "error parsing AuthInfo field path array of values from %s: %v", valuesStr, err) 1645 } 1646 return fpaov.(UserAuthInfo_FieldPathArrayOfValues), nil 1647 } 1648 1649 func MustParseUserAuthInfo_FieldPathArrayOfValues(pathStr, valuesStr string) UserAuthInfo_FieldPathArrayOfValues { 1650 fpaov, err := ParseUserAuthInfo_FieldPathArrayOfValues(pathStr, valuesStr) 1651 if err != nil { 1652 panic(err) 1653 } 1654 return fpaov 1655 } 1656 1657 type UserAuthInfo_FieldTerminalPathArrayOfValues struct { 1658 UserAuthInfo_FieldTerminalPath 1659 values interface{} 1660 } 1661 1662 var _ UserAuthInfo_FieldPathArrayOfValues = (*UserAuthInfo_FieldTerminalPathArrayOfValues)(nil) 1663 1664 func (fpaov *UserAuthInfo_FieldTerminalPathArrayOfValues) GetRawValues() (values []interface{}) { 1665 switch fpaov.selector { 1666 case UserAuthInfo_FieldPathSelectorProvider: 1667 for _, v := range fpaov.values.([]string) { 1668 values = append(values, v) 1669 } 1670 case UserAuthInfo_FieldPathSelectorId: 1671 for _, v := range fpaov.values.([]string) { 1672 values = append(values, v) 1673 } 1674 } 1675 return 1676 } 1677 func (fpaov *UserAuthInfo_FieldTerminalPathArrayOfValues) AsProviderArrayOfValues() ([]string, bool) { 1678 res, ok := fpaov.values.([]string) 1679 return res, ok 1680 } 1681 func (fpaov *UserAuthInfo_FieldTerminalPathArrayOfValues) AsIdArrayOfValues() ([]string, bool) { 1682 res, ok := fpaov.values.([]string) 1683 return res, ok 1684 } 1685 1686 // FieldPath provides implementation to handle 1687 // https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/field_mask.proto 1688 type UserWorkStatus_FieldPath interface { 1689 gotenobject.FieldPath 1690 Selector() UserWorkStatus_FieldPathSelector 1691 Get(source *User_WorkStatus) []interface{} 1692 GetSingle(source *User_WorkStatus) (interface{}, bool) 1693 ClearValue(item *User_WorkStatus) 1694 1695 // Those methods build corresponding UserWorkStatus_FieldPathValue 1696 // (or array of values) and holds passed value. Panics if injected type is incorrect. 1697 WithIValue(value interface{}) UserWorkStatus_FieldPathValue 1698 WithIArrayOfValues(values interface{}) UserWorkStatus_FieldPathArrayOfValues 1699 WithIArrayItemValue(value interface{}) UserWorkStatus_FieldPathArrayItemValue 1700 } 1701 1702 type UserWorkStatus_FieldPathSelector int32 1703 1704 const ( 1705 UserWorkStatus_FieldPathSelectorPending UserWorkStatus_FieldPathSelector = 0 1706 ) 1707 1708 func (s UserWorkStatus_FieldPathSelector) String() string { 1709 switch s { 1710 case UserWorkStatus_FieldPathSelectorPending: 1711 return "pending" 1712 default: 1713 panic(fmt.Sprintf("Invalid selector for User_WorkStatus: %d", s)) 1714 } 1715 } 1716 1717 func BuildUserWorkStatus_FieldPath(fp gotenobject.RawFieldPath) (UserWorkStatus_FieldPath, error) { 1718 if len(fp) == 0 { 1719 return nil, status.Error(codes.InvalidArgument, "empty field path for object User_WorkStatus") 1720 } 1721 if len(fp) == 1 { 1722 switch fp[0] { 1723 case "pending": 1724 return &UserWorkStatus_FieldTerminalPath{selector: UserWorkStatus_FieldPathSelectorPending}, nil 1725 } 1726 } 1727 return nil, status.Errorf(codes.InvalidArgument, "unknown field path '%s' for object User_WorkStatus", fp) 1728 } 1729 1730 func ParseUserWorkStatus_FieldPath(rawField string) (UserWorkStatus_FieldPath, error) { 1731 fp, err := gotenobject.ParseRawFieldPath(rawField) 1732 if err != nil { 1733 return nil, err 1734 } 1735 return BuildUserWorkStatus_FieldPath(fp) 1736 } 1737 1738 func MustParseUserWorkStatus_FieldPath(rawField string) UserWorkStatus_FieldPath { 1739 fp, err := ParseUserWorkStatus_FieldPath(rawField) 1740 if err != nil { 1741 panic(err) 1742 } 1743 return fp 1744 } 1745 1746 type UserWorkStatus_FieldTerminalPath struct { 1747 selector UserWorkStatus_FieldPathSelector 1748 } 1749 1750 var _ UserWorkStatus_FieldPath = (*UserWorkStatus_FieldTerminalPath)(nil) 1751 1752 func (fp *UserWorkStatus_FieldTerminalPath) Selector() UserWorkStatus_FieldPathSelector { 1753 return fp.selector 1754 } 1755 1756 // String returns path representation in proto convention 1757 func (fp *UserWorkStatus_FieldTerminalPath) String() string { 1758 return fp.selector.String() 1759 } 1760 1761 // JSONString returns path representation is JSON convention 1762 func (fp *UserWorkStatus_FieldTerminalPath) JSONString() string { 1763 return strcase.ToLowerCamel(fp.String()) 1764 } 1765 1766 // Get returns all values pointed by specific field from source User_WorkStatus 1767 func (fp *UserWorkStatus_FieldTerminalPath) Get(source *User_WorkStatus) (values []interface{}) { 1768 if source != nil { 1769 switch fp.selector { 1770 case UserWorkStatus_FieldPathSelectorPending: 1771 values = append(values, source.Pending) 1772 default: 1773 panic(fmt.Sprintf("Invalid selector for User_WorkStatus: %d", fp.selector)) 1774 } 1775 } 1776 return 1777 } 1778 1779 func (fp *UserWorkStatus_FieldTerminalPath) GetRaw(source proto.Message) []interface{} { 1780 return fp.Get(source.(*User_WorkStatus)) 1781 } 1782 1783 // GetSingle returns value pointed by specific field of from source User_WorkStatus 1784 func (fp *UserWorkStatus_FieldTerminalPath) GetSingle(source *User_WorkStatus) (interface{}, bool) { 1785 switch fp.selector { 1786 case UserWorkStatus_FieldPathSelectorPending: 1787 return source.GetPending(), source != nil 1788 default: 1789 panic(fmt.Sprintf("Invalid selector for User_WorkStatus: %d", fp.selector)) 1790 } 1791 } 1792 1793 func (fp *UserWorkStatus_FieldTerminalPath) GetSingleRaw(source proto.Message) (interface{}, bool) { 1794 return fp.GetSingle(source.(*User_WorkStatus)) 1795 } 1796 1797 // GetDefault returns a default value of the field type 1798 func (fp *UserWorkStatus_FieldTerminalPath) GetDefault() interface{} { 1799 switch fp.selector { 1800 case UserWorkStatus_FieldPathSelectorPending: 1801 return false 1802 default: 1803 panic(fmt.Sprintf("Invalid selector for User_WorkStatus: %d", fp.selector)) 1804 } 1805 } 1806 1807 func (fp *UserWorkStatus_FieldTerminalPath) ClearValue(item *User_WorkStatus) { 1808 if item != nil { 1809 switch fp.selector { 1810 case UserWorkStatus_FieldPathSelectorPending: 1811 item.Pending = false 1812 default: 1813 panic(fmt.Sprintf("Invalid selector for User_WorkStatus: %d", fp.selector)) 1814 } 1815 } 1816 } 1817 1818 func (fp *UserWorkStatus_FieldTerminalPath) ClearValueRaw(item proto.Message) { 1819 fp.ClearValue(item.(*User_WorkStatus)) 1820 } 1821 1822 // IsLeaf - whether field path is holds simple value 1823 func (fp *UserWorkStatus_FieldTerminalPath) IsLeaf() bool { 1824 return fp.selector == UserWorkStatus_FieldPathSelectorPending 1825 } 1826 1827 func (fp *UserWorkStatus_FieldTerminalPath) SplitIntoTerminalIPaths() []gotenobject.FieldPath { 1828 return []gotenobject.FieldPath{fp} 1829 } 1830 1831 func (fp *UserWorkStatus_FieldTerminalPath) WithIValue(value interface{}) UserWorkStatus_FieldPathValue { 1832 switch fp.selector { 1833 case UserWorkStatus_FieldPathSelectorPending: 1834 return &UserWorkStatus_FieldTerminalPathValue{UserWorkStatus_FieldTerminalPath: *fp, value: value.(bool)} 1835 default: 1836 panic(fmt.Sprintf("Invalid selector for User_WorkStatus: %d", fp.selector)) 1837 } 1838 } 1839 1840 func (fp *UserWorkStatus_FieldTerminalPath) WithRawIValue(value interface{}) gotenobject.FieldPathValue { 1841 return fp.WithIValue(value) 1842 } 1843 1844 func (fp *UserWorkStatus_FieldTerminalPath) WithIArrayOfValues(values interface{}) UserWorkStatus_FieldPathArrayOfValues { 1845 fpaov := &UserWorkStatus_FieldTerminalPathArrayOfValues{UserWorkStatus_FieldTerminalPath: *fp} 1846 switch fp.selector { 1847 case UserWorkStatus_FieldPathSelectorPending: 1848 return &UserWorkStatus_FieldTerminalPathArrayOfValues{UserWorkStatus_FieldTerminalPath: *fp, values: values.([]bool)} 1849 default: 1850 panic(fmt.Sprintf("Invalid selector for User_WorkStatus: %d", fp.selector)) 1851 } 1852 return fpaov 1853 } 1854 1855 func (fp *UserWorkStatus_FieldTerminalPath) WithRawIArrayOfValues(values interface{}) gotenobject.FieldPathArrayOfValues { 1856 return fp.WithIArrayOfValues(values) 1857 } 1858 1859 func (fp *UserWorkStatus_FieldTerminalPath) WithIArrayItemValue(value interface{}) UserWorkStatus_FieldPathArrayItemValue { 1860 switch fp.selector { 1861 default: 1862 panic(fmt.Sprintf("Invalid selector for User_WorkStatus: %d", fp.selector)) 1863 } 1864 } 1865 1866 func (fp *UserWorkStatus_FieldTerminalPath) WithRawIArrayItemValue(value interface{}) gotenobject.FieldPathArrayItemValue { 1867 return fp.WithIArrayItemValue(value) 1868 } 1869 1870 // UserWorkStatus_FieldPathValue allows storing values for WorkStatus fields according to their type 1871 type UserWorkStatus_FieldPathValue interface { 1872 UserWorkStatus_FieldPath 1873 gotenobject.FieldPathValue 1874 SetTo(target **User_WorkStatus) 1875 CompareWith(*User_WorkStatus) (cmp int, comparable bool) 1876 } 1877 1878 func ParseUserWorkStatus_FieldPathValue(pathStr, valueStr string) (UserWorkStatus_FieldPathValue, error) { 1879 fp, err := ParseUserWorkStatus_FieldPath(pathStr) 1880 if err != nil { 1881 return nil, err 1882 } 1883 fpv, err := gotenobject.ParseFieldPathValue(fp, valueStr) 1884 if err != nil { 1885 return nil, status.Errorf(codes.InvalidArgument, "error parsing WorkStatus field path value from %s: %v", valueStr, err) 1886 } 1887 return fpv.(UserWorkStatus_FieldPathValue), nil 1888 } 1889 1890 func MustParseUserWorkStatus_FieldPathValue(pathStr, valueStr string) UserWorkStatus_FieldPathValue { 1891 fpv, err := ParseUserWorkStatus_FieldPathValue(pathStr, valueStr) 1892 if err != nil { 1893 panic(err) 1894 } 1895 return fpv 1896 } 1897 1898 type UserWorkStatus_FieldTerminalPathValue struct { 1899 UserWorkStatus_FieldTerminalPath 1900 value interface{} 1901 } 1902 1903 var _ UserWorkStatus_FieldPathValue = (*UserWorkStatus_FieldTerminalPathValue)(nil) 1904 1905 // GetRawValue returns raw value stored under selected path for 'WorkStatus' as interface{} 1906 func (fpv *UserWorkStatus_FieldTerminalPathValue) GetRawValue() interface{} { 1907 return fpv.value 1908 } 1909 func (fpv *UserWorkStatus_FieldTerminalPathValue) AsPendingValue() (bool, bool) { 1910 res, ok := fpv.value.(bool) 1911 return res, ok 1912 } 1913 1914 // SetTo stores value for selected field for object WorkStatus 1915 func (fpv *UserWorkStatus_FieldTerminalPathValue) SetTo(target **User_WorkStatus) { 1916 if *target == nil { 1917 *target = new(User_WorkStatus) 1918 } 1919 switch fpv.selector { 1920 case UserWorkStatus_FieldPathSelectorPending: 1921 (*target).Pending = fpv.value.(bool) 1922 default: 1923 panic(fmt.Sprintf("Invalid selector for User_WorkStatus: %d", fpv.selector)) 1924 } 1925 } 1926 1927 func (fpv *UserWorkStatus_FieldTerminalPathValue) SetToRaw(target proto.Message) { 1928 typedObject := target.(*User_WorkStatus) 1929 fpv.SetTo(&typedObject) 1930 } 1931 1932 // CompareWith compares value in the 'UserWorkStatus_FieldTerminalPathValue' with the value under path in 'User_WorkStatus'. 1933 func (fpv *UserWorkStatus_FieldTerminalPathValue) CompareWith(source *User_WorkStatus) (int, bool) { 1934 switch fpv.selector { 1935 case UserWorkStatus_FieldPathSelectorPending: 1936 leftValue := fpv.value.(bool) 1937 rightValue := source.GetPending() 1938 if (leftValue) == (rightValue) { 1939 return 0, true 1940 } else if !(leftValue) && (rightValue) { 1941 return -1, true 1942 } else { 1943 return 1, true 1944 } 1945 default: 1946 panic(fmt.Sprintf("Invalid selector for User_WorkStatus: %d", fpv.selector)) 1947 } 1948 } 1949 1950 func (fpv *UserWorkStatus_FieldTerminalPathValue) CompareWithRaw(source proto.Message) (int, bool) { 1951 return fpv.CompareWith(source.(*User_WorkStatus)) 1952 } 1953 1954 // UserWorkStatus_FieldPathArrayItemValue allows storing single item in Path-specific values for WorkStatus according to their type 1955 // Present only for array (repeated) types. 1956 type UserWorkStatus_FieldPathArrayItemValue interface { 1957 gotenobject.FieldPathArrayItemValue 1958 UserWorkStatus_FieldPath 1959 ContainsValue(*User_WorkStatus) bool 1960 } 1961 1962 // ParseUserWorkStatus_FieldPathArrayItemValue parses string and JSON-encoded value to its Value 1963 func ParseUserWorkStatus_FieldPathArrayItemValue(pathStr, valueStr string) (UserWorkStatus_FieldPathArrayItemValue, error) { 1964 fp, err := ParseUserWorkStatus_FieldPath(pathStr) 1965 if err != nil { 1966 return nil, err 1967 } 1968 fpaiv, err := gotenobject.ParseFieldPathArrayItemValue(fp, valueStr) 1969 if err != nil { 1970 return nil, status.Errorf(codes.InvalidArgument, "error parsing WorkStatus field path array item value from %s: %v", valueStr, err) 1971 } 1972 return fpaiv.(UserWorkStatus_FieldPathArrayItemValue), nil 1973 } 1974 1975 func MustParseUserWorkStatus_FieldPathArrayItemValue(pathStr, valueStr string) UserWorkStatus_FieldPathArrayItemValue { 1976 fpaiv, err := ParseUserWorkStatus_FieldPathArrayItemValue(pathStr, valueStr) 1977 if err != nil { 1978 panic(err) 1979 } 1980 return fpaiv 1981 } 1982 1983 type UserWorkStatus_FieldTerminalPathArrayItemValue struct { 1984 UserWorkStatus_FieldTerminalPath 1985 value interface{} 1986 } 1987 1988 var _ UserWorkStatus_FieldPathArrayItemValue = (*UserWorkStatus_FieldTerminalPathArrayItemValue)(nil) 1989 1990 // GetRawValue returns stored element value for array in object User_WorkStatus as interface{} 1991 func (fpaiv *UserWorkStatus_FieldTerminalPathArrayItemValue) GetRawItemValue() interface{} { 1992 return fpaiv.value 1993 } 1994 1995 func (fpaiv *UserWorkStatus_FieldTerminalPathArrayItemValue) GetSingle(source *User_WorkStatus) (interface{}, bool) { 1996 return nil, false 1997 } 1998 1999 func (fpaiv *UserWorkStatus_FieldTerminalPathArrayItemValue) GetSingleRaw(source proto.Message) (interface{}, bool) { 2000 return fpaiv.GetSingle(source.(*User_WorkStatus)) 2001 } 2002 2003 // Contains returns a boolean indicating if value that is being held is present in given 'WorkStatus' 2004 func (fpaiv *UserWorkStatus_FieldTerminalPathArrayItemValue) ContainsValue(source *User_WorkStatus) bool { 2005 slice := fpaiv.UserWorkStatus_FieldTerminalPath.Get(source) 2006 for _, v := range slice { 2007 if asProtoMsg, ok := fpaiv.value.(proto.Message); ok { 2008 if proto.Equal(asProtoMsg, v.(proto.Message)) { 2009 return true 2010 } 2011 } else if reflect.DeepEqual(v, fpaiv.value) { 2012 return true 2013 } 2014 } 2015 return false 2016 } 2017 2018 // UserWorkStatus_FieldPathArrayOfValues allows storing slice of values for WorkStatus fields according to their type 2019 type UserWorkStatus_FieldPathArrayOfValues interface { 2020 gotenobject.FieldPathArrayOfValues 2021 UserWorkStatus_FieldPath 2022 } 2023 2024 func ParseUserWorkStatus_FieldPathArrayOfValues(pathStr, valuesStr string) (UserWorkStatus_FieldPathArrayOfValues, error) { 2025 fp, err := ParseUserWorkStatus_FieldPath(pathStr) 2026 if err != nil { 2027 return nil, err 2028 } 2029 fpaov, err := gotenobject.ParseFieldPathArrayOfValues(fp, valuesStr) 2030 if err != nil { 2031 return nil, status.Errorf(codes.InvalidArgument, "error parsing WorkStatus field path array of values from %s: %v", valuesStr, err) 2032 } 2033 return fpaov.(UserWorkStatus_FieldPathArrayOfValues), nil 2034 } 2035 2036 func MustParseUserWorkStatus_FieldPathArrayOfValues(pathStr, valuesStr string) UserWorkStatus_FieldPathArrayOfValues { 2037 fpaov, err := ParseUserWorkStatus_FieldPathArrayOfValues(pathStr, valuesStr) 2038 if err != nil { 2039 panic(err) 2040 } 2041 return fpaov 2042 } 2043 2044 type UserWorkStatus_FieldTerminalPathArrayOfValues struct { 2045 UserWorkStatus_FieldTerminalPath 2046 values interface{} 2047 } 2048 2049 var _ UserWorkStatus_FieldPathArrayOfValues = (*UserWorkStatus_FieldTerminalPathArrayOfValues)(nil) 2050 2051 func (fpaov *UserWorkStatus_FieldTerminalPathArrayOfValues) GetRawValues() (values []interface{}) { 2052 switch fpaov.selector { 2053 case UserWorkStatus_FieldPathSelectorPending: 2054 for _, v := range fpaov.values.([]bool) { 2055 values = append(values, v) 2056 } 2057 } 2058 return 2059 } 2060 func (fpaov *UserWorkStatus_FieldTerminalPathArrayOfValues) AsPendingArrayOfValues() ([]bool, bool) { 2061 res, ok := fpaov.values.([]bool) 2062 return res, ok 2063 }