github.com/ianfoo/lab@v0.9.5-0.20180123060006-5ed79f2ccfc7/cmd/snippetDelete.go (about) 1 package cmd 2 3 import ( 4 "fmt" 5 "log" 6 7 "github.com/spf13/cobra" 8 "github.com/zaquestion/lab/internal/git" 9 lab "github.com/zaquestion/lab/internal/gitlab" 10 ) 11 12 // snippetDeleteCmd represents the snippetDelete command 13 var snippetDeleteCmd = &cobra.Command{ 14 Use: "delete [remote] <id>", 15 Short: "Delete a project or personal snippet", 16 Long: ``, 17 Args: cobra.MinimumNArgs(1), 18 Run: func(cmd *cobra.Command, args []string) { 19 remote, id, err := parseArgsRemote(args) 20 if err != nil { 21 log.Fatal(err) 22 } 23 if remote == "" { 24 remote = forkedFromRemote 25 } 26 rn, _ := git.PathWithNameSpace(remote) 27 if global || rn == "" { 28 err = lab.SnippetDelete(int(id)) 29 if err != nil { 30 log.Fatal(err) 31 } 32 fmt.Printf("Snippet #%d deleted\n", id) 33 return 34 } 35 36 project, err := lab.FindProject(rn) 37 if err != nil { 38 log.Fatal(err) 39 } 40 err = lab.ProjectSnippetDelete(project.ID, int(id)) 41 if err != nil { 42 log.Fatal(err) 43 } 44 }, 45 } 46 47 func init() { 48 snippetCmd.AddCommand(snippetDeleteCmd) 49 }