diff --git a/backend/services/controller/internal/api/api.go b/backend/services/controller/internal/api/api.go index 4a247ca..d893654 100644 --- a/backend/services/controller/internal/api/api.go +++ b/backend/services/controller/internal/api/api.go @@ -11,6 +11,7 @@ import ( "github.com/leandrofars/oktopus/internal/api/cors" "github.com/leandrofars/oktopus/internal/api/middleware" "github.com/leandrofars/oktopus/internal/db" + "github.com/leandrofars/oktopus/internal/mqtt" "github.com/leandrofars/oktopus/internal/mtp" usp_msg "github.com/leandrofars/oktopus/internal/usp_message" "github.com/leandrofars/oktopus/internal/utils" @@ -23,6 +24,7 @@ type Api struct { Broker mtp.Broker MsgQueue map[string](chan usp_msg.Msg) QMutex *sync.Mutex + Mqtt mqtt.Mqtt } const REQUEST_TIMEOUT = time.Second * 30 @@ -32,13 +34,14 @@ const ( AdminUser ) -func NewApi(port string, db db.Database, b mtp.Broker, msgQueue map[string](chan usp_msg.Msg), m *sync.Mutex) Api { +func NewApi(port string, db db.Database, mqtt *mqtt.Mqtt, msgQueue map[string](chan usp_msg.Msg), m *sync.Mutex) Api { return Api{ Port: port, Db: db, - Broker: b, + Broker: mqtt, MsgQueue: msgQueue, QMutex: m, + Mqtt: *mqtt, } } diff --git a/backend/services/controller/internal/api/info.go b/backend/services/controller/internal/api/info.go index 2a3d3c8..44d8e72 100644 --- a/backend/services/controller/internal/api/info.go +++ b/backend/services/controller/internal/api/info.go @@ -60,24 +60,21 @@ func (a *Api) generalInfo(w http.ResponseWriter, r *http.Request) { result.VendorsCount = vendorcount result.ProductClassCount = productclasscount - /* ------------ TODO: [mqtt rtt] create common function for this ------------ */ - //TODO: address with value from env or something like that - conn, err := net.Dial("tcp", "127.0.0.1:1883") + conn, err := net.Dial("tcp", a.Mqtt.Addr+":"+a.Mqtt.Port) if err != nil { - json.NewEncoder(w).Encode("Error to connect to broker") w.WriteHeader(http.StatusInternalServerError) + json.NewEncoder(w).Encode("Error to connect to broker: " + err.Error()) return } defer conn.Close() info, err := tcpInfo(conn.(*net.TCPConn)) if err != nil { - json.NewEncoder(w).Encode("Error to get TCP socket info") w.WriteHeader(http.StatusInternalServerError) + json.NewEncoder(w).Encode("Error to get TCP socket info") return } rtt := time.Duration(info.Rtt) * time.Microsecond - /* -------------------------------------------------------------------------- */ result.MqttRtt = rtt / 1000 @@ -85,8 +82,6 @@ func (a *Api) generalInfo(w http.ResponseWriter, r *http.Request) { if err != nil { log.Println(err) } - - return } func (a *Api) vendorsInfo(w http.ResponseWriter, r *http.Request) { @@ -100,8 +95,6 @@ func (a *Api) vendorsInfo(w http.ResponseWriter, r *http.Request) { if err != nil { log.Println(err) } - - return } func (a *Api) productClassInfo(w http.ResponseWriter, r *http.Request) { @@ -115,8 +108,6 @@ func (a *Api) productClassInfo(w http.ResponseWriter, r *http.Request) { if err != nil { log.Println(err) } - - return } func (a *Api) statusInfo(w http.ResponseWriter, r *http.Request) { @@ -141,6 +132,4 @@ func (a *Api) statusInfo(w http.ResponseWriter, r *http.Request) { if err != nil { log.Println(err) } - - return }