2016-02-15 14:09:34 +01:00
|
|
|
package commands
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"errors"
|
2016-04-19 08:32:23 +02:00
|
|
|
"fmt"
|
2016-06-25 01:18:49 +02:00
|
|
|
"strings"
|
2018-04-18 19:04:37 +02:00
|
|
|
|
2019-05-27 10:47:21 +02:00
|
|
|
"github.com/grafana/grafana/pkg/cmd/grafana-cli/services"
|
|
|
|
|
"github.com/grafana/grafana/pkg/cmd/grafana-cli/utils"
|
2016-02-15 14:09:34 +01:00
|
|
|
)
|
|
|
|
|
|
|
|
|
|
var removePlugin func(pluginPath, id string) error = services.RemoveInstalledPlugin
|
|
|
|
|
|
2020-02-26 12:27:31 +01:00
|
|
|
func (cmd Command) removeCommand(c utils.CommandLine) error {
|
2016-06-24 20:14:58 +02:00
|
|
|
pluginPath := c.PluginDirectory()
|
2016-02-15 14:09:34 +01:00
|
|
|
|
|
|
|
|
plugin := c.Args().First()
|
|
|
|
|
if plugin == "" {
|
2020-02-26 12:27:31 +01:00
|
|
|
return errors.New("missing plugin parameter")
|
2016-02-15 14:09:34 +01:00
|
|
|
}
|
|
|
|
|
|
2016-06-25 01:18:49 +02:00
|
|
|
err := removePlugin(pluginPath, plugin)
|
|
|
|
|
|
|
|
|
|
if err != nil {
|
|
|
|
|
if strings.Contains(err.Error(), "no such file or directory") {
|
2020-02-26 12:27:31 +01:00
|
|
|
return fmt.Errorf("plugin does not exist")
|
2016-02-15 14:09:34 +01:00
|
|
|
}
|
2016-06-25 01:18:49 +02:00
|
|
|
|
|
|
|
|
return err
|
2016-02-15 14:09:34 +01:00
|
|
|
}
|
|
|
|
|
|
2016-06-25 01:18:49 +02:00
|
|
|
return nil
|
2016-02-15 14:09:34 +01:00
|
|
|
}
|