From 64c3795876a73ef4d58ece82c59b648c1a4f5df1 Mon Sep 17 00:00:00 2001 From: Derrick Hammer Date: Tue, 30 Jan 2024 14:51:23 -0500 Subject: [PATCH] fix: need to hack the condtructor and make a global var as the constructor is getting called twice? --- cmd/portal/main.go | 8 ++++---- protocols/s5/s5.go | 14 ++++++++++---- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/cmd/portal/main.go b/cmd/portal/main.go index 31808c9..c72658a 100644 --- a/cmd/portal/main.go +++ b/cmd/portal/main.go @@ -11,9 +11,9 @@ import ( "git.lumeweb.com/LumeWeb/portal/storage" "github.com/spf13/viper" "go.uber.org/fx" - "go.uber.org/fx/fxevent" + _"go.uber.org/fx/fxevent" "go.uber.org/zap" - "go.uber.org/zap/zapcore" + _"go.uber.org/zap/zapcore" "net/http" ) @@ -37,13 +37,13 @@ func main() { fx.Decorate(func() *zap.Logger { return logger - }), + }),/* fx.WithLogger(func(logger *zap.Logger) fxevent.Logger { log := &fxevent.ZapLogger{Logger: logger} log.UseLogLevel(zapcore.InfoLevel) log.UseErrorLevel(zapcore.ErrorLevel) return log - }), + }),*/ fx.Invoke(initCheckRequiredConfig), fx.Provide(NewIdentity), db.Module, diff --git a/protocols/s5/s5.go b/protocols/s5/s5.go index 7e3c222..07abde1 100644 --- a/protocols/s5/s5.go +++ b/protocols/s5/s5.go @@ -21,8 +21,9 @@ import ( ) var ( - _ s5storage.ProviderStore = (*S5ProviderStore)(nil) - _ registry.Protocol = (*S5Protocol)(nil) + _ s5storage.ProviderStore = (*S5ProviderStore)(nil) + _ registry.Protocol = (*S5Protocol)(nil) + instance *S5ProtocolResult ) type S5Protocol struct { @@ -62,6 +63,9 @@ var ProtocolModule = fx.Module("s5_api", func NewS5Protocol( params S5ProtocolParams, ) (S5ProtocolResult, error) { + if instance != nil { + return *instance, nil + } proto := &S5Protocol{ config: params.Config, logger: params.Logger, @@ -74,12 +78,14 @@ func NewS5Protocol( return S5ProtocolResult{}, err } - return S5ProtocolResult{ + instance = &S5ProtocolResult{ Protocol: proto, S5Protocol: proto, S5NodeConfig: cfg, Db: cfg.DB, - }, nil + } + + return *instance, nil } func ConfigureS5Protocol(params S5ProtocolParams) (*s5config.NodeConfig, error) {