diff --git a/handlers_nats.go b/handlers_nats.go index 859f08c..d63e9c7 100644 --- a/handlers_nats.go +++ b/handlers_nats.go @@ -52,6 +52,7 @@ func _messageHandler(m *nats.Msg) error { "restart": restartEventHandler, "get_deploy_ssh_keys": getDeploySSHKeysEventHandler, "get_ssh_host_key": getSSHHostKeyEventHandler, + "get_active_tech": getActiveTechHandler, "update_keys": updateKeysEventHandler, "set_password": setPasswordEventHandler, "processes": processesEventHandler, @@ -1059,3 +1060,39 @@ func deleteAppSnapshotsEventHandler(m *nats.Msg, message *RequestMessage) error return nil } + +func getActiveTechHandler(m *nats.Msg, message *RequestMessage) error { + processor := glue.Processor{ + AppName: message.AppName, + DB: common.GetDBConnection(), + SnapshotProcessor: &snapshotProcessor, + DockerSock: config.DockerSocket, + BindIPHTTP: config.AppsBindIPHTTP, + BindIPSSH: config.AppsBindIPSSH, + AppsPath: config.AppsPath, + } + + tech, err := processor.GetActiveTech() + if err != nil { + log.Printf("backend error: %v\n", err) + return errorReplyFormater(m, "backend error", err) + } + + // Assembling reply message + reply := ReplyMessage{ + Payload: tech, + } + + data, err := json.Marshal(reply) + if err != nil { + return errorReplyFormater(m, "reply formatter error", err) + } + + err = m.Respond(data) + if err != nil { + log.Println("ERROR: get app:", err.Error()) + return err + } + + return nil +}