github.com/iotexproject/iotex-core@v1.14.1-rc1/ioctl/newcmd/alias/aliasremove.go (about) 1 // Copyright (c) 2022 IoTeX Foundation 2 // This source code is provided 'as is' and no warranties are given as to title or non-infringement, merchantability 3 // or fitness for purpose and, to the extent permitted by law, all liability for your use of the code is disclaimed. 4 // This source code is governed by Apache License 2.0 that can be found in the LICENSE file. 5 6 package alias 7 8 import ( 9 "fmt" 10 11 "github.com/pkg/errors" 12 "github.com/spf13/cobra" 13 14 "github.com/iotexproject/iotex-core/ioctl" 15 "github.com/iotexproject/iotex-core/ioctl/config" 16 "github.com/iotexproject/iotex-core/ioctl/validator" 17 ) 18 19 var ( 20 _removeShorts = map[config.Language]string{ 21 config.English: "Remove alias", 22 config.Chinese: "移除别名", 23 } 24 _removeInvalidAlias = map[config.Language]string{ 25 config.English: "invalid alias %s", 26 config.Chinese: "不可用别名 %s", 27 } 28 _removeWriteError = map[config.Language]string{ 29 config.English: "failed to write to config file %s", 30 config.Chinese: "无法写入配置文件 %s", 31 } 32 _removeResult = map[config.Language]string{ 33 config.English: "%s is removed", 34 config.Chinese: "%s 已移除", 35 } 36 ) 37 38 // NewAliasRemove represents the removes alias command 39 func NewAliasRemove(c ioctl.Client) *cobra.Command { 40 short, _ := c.SelectTranslation(_removeShorts) 41 invalidAlias, _ := c.SelectTranslation(_removeInvalidAlias) 42 writeError, _ := c.SelectTranslation(_removeWriteError) 43 result, _ := c.SelectTranslation(_removeResult) 44 45 ec := &cobra.Command{ 46 Use: "remove", 47 Short: short, 48 Args: cobra.ExactArgs(1), 49 RunE: func(cmd *cobra.Command, args []string) error { 50 cmd.SilenceUsage = true 51 alias := args[0] 52 if err := validator.ValidateAlias(alias); err != nil { 53 return errors.Errorf(invalidAlias, alias) 54 } 55 if err := c.DeleteAlias(alias); err != nil { 56 return errors.Wrap(err, writeError) 57 } 58 cmd.Println(fmt.Sprintf(result, alias)) 59 return nil 60 }, 61 } 62 return ec 63 }