github.com/artisanhe/tools@v1.0.1-0.20210607022958-19a8fef2eb04/cmd/cmd_new.go (about)

     1  package cmd
     2  
     3  import (
     4  	"fmt"
     5  
     6  	"github.com/spf13/cobra"
     7  
     8  	"github.com/artisanhe/tools/codegen"
     9  	"github.com/artisanhe/tools/service/gen"
    10  )
    11  
    12  var cmdNewFlagName string
    13  
    14  func init() {
    15  	cmdRoot.AddCommand(cmdNew)
    16  
    17  	cmdNew.Flags().
    18  		StringVarP(&cmdNewFlagName, "db-name", "", "", "with db name")
    19  
    20  }
    21  
    22  var cmdNew = &cobra.Command{
    23  	Use:   "new",
    24  	Short: "new service",
    25  	Run: func(cmd *cobra.Command, args []string) {
    26  		if len(args) == 0 {
    27  			panic(fmt.Errorf("need service name"))
    28  		}
    29  
    30  		clientGenerator := gen.ServiceGenerator{
    31  			ServiceName:  args[0],
    32  			DatabaseName: cmdNewFlagName,
    33  		}
    34  
    35  		codegen.Generate(&clientGenerator)
    36  	},
    37  }