github.com/nkprince007/lab@v0.6.2-0.20171218071646-19d68b56f403/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",
    15  	Short: "Delete a snippet by ID",
    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  }