Some checks failed
code scans / scans (push) Has been cancelled
- adding decode flag to server view command - more idiomatic naming for db funcs
89 lines
1.8 KiB
Go
89 lines
1.8 KiB
Go
/*
|
|
Copyright © 2025 Jake jake.young.dev@gmail.com
|
|
*/
|
|
package server
|
|
|
|
import (
|
|
"encoding/base64"
|
|
"fmt"
|
|
|
|
"code.jakeyoungdev.com/jake/mctl/database"
|
|
"github.com/spf13/cobra"
|
|
)
|
|
|
|
var decode bool
|
|
|
|
var viewCmd = &cobra.Command{
|
|
Use: "view",
|
|
Example: "mctl server view",
|
|
Short: "view all saved servers",
|
|
SilenceUsage: true,
|
|
Run: func(cmd *cobra.Command, args []string) {
|
|
db, err := database.New()
|
|
if err != nil {
|
|
fmt.Println(err)
|
|
return
|
|
}
|
|
defer db.Close()
|
|
|
|
if len(args) > 0 {
|
|
srvName := args[0]
|
|
s, err := db.Server(srvName)
|
|
if err != nil {
|
|
fmt.Println(err)
|
|
return
|
|
}
|
|
fmt.Println("-----")
|
|
fmt.Printf("Name: %s\n", s.Name)
|
|
fmt.Printf("Address: %s\n", s.Server)
|
|
fmt.Printf("Port: %d\n", s.Port)
|
|
if decode {
|
|
pwb, err := base64.StdEncoding.DecodeString(s.Password)
|
|
if err != nil {
|
|
fmt.Println(err)
|
|
return
|
|
}
|
|
fmt.Printf("Password: %s\n", string(pwb))
|
|
} else {
|
|
fmt.Println("Password: [REDACTED]")
|
|
}
|
|
fmt.Printf("Default: %t\n", s.Active)
|
|
return
|
|
}
|
|
|
|
ts, err := db.AllServers()
|
|
if err != nil {
|
|
if err.Error() == ErrInit {
|
|
fmt.Println(ErrInitRsp)
|
|
return
|
|
} else {
|
|
fmt.Println(err)
|
|
return
|
|
}
|
|
}
|
|
|
|
for _, s := range ts {
|
|
fmt.Println("-----")
|
|
fmt.Printf("Name: %s\n", s.Name)
|
|
fmt.Printf("Address: %s\n", s.Server)
|
|
fmt.Printf("Port: %d\n", s.Port)
|
|
if decode {
|
|
pwb, err := base64.StdEncoding.DecodeString(s.Password)
|
|
if err != nil {
|
|
fmt.Println(err)
|
|
return
|
|
}
|
|
fmt.Printf("Password: %s\n", string(pwb))
|
|
} else {
|
|
fmt.Println("Password: [REDACTED]")
|
|
}
|
|
fmt.Printf("Default: %t\n", s.Active)
|
|
}
|
|
},
|
|
}
|
|
|
|
func init() {
|
|
viewCmd.Flags().BoolVarP(&decode, "decode", "d", false, "decodes server passwords")
|
|
ServerCmd.AddCommand(viewCmd)
|
|
}
|