github.com/cloudwan/edgelq-sdk@v1.15.4/devices/resources/v1/project/project.pb.object_ext.go (about) 1 // Code generated by protoc-gen-goten-object 2 // File: edgelq/devices/proto/v1/project.proto 3 // DO NOT EDIT!!! 4 5 package project 6 7 import ( 8 "fmt" 9 "sort" 10 11 "google.golang.org/protobuf/proto" 12 googlefieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb" 13 14 gotenobject "github.com/cloudwan/goten-sdk/runtime/object" 15 ) 16 17 // proto imports 18 import ( 19 meta "github.com/cloudwan/goten-sdk/types/meta" 20 multi_region_policy "github.com/cloudwan/goten-sdk/types/multi_region_policy" 21 ) 22 23 // ensure the imports are used 24 var ( 25 _ = new(fmt.Stringer) 26 _ = new(sort.Interface) 27 28 _ = new(proto.Message) 29 _ = googlefieldmaskpb.FieldMask{} 30 31 _ = new(gotenobject.FieldPath) 32 ) 33 34 // make sure we're using proto imports 35 var ( 36 _ = &meta.Meta{} 37 _ = &multi_region_policy.MultiRegionPolicy{} 38 ) 39 40 func (o *Project) GotenObjectExt() {} 41 42 func (o *Project) MakeFullFieldMask() *Project_FieldMask { 43 return FullProject_FieldMask() 44 } 45 46 func (o *Project) MakeRawFullFieldMask() gotenobject.FieldMask { 47 return FullProject_FieldMask() 48 } 49 50 func (o *Project) MakeDiffFieldMask(other *Project) *Project_FieldMask { 51 if o == nil && other == nil { 52 return &Project_FieldMask{} 53 } 54 if o == nil || other == nil { 55 return FullProject_FieldMask() 56 } 57 58 res := &Project_FieldMask{} 59 if o.GetName().String() != other.GetName().String() { 60 res.Paths = append(res.Paths, &Project_FieldTerminalPath{selector: Project_FieldPathSelectorName}) 61 } 62 { 63 subMask := o.GetMetadata().MakeDiffFieldMask(other.GetMetadata()) 64 if subMask.IsFull() { 65 res.Paths = append(res.Paths, &Project_FieldTerminalPath{selector: Project_FieldPathSelectorMetadata}) 66 } else { 67 for _, subpath := range subMask.Paths { 68 res.Paths = append(res.Paths, &Project_FieldSubPath{selector: Project_FieldPathSelectorMetadata, subPath: subpath}) 69 } 70 } 71 } 72 { 73 subMask := o.GetMultiRegionPolicy().MakeDiffFieldMask(other.GetMultiRegionPolicy()) 74 if subMask.IsFull() { 75 res.Paths = append(res.Paths, &Project_FieldTerminalPath{selector: Project_FieldPathSelectorMultiRegionPolicy}) 76 } else { 77 for _, subpath := range subMask.Paths { 78 res.Paths = append(res.Paths, &Project_FieldSubPath{selector: Project_FieldPathSelectorMultiRegionPolicy, subPath: subpath}) 79 } 80 } 81 } 82 return res 83 } 84 85 func (o *Project) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask { 86 return o.MakeDiffFieldMask(other.(*Project)) 87 } 88 89 func (o *Project) Clone() *Project { 90 if o == nil { 91 return nil 92 } 93 result := &Project{} 94 if o.Name == nil { 95 result.Name = nil 96 } else if data, err := o.Name.ProtoString(); err != nil { 97 panic(err) 98 } else { 99 result.Name = &Name{} 100 if err := result.Name.ParseProtoString(data); err != nil { 101 panic(err) 102 } 103 } 104 result.Metadata = o.Metadata.Clone() 105 result.MultiRegionPolicy = o.MultiRegionPolicy.Clone() 106 return result 107 } 108 109 func (o *Project) CloneRaw() gotenobject.GotenObjectExt { 110 return o.Clone() 111 } 112 113 func (o *Project) Merge(source *Project) { 114 if source.GetName() != nil { 115 if data, err := source.GetName().ProtoString(); err != nil { 116 panic(err) 117 } else { 118 o.Name = &Name{} 119 if err := o.Name.ParseProtoString(data); err != nil { 120 panic(err) 121 } 122 } 123 } else { 124 o.Name = nil 125 } 126 if source.GetMetadata() != nil { 127 if o.Metadata == nil { 128 o.Metadata = new(meta.Meta) 129 } 130 o.Metadata.Merge(source.GetMetadata()) 131 } 132 if source.GetMultiRegionPolicy() != nil { 133 if o.MultiRegionPolicy == nil { 134 o.MultiRegionPolicy = new(multi_region_policy.MultiRegionPolicy) 135 } 136 o.MultiRegionPolicy.Merge(source.GetMultiRegionPolicy()) 137 } 138 } 139 140 func (o *Project) MergeRaw(source gotenobject.GotenObjectExt) { 141 o.Merge(source.(*Project)) 142 }