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 Aliases: []string{"hide"},
10 Args: cobra.MinimumNArgs(1),
11 RunE: func(cmd *cobra.Command, args []string) error {
12 ctx := cmd.Context()
13 be, _ := fromContext(cmd)
14 repo := args[0]
15 switch len(args) {
16 case 1:
17 if err := checkIfReadable(cmd, args); err != nil {
18 return err
19 }
20
21 hidden, err := be.IsHidden(ctx, repo)
22 if err != nil {
23 return err
24 }
25
26 cmd.Println(hidden)
27 case 2:
28 if err := checkIfCollab(cmd, args); err != nil {
29 return err
30 }
31
32 hidden := args[1] == "true"
33 if err := be.SetHidden(ctx, repo, hidden); err != nil {
34 return err
35 }
36 }
37
38 return nil
39 },
40 }
41
42 return cmd
43}