diff --git a/controller/update.go b/controller/update.go index 0968c10..6bc4a03 100644 --- a/controller/update.go +++ b/controller/update.go @@ -94,14 +94,24 @@ func UpdateApp(server *socketio.Server) <-chan string { msg = "Running App Update" updates <- msg server.BroadcastToRoom("/", "update", "updateLogs", msg) - if err := runNPMInstall(rootDir); err != nil { + if err := runNPMInstall(rootDir, ""); err != nil { + server.BroadcastToRoom("/", "update", "updateLogs", fmt.Sprintf("npm install failed: %v", err)) + } + + if err := runNPMInstall(rootDir, "lstV2"); err != nil { server.BroadcastToRoom("/", "update", "updateLogs", fmt.Sprintf("npm install failed: %v", err)) } msg = "Running DB Migrations" updates <- msg server.BroadcastToRoom("/", "update", "updateLogs", msg) - if err := runNPMMigrate(rootDir); err != nil { + if err := runNPMMigrate(rootDir, ""); err != nil { + msg = fmt.Sprintf("npm migrate failed: %v", err) + updates <- msg + server.BroadcastToRoom("/", "update", "updateLogs", msg) + } + + if err := runNPMMigrate(rootDir, "lstV2"); err != nil { msg = fmt.Sprintf("npm migrate failed: %v", err) updates <- msg server.BroadcastToRoom("/", "update", "updateLogs", msg) @@ -286,23 +296,36 @@ func extractVersion(filename string) (int, error) { return strconv.Atoi(m[1]) } -func runNPMInstall(rootDir string) error { - frontendDir := filepath.Join(rootDir, "frontend") // adapt if needed +func runNPMInstall(rootDir string, folder string) error { + + var folderDir string + if folder == "" || folder == "." { + folderDir = rootDir + } else { + folderDir = filepath.Join(rootDir, folder) + } cmd := exec.Command("npm", "install") - cmd.Dir = frontendDir + cmd.Dir = folderDir cmd.Stdout = os.Stdout cmd.Stderr = os.Stderr - log.Println("Running npm install in", frontendDir) + log.Println("Running npm install in", folderDir) return cmd.Run() } -func runNPMMigrate(rootDir string) error { - frontendDir := filepath.Join(rootDir, "frontend") // same dir +func runNPMMigrate(rootDir string, folder string) error { + + var folderDir string + if folder == "" || folder == "." { + folderDir = rootDir + } else { + folderDir = filepath.Join(rootDir, folder) + } + cmd := exec.Command("npm", "run", "db:migrate") - cmd.Dir = frontendDir + cmd.Dir = folderDir cmd.Stdout = os.Stdout cmd.Stderr = os.Stderr - log.Println("Running npm run db:migrate in", frontendDir) + log.Println("Running npm run db:migrate in", folderDir) return cmd.Run() }