git-project-manager/cmd/cache_load.go

32 lines
758 B
Go

package cmd
import (
"github.com/spf13/cobra"
"github.com/spf13/viper"
)
var loadCmd = &cobra.Command{
Use: "load",
Short: "Load GitLab Project Cache",
Long: `Used to initialize or update a new GitLab cache. With thousands
of projects, it would be too much work to hit the API every time a user
wants to find a new project.`,
PreRun: runCacheCmd,
PostRun: postCacheCmd,
Run: loadCache,
}
func loadCache(cmd *cobra.Command, args []string) {
remotes := viper.GetStringSlice(FlagRemote)
projectCache.Refresh(remotes...)
}
func init() {
cacheCmd.AddCommand(loadCmd)
loadCmd.PersistentFlags().Bool(FlagOwnerOnly, true,
"Only load projects that you are owner of")
viper.BindPFlag(ViperCacheLoadOwnerOnly, loadCmd.Flag(FlagOwnerOnly))
}