board_rm.go

 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}