github.com/cloudwan/edgelq-sdk@v1.15.4/audit/resources/v1/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/v1/common"
    14  	rpc "github.com/cloudwan/edgelq-sdk/common/rpc"
    15  	iam_organization "github.com/cloudwan/edgelq-sdk/iam/resources/v1/organization"
    16  	iam_project "github.com/cloudwan/edgelq-sdk/iam/resources/v1/project"
    17  	meta_service "github.com/cloudwan/goten-sdk/meta-service/resources/v1/service"
    18  	meta "github.com/cloudwan/goten-sdk/types/meta"
    19  	anypb "google.golang.org/protobuf/types/known/anypb"
    20  	fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb"
    21  	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
    22  )
    23  
    24  // make sure we're using proto imports
    25  var (
    26  	_ = &common.Authentication{}
    27  	_ = &rpc.Status{}
    28  	_ = &iam_organization.Organization{}
    29  	_ = &iam_project.Project{}
    30  	_ = &anypb.Any{}
    31  	_ = &fieldmaskpb.FieldMask{}
    32  	_ = &timestamppb.Timestamp{}
    33  	_ = &meta_service.Service{}
    34  	_ = &meta.Meta{}
    35  )
    36  
    37  const (
    38  	NamePattern_Project      = "projects/{project}/activityLogs/{activity_log}"
    39  	NamePattern_Organization = "organizations/{organization}/activityLogs/{activity_log}"
    40  	NamePattern_Service      = "services/{service}/activityLogs/{activity_log}"
    41  )
    42  
    43  type NamePattern struct {
    44  	Pattern gotenresource.NamePattern `firestore:"pattern"`
    45  }
    46  
    47  type NameBuilder struct {
    48  	nameObj Name
    49  }
    50  
    51  func NewNameBuilder() *NameBuilder {
    52  	return &NameBuilder{
    53  		nameObj: Name{
    54  			ActivityLogId: gotenresource.WildcardId,
    55  			ParentName: ParentName{
    56  				NamePattern: NamePattern{
    57  					// Set default pattern - just first.
    58  					Pattern: NamePattern_Project,
    59  				},
    60  			},
    61  		},
    62  	}
    63  }
    64  
    65  func (b *NameBuilder) Name() *Name {
    66  	copied := b.nameObj
    67  	return &copied
    68  }
    69  
    70  func (b *NameBuilder) Reference() *Reference {
    71  	return b.nameObj.AsReference()
    72  }
    73  
    74  func (b *NameBuilder) Parent() *ParentName {
    75  	copied := b.nameObj.ParentName
    76  	return &copied
    77  }
    78  
    79  func (b *NameBuilder) ParentReference() *ParentReference {
    80  	return b.nameObj.ParentName.AsReference()
    81  }
    82  
    83  func (b *NameBuilder) SetId(id string) *NameBuilder {
    84  	b.nameObj.ActivityLogId = id
    85  	return b
    86  }
    87  
    88  func (b *NameBuilder) SetProject(parent *iam_project.Name) *NameBuilder {
    89  	parentName := &b.nameObj.ParentName
    90  
    91  	switch parent.Pattern {
    92  	case iam_project.NamePattern_Nil:
    93  		parentName.Pattern = NamePattern_Project
    94  	}
    95  	parentName.ProjectId = parent.ProjectId
    96  	return b
    97  }
    98  
    99  func (b *NameBuilder) SetOrganization(parent *iam_organization.Name) *NameBuilder {
   100  	parentName := &b.nameObj.ParentName
   101  
   102  	switch parent.Pattern {
   103  	case iam_organization.NamePattern_Nil:
   104  		parentName.Pattern = NamePattern_Organization
   105  	}
   106  	parentName.OrganizationId = parent.OrganizationId
   107  	return b
   108  }
   109  
   110  func (b *NameBuilder) SetService(parent *meta_service.Name) *NameBuilder {
   111  	parentName := &b.nameObj.ParentName
   112  
   113  	switch parent.Pattern {
   114  	case meta_service.NamePattern_Nil:
   115  		parentName.Pattern = NamePattern_Service
   116  	}
   117  	parentName.ServiceId = parent.ServiceId
   118  	return b
   119  }
   120  
   121  func (b *NameBuilder) SetProjectId(id string) *NameBuilder {
   122  	parentName := &b.nameObj.ParentName
   123  	parentName.ProjectId = id
   124  
   125  	// Set pattern if something matches for this set of IDs
   126  	if parentName.ProjectId != "" {
   127  		parentName.Pattern = NamePattern_Project
   128  	}
   129  	return b
   130  }
   131  
   132  func (b *NameBuilder) SetOrganizationId(id string) *NameBuilder {
   133  	parentName := &b.nameObj.ParentName
   134  	parentName.OrganizationId = id
   135  
   136  	// Set pattern if something matches for this set of IDs
   137  	if parentName.OrganizationId != "" {
   138  		parentName.Pattern = NamePattern_Organization
   139  	}
   140  	return b
   141  }
   142  
   143  func (b *NameBuilder) SetServiceId(id string) *NameBuilder {
   144  	parentName := &b.nameObj.ParentName
   145  	parentName.ServiceId = id
   146  
   147  	// Set pattern if something matches for this set of IDs
   148  	if parentName.ServiceId != "" {
   149  		parentName.Pattern = NamePattern_Service
   150  	}
   151  	return b
   152  }