forked from kujtimiihoxha/kit
-
Notifications
You must be signed in to change notification settings - Fork 53
/
middleware.go
53 lines (48 loc) · 1.52 KB
/
middleware.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
package cmd
import (
"github.com/GrantZheng/kit/generator"
"github.com/sirupsen/logrus"
"github.com/spf13/cobra"
"github.com/spf13/viper"
)
// middlewareCmd represents the middleware command
var middlewareCmd = &cobra.Command{
Use: "middleware",
Aliases: []string{"m", "mdw"},
Short: "Generate middleware",
Run: func(cmd *cobra.Command, args []string) {
if len(args) == 0 {
logrus.Error("You must provide a name for the middleware")
return
}
sn := viper.GetString("g_m_service")
if sn == "" {
logrus.Error("You must provide the name of the service")
return
}
g := generator.NewGenerateMiddleware(
args[0],
sn,
viper.GetBool("g_m_endpoint"),
)
if err := g.Generate(); err != nil {
logrus.Error(err)
}
if viper.GetBool("g_m_endpoint") {
logrus.Info("Do not forget to append your endpoint middleware to your service middlewares")
logrus.Info("Add it to cmd/service/service.go#getEndpointMiddleware()")
} else {
logrus.Info("Do not forget to append your service middleware to your service middlewares")
logrus.Info("Add it to cmd/service/service.go#getServiceMiddleware()")
}
},
}
func init() {
generateCmd.AddCommand(middlewareCmd)
middlewareCmd.Flags().StringP("service", "s", "",
"Service name that the middleware will be created for")
viper.BindPFlag("g_m_service", middlewareCmd.Flags().Lookup("service"))
middlewareCmd.Flags().BoolP("endpoint", "e", false,
"If set create endpoint middleware")
viper.BindPFlag("g_m_endpoint", middlewareCmd.Flags().Lookup("endpoint"))
}