mirror of
https://github.com/stashapp/stash.git
synced 2025-12-18 12:54:38 +03:00
* Use vendor code for all go calls * Add missing vendor dependencies * Add travis_retry to yarn install * Fix go test call
45 lines
1.0 KiB
Go
45 lines
1.0 KiB
Go
package cmd
|
|
|
|
import (
|
|
"fmt"
|
|
"os"
|
|
|
|
"github.com/99designs/gqlgen/api"
|
|
"github.com/99designs/gqlgen/codegen/config"
|
|
"github.com/pkg/errors"
|
|
"github.com/urfave/cli"
|
|
)
|
|
|
|
var genCmd = cli.Command{
|
|
Name: "generate",
|
|
Usage: "generate a graphql server based on schema",
|
|
Flags: []cli.Flag{
|
|
cli.BoolFlag{Name: "verbose, v", Usage: "show logs"},
|
|
cli.StringFlag{Name: "config, c", Usage: "the config filename"},
|
|
},
|
|
Action: func(ctx *cli.Context) {
|
|
var cfg *config.Config
|
|
var err error
|
|
if configFilename := ctx.String("config"); configFilename != "" {
|
|
cfg, err = config.LoadConfig(configFilename)
|
|
if err != nil {
|
|
fmt.Fprintln(os.Stderr, err.Error())
|
|
os.Exit(1)
|
|
}
|
|
} else {
|
|
cfg, err = config.LoadConfigFromDefaultLocations()
|
|
if os.IsNotExist(errors.Cause(err)) {
|
|
cfg = config.DefaultConfig()
|
|
} else if err != nil {
|
|
fmt.Fprintln(os.Stderr, err.Error())
|
|
os.Exit(2)
|
|
}
|
|
}
|
|
|
|
if err = api.Generate(cfg); err != nil {
|
|
fmt.Fprintln(os.Stderr, err.Error())
|
|
os.Exit(3)
|
|
}
|
|
},
|
|
}
|