github.com/cloudwan/edgelq-sdk@v1.15.4/iam/resources/v1alpha2/organization/organization.pb.object_ext.go (about) 1 // Code generated by protoc-gen-goten-object 2 // File: edgelq/iam/proto/v1alpha2/organization.proto 3 // DO NOT EDIT!!! 4 5 package organization 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 iam_common "github.com/cloudwan/edgelq-sdk/iam/resources/v1alpha2/common" 20 meta_service "github.com/cloudwan/edgelq-sdk/meta/resources/v1alpha2/service" 21 meta "github.com/cloudwan/goten-sdk/types/meta" 22 multi_region_policy "github.com/cloudwan/goten-sdk/types/multi_region_policy" 23 ) 24 25 // ensure the imports are used 26 var ( 27 _ = new(fmt.Stringer) 28 _ = new(sort.Interface) 29 30 _ = new(proto.Message) 31 _ = googlefieldmaskpb.FieldMask{} 32 33 _ = new(gotenobject.FieldPath) 34 ) 35 36 // make sure we're using proto imports 37 var ( 38 _ = &iam_common.PCR{} 39 _ = &meta_service.Service{} 40 _ = &meta.Meta{} 41 _ = &multi_region_policy.MultiRegionPolicy{} 42 ) 43 44 func (o *Organization) GotenObjectExt() {} 45 46 func (o *Organization) MakeFullFieldMask() *Organization_FieldMask { 47 return FullOrganization_FieldMask() 48 } 49 50 func (o *Organization) MakeRawFullFieldMask() gotenobject.FieldMask { 51 return FullOrganization_FieldMask() 52 } 53 54 func (o *Organization) MakeDiffFieldMask(other *Organization) *Organization_FieldMask { 55 if o == nil && other == nil { 56 return &Organization_FieldMask{} 57 } 58 if o == nil || other == nil { 59 return FullOrganization_FieldMask() 60 } 61 62 res := &Organization_FieldMask{} 63 if o.GetName().String() != other.GetName().String() { 64 res.Paths = append(res.Paths, &Organization_FieldTerminalPath{selector: Organization_FieldPathSelectorName}) 65 } 66 if o.GetTitle() != other.GetTitle() { 67 res.Paths = append(res.Paths, &Organization_FieldTerminalPath{selector: Organization_FieldPathSelectorTitle}) 68 } 69 if o.GetParentOrganization().String() != other.GetParentOrganization().String() { 70 res.Paths = append(res.Paths, &Organization_FieldTerminalPath{selector: Organization_FieldPathSelectorParentOrganization}) 71 } 72 if o.GetRootOrganization().String() != other.GetRootOrganization().String() { 73 res.Paths = append(res.Paths, &Organization_FieldTerminalPath{selector: Organization_FieldPathSelectorRootOrganization}) 74 } 75 76 if len(o.GetAncestryPath()) == len(other.GetAncestryPath()) { 77 for i, lValue := range o.GetAncestryPath() { 78 rValue := other.GetAncestryPath()[i] 79 if lValue.String() != rValue.String() { 80 res.Paths = append(res.Paths, &Organization_FieldTerminalPath{selector: Organization_FieldPathSelectorAncestryPath}) 81 break 82 } 83 } 84 } else { 85 res.Paths = append(res.Paths, &Organization_FieldTerminalPath{selector: Organization_FieldPathSelectorAncestryPath}) 86 } 87 { 88 subMask := o.GetMetadata().MakeDiffFieldMask(other.GetMetadata()) 89 if subMask.IsFull() { 90 res.Paths = append(res.Paths, &Organization_FieldTerminalPath{selector: Organization_FieldPathSelectorMetadata}) 91 } else { 92 for _, subpath := range subMask.Paths { 93 res.Paths = append(res.Paths, &Organization_FieldSubPath{selector: Organization_FieldPathSelectorMetadata, subPath: subpath}) 94 } 95 } 96 } 97 { 98 subMask := o.GetMultiRegionPolicy().MakeDiffFieldMask(other.GetMultiRegionPolicy()) 99 if subMask.IsFull() { 100 res.Paths = append(res.Paths, &Organization_FieldTerminalPath{selector: Organization_FieldPathSelectorMultiRegionPolicy}) 101 } else { 102 for _, subpath := range subMask.Paths { 103 res.Paths = append(res.Paths, &Organization_FieldSubPath{selector: Organization_FieldPathSelectorMultiRegionPolicy, subPath: subpath}) 104 } 105 } 106 } 107 108 if len(o.GetAllowedServices()) == len(other.GetAllowedServices()) { 109 for i, lValue := range o.GetAllowedServices() { 110 rValue := other.GetAllowedServices()[i] 111 if lValue.String() != rValue.String() { 112 res.Paths = append(res.Paths, &Organization_FieldTerminalPath{selector: Organization_FieldPathSelectorAllowedServices}) 113 break 114 } 115 } 116 } else { 117 res.Paths = append(res.Paths, &Organization_FieldTerminalPath{selector: Organization_FieldPathSelectorAllowedServices}) 118 } 119 if o.GetBusinessTier() != other.GetBusinessTier() { 120 res.Paths = append(res.Paths, &Organization_FieldTerminalPath{selector: Organization_FieldPathSelectorBusinessTier}) 121 } 122 123 if len(o.GetServiceTiers()) == len(other.GetServiceTiers()) { 124 for i, lValue := range o.GetServiceTiers() { 125 rValue := other.GetServiceTiers()[i] 126 if len(lValue.MakeDiffFieldMask(rValue).Paths) > 0 { 127 res.Paths = append(res.Paths, &Organization_FieldTerminalPath{selector: Organization_FieldPathSelectorServiceTiers}) 128 break 129 } 130 } 131 } else { 132 res.Paths = append(res.Paths, &Organization_FieldTerminalPath{selector: Organization_FieldPathSelectorServiceTiers}) 133 } 134 135 if len(o.GetServiceErrors()) == len(other.GetServiceErrors()) { 136 for i, lValue := range o.GetServiceErrors() { 137 rValue := other.GetServiceErrors()[i] 138 if len(lValue.MakeDiffFieldMask(rValue).Paths) > 0 { 139 res.Paths = append(res.Paths, &Organization_FieldTerminalPath{selector: Organization_FieldPathSelectorServiceErrors}) 140 break 141 } 142 } 143 } else { 144 res.Paths = append(res.Paths, &Organization_FieldTerminalPath{selector: Organization_FieldPathSelectorServiceErrors}) 145 } 146 return res 147 } 148 149 func (o *Organization) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask { 150 return o.MakeDiffFieldMask(other.(*Organization)) 151 } 152 153 func (o *Organization) Clone() *Organization { 154 if o == nil { 155 return nil 156 } 157 result := &Organization{} 158 if o.Name == nil { 159 result.Name = nil 160 } else if data, err := o.Name.ProtoString(); err != nil { 161 panic(err) 162 } else { 163 result.Name = &Name{} 164 if err := result.Name.ParseProtoString(data); err != nil { 165 panic(err) 166 } 167 } 168 result.Title = o.Title 169 if o.ParentOrganization == nil { 170 result.ParentOrganization = nil 171 } else if data, err := o.ParentOrganization.ProtoString(); err != nil { 172 panic(err) 173 } else { 174 result.ParentOrganization = &Reference{} 175 if err := result.ParentOrganization.ParseProtoString(data); err != nil { 176 panic(err) 177 } 178 } 179 if o.RootOrganization == nil { 180 result.RootOrganization = nil 181 } else if data, err := o.RootOrganization.ProtoString(); err != nil { 182 panic(err) 183 } else { 184 result.RootOrganization = &Reference{} 185 if err := result.RootOrganization.ParseProtoString(data); err != nil { 186 panic(err) 187 } 188 } 189 result.AncestryPath = make([]*Reference, len(o.AncestryPath)) 190 for i, sourceValue := range o.AncestryPath { 191 if sourceValue == nil { 192 result.AncestryPath[i] = nil 193 } else if data, err := sourceValue.ProtoString(); err != nil { 194 panic(err) 195 } else { 196 result.AncestryPath[i] = &Reference{} 197 if err := result.AncestryPath[i].ParseProtoString(data); err != nil { 198 panic(err) 199 } 200 } 201 } 202 result.Metadata = o.Metadata.Clone() 203 result.MultiRegionPolicy = o.MultiRegionPolicy.Clone() 204 result.AllowedServices = make([]*meta_service.Reference, len(o.AllowedServices)) 205 for i, sourceValue := range o.AllowedServices { 206 if sourceValue == nil { 207 result.AllowedServices[i] = nil 208 } else if data, err := sourceValue.ProtoString(); err != nil { 209 panic(err) 210 } else { 211 result.AllowedServices[i] = &meta_service.Reference{} 212 if err := result.AllowedServices[i].ParseProtoString(data); err != nil { 213 panic(err) 214 } 215 } 216 } 217 result.BusinessTier = o.BusinessTier 218 result.ServiceTiers = make([]*iam_common.ServiceBusinessTier, len(o.ServiceTiers)) 219 for i, sourceValue := range o.ServiceTiers { 220 result.ServiceTiers[i] = sourceValue.Clone() 221 } 222 result.ServiceErrors = map[string]*iam_common.ServiceErrors{} 223 for key, sourceValue := range o.ServiceErrors { 224 result.ServiceErrors[key] = sourceValue.Clone() 225 } 226 return result 227 } 228 229 func (o *Organization) CloneRaw() gotenobject.GotenObjectExt { 230 return o.Clone() 231 } 232 233 func (o *Organization) Merge(source *Organization) { 234 if source.GetName() != nil { 235 if data, err := source.GetName().ProtoString(); err != nil { 236 panic(err) 237 } else { 238 o.Name = &Name{} 239 if err := o.Name.ParseProtoString(data); err != nil { 240 panic(err) 241 } 242 } 243 } else { 244 o.Name = nil 245 } 246 o.Title = source.GetTitle() 247 if source.GetParentOrganization() != nil { 248 if data, err := source.GetParentOrganization().ProtoString(); err != nil { 249 panic(err) 250 } else { 251 o.ParentOrganization = &Reference{} 252 if err := o.ParentOrganization.ParseProtoString(data); err != nil { 253 panic(err) 254 } 255 } 256 } else { 257 o.ParentOrganization = nil 258 } 259 if source.GetRootOrganization() != nil { 260 if data, err := source.GetRootOrganization().ProtoString(); err != nil { 261 panic(err) 262 } else { 263 o.RootOrganization = &Reference{} 264 if err := o.RootOrganization.ParseProtoString(data); err != nil { 265 panic(err) 266 } 267 } 268 } else { 269 o.RootOrganization = nil 270 } 271 for _, sourceValue := range source.GetAncestryPath() { 272 exists := false 273 for _, currentValue := range o.AncestryPath { 274 leftProtoStr, _ := currentValue.ProtoString() 275 rightProtoStr, _ := sourceValue.ProtoString() 276 if leftProtoStr == rightProtoStr { 277 exists = true 278 break 279 } 280 } 281 if !exists { 282 var newDstElement *Reference 283 if sourceValue != nil { 284 if data, err := sourceValue.ProtoString(); err != nil { 285 panic(err) 286 } else { 287 newDstElement = &Reference{} 288 if err := newDstElement.ParseProtoString(data); err != nil { 289 panic(err) 290 } 291 } 292 } 293 o.AncestryPath = append(o.AncestryPath, newDstElement) 294 } 295 } 296 297 if source.GetMetadata() != nil { 298 if o.Metadata == nil { 299 o.Metadata = new(meta.Meta) 300 } 301 o.Metadata.Merge(source.GetMetadata()) 302 } 303 if source.GetMultiRegionPolicy() != nil { 304 if o.MultiRegionPolicy == nil { 305 o.MultiRegionPolicy = new(multi_region_policy.MultiRegionPolicy) 306 } 307 o.MultiRegionPolicy.Merge(source.GetMultiRegionPolicy()) 308 } 309 for _, sourceValue := range source.GetAllowedServices() { 310 exists := false 311 for _, currentValue := range o.AllowedServices { 312 leftProtoStr, _ := currentValue.ProtoString() 313 rightProtoStr, _ := sourceValue.ProtoString() 314 if leftProtoStr == rightProtoStr { 315 exists = true 316 break 317 } 318 } 319 if !exists { 320 var newDstElement *meta_service.Reference 321 if sourceValue != nil { 322 if data, err := sourceValue.ProtoString(); err != nil { 323 panic(err) 324 } else { 325 newDstElement = &meta_service.Reference{} 326 if err := newDstElement.ParseProtoString(data); err != nil { 327 panic(err) 328 } 329 } 330 } 331 o.AllowedServices = append(o.AllowedServices, newDstElement) 332 } 333 } 334 335 o.BusinessTier = source.GetBusinessTier() 336 for _, sourceValue := range source.GetServiceTiers() { 337 exists := false 338 for _, currentValue := range o.ServiceTiers { 339 if proto.Equal(sourceValue, currentValue) { 340 exists = true 341 break 342 } 343 } 344 if !exists { 345 var newDstElement *iam_common.ServiceBusinessTier 346 if sourceValue != nil { 347 newDstElement = new(iam_common.ServiceBusinessTier) 348 newDstElement.Merge(sourceValue) 349 } 350 o.ServiceTiers = append(o.ServiceTiers, newDstElement) 351 } 352 } 353 354 if source.GetServiceErrors() != nil { 355 if o.ServiceErrors == nil { 356 o.ServiceErrors = make(map[string]*iam_common.ServiceErrors, len(source.GetServiceErrors())) 357 } 358 for key, sourceValue := range source.GetServiceErrors() { 359 if sourceValue != nil { 360 if o.ServiceErrors[key] == nil { 361 o.ServiceErrors[key] = new(iam_common.ServiceErrors) 362 } 363 o.ServiceErrors[key].Merge(sourceValue) 364 } 365 } 366 } 367 } 368 369 func (o *Organization) MergeRaw(source gotenobject.GotenObjectExt) { 370 o.Merge(source.(*Organization)) 371 }