From 3dd13e36429030ce31c2518f5fdecb9ff56b9ade Mon Sep 17 00:00:00 2001 From: Samuel Hawksby-Robinson Date: Fri, 25 Mar 2022 18:34:24 +0000 Subject: [PATCH] refactor of node config so that node config upgrade inserts are handled distinctly from any other config inserts that may come in future (#2609) --- VERSION | 2 +- nodecfg/node_config.go | 23 ++++++++++++++++++----- 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/VERSION b/VERSION index e84716c58..ac37076b3 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.97.1 +0.97.3 diff --git a/nodecfg/node_config.go b/nodecfg/node_config.go index ce06e342a..376a6a215 100644 --- a/nodecfg/node_config.go +++ b/nodecfg/node_config.go @@ -325,8 +325,8 @@ func insertClusterConfigNodes(tx *sql.Tx, c *params.NodeConfig) error { return nil } -func SaveConfigWithTx(tx *sql.Tx, c *params.NodeConfig) error { - insertFNs := []insertFn{ +func nodeConfigUpgradeInserts() []insertFn { + return []insertFn{ insertNodeConfig, insertHTTPConfig, insertIPCConfig, @@ -343,10 +343,11 @@ func SaveConfigWithTx(tx *sql.Tx, c *params.NodeConfig) error { insertShhExtConfig, insertWakuConfig, insertWakuV2Config, - insertTorrentConfig, } +} - for _, fn := range insertFNs { +func execInsertFns(inFn []insertFn, tx *sql.Tx, c *params.NodeConfig) error { + for _, fn := range inFn { err := fn(tx, c) if err != nil { return err @@ -356,6 +357,18 @@ func SaveConfigWithTx(tx *sql.Tx, c *params.NodeConfig) error { return nil } +func insertNodeConfigUpgrade(tx *sql.Tx, c *params.NodeConfig) error { + return execInsertFns(nodeConfigUpgradeInserts(), tx, c) +} + +func SaveConfigWithTx(tx *sql.Tx, c *params.NodeConfig) error { + insertFNs := append(nodeConfigUpgradeInserts(), + insertTorrentConfig, + ) + + return execInsertFns(insertFNs, tx, c) +} + func SaveNodeConfig(db *sql.DB, c *params.NodeConfig) error { tx, err := db.BeginTx(context.Background(), &sql.TxOptions{}) if err != nil { @@ -387,7 +400,7 @@ func migrateNodeConfig(tx *sql.Tx) error { return nil } - err = SaveConfigWithTx(tx, nodecfg) + err = insertNodeConfigUpgrade(tx, nodecfg) if err != nil { return err }