Add component registration on start

This commit is contained in:
mcrakhman 2022-08-02 17:36:37 +02:00
parent 26eb52adf1
commit 718df194fe
No known key found for this signature in database
GPG Key ID: DED12CFEF5B8396B
5 changed files with 28 additions and 12 deletions

View File

@ -8,7 +8,11 @@ import (
"github.com/anytypeio/go-anytype-infrastructure-experiments/app/logger" "github.com/anytypeio/go-anytype-infrastructure-experiments/app/logger"
"github.com/anytypeio/go-anytype-infrastructure-experiments/config" "github.com/anytypeio/go-anytype-infrastructure-experiments/config"
"github.com/anytypeio/go-anytype-infrastructure-experiments/service/account" "github.com/anytypeio/go-anytype-infrastructure-experiments/service/account"
"github.com/anytypeio/go-anytype-infrastructure-experiments/service/node"
"github.com/anytypeio/go-anytype-infrastructure-experiments/service/sync/document"
"github.com/anytypeio/go-anytype-infrastructure-experiments/service/sync/drpcserver" "github.com/anytypeio/go-anytype-infrastructure-experiments/service/sync/drpcserver"
"github.com/anytypeio/go-anytype-infrastructure-experiments/service/sync/message"
"github.com/anytypeio/go-anytype-infrastructure-experiments/service/sync/requesthandler"
"github.com/anytypeio/go-anytype-infrastructure-experiments/service/sync/transport" "github.com/anytypeio/go-anytype-infrastructure-experiments/service/sync/transport"
"github.com/anytypeio/go-anytype-infrastructure-experiments/service/treecache" "github.com/anytypeio/go-anytype-infrastructure-experiments/service/treecache"
"go.uber.org/zap" "go.uber.org/zap"
@ -23,10 +27,10 @@ import (
var log = logger.NewNamed("main") var log = logger.NewNamed("main")
var ( var (
flagConfigFile = flag.String("c", "etc/config.yml", "path to config file") flagConfigFile = flag.String("c", "etc/config.yml", "path to config file")
flagAccountFile = flag.String("a", "etc/account.yaml", "path to account file") flagNodesFile = flag.String("a", "etc/nodes.yml", "path to account file")
flagVersion = flag.Bool("v", false, "show version and exit") flagVersion = flag.Bool("v", false, "show version and exit")
flagHelp = flag.Bool("h", false, "show help and exit") flagHelp = flag.Bool("h", false, "show help and exit")
) )
func main() { func main() {
@ -57,16 +61,28 @@ func main() {
log.Fatal("can't open config file", zap.Error(err)) log.Fatal("can't open config file", zap.Error(err))
} }
// open account file with node's keys // open nodes file with node's keys
acc, err := account.NewFromFile(*flagAccountFile) acc, err := account.NewFromFile(*flagNodesFile)
if err != nil { if err != nil {
log.Fatal("can't open account file", zap.Error(err)) log.Fatal("can't open nodes file", zap.Error(err))
}
// open nodes file with data related to other nodes
nodes, err := node.NewFromFile(*flagNodesFile)
if err != nil {
log.Fatal("can't open nodes file", zap.Error(err))
} }
// bootstrap components // bootstrap components
a.Register(conf) a.Register(conf)
a.Register(acc) a.Register(acc)
a.Register(treecache.NewTreeCache()) a.Register(nodes)
a.Register(document.New())
a.Register(drpcserver.New())
a.Register(message.New())
a.Register(requesthandler.New())
a.Register(transport.New())
a.Register(treecache.New())
Bootstrap(a) Bootstrap(a)
// start app // start app

View File

@ -27,7 +27,7 @@ type Service interface {
CreateDocument(ctx context.Context, text string) (string, error) CreateDocument(ctx context.Context, text string) (string, error)
} }
func NewService() app.Component { func New() app.Component {
return &service{} return &service{}
} }

View File

@ -28,7 +28,7 @@ type message struct {
content *syncpb.SyncContent content *syncpb.SyncContent
} }
func NewMessageService() app.Component { func New() app.Component {
return &service{} return &service{}
} }

View File

@ -20,7 +20,7 @@ type requestHandler struct {
messageService message.Service messageService message.Service
} }
func NewRequestHandler() app.Component { func New() app.Component {
return &requestHandler{} return &requestHandler{}
} }

View File

@ -28,7 +28,7 @@ type service struct {
cache ocache.OCache cache ocache.OCache
} }
func NewTreeCache() app.ComponentRunnable { func New() app.ComponentRunnable {
return &service{} return &service{}
} }