github.com/matthewdale/lab@v0.14.0/cmd/snippet_delete.go (about)

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