mctl/cmd/server/delete.go
jake 7ff43c82c2 [fix] Testing fixes
- sqlite error handling and wrapping
- more responsive commands
- database updates
2025-06-19 17:23:17 -04:00

44 lines
830 B
Go

/*
Copyright © 2025 Jake jake.young.dev@gmail.com
*/
package server
import (
"errors"
"fmt"
"code.jakeyoungdev.com/jake/mctl/database"
"github.com/spf13/cobra"
)
var deleteCmd = &cobra.Command{
Use: "delete",
Example: "mctl server delete <server>",
Short: "deletes a server from the database",
SilenceUsage: true,
Run: func(cmd *cobra.Command, args []string) {
db, err := database.New()
cobra.CheckErr(err)
defer db.Close()
err = db.DeleteServer(args[0])
if err.Error() == ErrInit {
fmt.Println(ErrInitRsp)
return
}
cobra.CheckErr(err)
fmt.Println("Server deleted")
},
PreRunE: func(cmd *cobra.Command, args []string) error {
if len(args) == 0 {
return errors.New("server parameter missing")
}
return nil
},
}
func init() {
ServerCmd.AddCommand(deleteCmd)
}