From cda604b6146c3897654447e71a3a3712e2bcca2d Mon Sep 17 00:00:00 2001 From: Denis Arh Date: Mon, 9 May 2022 19:53:13 +0200 Subject: [PATCH] Fix loading of scenarios in auth dev-mode --- auth/handlers/handle_dev.go | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/auth/handlers/handle_dev.go b/auth/handlers/handle_dev.go index 06ecc3ba3..505ddb0b8 100644 --- a/auth/handlers/handle_dev.go +++ b/auth/handlers/handle_dev.go @@ -5,11 +5,13 @@ package handlers // See auth/README.adoc for details on how this works import ( + "fmt" + "net/http" + "os" + "github.com/cortezaproject/corteza-server/auth/request" "github.com/cortezaproject/corteza-server/pkg/y7s" "gopkg.in/yaml.v3" - "net/http" - "os" ) type ( @@ -29,12 +31,16 @@ type ( func (h *AuthHandlers) devView(req *request.AuthReq) (err error) { req.Template = "template-dev.html.tpl" - req.Data["templates"], err = getScenes() + req.Data["templates"], err = getScenes(h.Opt.AssetsPath) return } func (h *AuthHandlers) devSceneView(w http.ResponseWriter, r *http.Request) { - s, err := findScenario(r.URL.Query().Get("template"), r.URL.Query().Get("scene")) + s, err := findScenario( + h.Opt.AssetsPath, + r.URL.Query().Get("template"), + r.URL.Query().Get("scene"), + ) if err == nil && s != nil { err = h.Templates.ExecuteTemplate(w, s.Template+".html.tpl", s.Data) @@ -46,8 +52,8 @@ func (h *AuthHandlers) devSceneView(w http.ResponseWriter, r *http.Request) { } } -func findScenario(template, scene string) (*devScene, error) { - templates, err := getScenes() +func findScenario(assetsPath, template, scene string) (*devScene, error) { + templates, err := getScenes(assetsPath) if err != nil { return nil, err } @@ -69,8 +75,12 @@ func findScenario(template, scene string) (*devScene, error) { return nil, nil } -func getScenes() (devScenariosDoc, error) { - f, err := os.Open("auth/assets/templates/scenarios.yaml") +func getScenes(assetsPath string) (devScenariosDoc, error) { + if assetsPath == "" { + return nil, fmt.Errorf("can not load scenarios without AUTH_ASSETS_PATH and exported assets") + } + + f, err := os.Open(assetsPath + "/templates/scenarios.yaml") if err != nil { return nil, err }