1
0
mirror of https://codeberg.org/crowci/crow.git synced 2025-08-12 06:02:53 +03:00

Use id to access orgs (#1873)

closes #1743 

fixes: setting secrets for own user namespace

- create org in database
- use orgID for org related APIs

Co-authored-by: 6543 <6543@obermui.de>
This commit is contained in:
Anbraten
2023-07-21 19:45:32 +02:00
committed by GitHub
parent aec2051071
commit e5d5ec8b47
51 changed files with 1261 additions and 392 deletions

View File

@@ -350,6 +350,27 @@ func (c *client) OrgMembership(ctx context.Context, u *model.User, owner string)
return &model.OrgPerm{Member: org.GetState() == "active", Admin: org.GetRole() == "admin"}, nil
}
func (c *client) Org(ctx context.Context, u *model.User, owner string) (*model.Org, error) {
client := c.newClientToken(ctx, u.Token)
user, _, err := client.Users.Get(ctx, owner)
if user != nil && err == nil {
return &model.Org{
Name: user.GetName(),
IsUser: true,
}, nil
}
org, _, err := client.Organizations.Get(ctx, owner)
if err != nil {
return nil, err
}
return &model.Org{
Name: org.GetName(),
}, nil
}
// helper function to return the GitHub oauth2 context using an HTTPClient that
// disables TLS verification if disabled in the forge settings.
func (c *client) newContext(ctx context.Context) context.Context {