| 155 | } |
| 156 | |
| 157 | func (c *MkCert) orgAPID(ctx context.Context, cfg *cli.Config, drv *ui.Driver) (string, error) { |
| 158 | if c.OrgAPID != "" { |
| 159 | return c.OrgAPID, nil |
| 160 | } |
| 161 | |
| 162 | if cfg.Org.APID != "" { |
| 163 | drv.Activate(ctx, &componentmodels.ConfigVia{ |
| 164 | Config: cfg, |
| 165 | ConfigFetchFn: func(cfg *cli.Config) any { return cfg.Org.APID }, |
| 166 | Flag: "--org", |
| 167 | Singular: "organization", |
| 168 | }) |
| 169 | c.OrgAPID = cfg.Org.APID |
| 170 | return c.OrgAPID, nil |
| 171 | } |
| 172 | |
| 173 | selector := &component.Selector[api.Organization]{ |
| 174 | Prompt: "Which organization's certificates do you want to create?", |
| 175 | Flag: "--org", |
| 176 | |
| 177 | Fetcher: &component.Fetcher[api.Organization]{ |
| 178 | FetchFn: func() ([]api.Organization, error) { return c.anc.GetOrgs(ctx) }, |
| 179 | }, |
| 180 | } |
| 181 | |
| 182 | org, err := selector.Choice(ctx, drv) |
| 183 | if err != nil { |
| 184 | return "", err |
| 185 | } |
| 186 | c.OrgAPID = org.Apid |
| 187 | return c.OrgAPID, nil |
| 188 | } |
| 189 | |
| 190 | func (c *MkCert) realmAPID(ctx context.Context, cfg *cli.Config, drv *ui.Driver, orgAPID string) (string, error) { |
| 191 | if c.RealmAPID != "" { |