1package cmd23import (4 "github.com/charmbracelet/soft-serve/pkg/backend"5 "github.com/spf13/cobra"6)78func mirrorCommand() *cobra.Command {9 cmd := &cobra.Command{10 Use: "mirror REPOSITORY [true|false]",11 Short: "Set or get a repository mirror property",12 Args: cobra.RangeArgs(1, 2),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]1819 switch len(args) {20 case 1:21 isMirror, err := be.IsMirror(ctx, rn)22 if err != nil {23 return err24 }2526 cmd.Println(isMirror)27 case 2:28 if err := checkIfCollab(cmd, args); err != nil {29 return err30 }3132 isMirror := args[1] == "true"33 if err := be.SetMirror(ctx, rn, isMirror); err != nil {34 return err35 }36 }3738 return nil39 },40 }4142 return cmd43}