remove_command.go 735 B

123456789101112131415161718192021222324252627282930313233
  1. package commands
  2. import (
  3. "errors"
  4. "fmt"
  5. m "github.com/grafana/grafana/pkg/cmd/grafana-cli/models"
  6. services "github.com/grafana/grafana/pkg/cmd/grafana-cli/services"
  7. "strings"
  8. )
  9. var getPluginss func(path string) []m.InstalledPlugin = services.GetLocalPlugins
  10. var removePlugin func(pluginPath, id string) error = services.RemoveInstalledPlugin
  11. func removeCommand(c CommandLine) error {
  12. pluginPath := c.PluginDirectory()
  13. plugin := c.Args().First()
  14. if plugin == "" {
  15. return errors.New("Missing plugin parameter")
  16. }
  17. err := removePlugin(pluginPath, plugin)
  18. if err != nil {
  19. if strings.Contains(err.Error(), "no such file or directory") {
  20. return fmt.Errorf("Plugin does not exist")
  21. }
  22. return err
  23. }
  24. return nil
  25. }