mirror of
https://github.com/woodpecker-ci/woodpecker.git
synced 2026-04-15 01:41:56 +00:00
Consider gitlab inherited permissions (#3308)
The gitlab projects endpoint does not include information about permissions granted by namespace memberships. To get this information a separate query to https://docs.gitlab.com/ee/api/members.html#get-a-member-of-a-group-or-project-including-inherited-and-invited-members is necessary.
This commit is contained in:
30
server/forge/gitlab/testdata/projects.go
vendored
30
server/forge/gitlab/testdata/projects.go
vendored
@@ -304,3 +304,33 @@ var project4PayloadHooks = []byte(`
|
||||
}
|
||||
]
|
||||
`)
|
||||
|
||||
var project4PayloadMembers = []byte(`
|
||||
{
|
||||
"id": 3,
|
||||
"username": "some_user",
|
||||
"name": "Diaspora",
|
||||
"state": "active",
|
||||
"locked": false,
|
||||
"avatar_url": "https://example.com/uploads/-/system/user/avatar/3/avatar.png",
|
||||
"web_url": "https://example.com/some_user",
|
||||
"access_level": 50,
|
||||
"created_at": "2024-01-16T12:39:58.912Z",
|
||||
"expires_at": null
|
||||
}
|
||||
`)
|
||||
|
||||
var project6PayloadMembers = []byte(`
|
||||
{
|
||||
"id": 3,
|
||||
"username": "some_user",
|
||||
"name": "Diaspora",
|
||||
"state": "active",
|
||||
"locked": false,
|
||||
"avatar_url": "https://example.com/uploads/-/system/user/avatar/3/avatar.png",
|
||||
"web_url": "https://example.com/some_user",
|
||||
"access_level": 30,
|
||||
"created_at": "2024-01-16T12:39:58.912Z",
|
||||
"expires_at": null
|
||||
}
|
||||
`)
|
||||
|
||||
10
server/forge/gitlab/testdata/testdata.go
vendored
10
server/forge/gitlab/testdata/testdata.go
vendored
@@ -46,6 +46,7 @@ func NewServer(t *testing.T) *httptest.Server {
|
||||
w.Write(project4Payload)
|
||||
return
|
||||
case "/api/v4/projects/brightbox/puppet":
|
||||
case "/api/v4/projects/6":
|
||||
w.Write(project6Payload)
|
||||
return
|
||||
case "/api/v4/projects/4/hooks":
|
||||
@@ -60,6 +61,15 @@ func NewServer(t *testing.T) *httptest.Server {
|
||||
case "/api/v4/projects/4/hooks/10717088":
|
||||
w.WriteHeader(201)
|
||||
return
|
||||
case "/api/v4/projects/4/members/all/3":
|
||||
w.Write(project4PayloadMembers)
|
||||
return
|
||||
case "/api/v4/projects/diaspora/diaspora-client/members/all/3":
|
||||
w.Write(project4PayloadMembers)
|
||||
return
|
||||
case "/api/v4/projects/6/members/all/3":
|
||||
w.Write(project6PayloadMembers)
|
||||
return
|
||||
case "/oauth/token":
|
||||
w.Write(accessTokenPayload)
|
||||
return
|
||||
|
||||
Reference in New Issue
Block a user