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