(ctx context.Context, ch *cmdutil.Helper, forceNoninteractive bool)
| 119 | } |
| 120 | |
| 121 | func SelectOrgFlow(ctx context.Context, ch *cmdutil.Helper, forceNoninteractive bool) error { |
| 122 | interactive := ch.Interactive && !forceNoninteractive |
| 123 | |
| 124 | client, err := ch.Client() |
| 125 | if err != nil { |
| 126 | return err |
| 127 | } |
| 128 | |
| 129 | res, err := client.ListOrganizations(ctx, &adminv1.ListOrganizationsRequest{ |
| 130 | PageSize: 1000, |
| 131 | }) |
| 132 | if err != nil { |
| 133 | return err |
| 134 | } |
| 135 | |
| 136 | if len(res.Organizations) == 0 { |
| 137 | ch.PrintfWarn("You are not part of an org. Run `rill org create` to create one.\n") |
| 138 | return nil |
| 139 | } |
| 140 | |
| 141 | var orgNames []string |
| 142 | for _, org := range res.Organizations { |
| 143 | orgNames = append(orgNames, org.Name) |
| 144 | } |
| 145 | |
| 146 | defaultOrg := orgNames[0] |
| 147 | if interactive && len(orgNames) > 1 { |
| 148 | defaultOrg, err = cmdutil.SelectPrompt("Select default org", orgNames, defaultOrg) |
| 149 | if err != nil { |
| 150 | return err |
| 151 | } |
| 152 | } |
| 153 | |
| 154 | err = ch.DotRill.SetDefaultOrg(defaultOrg) |
| 155 | if err != nil { |
| 156 | return err |
| 157 | } |
| 158 | ch.Org = defaultOrg |
| 159 | |
| 160 | ch.Printf("Set default org to %q (hint: to change, run `rill org switch`).\n", defaultOrg) |
| 161 | return nil |
| 162 | } |
no test coverage detected