package teamster import ( "context" "fmt" "strings" "sigs.k8s.io/yaml" "edge-infra.dev/pkg/lib/cli/sink" "edge-infra.dev/pkg/tools/github/ghx" ) func NewCmdResolve() *sink.Command { var ( ref, repo, org string gh = &ghx.GHX{Optional: true} ) cmd := &sink.Command{ Use: "resolve [flags] ", Short: "Resolve full team configuration", Flags: commonFlags(&org, &repo, &ref), Extensions: []sink.Extension{gh}, Exec: func(ctx context.Context, r sink.Run) error { if len(r.Args()) < 1 { return fmt.Errorf("path to teams file is required") } t, err := getTeam(ctx, r.Args()[0], org, repo, ref, gh.V3) if err != nil { return err } data, err := yaml.Marshal(t) if err != nil { return err } fmt.Fprintln(r.Out(), strings.TrimSpace(string(data))) return nil }, } return cmd }