From aa5c479b20d20e69b02932bfabbb30fa3c24d7c5 Mon Sep 17 00:00:00 2001 From: Steven Masley Date: Wed, 24 Aug 2022 11:15:08 -0400 Subject: [PATCH] feat: Support search query and --me in workspace list --- cli/list.go | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/cli/list.go b/cli/list.go index 3259d3f3f09a4..56e3c9f9df85d 100644 --- a/cli/list.go +++ b/cli/list.go @@ -57,7 +57,11 @@ func workspaceListRowFromWorkspace(now time.Time, usersByID map[uuid.UUID]coders } func list() *cobra.Command { - var columns []string + var ( + columns []string + searchQuery string + me bool + ) cmd := &cobra.Command{ Annotations: workspaceCommand, Use: "list", @@ -69,7 +73,17 @@ func list() *cobra.Command { if err != nil { return err } - workspaces, err := client.Workspaces(cmd.Context(), codersdk.WorkspaceFilter{}) + filter := codersdk.WorkspaceFilter{ + FilterQuery: searchQuery, + } + if me { + myUser, err := client.User(cmd.Context(), codersdk.Me) + if err != nil { + return err + } + filter.Owner = myUser.Username + } + workspaces, err := client.Workspaces(cmd.Context(), filter) if err != nil { return err } @@ -106,5 +120,7 @@ func list() *cobra.Command { } cmd.Flags().StringArrayVarP(&columns, "column", "c", nil, "Specify a column to filter in the table.") + cmd.Flags().StringVar(&searchQuery, "search", "", "Search for a workspace with a query.") + cmd.Flags().BoolVar(&me, "me", false, "Only show workspaces owned by the current user.") return cmd }