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