From 28397cd93cc8195ebd01188db985b87422c50873 Mon Sep 17 00:00:00 2001 From: nick Date: Wed, 16 Oct 2024 18:42:13 +0900 Subject: [PATCH] feat: prepare updates for base & quote asset definition --- node/pkg/admin/config/controller.go | 30 +++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/node/pkg/admin/config/controller.go b/node/pkg/admin/config/controller.go index 82cf1ddc0..ba850645e 100644 --- a/node/pkg/admin/config/controller.go +++ b/node/pkg/admin/config/controller.go @@ -5,6 +5,7 @@ import ( "encoding/json" "fmt" "os" + "reflect" "strconv" "strings" @@ -15,6 +16,13 @@ import ( "github.com/rs/zerolog/log" ) +type WsFeedDefinition struct { + Type string `json:"type"` + Provider string `json:"provider"` + Base string `json:"base"` + Quote string `json:"quote"` +} + type BulkConfigs struct { Configs []ConfigInsertModel `json:"result"` } @@ -108,6 +116,28 @@ func sync(ctx context.Context) error { log.Info().Str("Player", "Config").Str("Feed", dbFeed.Name).Msg("Feed not found in config") removingFeeds = append(removingFeeds, strconv.Itoa(int(*dbFeed.ID))) } + + if strings.Contains(dbFeed.Name, "wss") { + var feedDefinitionFromDB, feedDefinitonFromConfig WsFeedDefinition + + err = json.Unmarshal(dbFeed.Definition, &feedDefinitionFromDB) + if err != nil { + log.Error().Err(err).Str("Player", "Admin").Msg("failed to unmarshal feed definition from db") + return err + } + + err = json.Unmarshal(loadedFeedMap[dbFeed.Name].Definition, &feedDefinitonFromConfig) + if err != nil { + log.Error().Err(err).Str("Player", "Admin").Msg("failed to unmarshal feed definition from config") + return err + } + + if !reflect.DeepEqual(feedDefinitionFromDB, feedDefinitonFromConfig) { + log.Info().Str("Player", "Config").Str("Feed", dbFeed.Name).Msg("Feed definition not found in config") + removingFeeds = append(removingFeeds, strconv.Itoa(int(*dbFeed.ID))) + } + } + } log.Debug().Str("Player", "Admin").Msg("removingFeeds: " + strings.Join(removingFeeds, ","))