goctl-swagger/action/action.go

33 lines
578 B
Go
Raw Normal View History

2021-01-01 20:30:52 +08:00
package action
import (
"encoding/json"
"github.com/urfave/cli/v2"
"github.com/zeromicro/goctl-swagger/generate"
"io/ioutil"
"os"
)
func Generator(ctx *cli.Context) error {
pkg := ctx.String("package")
2021-01-16 11:53:17 +08:00
fileName := ctx.String("filename")
2021-01-01 20:30:52 +08:00
std, err := ioutil.ReadAll(os.Stdin)
if err != nil {
return err
}
var plugin generate.Plugin
plugin.ParentPackage = pkg
2021-01-16 11:53:17 +08:00
plugin.FileName = fileName
2021-01-01 20:30:52 +08:00
2021-01-16 11:53:17 +08:00
if len(plugin.FileName) == 0 {
plugin.FileName = "rest.swagger.json"
}
2021-01-01 20:30:52 +08:00
err = json.Unmarshal(std, &plugin)
if err != nil {
return err
}
return generate.Do(plugin)
}