remove_command.go 763 B

12345678910111213141516171819202122232425262728293031
  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. )
  8. var getPluginss func(path string) []m.InstalledPlugin = services.GetLocalPlugins
  9. var removePlugin func(pluginPath, id string) error = services.RemoveInstalledPlugin
  10. func removeCommand(c CommandLine) error {
  11. pluginPath := c.GlobalString("pluginsDir")
  12. localPlugins := getPluginss(pluginPath)
  13. plugin := c.Args().First()
  14. if plugin == "" {
  15. return errors.New("Missing plugin parameter")
  16. }
  17. for _, p := range localPlugins {
  18. if p.Id == c.Args().First() {
  19. removePlugin(pluginPath, p.Id)
  20. return nil
  21. }
  22. }
  23. return fmt.Errorf("Could not find plugin named %s", c.Args().First())
  24. }