github.com/cloudwan/edgelq-sdk@v1.15.4/iam/resources/v1/group_member/group_member.pb.object_ext.go (about) 1 // Code generated by protoc-gen-goten-object 2 // File: edgelq/iam/proto/v1/group_member.proto 3 // DO NOT EDIT!!! 4 5 package group_member 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 group "github.com/cloudwan/edgelq-sdk/iam/resources/v1/group" 20 meta "github.com/cloudwan/goten-sdk/types/meta" 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 _ = &group.Group{} 37 _ = &meta.Meta{} 38 ) 39 40 func (o *GroupMember) GotenObjectExt() {} 41 42 func (o *GroupMember) MakeFullFieldMask() *GroupMember_FieldMask { 43 return FullGroupMember_FieldMask() 44 } 45 46 func (o *GroupMember) MakeRawFullFieldMask() gotenobject.FieldMask { 47 return FullGroupMember_FieldMask() 48 } 49 50 func (o *GroupMember) MakeDiffFieldMask(other *GroupMember) *GroupMember_FieldMask { 51 if o == nil && other == nil { 52 return &GroupMember_FieldMask{} 53 } 54 if o == nil || other == nil { 55 return FullGroupMember_FieldMask() 56 } 57 58 res := &GroupMember_FieldMask{} 59 if o.GetName().String() != other.GetName().String() { 60 res.Paths = append(res.Paths, &GroupMember_FieldTerminalPath{selector: GroupMember_FieldPathSelectorName}) 61 } 62 { 63 subMask := o.GetMetadata().MakeDiffFieldMask(other.GetMetadata()) 64 if subMask.IsFull() { 65 res.Paths = append(res.Paths, &GroupMember_FieldTerminalPath{selector: GroupMember_FieldPathSelectorMetadata}) 66 } else { 67 for _, subpath := range subMask.Paths { 68 res.Paths = append(res.Paths, &GroupMember_FieldSubPath{selector: GroupMember_FieldPathSelectorMetadata, subPath: subpath}) 69 } 70 } 71 } 72 if o.GetMember() != other.GetMember() { 73 res.Paths = append(res.Paths, &GroupMember_FieldTerminalPath{selector: GroupMember_FieldPathSelectorMember}) 74 } 75 if o.GetParentMember() != other.GetParentMember() { 76 res.Paths = append(res.Paths, &GroupMember_FieldTerminalPath{selector: GroupMember_FieldPathSelectorParentMember}) 77 } 78 79 if len(o.GetMinAncestryMembers()) == len(other.GetMinAncestryMembers()) { 80 for i, lValue := range o.GetMinAncestryMembers() { 81 rValue := other.GetMinAncestryMembers()[i] 82 if lValue != rValue { 83 res.Paths = append(res.Paths, &GroupMember_FieldTerminalPath{selector: GroupMember_FieldPathSelectorMinAncestryMembers}) 84 break 85 } 86 } 87 } else { 88 res.Paths = append(res.Paths, &GroupMember_FieldTerminalPath{selector: GroupMember_FieldPathSelectorMinAncestryMembers}) 89 } 90 return res 91 } 92 93 func (o *GroupMember) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask { 94 return o.MakeDiffFieldMask(other.(*GroupMember)) 95 } 96 97 func (o *GroupMember) Clone() *GroupMember { 98 if o == nil { 99 return nil 100 } 101 result := &GroupMember{} 102 if o.Name == nil { 103 result.Name = nil 104 } else if data, err := o.Name.ProtoString(); err != nil { 105 panic(err) 106 } else { 107 result.Name = &Name{} 108 if err := result.Name.ParseProtoString(data); err != nil { 109 panic(err) 110 } 111 } 112 result.Metadata = o.Metadata.Clone() 113 result.Member = o.Member 114 result.ParentMember = o.ParentMember 115 result.MinAncestryMembers = make([]string, len(o.MinAncestryMembers)) 116 for i, sourceValue := range o.MinAncestryMembers { 117 result.MinAncestryMembers[i] = sourceValue 118 } 119 return result 120 } 121 122 func (o *GroupMember) CloneRaw() gotenobject.GotenObjectExt { 123 return o.Clone() 124 } 125 126 func (o *GroupMember) Merge(source *GroupMember) { 127 if source.GetName() != nil { 128 if data, err := source.GetName().ProtoString(); err != nil { 129 panic(err) 130 } else { 131 o.Name = &Name{} 132 if err := o.Name.ParseProtoString(data); err != nil { 133 panic(err) 134 } 135 } 136 } else { 137 o.Name = nil 138 } 139 if source.GetMetadata() != nil { 140 if o.Metadata == nil { 141 o.Metadata = new(meta.Meta) 142 } 143 o.Metadata.Merge(source.GetMetadata()) 144 } 145 o.Member = source.GetMember() 146 o.ParentMember = source.GetParentMember() 147 newMinAncestryMembers := make([]string, 0, len(o.MinAncestryMembers)) 148 for _, currentValue := range o.MinAncestryMembers { 149 for _, sourceValue := range source.GetMinAncestryMembers() { 150 if currentValue == sourceValue { 151 newMinAncestryMembers = append(newMinAncestryMembers, currentValue) 152 break 153 } 154 } 155 } 156 o.MinAncestryMembers = newMinAncestryMembers 157 158 } 159 160 func (o *GroupMember) MergeRaw(source gotenobject.GotenObjectExt) { 161 o.Merge(source.(*GroupMember)) 162 }