From b15853d8621c8d97088f13a8251e60e1c1a29f28 Mon Sep 17 00:00:00 2001 From: Max Date: Thu, 18 May 2023 14:03:57 +0800 Subject: [PATCH] [add] setup support studio scripts --- setup/install.go | 27 +++++++++++++++++++-------- 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/setup/install.go b/setup/install.go index 090682fd..1113211e 100644 --- a/setup/install.go +++ b/setup/install.go @@ -7,8 +7,10 @@ import ( "strings" "time" + "github.com/google/uuid" "github.com/yaoapp/gou/model" "github.com/yaoapp/gou/process" + v8 "github.com/yaoapp/gou/runtime/v8" "github.com/yaoapp/kun/log" "github.com/yaoapp/yao/config" "github.com/yaoapp/yao/data" @@ -305,14 +307,23 @@ func makeSetup(root string, cfg config.Config) error { return fmt.Errorf("setup studio script %s error", app.Setting.Setup) } - // service := strings.Join(names[1:len(names)-1], ".") - // method := names[len(names)-1] - // req := gou.Yao.New(service, method) - // _, err := req.RootCall(cfg) - // if err != nil { - // return err - // } - return nil + service := strings.Join(names[1:len(names)-1], ".") + method := names[len(names)-1] + + script, err := v8.SelectRoot(service) + if err != nil { + return err + } + + sid := uuid.NewString() + ctx, err := script.NewContext(fmt.Sprintf("%v", sid), nil) + if err != nil { + return err + } + defer ctx.Close() + + _, err = ctx.Call(method) + return err } p, err := process.Of(app.Setting.Setup, cfg)