mirror.go

 1package cmd
 2
 3import (
 4	"github.com/charmbracelet/soft-serve/pkg/backend"
 5	"github.com/spf13/cobra"
 6)
 7
 8func mirrorCommand() *cobra.Command {
 9	cmd := &cobra.Command{
10		Use:               "is-mirror REPOSITORY",
11		Short:             "Whether a repository is a mirror",
12		Args:              cobra.ExactArgs(1),
13		PersistentPreRunE: checkIfReadable,
14		RunE: func(cmd *cobra.Command, args []string) error {
15			ctx := cmd.Context()
16			be := backend.FromContext(ctx)
17			rn := args[0]
18			rr, err := be.Repository(ctx, rn)
19			if err != nil {
20				return err //nolint:wrapcheck
21			}
22
23			isMirror := rr.IsMirror()
24			cmd.Println(isMirror)
25			return nil
26		},
27	}
28
29	return cmd
30}