From b70919b579ea1c83fa9346dafa3ae00b4d93cd0b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adam=20=C5=A0trauch?= Date: Fri, 30 Apr 2021 23:01:34 +0200 Subject: [PATCH] Register message handler --- handlers_nats.go | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/handlers_nats.go b/handlers_nats.go index b3313b5..be3a8bd 100644 --- a/handlers_nats.go +++ b/handlers_nats.go @@ -30,6 +30,7 @@ func _messageHandler(m *nats.Msg) error { "list": listEventHandler, "get": getEventHandler, "create": createEventHandler, + "register": registerEventHandler, "update": updateEventHandler, "delete": deleteEventHandler, "stop": stopEventHandler, @@ -177,6 +178,35 @@ func createEventHandler(m *nats.Msg, message *RequestMessage) error { return nil } +// Registers new app without creating an container +func registerEventHandler(m *nats.Msg, message *RequestMessage) error { + + appTemplate := apps.App{} + body := []byte(message.Payload) + err := json.Unmarshal(body, &appTemplate) + if err != nil { + log.Println("ERROR create application problem: " + err.Error()) + publish(message.AppName, "payload parsing problem", true) + return err + } + + err = apps.New(message.AppName, appTemplate.SSHPort, appTemplate.HTTPPort, appTemplate.Image, appTemplate.CPU, appTemplate.Memory) + if err != nil { + if validationError, ok := err.(apps.ValidationError); ok { + log.Println("ERROR create application problem: " + validationError.Error()) + publish(message.AppName, "validation problem", true) + return err + } + log.Println("ERROR create application problem: " + err.Error()) + publish(message.AppName, "backend problem", true) + return err + } + + publish(message.AppName, "registered", false) + + return nil +} + // Update existing app func updateEventHandler(m *nats.Msg, message *RequestMessage) error { appTemplate := apps.App{}