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  }