gitlab.com/lab-cli/lab@v0.14.0/cmd/mr_thumb.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  var mrThumbCmd = &cobra.Command{
    12  	Use:     "thumb",
    13  	Aliases: []string{},
    14  	Short:   "Thumb operations on merge requests",
    15  	Long:    ``,
    16  }
    17  
    18  var mrThumbUpCmd = &cobra.Command{
    19  	Use:     "up [remote] <id>",
    20  	Aliases: []string{},
    21  	Short:   "Thumb up merge request",
    22  	Long:    ``,
    23  	Run: func(cmd *cobra.Command, args []string) {
    24  		rn, id, err := parseArgs(args)
    25  		if err != nil {
    26  			log.Fatal(err)
    27  		}
    28  
    29  		p, err := lab.FindProject(rn)
    30  		if err != nil {
    31  			log.Fatal(err)
    32  		}
    33  
    34  		err = lab.MRThumbUp(p.ID, int(id))
    35  		if err != nil {
    36  			log.Fatal(err)
    37  		}
    38  		fmt.Printf("Merge Request #%d thumb'd up\n", id)
    39  	},
    40  }
    41  
    42  var mrThumbDownCmd = &cobra.Command{
    43  	Use:     "down [remote] <id>",
    44  	Aliases: []string{},
    45  	Short:   "Thumbs down merge request",
    46  	Long:    ``,
    47  	Run: func(cmd *cobra.Command, args []string) {
    48  		rn, id, err := parseArgs(args)
    49  		if err != nil {
    50  			log.Fatal(err)
    51  		}
    52  
    53  		p, err := lab.FindProject(rn)
    54  		if err != nil {
    55  			log.Fatal(err)
    56  		}
    57  
    58  		err = lab.MRThumbDown(p.ID, int(id))
    59  		if err != nil {
    60  			log.Fatal(err)
    61  		}
    62  		fmt.Printf("Merge Request #%d thumb'd down\n", id)
    63  	},
    64  }
    65  
    66  func init() {
    67  	mrCmd.AddCommand(mrThumbCmd)
    68  	mrThumbCmd.AddCommand(mrThumbUpCmd)
    69  	mrThumbCmd.AddCommand(mrThumbDownCmd)
    70  }