1package cmd
2
3import "github.com/spf13/cobra"
4
5func hiddenCommand() *cobra.Command {
6 cmd := &cobra.Command{
7 Use: "hide REPOSITORY [TRUE|FALSE]",
8 Short: "Hide or unhide a repository",
9 Aliases: []string{"hidden"},
10 Args: cobra.MinimumNArgs(1),
11 RunE: func(cmd *cobra.Command, args []string) error {
12 cfg, _ := fromContext(cmd)
13 repo := args[0]
14 switch len(args) {
15 case 1:
16 if err := checkIfReadable(cmd, args); err != nil {
17 return err
18 }
19
20 hidden, err := cfg.Backend.IsHidden(repo)
21 if err != nil {
22 return err
23 }
24
25 cmd.Println(hidden)
26 case 2:
27 if err := checkIfCollab(cmd, args); err != nil {
28 return err
29 }
30
31 hidden := args[1] == "true"
32 if err := cfg.Backend.SetHidden(repo, hidden); err != nil {
33 return err
34 }
35 }
36
37 return nil
38 },
39 }
40
41 return cmd
42}