github.com/taubyte/tau-cli@v0.1.13-0.20240326000942-487f0d57edfc/cli/commands/resources/application/edit.go (about) 1 package application 2 3 import ( 4 "github.com/taubyte/tau-cli/cli/common" 5 "github.com/taubyte/tau-cli/flags" 6 applicationI18n "github.com/taubyte/tau-cli/i18n/application" 7 applicationLib "github.com/taubyte/tau-cli/lib/application" 8 applicationPrompts "github.com/taubyte/tau-cli/prompts/application" 9 applicationTable "github.com/taubyte/tau-cli/table/application" 10 "github.com/urfave/cli/v2" 11 ) 12 13 func (link) Edit() common.Command { 14 return common.Create( 15 &cli.Command{ 16 Flags: []cli.Flag{ 17 flags.Description, 18 flags.Tags, 19 flags.Select, 20 flags.Yes, 21 }, 22 Action: edit, 23 }, 24 ) 25 } 26 27 func edit(ctx *cli.Context) error { 28 // If --select is set we should not check the user's currently selected application 29 checkEnv := !ctx.Bool(flags.Select.Name) 30 31 application, err := applicationPrompts.GetOrSelect(ctx, checkEnv) 32 if err != nil { 33 return err 34 } 35 36 applicationPrompts.Edit(ctx, application) 37 38 confirm := applicationTable.Confirm(ctx, application, applicationPrompts.EditThis) 39 if confirm { 40 err = applicationLib.Set(application) 41 if err != nil { 42 return err 43 } 44 applicationI18n.Edited(application.Name) 45 46 return nil 47 } 48 49 return nil 50 }