chore: Update engine.Load calls with additional options
This commit is contained in:
parent
5a719b6469
commit
9faf8f802f
16 changed files with 39 additions and 28 deletions
|
|
@ -57,7 +57,7 @@ var dumpCmd = &cobra.Command{
|
||||||
}
|
}
|
||||||
|
|
||||||
// Load model
|
// Load model
|
||||||
err = engine.Load(config.Conf)
|
err = engine.Load(config.Conf, engine.LoadOption{Action: "dump"})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Println(color.RedString(L("Fatal: %s"), err.Error()))
|
fmt.Println(color.RedString(L("Fatal: %s"), err.Error()))
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
|
|
|
||||||
|
|
@ -36,7 +36,7 @@ var migrateCmd = &cobra.Command{
|
||||||
}
|
}
|
||||||
|
|
||||||
// 加载数据模型
|
// 加载数据模型
|
||||||
err := engine.Load(config.Conf)
|
err := engine.Load(config.Conf, engine.LoadOption{Action: "migrate"})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Println(color.RedString(L("Fatal: %s"), err.Error()))
|
fmt.Println(color.RedString(L("Fatal: %s"), err.Error()))
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
|
|
|
||||||
|
|
@ -59,7 +59,7 @@ var restoreCmd = &cobra.Command{
|
||||||
})
|
})
|
||||||
|
|
||||||
// 加载数据模型
|
// 加载数据模型
|
||||||
err = engine.Load(config.Conf)
|
err = engine.Load(config.Conf, engine.LoadOption{Action: "restore"})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Println(color.RedString(L("Fatal: %s"), err.Error()))
|
fmt.Println(color.RedString(L("Fatal: %s"), err.Error()))
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
|
|
|
||||||
|
|
@ -56,7 +56,7 @@ var runCmd = &cobra.Command{
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
err := engine.Load(cfg)
|
err := engine.Load(cfg, engine.LoadOption{Action: "run"})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if !runSilent {
|
if !runSilent {
|
||||||
color.Red(L("Engine: %s\n"), err.Error())
|
color.Red(L("Engine: %s\n"), err.Error())
|
||||||
|
|
|
||||||
|
|
@ -32,7 +32,7 @@ var socketCmd = &cobra.Command{
|
||||||
Boot()
|
Boot()
|
||||||
cfg := config.Conf
|
cfg := config.Conf
|
||||||
cfg.Session.IsCLI = true
|
cfg.Session.IsCLI = true
|
||||||
engine.Load(cfg)
|
engine.Load(cfg, engine.LoadOption{Action: "socket"})
|
||||||
if len(args) < 1 {
|
if len(args) < 1 {
|
||||||
fmt.Println(color.RedString(L("Not enough arguments")))
|
fmt.Println(color.RedString(L("Not enough arguments")))
|
||||||
fmt.Println(color.WhiteString(share.BUILDNAME + " help"))
|
fmt.Println(color.WhiteString(share.BUILDNAME + " help"))
|
||||||
|
|
|
||||||
|
|
@ -68,7 +68,7 @@ var startCmd = &cobra.Command{
|
||||||
}
|
}
|
||||||
|
|
||||||
// load the application engine
|
// load the application engine
|
||||||
err := engine.Load(config.Conf)
|
err := engine.Load(config.Conf, engine.LoadOption{Action: "start"})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Println(color.RedString(L("Load: %s"), err.Error()))
|
fmt.Println(color.RedString(L("Load: %s"), err.Error()))
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
|
|
|
||||||
|
|
@ -43,7 +43,7 @@ var RunCmd = &cobra.Command{
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
err := engine.Load(cfg)
|
err := engine.Load(cfg, engine.LoadOption{Action: "studio.run"})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Println(color.RedString(L("Engine: %s"), err.Error()))
|
fmt.Println(color.RedString(L("Engine: %s"), err.Error()))
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -30,7 +30,7 @@ var BuildCmd = &cobra.Command{
|
||||||
Boot()
|
Boot()
|
||||||
|
|
||||||
cfg := config.Conf
|
cfg := config.Conf
|
||||||
err := engine.Load(cfg)
|
err := engine.Load(cfg, engine.LoadOption{Action: "sui.build"})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Fprintln(os.Stderr, color.RedString(err.Error()))
|
fmt.Fprintln(os.Stderr, color.RedString(err.Error()))
|
||||||
return
|
return
|
||||||
|
|
|
||||||
|
|
@ -40,7 +40,7 @@ var WatchCmd = &cobra.Command{
|
||||||
Boot()
|
Boot()
|
||||||
|
|
||||||
cfg := config.Conf
|
cfg := config.Conf
|
||||||
err := engine.Load(cfg)
|
err := engine.Load(cfg, engine.LoadOption{Action: "sui.watch"})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Fprintln(os.Stderr, color.RedString(err.Error()))
|
fmt.Fprintln(os.Stderr, color.RedString(err.Error()))
|
||||||
return
|
return
|
||||||
|
|
|
||||||
|
|
@ -39,8 +39,15 @@ import (
|
||||||
"github.com/yaoapp/yao/widgets"
|
"github.com/yaoapp/yao/widgets"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// LoadOption the load option
|
||||||
|
type LoadOption struct {
|
||||||
|
Action string `json:"action"`
|
||||||
|
IgnoredAfterLoad bool `json:"ignoredAfterLoad"`
|
||||||
|
IsReload bool `json:"reload"`
|
||||||
|
}
|
||||||
|
|
||||||
// Load application engine
|
// Load application engine
|
||||||
func Load(cfg config.Config) (err error) {
|
func Load(cfg config.Config, options LoadOption) (err error) {
|
||||||
|
|
||||||
defer func() { err = exception.Catch(recover()) }()
|
defer func() { err = exception.Catch(recover()) }()
|
||||||
exception.Mode = cfg.Mode
|
exception.Mode = cfg.Mode
|
||||||
|
|
@ -219,8 +226,8 @@ func Load(cfg config.Config) (err error) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Execute AfterLoad Process if exists
|
// Execute AfterLoad Process if exists
|
||||||
if share.App.AfterLoad != "" {
|
if share.App.AfterLoad != "" && !options.IgnoredAfterLoad {
|
||||||
p, err := process.Of(share.App.AfterLoad, false)
|
p, err := process.Of(share.App.AfterLoad, options)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
printErr(cfg.Mode, "AfterLoad", err)
|
printErr(cfg.Mode, "AfterLoad", err)
|
||||||
return err
|
return err
|
||||||
|
|
@ -275,7 +282,7 @@ func Unload() (err error) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Reload the application engine
|
// Reload the application engine
|
||||||
func Reload(cfg config.Config) (err error) {
|
func Reload(cfg config.Config, options LoadOption) (err error) {
|
||||||
|
|
||||||
defer func() { err = exception.Catch(recover()) }()
|
defer func() { err = exception.Catch(recover()) }()
|
||||||
exception.Mode = cfg.Mode
|
exception.Mode = cfg.Mode
|
||||||
|
|
@ -412,8 +419,9 @@ func Reload(cfg config.Config) (err error) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Execute AfterLoad Process if exists
|
// Execute AfterLoad Process if exists
|
||||||
if share.App.AfterLoad != "" {
|
if share.App.AfterLoad != "" && !options.IgnoredAfterLoad {
|
||||||
p, err := process.Of(share.App.AfterLoad, true)
|
options.IsReload = true
|
||||||
|
p, err := process.Of(share.App.AfterLoad, options)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
printErr(cfg.Mode, "AfterLoad", err)
|
printErr(cfg.Mode, "AfterLoad", err)
|
||||||
return err
|
return err
|
||||||
|
|
@ -430,12 +438,12 @@ func Reload(cfg config.Config) (err error) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Restart the application engine
|
// Restart the application engine
|
||||||
func Restart(cfg config.Config) error {
|
func Restart(cfg config.Config, options LoadOption) error {
|
||||||
err := Unload()
|
err := Unload()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
return Load(cfg)
|
return Load(cfg, options)
|
||||||
}
|
}
|
||||||
|
|
||||||
// loadApp load the application from bindata / pkg / disk
|
// loadApp load the application from bindata / pkg / disk
|
||||||
|
|
|
||||||
|
|
@ -13,17 +13,17 @@ import (
|
||||||
|
|
||||||
func TestLoad(t *testing.T) {
|
func TestLoad(t *testing.T) {
|
||||||
defer Unload()
|
defer Unload()
|
||||||
err := Load(config.Conf)
|
err := Load(config.Conf, LoadOption{})
|
||||||
assert.Nil(t, err)
|
assert.Nil(t, err)
|
||||||
assert.Greater(t, len(api.APIs), 0)
|
assert.Greater(t, len(api.APIs), 0)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestReload(t *testing.T) {
|
func TestReload(t *testing.T) {
|
||||||
defer Unload()
|
defer Unload()
|
||||||
err := Load(config.Conf)
|
err := Load(config.Conf, LoadOption{})
|
||||||
assert.Nil(t, err)
|
assert.Nil(t, err)
|
||||||
|
|
||||||
Reload(config.Conf)
|
Reload(config.Conf, LoadOption{})
|
||||||
assert.Nil(t, err)
|
assert.Nil(t, err)
|
||||||
assert.Greater(t, len(api.APIs), 0)
|
assert.Greater(t, len(api.APIs), 0)
|
||||||
}
|
}
|
||||||
|
|
@ -41,7 +41,7 @@ func TestLoadYaz(t *testing.T) {
|
||||||
|
|
||||||
cfg := config.Conf
|
cfg := config.Conf
|
||||||
cfg.AppSource = file
|
cfg.AppSource = file
|
||||||
err = Load(cfg)
|
err = Load(cfg, LoadOption{})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
@ -62,13 +62,13 @@ func TestReoadYaz(t *testing.T) {
|
||||||
|
|
||||||
cfg := config.Conf
|
cfg := config.Conf
|
||||||
cfg.AppSource = file
|
cfg.AppSource = file
|
||||||
err = Load(cfg)
|
err = Load(cfg, LoadOption{})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
assert.Greater(t, len(api.APIs), 0)
|
assert.Greater(t, len(api.APIs), 0)
|
||||||
|
|
||||||
Reload(cfg)
|
Reload(cfg, LoadOption{})
|
||||||
assert.Nil(t, err)
|
assert.Nil(t, err)
|
||||||
assert.Greater(t, len(api.APIs), 0)
|
assert.Greater(t, len(api.APIs), 0)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@ func TestStartStop(t *testing.T) {
|
||||||
|
|
||||||
cfg := config.Conf
|
cfg := config.Conf
|
||||||
cfg.Port = 0
|
cfg.Port = 0
|
||||||
err := engine.Load(cfg)
|
err := engine.Load(cfg, engine.LoadOption{})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,7 @@ func Watch(srv *http.Server, interrupt chan uint8) (err error) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Reload
|
// Reload
|
||||||
err = engine.Reload(config.Conf)
|
err = engine.Reload(config.Conf, engine.LoadOption{Action: "watch"})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Println(color.RedString("[Watch] Reload: %s", err.Error()))
|
fmt.Println(color.RedString("[Watch] Reload: %s", err.Error()))
|
||||||
return
|
return
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@ import (
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestWatch(t *testing.T) {
|
func TestWatch(t *testing.T) {
|
||||||
err := engine.Load(config.Conf)
|
err := engine.Load(config.Conf, engine.LoadOption{})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -86,7 +86,7 @@ func runSetup(c *gin.Context) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
err = engine.Load(cfg)
|
err = engine.Load(cfg, engine.LoadOption{})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
c.JSON(500, gin.H{"code": 500, "message": err.Error()})
|
c.JSON(500, gin.H{"code": 500, "message": err.Error()})
|
||||||
return
|
return
|
||||||
|
|
|
||||||
|
|
@ -109,7 +109,10 @@ func Install(payload map[string]map[string]string) error {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Load engine
|
// Load engine
|
||||||
err = engine.Load(cfg)
|
err = engine.Load(cfg, engine.LoadOption{
|
||||||
|
Action: "install",
|
||||||
|
})
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue