MCPcopy Index your code
hub / github.com/rilldata/rill / SelectOrgFlow

Function SelectOrgFlow

cli/cmd/auth/login.go:121–162  ·  view source on GitHub ↗
(ctx context.Context, ch *cmdutil.Helper, forceNoninteractive bool)

Source from the content-addressed store, hash-verified

119}
120
121func 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}

Callers 4

SwitchEnvCmdFunction · 0.92
AssumeCmdFunction · 0.92
LoginCmdFunction · 0.85

Calls 6

SelectPromptFunction · 0.92
PrintfWarnMethod · 0.80
SetDefaultOrgMethod · 0.80
PrintfMethod · 0.80
ListOrganizationsMethod · 0.65
ClientMethod · 0.45

Tested by

no test coverage detected