1package boardcmd
2
3import (
4 "errors"
5
6 "github.com/spf13/cobra"
7
8 "github.com/git-bug/git-bug/commands/execenv"
9)
10
11func newBoardRmCommand() *cobra.Command {
12 env := execenv.NewEnv()
13
14 cmd := &cobra.Command{
15 Use: "rm BOARD_ID",
16 Short: "Remove an existing board",
17 Long: "Remove an existing board in the local repository.",
18 PreRunE: execenv.LoadBackendEnsureUser(env),
19 RunE: execenv.CloseBackend(env, func(cmd *cobra.Command, args []string) error {
20 return runBoardRm(env, args)
21 }),
22 ValidArgsFunction: BoardCompletion(env),
23 }
24
25 flags := cmd.Flags()
26 flags.SortFlags = false
27
28 return cmd
29}
30
31func runBoardRm(env *execenv.Env, args []string) (err error) {
32 if len(args) == 0 {
33 return errors.New("you must provide a board prefix to remove")
34 }
35
36 err = env.Backend.Boards().Remove(args[0])
37
38 if err != nil {
39 return
40 }
41
42 env.Out.Printf("board %s removed\n", args[0])
43
44 return
45}