diff --git a/cmd/zrok/adminDeleteAccount.go b/cmd/zrok/adminDeleteAccount.go new file mode 100644 index 00000000..eb7704cc --- /dev/null +++ b/cmd/zrok/adminDeleteAccount.go @@ -0,0 +1,50 @@ +package main + +import ( + "github.com/openziti/zrok/environment" + "github.com/openziti/zrok/rest_client_zrok/admin" + "github.com/sirupsen/logrus" + "github.com/spf13/cobra" +) + +func init() { + adminDeleteCmd.AddCommand(newAdminDeleteAccountCommand().cmd) +} + +type adminDeleteAccountCommand struct { + cmd *cobra.Command +} + +func newAdminDeleteAccountCommand() *adminDeleteAccountCommand { + cmd := &cobra.Command{ + Use: "account ", + Short: "Delete an account and disable all allocated resources", + Args: cobra.ExactArgs(1), + } + command := &adminDeleteAccountCommand{cmd: cmd} + cmd.Run = command.run + return command +} + +func (cmd *adminDeleteAccountCommand) run(_ *cobra.Command, args []string) { + email := args[0] + + root, err := environment.LoadRoot() + if err != nil { + panic(err) + } + + zrok, err := root.Client() + if err != nil { + panic(err) + } + + req := admin.NewDeleteAccountParams() + req.Body.Email = email + + if _, err := zrok.Admin.DeleteAccount(req, mustGetAdminAuth()); err != nil { + panic(err) + } + + logrus.Infof("deleted account '%v'", email) +} diff --git a/cmd/zrok/adminDeleteFrontend.go b/cmd/zrok/adminDeleteFrontend.go index b7598b7f..08b12699 100644 --- a/cmd/zrok/adminDeleteFrontend.go +++ b/cmd/zrok/adminDeleteFrontend.go @@ -42,8 +42,7 @@ func (cmd *adminDeleteFrontendCommand) run(_ *cobra.Command, args []string) { req := admin.NewDeleteFrontendParams() req.Body.FrontendToken = feToken - _, err = zrok.Admin.DeleteFrontend(req, mustGetAdminAuth()) - if err != nil { + if _, err := zrok.Admin.DeleteFrontend(req, mustGetAdminAuth()); err != nil { panic(err) }