-
Notifications
You must be signed in to change notification settings - Fork 1
/
gqltools.go
76 lines (71 loc) · 1.47 KB
/
gqltools.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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
package main
import (
"fmt"
"log"
"os"
"github.com/beinan/gql-server/codegen"
"github.com/urfave/cli"
)
func main() {
app := cli.NewApp()
app.Name = "gqltools"
config := codegen.GenConfig{
SchemaPath: "./schema",
GenPath: "./gen",
}
app.Commands = []cli.Command{
{
Name: "init",
Aliases: []string{"i"},
Usage: "Initialize a graphql server projejct",
Action: func(c *cli.Context) error {
fmt.Println("not implemented")
return nil
},
},
{
Name: "gen",
Aliases: []string{"g"},
Usage: "Generate models, resolvers and graphql server code",
Subcommands: []cli.Command{
{
Name: "model",
Aliases: []string{"m"},
Usage: "generate models",
Action: func(c *cli.Context) error {
codegen.GenerateModel(config, os.Stdout)
return nil
},
},
{
Name: "resolver",
Aliases: []string{"r"},
Usage: "generate resolvers",
Action: func(c *cli.Context) error {
codegen.GenerateResolver(config, os.Stdout)
return nil
},
},
{
Name: "gqlresolver",
Aliases: []string{"gr"},
Usage: "generate gql resolvers",
Action: func(c *cli.Context) error {
codegen.GenerateGqlResolver(config, os.Stdout)
return nil
},
},
{
Name: "mock",
Usage: "generate mocks",
Action: func(c *cli.Context) error {
return nil
},
},
}},
}
err := app.Run(os.Args)
if err != nil {
log.Fatal(err)
}
}