add shell command to list all collections

This commit is contained in:
Chris Lu
2019-03-16 13:43:16 -07:00
parent b92122b885
commit 657dd2e6c9
11 changed files with 589 additions and 114 deletions

View File

@@ -0,0 +1,39 @@
package shell
import (
"context"
"fmt"
"io"
)
func init() {
commands = append(commands, &commandCollectionList{})
}
type commandCollectionList struct {
}
func (c *commandCollectionList) Name() string {
return "collection.list"
}
func (c *commandCollectionList) Help() string {
return "\t\t # list all collections"
}
func (c *commandCollectionList) Do(args []string, commandEnv *commandEnv, writer io.Writer) error {
resp, err := commandEnv.masterClient.CollectionList(context.Background())
if err != nil {
return err
}
for _, c := range resp.Collections {
fmt.Fprintf(writer, "collection:\"%s\"\n", c.GetName())
}
fmt.Fprintf(writer, "Total %d collections.\n", len(resp.Collections))
return nil
}