mirror of
https://github.com/micromdm/micromdm/
synced 2026-08-05 08:55:51 +08:00
Tidy code for Go 1.20 and update Go version for Docker and CI --------- Co-authored-by: Kory Prince <korylprince@gmail.com>
78 lines
1.2 KiB
Go
78 lines
1.2 KiB
Go
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"os"
|
|
"strings"
|
|
|
|
"github.com/go-kit/kit/log"
|
|
)
|
|
|
|
type removeCommand struct {
|
|
config *ServerConfig
|
|
*remoteServices
|
|
}
|
|
|
|
func (cmd *removeCommand) setup() error {
|
|
cfg, err := LoadServerConfig()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
cmd.config = cfg
|
|
logger := log.NewLogfmtLogger(os.Stderr)
|
|
remote, err := setupClient(logger)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
cmd.remoteServices = remote
|
|
return nil
|
|
}
|
|
|
|
func (cmd *removeCommand) Run(args []string) error {
|
|
if len(args) < 1 {
|
|
cmd.Usage()
|
|
os.Exit(1)
|
|
}
|
|
|
|
if err := cmd.setup(); err != nil {
|
|
return err
|
|
}
|
|
|
|
var run func([]string) error
|
|
switch strings.ToLower(args[0]) {
|
|
case "blueprints":
|
|
run = cmd.removeBlueprints
|
|
case "devices":
|
|
run = cmd.removeDevices
|
|
case "profiles":
|
|
run = cmd.removeProfiles
|
|
case "block":
|
|
run = cmd.removeBlock
|
|
case "dep-autoassigner":
|
|
run = cmd.removeDEPAutoAssigner
|
|
default:
|
|
cmd.Usage()
|
|
os.Exit(1)
|
|
}
|
|
|
|
return run(args[1:])
|
|
}
|
|
|
|
func (cmd *removeCommand) Usage() error {
|
|
const getUsage = `
|
|
Display one or many resources.
|
|
|
|
Valid resource types:
|
|
|
|
* blueprints
|
|
* devices
|
|
* profiles
|
|
* block
|
|
* dep-autoassigner
|
|
|
|
`
|
|
|
|
fmt.Print(getUsage)
|
|
return nil
|
|
}
|