@@ -18,6 +18,7 @@ import (
1818 "github.com/grpc-ecosystem/go-grpc-middleware/logging/zap/ctxzap"
1919 gitlabSDK "gitlab.com/gitlab-org/api/client-go"
2020 "go.uber.org/zap"
21+ "google.golang.org/protobuf/proto"
2122)
2223
2324type groupBuilder struct {
@@ -33,7 +34,7 @@ var accessLevels = []gitlabSDK.AccessLevelValue{
3334 gitlabSDK .OwnerPermissions ,
3435}
3536
36- func groupResource (group * gitlabSDK.Group , parentResourceID * v2.ResourceId ) (* v2.Resource , error ) {
37+ func groupResource (group * gitlabSDK.Group , parentResourceID * v2.ResourceId , isOnPremise bool ) (* v2.Resource , error ) {
3738 profile := map [string ]interface {}{
3839 "id" : group .ID ,
3940 "name" : group .Name ,
@@ -44,20 +45,28 @@ func groupResource(group *gitlabSDK.Group, parentResourceID *v2.ResourceId) (*v2
4445 profile ["parent_group_id" ] = group .ParentID
4546 }
4647
48+ var annotations []proto.Message
49+ if ! isOnPremise {
50+ annotations = []proto.Message {
51+ & v2.ChildResourceType {ResourceTypeId : projectResourceType .Id },
52+ & v2.ChildResourceType {ResourceTypeId : groupResourceType .Id },
53+ & v2.ChildResourceType {ResourceTypeId : userResourceType .Id },
54+ }
55+ } else {
56+ annotations = []proto.Message {
57+ & v2.ChildResourceType {ResourceTypeId : projectResourceType .Id },
58+ & v2.ChildResourceType {ResourceTypeId : groupResourceType .Id },
59+ }
60+ }
61+
4762 return resourceSdk .NewGroupResource (
4863 group .FullName ,
4964 groupResourceType ,
5065 toGroupResourceId (strconv .Itoa (group .ID )),
5166 []resourceSdk.GroupTraitOption {
52- resourceSdk .WithGroupProfile (
53- profile ,
54- ),
67+ resourceSdk .WithGroupProfile (profile ),
5568 },
56- resourceSdk .WithAnnotation (
57- & v2.ChildResourceType {ResourceTypeId : projectResourceType .Id },
58- & v2.ChildResourceType {ResourceTypeId : groupResourceType .Id },
59- & v2.ChildResourceType {ResourceTypeId : userResourceType .Id },
60- ),
69+ resourceSdk .WithAnnotation (annotations ... ),
6170 resourceSdk .WithParentResourceID (parentResourceID ),
6271 )
6372}
@@ -93,7 +102,7 @@ func (o *groupBuilder) List(ctx context.Context, parentResourceID *v2.ResourceId
93102 continue
94103 }
95104
96- resource , err := groupResource (group , parentResourceID )
105+ resource , err := groupResource (group , parentResourceID , o . IsOnPremise )
97106 if err != nil {
98107 return nil , "" , nil , err
99108 }
0 commit comments