Skip to content

Commit 79951ad

Browse files
committed
added gitlab visibility mapping
1 parent 5141b8e commit 79951ad

File tree

3 files changed

+24
-8
lines changed

3 files changed

+24
-8
lines changed

scm/driver/gitlab/repo.go

Lines changed: 22 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -176,14 +176,15 @@ func convertRepositoryList(from []*repository) []*scm.Repository {
176176
// to the common repository structure.
177177
func convertRepository(from *repository) *scm.Repository {
178178
to := &scm.Repository{
179-
ID: strconv.Itoa(from.ID),
180-
Namespace: from.Namespace.Path,
181-
Name: from.Path,
182-
Branch: from.DefaultBranch,
183-
Private: convertPrivate(from.Visibility),
184-
Clone: from.HTTPURL,
185-
CloneSSH: from.SSHURL,
186-
Link: from.WebURL,
179+
ID: strconv.Itoa(from.ID),
180+
Namespace: from.Namespace.Path,
181+
Name: from.Path,
182+
Branch: from.DefaultBranch,
183+
Private: convertPrivate(from.Visibility),
184+
Visibility: convertVisibility(from.Visibility),
185+
Clone: from.HTTPURL,
186+
CloneSSH: from.SSHURL,
187+
Link: from.WebURL,
187188
Perm: &scm.Perm{
188189
Pull: true,
189190
Push: canPush(from),
@@ -308,6 +309,19 @@ func convertPrivate(from string) bool {
308309
}
309310
}
310311

312+
func convertVisibility(from string) scm.Visibility {
313+
switch from {
314+
case "public":
315+
return scm.VisibilityPublic
316+
case "private":
317+
return scm.VisibilityPrivate
318+
case "internal":
319+
return scm.VisibilityInternal
320+
default:
321+
return scm.VisibilityUndefined
322+
}
323+
}
324+
311325
func canPush(proj *repository) bool {
312326
switch {
313327
case proj.Permissions.ProjectAccess.AccessLevel >= 30:

scm/driver/gitlab/testdata/repo.json.golden

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
},
1010
"Branch": "master",
1111
"Private": false,
12+
"Visibility": 1,
1213
"Clone": "https://gitlab.com/diaspora/diaspora.git",
1314
"CloneSSH": "[email protected]:diaspora/diaspora.git",
1415
"Link": "https://gitlab.com/diaspora/diaspora",

scm/driver/gitlab/testdata/repos.json.golden

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
},
1111
"Branch": "master",
1212
"Private": false,
13+
"Visibility": 1,
1314
"Clone": "https://gitlab.com/diaspora/diaspora.git",
1415
"CloneSSH": "[email protected]:diaspora/diaspora.git",
1516
"Link": "https://gitlab.com/diaspora/diaspora",

0 commit comments

Comments
 (0)