github.com/cloudwan/edgelq-sdk@v1.15.4/cellular-api/resources/v1/sim_card/sim_card.pb.fieldmask.go (about) 1 // Code generated by protoc-gen-goten-object 2 // File: edgelq/cellular-api/proto/v1/sim_card.proto 3 // DO NOT EDIT!!! 4 5 package sim_card 6 7 import ( 8 "encoding/json" 9 "strings" 10 11 "google.golang.org/grpc/codes" 12 "google.golang.org/grpc/status" 13 "google.golang.org/protobuf/proto" 14 preflect "google.golang.org/protobuf/reflect/protoreflect" 15 googlefieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb" 16 17 gotenobject "github.com/cloudwan/goten-sdk/runtime/object" 18 ) 19 20 // proto imports 21 import ( 22 carrier "github.com/cloudwan/edgelq-sdk/cellular-api/carrier" 23 contract "github.com/cloudwan/edgelq-sdk/cellular-api/resources/v1/contract" 24 iam_project "github.com/cloudwan/edgelq-sdk/iam/resources/v1/project" 25 meta "github.com/cloudwan/goten-sdk/types/meta" 26 ) 27 28 // ensure the imports are used 29 var ( 30 _ = new(json.Marshaler) 31 _ = strings.Builder{} 32 33 _ = codes.NotFound 34 _ = status.Status{} 35 _ = new(proto.Message) 36 _ = new(preflect.Message) 37 _ = googlefieldmaskpb.FieldMask{} 38 39 _ = new(gotenobject.FieldMask) 40 ) 41 42 // make sure we're using proto imports 43 var ( 44 _ = &carrier.TransatelAccount{} 45 _ = &contract.Contract{} 46 _ = &iam_project.Project{} 47 _ = &meta.Meta{} 48 ) 49 50 type SimCard_FieldMask struct { 51 Paths []SimCard_FieldPath 52 } 53 54 func FullSimCard_FieldMask() *SimCard_FieldMask { 55 res := &SimCard_FieldMask{} 56 res.Paths = append(res.Paths, &SimCard_FieldTerminalPath{selector: SimCard_FieldPathSelectorName}) 57 res.Paths = append(res.Paths, &SimCard_FieldTerminalPath{selector: SimCard_FieldPathSelectorMetadata}) 58 res.Paths = append(res.Paths, &SimCard_FieldTerminalPath{selector: SimCard_FieldPathSelectorContract}) 59 res.Paths = append(res.Paths, &SimCard_FieldTerminalPath{selector: SimCard_FieldPathSelectorImsi}) 60 res.Paths = append(res.Paths, &SimCard_FieldTerminalPath{selector: SimCard_FieldPathSelectorRatePlan}) 61 res.Paths = append(res.Paths, &SimCard_FieldTerminalPath{selector: SimCard_FieldPathSelectorStatus}) 62 return res 63 } 64 65 func (fieldMask *SimCard_FieldMask) String() string { 66 if fieldMask == nil { 67 return "<nil>" 68 } 69 pathsStr := make([]string, 0, len(fieldMask.Paths)) 70 for _, path := range fieldMask.Paths { 71 pathsStr = append(pathsStr, path.String()) 72 } 73 return strings.Join(pathsStr, ", ") 74 } 75 76 func (fieldMask *SimCard_FieldMask) IsFull() bool { 77 if fieldMask == nil { 78 return false 79 } 80 presentSelectors := make([]bool, 6) 81 for _, path := range fieldMask.Paths { 82 if asFinal, ok := path.(*SimCard_FieldTerminalPath); ok { 83 presentSelectors[int(asFinal.selector)] = true 84 } 85 } 86 for _, flag := range presentSelectors { 87 if !flag { 88 return false 89 } 90 } 91 return true 92 } 93 94 func (fieldMask *SimCard_FieldMask) ProtoReflect() preflect.Message { 95 return gotenobject.MakeFieldMaskReflection(fieldMask, func(raw string) (gotenobject.FieldPath, error) { 96 return ParseSimCard_FieldPath(raw) 97 }) 98 } 99 100 func (fieldMask *SimCard_FieldMask) ProtoMessage() {} 101 102 func (fieldMask *SimCard_FieldMask) Reset() { 103 if fieldMask != nil { 104 fieldMask.Paths = nil 105 } 106 } 107 108 func (fieldMask *SimCard_FieldMask) Subtract(other *SimCard_FieldMask) *SimCard_FieldMask { 109 result := &SimCard_FieldMask{} 110 removedSelectors := make([]bool, 6) 111 otherSubMasks := map[SimCard_FieldPathSelector]gotenobject.FieldMask{ 112 SimCard_FieldPathSelectorMetadata: &meta.Meta_FieldMask{}, 113 SimCard_FieldPathSelectorStatus: &SimCard_Status_FieldMask{}, 114 } 115 mySubMasks := map[SimCard_FieldPathSelector]gotenobject.FieldMask{ 116 SimCard_FieldPathSelectorMetadata: &meta.Meta_FieldMask{}, 117 SimCard_FieldPathSelectorStatus: &SimCard_Status_FieldMask{}, 118 } 119 120 for _, path := range other.GetPaths() { 121 switch tp := path.(type) { 122 case *SimCard_FieldTerminalPath: 123 removedSelectors[int(tp.selector)] = true 124 case *SimCard_FieldSubPath: 125 otherSubMasks[tp.selector].AppendRawPath(tp.subPath) 126 } 127 } 128 for _, path := range fieldMask.GetPaths() { 129 if !removedSelectors[int(path.Selector())] { 130 if otherSubMask := otherSubMasks[path.Selector()]; otherSubMask != nil && otherSubMask.PathsCount() > 0 { 131 if tp, ok := path.(*SimCard_FieldTerminalPath); ok { 132 switch tp.selector { 133 case SimCard_FieldPathSelectorMetadata: 134 mySubMasks[SimCard_FieldPathSelectorMetadata] = meta.FullMeta_FieldMask() 135 case SimCard_FieldPathSelectorStatus: 136 mySubMasks[SimCard_FieldPathSelectorStatus] = FullSimCard_Status_FieldMask() 137 } 138 } else if tp, ok := path.(*SimCard_FieldSubPath); ok { 139 mySubMasks[tp.selector].AppendRawPath(tp.subPath) 140 } 141 } else { 142 result.Paths = append(result.Paths, path) 143 } 144 } 145 } 146 for selector, mySubMask := range mySubMasks { 147 if mySubMask.PathsCount() > 0 { 148 for _, allowedPath := range mySubMask.SubtractRaw(otherSubMasks[selector]).GetRawPaths() { 149 result.Paths = append(result.Paths, &SimCard_FieldSubPath{selector: selector, subPath: allowedPath}) 150 } 151 } 152 } 153 154 if len(result.Paths) == 0 { 155 return nil 156 } 157 return result 158 } 159 160 func (fieldMask *SimCard_FieldMask) SubtractRaw(other gotenobject.FieldMask) gotenobject.FieldMask { 161 return fieldMask.Subtract(other.(*SimCard_FieldMask)) 162 } 163 164 // FilterInputFields generates copy of field paths with output_only field paths removed 165 func (fieldMask *SimCard_FieldMask) FilterInputFields() *SimCard_FieldMask { 166 result := &SimCard_FieldMask{} 167 for _, path := range fieldMask.Paths { 168 switch path.Selector() { 169 case SimCard_FieldPathSelectorMetadata: 170 if _, ok := path.(*SimCard_FieldTerminalPath); ok { 171 for _, subpath := range meta.FullMeta_FieldMask().FilterInputFields().Paths { 172 result.Paths = append(result.Paths, &SimCard_FieldSubPath{selector: path.Selector(), subPath: subpath}) 173 } 174 } else if sub, ok := path.(*SimCard_FieldSubPath); ok { 175 selectedMask := &meta.Meta_FieldMask{ 176 Paths: []meta.Meta_FieldPath{sub.subPath.(meta.Meta_FieldPath)}, 177 } 178 for _, allowedPath := range selectedMask.FilterInputFields().Paths { 179 result.Paths = append(result.Paths, &SimCard_FieldSubPath{selector: SimCard_FieldPathSelectorMetadata, subPath: allowedPath}) 180 } 181 } 182 default: 183 result.Paths = append(result.Paths, path) 184 } 185 } 186 return result 187 } 188 189 // ToFieldMask is used for proto conversions 190 func (fieldMask *SimCard_FieldMask) ToProtoFieldMask() *googlefieldmaskpb.FieldMask { 191 protoFieldMask := &googlefieldmaskpb.FieldMask{} 192 for _, path := range fieldMask.Paths { 193 protoFieldMask.Paths = append(protoFieldMask.Paths, path.String()) 194 } 195 return protoFieldMask 196 } 197 198 func (fieldMask *SimCard_FieldMask) FromProtoFieldMask(protoFieldMask *googlefieldmaskpb.FieldMask) error { 199 if fieldMask == nil { 200 return status.Error(codes.Internal, "target field mask is nil") 201 } 202 fieldMask.Paths = make([]SimCard_FieldPath, 0, len(protoFieldMask.Paths)) 203 for _, strPath := range protoFieldMask.Paths { 204 path, err := ParseSimCard_FieldPath(strPath) 205 if err != nil { 206 return err 207 } 208 fieldMask.Paths = append(fieldMask.Paths, path) 209 } 210 return nil 211 } 212 213 // implement methods required by customType 214 func (fieldMask SimCard_FieldMask) Marshal() ([]byte, error) { 215 protoFieldMask := fieldMask.ToProtoFieldMask() 216 return proto.Marshal(protoFieldMask) 217 } 218 219 func (fieldMask *SimCard_FieldMask) Unmarshal(data []byte) error { 220 protoFieldMask := &googlefieldmaskpb.FieldMask{} 221 if err := proto.Unmarshal(data, protoFieldMask); err != nil { 222 return err 223 } 224 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 225 return err 226 } 227 return nil 228 } 229 230 func (fieldMask *SimCard_FieldMask) Size() int { 231 return proto.Size(fieldMask.ToProtoFieldMask()) 232 } 233 234 func (fieldMask SimCard_FieldMask) MarshalJSON() ([]byte, error) { 235 return json.Marshal(fieldMask.ToProtoFieldMask()) 236 } 237 238 func (fieldMask *SimCard_FieldMask) UnmarshalJSON(data []byte) error { 239 protoFieldMask := &googlefieldmaskpb.FieldMask{} 240 if err := json.Unmarshal(data, protoFieldMask); err != nil { 241 return err 242 } 243 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 244 return err 245 } 246 return nil 247 } 248 249 func (fieldMask *SimCard_FieldMask) AppendPath(path SimCard_FieldPath) { 250 fieldMask.Paths = append(fieldMask.Paths, path) 251 } 252 253 func (fieldMask *SimCard_FieldMask) AppendRawPath(path gotenobject.FieldPath) { 254 fieldMask.Paths = append(fieldMask.Paths, path.(SimCard_FieldPath)) 255 } 256 257 func (fieldMask *SimCard_FieldMask) GetPaths() []SimCard_FieldPath { 258 if fieldMask == nil { 259 return nil 260 } 261 return fieldMask.Paths 262 } 263 264 func (fieldMask *SimCard_FieldMask) GetRawPaths() []gotenobject.FieldPath { 265 if fieldMask == nil { 266 return nil 267 } 268 rawPaths := make([]gotenobject.FieldPath, 0, len(fieldMask.Paths)) 269 for _, path := range fieldMask.Paths { 270 rawPaths = append(rawPaths, path) 271 } 272 return rawPaths 273 } 274 275 func (fieldMask *SimCard_FieldMask) SetFromCliFlag(raw string) error { 276 path, err := ParseSimCard_FieldPath(raw) 277 if err != nil { 278 return err 279 } 280 fieldMask.Paths = append(fieldMask.Paths, path) 281 return nil 282 } 283 284 func (fieldMask *SimCard_FieldMask) Set(target, source *SimCard) { 285 for _, path := range fieldMask.Paths { 286 val, _ := path.GetSingle(source) 287 // if val is nil, then field does not exist in source, skip 288 // otherwise, process (can still reflect.ValueOf(val).IsNil!) 289 if val != nil { 290 path.WithIValue(val).SetTo(&target) 291 } 292 } 293 } 294 295 func (fieldMask *SimCard_FieldMask) SetRaw(target, source gotenobject.GotenObjectExt) { 296 fieldMask.Set(target.(*SimCard), source.(*SimCard)) 297 } 298 299 func (fieldMask *SimCard_FieldMask) Project(source *SimCard) *SimCard { 300 if source == nil { 301 return nil 302 } 303 if fieldMask == nil { 304 return source 305 } 306 result := &SimCard{} 307 metadataMask := &meta.Meta_FieldMask{} 308 wholeMetadataAccepted := false 309 statusMask := &SimCard_Status_FieldMask{} 310 wholeStatusAccepted := false 311 312 for _, p := range fieldMask.Paths { 313 switch tp := p.(type) { 314 case *SimCard_FieldTerminalPath: 315 switch tp.selector { 316 case SimCard_FieldPathSelectorName: 317 result.Name = source.Name 318 case SimCard_FieldPathSelectorMetadata: 319 result.Metadata = source.Metadata 320 wholeMetadataAccepted = true 321 case SimCard_FieldPathSelectorContract: 322 result.Contract = source.Contract 323 case SimCard_FieldPathSelectorImsi: 324 result.Imsi = source.Imsi 325 case SimCard_FieldPathSelectorRatePlan: 326 result.RatePlan = source.RatePlan 327 case SimCard_FieldPathSelectorStatus: 328 result.Status = source.Status 329 wholeStatusAccepted = true 330 } 331 case *SimCard_FieldSubPath: 332 switch tp.selector { 333 case SimCard_FieldPathSelectorMetadata: 334 metadataMask.AppendPath(tp.subPath.(meta.Meta_FieldPath)) 335 case SimCard_FieldPathSelectorStatus: 336 statusMask.AppendPath(tp.subPath.(SimCardStatus_FieldPath)) 337 } 338 } 339 } 340 if wholeMetadataAccepted == false && len(metadataMask.Paths) > 0 { 341 result.Metadata = metadataMask.Project(source.GetMetadata()) 342 } 343 if wholeStatusAccepted == false && len(statusMask.Paths) > 0 { 344 result.Status = statusMask.Project(source.GetStatus()) 345 } 346 return result 347 } 348 349 func (fieldMask *SimCard_FieldMask) ProjectRaw(source gotenobject.GotenObjectExt) gotenobject.GotenObjectExt { 350 return fieldMask.Project(source.(*SimCard)) 351 } 352 353 func (fieldMask *SimCard_FieldMask) PathsCount() int { 354 if fieldMask == nil { 355 return 0 356 } 357 return len(fieldMask.Paths) 358 } 359 360 type SimCard_Status_FieldMask struct { 361 Paths []SimCardStatus_FieldPath 362 } 363 364 func FullSimCard_Status_FieldMask() *SimCard_Status_FieldMask { 365 res := &SimCard_Status_FieldMask{} 366 res.Paths = append(res.Paths, &SimCardStatus_FieldTerminalPath{selector: SimCardStatus_FieldPathSelectorState}) 367 res.Paths = append(res.Paths, &SimCardStatus_FieldTerminalPath{selector: SimCardStatus_FieldPathSelectorError}) 368 return res 369 } 370 371 func (fieldMask *SimCard_Status_FieldMask) String() string { 372 if fieldMask == nil { 373 return "<nil>" 374 } 375 pathsStr := make([]string, 0, len(fieldMask.Paths)) 376 for _, path := range fieldMask.Paths { 377 pathsStr = append(pathsStr, path.String()) 378 } 379 return strings.Join(pathsStr, ", ") 380 } 381 382 func (fieldMask *SimCard_Status_FieldMask) IsFull() bool { 383 if fieldMask == nil { 384 return false 385 } 386 presentSelectors := make([]bool, 2) 387 for _, path := range fieldMask.Paths { 388 if asFinal, ok := path.(*SimCardStatus_FieldTerminalPath); ok { 389 presentSelectors[int(asFinal.selector)] = true 390 } 391 } 392 for _, flag := range presentSelectors { 393 if !flag { 394 return false 395 } 396 } 397 return true 398 } 399 400 func (fieldMask *SimCard_Status_FieldMask) ProtoReflect() preflect.Message { 401 return gotenobject.MakeFieldMaskReflection(fieldMask, func(raw string) (gotenobject.FieldPath, error) { 402 return ParseSimCardStatus_FieldPath(raw) 403 }) 404 } 405 406 func (fieldMask *SimCard_Status_FieldMask) ProtoMessage() {} 407 408 func (fieldMask *SimCard_Status_FieldMask) Reset() { 409 if fieldMask != nil { 410 fieldMask.Paths = nil 411 } 412 } 413 414 func (fieldMask *SimCard_Status_FieldMask) Subtract(other *SimCard_Status_FieldMask) *SimCard_Status_FieldMask { 415 result := &SimCard_Status_FieldMask{} 416 removedSelectors := make([]bool, 2) 417 418 for _, path := range other.GetPaths() { 419 switch tp := path.(type) { 420 case *SimCardStatus_FieldTerminalPath: 421 removedSelectors[int(tp.selector)] = true 422 } 423 } 424 for _, path := range fieldMask.GetPaths() { 425 if !removedSelectors[int(path.Selector())] { 426 result.Paths = append(result.Paths, path) 427 } 428 } 429 430 if len(result.Paths) == 0 { 431 return nil 432 } 433 return result 434 } 435 436 func (fieldMask *SimCard_Status_FieldMask) SubtractRaw(other gotenobject.FieldMask) gotenobject.FieldMask { 437 return fieldMask.Subtract(other.(*SimCard_Status_FieldMask)) 438 } 439 440 // FilterInputFields generates copy of field paths with output_only field paths removed 441 func (fieldMask *SimCard_Status_FieldMask) FilterInputFields() *SimCard_Status_FieldMask { 442 result := &SimCard_Status_FieldMask{} 443 result.Paths = append(result.Paths, fieldMask.Paths...) 444 return result 445 } 446 447 // ToFieldMask is used for proto conversions 448 func (fieldMask *SimCard_Status_FieldMask) ToProtoFieldMask() *googlefieldmaskpb.FieldMask { 449 protoFieldMask := &googlefieldmaskpb.FieldMask{} 450 for _, path := range fieldMask.Paths { 451 protoFieldMask.Paths = append(protoFieldMask.Paths, path.String()) 452 } 453 return protoFieldMask 454 } 455 456 func (fieldMask *SimCard_Status_FieldMask) FromProtoFieldMask(protoFieldMask *googlefieldmaskpb.FieldMask) error { 457 if fieldMask == nil { 458 return status.Error(codes.Internal, "target field mask is nil") 459 } 460 fieldMask.Paths = make([]SimCardStatus_FieldPath, 0, len(protoFieldMask.Paths)) 461 for _, strPath := range protoFieldMask.Paths { 462 path, err := ParseSimCardStatus_FieldPath(strPath) 463 if err != nil { 464 return err 465 } 466 fieldMask.Paths = append(fieldMask.Paths, path) 467 } 468 return nil 469 } 470 471 // implement methods required by customType 472 func (fieldMask SimCard_Status_FieldMask) Marshal() ([]byte, error) { 473 protoFieldMask := fieldMask.ToProtoFieldMask() 474 return proto.Marshal(protoFieldMask) 475 } 476 477 func (fieldMask *SimCard_Status_FieldMask) Unmarshal(data []byte) error { 478 protoFieldMask := &googlefieldmaskpb.FieldMask{} 479 if err := proto.Unmarshal(data, protoFieldMask); err != nil { 480 return err 481 } 482 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 483 return err 484 } 485 return nil 486 } 487 488 func (fieldMask *SimCard_Status_FieldMask) Size() int { 489 return proto.Size(fieldMask.ToProtoFieldMask()) 490 } 491 492 func (fieldMask SimCard_Status_FieldMask) MarshalJSON() ([]byte, error) { 493 return json.Marshal(fieldMask.ToProtoFieldMask()) 494 } 495 496 func (fieldMask *SimCard_Status_FieldMask) UnmarshalJSON(data []byte) error { 497 protoFieldMask := &googlefieldmaskpb.FieldMask{} 498 if err := json.Unmarshal(data, protoFieldMask); err != nil { 499 return err 500 } 501 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 502 return err 503 } 504 return nil 505 } 506 507 func (fieldMask *SimCard_Status_FieldMask) AppendPath(path SimCardStatus_FieldPath) { 508 fieldMask.Paths = append(fieldMask.Paths, path) 509 } 510 511 func (fieldMask *SimCard_Status_FieldMask) AppendRawPath(path gotenobject.FieldPath) { 512 fieldMask.Paths = append(fieldMask.Paths, path.(SimCardStatus_FieldPath)) 513 } 514 515 func (fieldMask *SimCard_Status_FieldMask) GetPaths() []SimCardStatus_FieldPath { 516 if fieldMask == nil { 517 return nil 518 } 519 return fieldMask.Paths 520 } 521 522 func (fieldMask *SimCard_Status_FieldMask) GetRawPaths() []gotenobject.FieldPath { 523 if fieldMask == nil { 524 return nil 525 } 526 rawPaths := make([]gotenobject.FieldPath, 0, len(fieldMask.Paths)) 527 for _, path := range fieldMask.Paths { 528 rawPaths = append(rawPaths, path) 529 } 530 return rawPaths 531 } 532 533 func (fieldMask *SimCard_Status_FieldMask) SetFromCliFlag(raw string) error { 534 path, err := ParseSimCardStatus_FieldPath(raw) 535 if err != nil { 536 return err 537 } 538 fieldMask.Paths = append(fieldMask.Paths, path) 539 return nil 540 } 541 542 func (fieldMask *SimCard_Status_FieldMask) Set(target, source *SimCard_Status) { 543 for _, path := range fieldMask.Paths { 544 val, _ := path.GetSingle(source) 545 // if val is nil, then field does not exist in source, skip 546 // otherwise, process (can still reflect.ValueOf(val).IsNil!) 547 if val != nil { 548 path.WithIValue(val).SetTo(&target) 549 } 550 } 551 } 552 553 func (fieldMask *SimCard_Status_FieldMask) SetRaw(target, source gotenobject.GotenObjectExt) { 554 fieldMask.Set(target.(*SimCard_Status), source.(*SimCard_Status)) 555 } 556 557 func (fieldMask *SimCard_Status_FieldMask) Project(source *SimCard_Status) *SimCard_Status { 558 if source == nil { 559 return nil 560 } 561 if fieldMask == nil { 562 return source 563 } 564 result := &SimCard_Status{} 565 566 for _, p := range fieldMask.Paths { 567 switch tp := p.(type) { 568 case *SimCardStatus_FieldTerminalPath: 569 switch tp.selector { 570 case SimCardStatus_FieldPathSelectorState: 571 result.State = source.State 572 case SimCardStatus_FieldPathSelectorError: 573 result.Error = source.Error 574 } 575 } 576 } 577 return result 578 } 579 580 func (fieldMask *SimCard_Status_FieldMask) ProjectRaw(source gotenobject.GotenObjectExt) gotenobject.GotenObjectExt { 581 return fieldMask.Project(source.(*SimCard_Status)) 582 } 583 584 func (fieldMask *SimCard_Status_FieldMask) PathsCount() int { 585 if fieldMask == nil { 586 return 0 587 } 588 return len(fieldMask.Paths) 589 }