CLI: Add account:delete command

This commit is contained in:
Jason Wilder
2015-02-15 13:36:10 -07:00
parent c1d4acc01e
commit 90cd10e034
4 changed files with 71 additions and 1 deletions
+38
View File
@@ -40,6 +40,20 @@ var CmdCreateAccount = cli.Command{
},
}
var CmdDeleteAccount = cli.Command{
Name: "account:delete",
Usage: "delete an existing account",
Description: "Deletes an existing account",
Action: deleteAccount,
Flags: []cli.Flag{
cli.StringFlag{
Name: "config",
Value: "grafana.ini",
Usage: "path to config file",
},
},
}
func listAccounts(c *cli.Context) {
setting.NewConfigContext()
sqlstore.NewEngine()
@@ -85,3 +99,27 @@ func createAccount(c *cli.Context) {
log.ConsoleInfof("Account %s created for admin user %s\n", name, adminUser.Email)
}
func deleteAccount(c *cli.Context) {
setting.NewConfigContext()
sqlstore.NewEngine()
sqlstore.EnsureAdminUser()
if !c.Args().Present() {
log.ConsoleFatal("Account name arg is required")
}
name := c.Args().First()
accountQuery := m.GetAccountByNameQuery{Name: name}
if err := bus.Dispatch(&accountQuery); err != nil {
log.ConsoleFatalf("Failed to find account: %s", err)
}
accountId := accountQuery.Result.Id
cmd := m.DeleteAccountCommand{Id: accountId}
if err := bus.Dispatch(&cmd); err != nil {
log.ConsoleFatalf("Failed to delete account: %s", err)
}
log.ConsoleInfof("Account %s deleted", name)
}