mirror of
https://github.com/woodpecker-ci/woodpecker.git
synced 2026-03-19 00:15:48 +01:00
Add method to check organization membership (#1037)
* Add remote method to check organization membership * Use named return parameters in interface * Add membership check service * Update Gitea SDK
This commit is contained in:
@@ -305,6 +305,18 @@ func (c *client) Deactivate(ctx context.Context, u *model.User, r *model.Repo, l
|
||||
return err
|
||||
}
|
||||
|
||||
// OrgMembership returns if user is member of organization and if user
|
||||
// is admin/owner in this organization.
|
||||
func (c *client) OrgMembership(ctx context.Context, u *model.User, owner string) (*model.OrgPerm, error) {
|
||||
client := c.newClientToken(ctx, u.Token)
|
||||
org, _, err := client.Organizations.GetOrgMembership(ctx, u.Login, owner)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &model.OrgPerm{Member: org.GetState() == "active", Admin: org.GetRole() == "admin"}, nil
|
||||
}
|
||||
|
||||
// helper function to return the GitHub oauth2 context using an HTTPClient that
|
||||
// disables TLS verification if disabled in the remote settings.
|
||||
func (c *client) newContext(ctx context.Context) context.Context {
|
||||
|
||||
Reference in New Issue
Block a user