MCPcopy Index your code
hub / github.com/coder/coder / listTokens

Method listTokens

cli/tokens.go:212–288  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

210}
211
212func (r *RootCmd) listTokens() *serpent.Command {
213 // we only display the 'owner' column if the --all argument is passed in
214 defaultCols := []string{"id", "name", "scopes", "allow list", "last used", "expires at", "created at"}
215 if slices.Contains(os.Args, "-a") || slices.Contains(os.Args, "--all") {
216 defaultCols = append(defaultCols, "owner")
217 }
218
219 var (
220 all bool
221 includeExpired bool
222 displayTokens []tokenListRow
223 formatter = cliui.NewOutputFormatter(
224 cliui.TableFormat([]tokenListRow{}, defaultCols),
225 cliui.JSONFormat(),
226 )
227 )
228
229 cmd := &serpent.Command{
230 Use: "list",
231 Aliases: []string{"ls"},
232 Short: "List tokens",
233 Middleware: serpent.Chain(
234 serpent.RequireNArgs(0),
235 ),
236 Handler: func(inv *serpent.Invocation) error {
237 client, err := r.InitClient(inv)
238 if err != nil {
239 return err
240 }
241
242 tokens, err := client.Tokens(inv.Context(), codersdk.Me, codersdk.TokensFilter{
243 IncludeAll: all,
244 IncludeExpired: includeExpired,
245 })
246 if err != nil {
247 return xerrors.Errorf("list tokens: %w", err)
248 }
249
250 displayTokens = make([]tokenListRow, len(tokens))
251
252 for i, token := range tokens {
253 displayTokens[i] = tokenListRowFromToken(token)
254 }
255
256 out, err := formatter.Format(inv.Context(), displayTokens)
257 if err != nil {
258 return err
259 }
260
261 if out == "" {
262 cliui.Info(inv.Stderr, "No tokens found.")
263 return nil
264 }
265
266 _, err = fmt.Fprintln(inv.Stdout, out)
267 return err
268 },
269 }

Callers 1

tokensMethod · 0.95

Calls 12

InitClientMethod · 0.95
NewOutputFormatterFunction · 0.92
TableFormatFunction · 0.92
JSONFormatFunction · 0.92
InfoFunction · 0.92
tokenListRowFromTokenFunction · 0.85
TokensMethod · 0.80
ContextMethod · 0.65
FormatMethod · 0.65
AttachOptionsMethod · 0.65
ContainsMethod · 0.45
ErrorfMethod · 0.45

Tested by

no test coverage detected