github.com/cloudwan/edgelq-sdk@v1.15.4/audit/resources/v1alpha2/activity_log/activity_log.pb.namebuilder.go (about)

     1  // Code generated by protoc-gen-goten-resource
     2  // Resource: ActivityLog
     3  // DO NOT EDIT!!!
     4  
     5  package activity_log
     6  
     7  import (
     8  	gotenresource "github.com/cloudwan/goten-sdk/runtime/resource"
     9  )
    10  
    11  // proto imports
    12  import (
    13  	common "github.com/cloudwan/edgelq-sdk/audit/resources/v1alpha2/common"
    14  	rpc "github.com/cloudwan/edgelq-sdk/common/rpc"
    15  	iam_organization "github.com/cloudwan/edgelq-sdk/iam/resources/v1alpha2/organization"
    16  	iam_project "github.com/cloudwan/edgelq-sdk/iam/resources/v1alpha2/project"
    17  	meta "github.com/cloudwan/goten-sdk/types/meta"
    18  	anypb "google.golang.org/protobuf/types/known/anypb"
    19  	fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb"
    20  	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
    21  )
    22  
    23  // make sure we're using proto imports
    24  var (
    25  	_ = &common.Authentication{}
    26  	_ = &rpc.Status{}
    27  	_ = &iam_organization.Organization{}
    28  	_ = &iam_project.Project{}
    29  	_ = &anypb.Any{}
    30  	_ = &fieldmaskpb.FieldMask{}
    31  	_ = &timestamppb.Timestamp{}
    32  	_ = &meta.Meta{}
    33  )
    34  
    35  const (
    36  	NamePattern_Nil          = "activityLogs/{activity_log}"
    37  	NamePattern_Project      = "projects/{project}/activityLogs/{activity_log}"
    38  	NamePattern_Organization = "organizations/{organization}/activityLogs/{activity_log}"
    39  )
    40  
    41  type NamePattern struct {
    42  	Pattern gotenresource.NamePattern `firestore:"pattern"`
    43  }
    44  
    45  type NameBuilder struct {
    46  	nameObj Name
    47  }
    48  
    49  func NewNameBuilder() *NameBuilder {
    50  	return &NameBuilder{
    51  		nameObj: Name{
    52  			ActivityLogId: gotenresource.WildcardId,
    53  			ParentName: ParentName{
    54  				NamePattern: NamePattern{
    55  					// Set default pattern - just first.
    56  					Pattern: NamePattern_Nil,
    57  				},
    58  			},
    59  		},
    60  	}
    61  }
    62  
    63  func (b *NameBuilder) Name() *Name {
    64  	copied := b.nameObj
    65  	return &copied
    66  }
    67  
    68  func (b *NameBuilder) Reference() *Reference {
    69  	return b.nameObj.AsReference()
    70  }
    71  
    72  func (b *NameBuilder) Parent() *ParentName {
    73  	copied := b.nameObj.ParentName
    74  	return &copied
    75  }
    76  
    77  func (b *NameBuilder) ParentReference() *ParentReference {
    78  	return b.nameObj.ParentName.AsReference()
    79  }
    80  
    81  func (b *NameBuilder) SetId(id string) *NameBuilder {
    82  	b.nameObj.ActivityLogId = id
    83  	return b
    84  }
    85  
    86  func (b *NameBuilder) SetProject(parent *iam_project.Name) *NameBuilder {
    87  	parentName := &b.nameObj.ParentName
    88  
    89  	switch parent.Pattern {
    90  	case iam_project.NamePattern_Nil:
    91  		parentName.Pattern = NamePattern_Project
    92  	}
    93  	parentName.ProjectId = parent.ProjectId
    94  	return b
    95  }
    96  
    97  func (b *NameBuilder) SetOrganization(parent *iam_organization.Name) *NameBuilder {
    98  	parentName := &b.nameObj.ParentName
    99  
   100  	switch parent.Pattern {
   101  	case iam_organization.NamePattern_Nil:
   102  		parentName.Pattern = NamePattern_Organization
   103  	}
   104  	parentName.OrganizationId = parent.OrganizationId
   105  	return b
   106  }
   107  
   108  func (b *NameBuilder) SetProjectId(id string) *NameBuilder {
   109  	parentName := &b.nameObj.ParentName
   110  	parentName.ProjectId = id
   111  
   112  	// Set pattern if something matches for this set of IDs
   113  	if parentName.ProjectId != "" {
   114  		parentName.Pattern = NamePattern_Project
   115  	}
   116  	return b
   117  }
   118  
   119  func (b *NameBuilder) SetOrganizationId(id string) *NameBuilder {
   120  	parentName := &b.nameObj.ParentName
   121  	parentName.OrganizationId = id
   122  
   123  	// Set pattern if something matches for this set of IDs
   124  	if parentName.OrganizationId != "" {
   125  		parentName.Pattern = NamePattern_Organization
   126  	}
   127  	return b
   128  }