hidden.go

 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}