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 _ = ×tamppb.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 }