diff --git a/bridge b/bridge index a5d2d28..056a60b 100755 Binary files a/bridge and b/bridge differ diff --git a/decoder b/decoder index affd6fd..b09eb79 100755 Binary files a/decoder and b/decoder differ diff --git a/internal/app/server/events.go b/internal/app/server/events.go index ce11e25..d21617b 100644 --- a/internal/app/server/events.go +++ b/internal/app/server/events.go @@ -3,7 +3,6 @@ package server import ( "context" "encoding/json" - "fmt" "log/slog" "time" @@ -57,7 +56,6 @@ func RunEventLoop(ctx context.Context, a *ServerApp) { continue } if msg.Type == "Eddystone" && msg.Battery < 3000 { - fmt.Printf("Sending alert for battery low: %+v\n", msg) service.SendAlert(id, "BatteryLow", a.KafkaManager.GetWriter("alert"), ctx, a.DB) } case <-beaconTicker.C: diff --git a/internal/pkg/apiclient/auth.go b/internal/pkg/apiclient/auth.go index cb5ce9f..e74e8f5 100644 --- a/internal/pkg/apiclient/auth.go +++ b/internal/pkg/apiclient/auth.go @@ -26,7 +26,6 @@ func GetToken(ctx context.Context, cfg *config.Config, client *http.Client) (str req, err := http.NewRequest("POST", fmt.Sprintf("%s/realms/API.Server.local/protocol/openid-connect/token", cfg.APIAuthURL), strings.NewReader(formData.Encode())) if err != nil { - fmt.Println("error", err) return "", err } req.Header.Add("Content-Type", "application/x-www-form-urlencoded") @@ -34,16 +33,16 @@ func GetToken(ctx context.Context, cfg *config.Config, client *http.Client) (str req = req.WithContext(ctx) res, err := client.Do(req) if err != nil { - fmt.Println("error", err) return "", err } var j response if err := json.NewDecoder(res.Body).Decode(&j); err != nil { - fmt.Println("error", err) return "", err } + fmt.Printf("token: %s\n", j.Token) + return j.Token, nil } diff --git a/internal/pkg/apiclient/data.go b/internal/pkg/apiclient/data.go index b3f0744..5fe7f0d 100644 --- a/internal/pkg/apiclient/data.go +++ b/internal/pkg/apiclient/data.go @@ -12,14 +12,12 @@ import ( func GetTrackers(token string, client *http.Client, cfg *config.Config) ([]model.Tracker, error) { res, err := getRequest(token, "getTrackers", client, cfg) if err != nil { - fmt.Printf("error get trackers: %+v\n", err) return []model.Tracker{}, err } var i []model.Tracker err = json.NewDecoder(res.Body).Decode(&i) if err != nil { - fmt.Printf("error decode trackers: %+v\n", err) return []model.Tracker{}, err } @@ -29,7 +27,6 @@ func GetTrackers(token string, client *http.Client, cfg *config.Config) ([]model func GetGateways(token string, client *http.Client, cfg *config.Config) ([]model.Gateway, error) { res, err := getRequest(token, "getGateways", client, cfg) if err != nil { - fmt.Printf("error get gateways: %+v\n", err) return []model.Gateway{}, err } @@ -76,7 +73,6 @@ func InferPosition(token string, client *http.Client, cfg *config.Config) (model url := fmt.Sprintf("%s/ble-ai/infer", cfg.APIBaseURL) req, err := http.NewRequest("GET", url, nil) if err != nil { - fmt.Printf("error new request: %+v\n", err) return model.PositionResponse{}, err } @@ -84,20 +80,16 @@ func InferPosition(token string, client *http.Client, cfg *config.Config) (model res, err := client.Do(req) if err != nil { - fmt.Printf("error do request: %+v\n", err) return model.PositionResponse{}, err } - fmt.Printf("res.status: %s\n", res.Status) if res.StatusCode != 200 { - fmt.Printf("error status code: %d\n", res.StatusCode) return model.PositionResponse{}, fmt.Errorf("status code: %d", res.StatusCode) } var i model.PositionResponse err = json.NewDecoder(res.Body).Decode(&i) if err != nil { - fmt.Printf("error decode response: %+v\n", err) return model.PositionResponse{}, err } diff --git a/internal/pkg/apiclient/updatedb.go b/internal/pkg/apiclient/updatedb.go index 3d69256..0964bc6 100644 --- a/internal/pkg/apiclient/updatedb.go +++ b/internal/pkg/apiclient/updatedb.go @@ -31,8 +31,7 @@ func UpdateDB(db *gorm.DB, ctx context.Context, cfg *config.Config, writer *kafk if trackers, err := GetTrackers(token, client, cfg); err == nil { syncTable(db, trackers) if err := controller.SendKafkaMessage(writer, &model.ApiUpdate{Method: "DELETE", MAC: "all"}, ctx); err != nil { - msg := fmt.Sprintf("Error in sending delete all from lookup message: %v", err) - slog.Error(msg) + slog.Error("Error in sending delete all from lookup message", "error", err) } for _, v := range trackers { @@ -64,7 +63,6 @@ func UpdateDB(db *gorm.DB, ctx context.Context, cfg *config.Config, writer *kafk if inferredPosition, err := InferPosition(token, client, cfg); err == nil { for _, v := range inferredPosition.Items { mac := convertMac(v.Mac) - fmt.Println(mac) db.Model(&model.Tracker{}).Where("mac = ?", mac).Update("x", v.X).Update("y", v.Y) } } diff --git a/internal/pkg/apiclient/utils.go b/internal/pkg/apiclient/utils.go index 9bfdd1e..52d6bf0 100644 --- a/internal/pkg/apiclient/utils.go +++ b/internal/pkg/apiclient/utils.go @@ -14,7 +14,6 @@ func setHeader(req *http.Request, token string) { func getRequest(token, route string, client *http.Client, cfg *config.Config) (*http.Response, error) { url := fmt.Sprintf("%s/reslevis/%s", cfg.APIBaseURL, route) - fmt.Printf("url: %s\n", url) req, err := http.NewRequest("GET", url, nil) if err != nil { return nil, err diff --git a/internal/pkg/bridge/handler.go b/internal/pkg/bridge/handler.go index 244b7a6..b7d1b01 100644 --- a/internal/pkg/bridge/handler.go +++ b/internal/pkg/bridge/handler.go @@ -3,7 +3,6 @@ package bridge import ( "context" "encoding/json" - "fmt" "log/slog" "strings" "time" @@ -60,7 +59,7 @@ func HandleMQTTMessage(topic string, payload []byte, appState *appcontext.AppSta } return } else { - fmt.Println("CSV message: ", msgStr) + slog.Debug("CSV message received", "topic", topic, "message", msgStr) } // CSV format: validate minimum fields (e.g. 6 columns); full parsing can be added later s := strings.Split(msgStr, ",") diff --git a/internal/pkg/common/utils/beacons.go b/internal/pkg/common/utils/beacons.go index cb99c9a..fa80506 100644 --- a/internal/pkg/common/utils/beacons.go +++ b/internal/pkg/common/utils/beacons.go @@ -1,8 +1,6 @@ package utils import ( - "fmt" - "github.com/AFASystems/presence/internal/pkg/common/appcontext" "github.com/AFASystems/presence/internal/pkg/model" ) @@ -45,14 +43,11 @@ func LoopADStructures(b []byte, i [][2]int, id string, parserRegistry *model.Par for _, r := range i { ad := b[r[0]:r[1]] if !isValidADStructure(ad) { - fmt.Println("invalid ad structure: ", beacon) break } for name, parser := range parserRegistry.ParserList { if parser.CanParse(ad) { event, ok := parser.Parse(name, ad) - fmt.Println("beacon id: ", id) - fmt.Println("parser can parse: ", name) if ok { event.ID = id event.Name = id @@ -60,7 +55,6 @@ func LoopADStructures(b []byte, i [][2]int, id string, parserRegistry *model.Par } } } - // fmt.Println("no parser can parse: ", beacon) } return be diff --git a/location b/location index 685023e..8d6739e 100755 Binary files a/location and b/location differ diff --git a/scripts/api/tracks.sh b/scripts/api/tracks.sh index 6460c06..61c1c38 100755 --- a/scripts/api/tracks.sh +++ b/scripts/api/tracks.sh @@ -31,3 +31,12 @@ echo "===================================" echo "Query Parameters: limit, from (RFC3339), to (RFC3339)" echo "Get tracker UUIDs from: GET /reslevis/getTrackers" echo "===================================" + +echo "4. Get all latest positions for all trackers:" +curl -s -X GET "${BASE_URL}/reslevis/getTracks" | jq '.' +echo -e "\n" + +echo "===================================" +echo "Query Parameters: limit, from (RFC3339), to (RFC3339)" +echo "Get tracker UUIDs from: GET /reslevis/getTrackers" +echo "===================================" diff --git a/scripts/build/build.sh b/scripts/build/build.sh index 6dced23..5bd4138 100755 --- a/scripts/build/build.sh +++ b/scripts/build/build.sh @@ -1,20 +1,20 @@ #!/bin/bash # Build the server -docker build -t afasystemadmin/ble-ai-localizer:server_v1.1 -f ../../build/package/Dockerfile.server ../../ -ΒΈ +docker build -t afasystemadmin/ble-ai-localizer:server_v1.2 -f ../../build/package/Dockerfile.server ../../ + # Build the location -docker build -t afasystemadmin/ble-ai-localizer:location_v1.1 -f ../../build/package/Dockerfile.location ../../ +docker build -t afasystemadmin/ble-ai-localizer:location_v1.2 -f ../../build/package/Dockerfile.location ../../ # Build the decoder -docker build -t afasystemadmin/ble-ai-localizer:decoder_v1.1 -f ../../build/package/Dockerfile.decoder ../../ +docker build -t afasystemadmin/ble-ai-localizer:decoder_v1.2 -f ../../build/package/Dockerfile.decoder ../../ # Build the bridge -docker build -t afasystemadmin/ble-ai-localizer:bridge_v1.1 -f ../../build/package/Dockerfile.bridge ../../ +docker build -t afasystemadmin/ble-ai-localizer:bridge_v1.2 -f ../../build/package/Dockerfile.bridge ../../ docker image ls -docker push afasystemadmin/ble-ai-localizer:server_v1.1 -docker push afasystemadmin/ble-ai-localizer:location_v1.1 -docker push afasystemadmin/ble-ai-localizer:decoder_v1.1 -docker push afasystemadmin/ble-ai-localizer:bridge_v1.1 \ No newline at end of file +docker push afasystemadmin/ble-ai-localizer:server_v1.2 +docker push afasystemadmin/ble-ai-localizer:location_v1.2 +docker push afasystemadmin/ble-ai-localizer:decoder_v1.2 +docker push afasystemadmin/ble-ai-localizer:bridge_v1.2 \ No newline at end of file diff --git a/server b/server index ca2c228..826371b 100755 Binary files a/server and b/server differ