Something went wrong. Try again.
forked from charmbracelet/soft-serve
Something went wrong. Try again.
1234567891011121314151617181920212223242526272829303132333435363738394041424344package cmd
import ( "strings"
"github.com/charmbracelet/soft-serve/pkg/access" "github.com/charmbracelet/soft-serve/pkg/backend" "github.com/spf13/cobra")
func descriptionCommand() *cobra.Command { cmd := &cobra.Command{ Use: "description REPOSITORY [DESCRIPTION]", Aliases: []string{"desc"}, Short: "Set or get the description for a repository", Args: cobra.MinimumNArgs(1), PersistentPreRunE: requireRepo(access.ReadOnlyAccess), RunE: func(cmd *cobra.Command, args []string) error { ctx := cmd.Context() be := backend.FromContext(ctx) rr, _, err := repoFromContext(ctx) if err != nil { return err }
switch len(args) { case 1: cmd.Println(rr.Description()) default: if err := requireLevel(ctx, access.ReadWriteAccess); err != nil { return err } if err := be.SetDescription(ctx, rr.Name(), strings.Join(args[1:], " ")); err != nil { return err } }
return nil }, }
return cmd}