zotregistry.dev/zot@v1.4.4-0.20240314164342-eec277e14d20/pkg/cli/client/repo_sub_cmd.go (about)

     1  //go:build search
     2  // +build search
     3  
     4  package client
     5  
     6  import (
     7  	"fmt"
     8  
     9  	"github.com/spf13/cobra"
    10  )
    11  
    12  func NewListReposCommand(searchService SearchService) *cobra.Command {
    13  	repoListSortFlag := RepoListSortFlag(SortByAlphabeticAsc)
    14  
    15  	cmd := &cobra.Command{
    16  		Use:   "list",
    17  		Short: "List all repositories",
    18  		Long:  "List all repositories",
    19  		Args:  cobra.NoArgs,
    20  		RunE: func(cmd *cobra.Command, args []string) error {
    21  			searchConfig, err := GetSearchConfigFromFlags(cmd, searchService)
    22  			if err != nil {
    23  				return err
    24  			}
    25  
    26  			return SearchRepos(searchConfig)
    27  		},
    28  	}
    29  
    30  	cmd.Flags().Var(&repoListSortFlag, SortByFlag,
    31  		fmt.Sprintf("Options for sorting the output: [%s]", RepoListSortOptionsStr()))
    32  
    33  	return cmd
    34  }