Skip to content

Commit

Permalink
clean up connect commands (#1092)
Browse files Browse the repository at this point in the history
  • Loading branch information
brianstrauch committed Nov 30, 2021
1 parent 9c64c58 commit b25b107
Show file tree
Hide file tree
Showing 23 changed files with 999 additions and 728 deletions.
2 changes: 1 addition & 1 deletion internal/cmd/command.go
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ func NewConfluentCommand(cfg *v1.Config, isTest bool, ver *pversion.Version) *co
}

apiKeyCmd := apikey.New(prerunner, nil, flagResolver, analyticsClient)
connectCmd := connect.New(cfg, prerunner, analyticsClient)
connectCmd := connect.New(prerunner, analyticsClient)
environmentCmd := environment.New(prerunner, analyticsClient)

cli.AddCommand(admin.New(prerunner, isTest))
Expand Down
81 changes: 81 additions & 0 deletions internal/cmd/connect/autocomplete.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
package connect

import (
"context"

"github.com/c-bata/go-prompt"
schedv1 "github.com/confluentinc/cc-structs/kafka/scheduler/v1"
opv1 "github.com/confluentinc/cc-structs/operator/v1"
"github.com/spf13/cobra"

"github.com/confluentinc/cli/internal/pkg/shell/completer"
)

func (c *command) Cmd() *cobra.Command {
return c.Command
}

func (c *command) ServerCompletableChildren() []*cobra.Command {
return c.completableChildren
}

func (c *command) ServerComplete() []prompt.Suggest {
var suggestions []prompt.Suggest
connectors, err := c.fetchConnectors()
if err != nil {
return suggestions
}
for _, conn := range connectors {
suggestions = append(suggestions, prompt.Suggest{
Text: conn.Id.Id,
Description: conn.Info.Name,
})
}
return suggestions
}

func (c *command) fetchConnectors() (map[string]*opv1.ConnectorExpansion, error) {
kafkaCluster, err := c.Context.GetKafkaClusterForCommand(c.Command)
if err != nil {
return nil, err
}
connectors, err := c.Client.Connect.ListWithExpansions(context.Background(), &schedv1.Connector{AccountId: c.EnvironmentId(), KafkaClusterId: kafkaCluster.ID}, "status,info,id")
if err != nil {
return nil, err
}
return connectors, nil

}

func (c *command) ServerCompletableFlagChildren() map[string][]*cobra.Command {
return c.completableFlagChildren
}

func (c *command) ServerFlagComplete() map[string]func() []prompt.Suggest {
return map[string]func() []prompt.Suggest{
"cluster": completer.ClusterFlagServerCompleterFunc(c.Client, c.EnvironmentId()),
}
}

func (c *pluginCommand) Cmd() *cobra.Command {
return c.Command
}

func (c *pluginCommand) ServerComplete() []prompt.Suggest {
var suggestions []prompt.Suggest
plugins, err := c.getPlugins(c.Command)
if err != nil {
return suggestions
}
for _, conn := range plugins {
suggestions = append(suggestions, prompt.Suggest{
Text: conn.Class,
Description: conn.Type,
})
}
return suggestions
}

func (c *pluginCommand) ServerCompletableChildren() []*cobra.Command {
return c.completableChildren
}
Loading

0 comments on commit b25b107

Please sign in to comment.