Skip to content

Commit a251025

Browse files
authored
Merge pull request #547 from nais/all_teams
2 parents 2160578 + ca6fc2b commit a251025

File tree

4 files changed

+119
-10
lines changed

4 files changed

+119
-10
lines changed

internal/naisapi/command/flag/flag.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ type Proxy struct {
1818

1919
type Teams struct {
2020
*Api
21+
22+
All bool
2123
}
2224

2325
type Schema struct {

internal/naisapi/command/teams.go

Lines changed: 25 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -14,19 +14,34 @@ func teams(parentFlags *flag.Api) *cli.Command {
1414
flags := &flag.Teams{Api: parentFlags}
1515

1616
return cli.NewCommand("teams", "Get a list of your teams.",
17+
cli.WithFlag("all", "a", "List all teams, not just the ones you are a member of", &flags.All),
1718
cli.WithRun(func(ctx context.Context, out output.Output, _ []string) error {
18-
teams, err := naisapi.GetUserTeams(ctx, flags)
19-
if err != nil {
20-
return err
21-
}
19+
if flags.All {
20+
teams, err := naisapi.GetAllTeams(ctx)
21+
if err != nil {
22+
return err
23+
}
24+
if len(teams.Teams.Nodes) == 0 {
25+
out.Println("No teams found.")
26+
return nil
27+
}
2228

23-
if len(teams.Me.(*gql.UserTeamsMeUser).Teams.Nodes) == 0 {
24-
out.Println("No teams found.")
25-
return nil
26-
}
29+
for _, team := range teams.Teams.Nodes {
30+
out.Println(team.Slug, "-", team.Purpose)
31+
}
32+
} else {
33+
teams, err := naisapi.GetUserTeams(ctx, flags)
34+
if err != nil {
35+
return err
36+
}
37+
if len(teams.Me.(*gql.UserTeamsMeUser).Teams.Nodes) == 0 {
38+
out.Println("No teams found.")
39+
return nil
40+
}
2741

28-
for _, team := range teams.Me.(*gql.UserTeamsMeUser).Teams.Nodes {
29-
out.Println(team.Team.Slug, "-", team.Team.Purpose)
42+
for _, team := range teams.Me.(*gql.UserTeamsMeUser).Teams.Nodes {
43+
out.Println(team.Team.Slug, "-", team.Team.Purpose)
44+
}
3045
}
3146

3247
return nil

internal/naisapi/gql/generated.go

Lines changed: 72 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

internal/naisapi/naisapi.go

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,3 +93,23 @@ func GetUserTeams(ctx context.Context, _ *flag.Teams) (*gql.UserTeamsResponse, e
9393

9494
return gql.UserTeams(ctx, client)
9595
}
96+
97+
func GetAllTeams(ctx context.Context) (*gql.TeamsResponse, error) {
98+
_ = `# @genqlient
99+
query Teams {
100+
teams(first:1000) {
101+
nodes {
102+
slug
103+
purpose
104+
}
105+
}
106+
}
107+
`
108+
109+
client, err := GraphqlClient(ctx)
110+
if err != nil {
111+
return nil, err
112+
}
113+
114+
return gql.Teams(ctx, client)
115+
}

0 commit comments

Comments
 (0)