Fix server starting, add some logs
This commit is contained in:
parent
cc134da1ed
commit
7a1ddf9c83
@ -38,6 +38,12 @@ func (s *service) Name() (name string) {
|
||||
}
|
||||
|
||||
func (s *service) Run(ctx context.Context) (err error) {
|
||||
defer func() {
|
||||
if err == nil {
|
||||
log.Info("api server started running on port 8080")
|
||||
}
|
||||
}()
|
||||
|
||||
s.srv = &http.Server{
|
||||
Addr: ":8080",
|
||||
}
|
||||
@ -47,7 +53,15 @@ func (s *service) Run(ctx context.Context) (err error) {
|
||||
mux.HandleFunc("/appendDocument", s.appendDocument)
|
||||
s.srv.Handler = mux
|
||||
|
||||
return s.srv.ListenAndServe()
|
||||
go s.runServer()
|
||||
return nil
|
||||
}
|
||||
|
||||
func (s *service) runServer() {
|
||||
err := s.srv.ListenAndServe()
|
||||
if err != nil {
|
||||
log.With(zap.Error(err)).Error("could not run api server")
|
||||
}
|
||||
}
|
||||
|
||||
func (s *service) Close(ctx context.Context) (err error) {
|
||||
|
||||
@ -3,23 +3,30 @@ package document
|
||||
import (
|
||||
"context"
|
||||
"github.com/anytypeio/go-anytype-infrastructure-experiments/app"
|
||||
"github.com/anytypeio/go-anytype-infrastructure-experiments/app/logger"
|
||||
"github.com/anytypeio/go-anytype-infrastructure-experiments/pkg/acl/aclchanges/aclpb"
|
||||
"github.com/anytypeio/go-anytype-infrastructure-experiments/pkg/acl/acltree"
|
||||
"github.com/anytypeio/go-anytype-infrastructure-experiments/pkg/acl/testutils/testchanges/testchangepb"
|
||||
"github.com/anytypeio/go-anytype-infrastructure-experiments/pkg/acl/treestorage/treepb"
|
||||
"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/message"
|
||||
"github.com/anytypeio/go-anytype-infrastructure-experiments/service/sync/syncpb"
|
||||
"github.com/anytypeio/go-anytype-infrastructure-experiments/service/treecache"
|
||||
"github.com/gogo/protobuf/proto"
|
||||
"go.uber.org/zap"
|
||||
)
|
||||
|
||||
var CName = "DocumentService"
|
||||
|
||||
var log = logger.NewNamed("documentservice")
|
||||
|
||||
type service struct {
|
||||
messageService message.Service
|
||||
treeCache treecache.Service
|
||||
account account.Service
|
||||
// to create new documents we need to know all nodes
|
||||
nodes []*node.Node
|
||||
}
|
||||
|
||||
type Service interface {
|
||||
@ -35,6 +42,10 @@ func (s *service) Init(ctx context.Context, a *app.App) (err error) {
|
||||
s.account = a.MustComponent(account.CName).(account.Service)
|
||||
s.messageService = a.MustComponent(message.CName).(message.Service)
|
||||
s.treeCache = a.MustComponent(treecache.CName).(treecache.Service)
|
||||
|
||||
nodesService := a.MustComponent(node.CName).(node.Service)
|
||||
s.nodes = nodesService.Nodes()
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
@ -57,6 +68,8 @@ func (s *service) UpdateDocument(ctx context.Context, id, text string) (err erro
|
||||
snapshotPath []string
|
||||
heads []string
|
||||
)
|
||||
log.With(zap.String("id", id), zap.String("text", text)).
|
||||
Debug("updating document")
|
||||
|
||||
err = s.treeCache.Do(ctx, id, func(tree acltree.ACLTree) error {
|
||||
ch, err = tree.AddContent(ctx, func(builder acltree.ChangeBuilder) error {
|
||||
@ -99,12 +112,22 @@ func (s *service) CreateDocument(ctx context.Context, text string) (id string, e
|
||||
snapshotPath []string
|
||||
heads []string
|
||||
)
|
||||
log.With(zap.String("id", id), zap.String("text", text)).
|
||||
Debug("creating document")
|
||||
|
||||
err = s.treeCache.Create(ctx, func(builder acltree.ChangeBuilder) error {
|
||||
err := builder.UserAdd(acc.Identity, acc.EncKey.GetPublic(), aclpb.ACLChange_Admin)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
// adding all predefined nodes to the document as admins
|
||||
for _, n := range s.nodes {
|
||||
err = builder.UserAdd(n.SigningKeyString, n.EncryptionKey, aclpb.ACLChange_Admin)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
builder.AddChangeContent(createInitialChangeContent(text))
|
||||
return nil
|
||||
}, func(tree acltree.ACLTree) error {
|
||||
|
||||
@ -3,12 +3,14 @@ package treecache
|
||||
import (
|
||||
"context"
|
||||
"github.com/anytypeio/go-anytype-infrastructure-experiments/app"
|
||||
"github.com/anytypeio/go-anytype-infrastructure-experiments/app/logger"
|
||||
"github.com/anytypeio/go-anytype-infrastructure-experiments/pkg/acl/aclchanges/aclpb"
|
||||
"github.com/anytypeio/go-anytype-infrastructure-experiments/pkg/acl/acltree"
|
||||
"github.com/anytypeio/go-anytype-infrastructure-experiments/pkg/acl/treestorage"
|
||||
"github.com/anytypeio/go-anytype-infrastructure-experiments/pkg/acl/treestorage/treepb"
|
||||
"github.com/anytypeio/go-anytype-infrastructure-experiments/pkg/ocache"
|
||||
"github.com/anytypeio/go-anytype-infrastructure-experiments/service/account"
|
||||
"go.uber.org/zap"
|
||||
)
|
||||
|
||||
const CName = "treecache"
|
||||
@ -16,6 +18,8 @@ const CName = "treecache"
|
||||
type ACLTreeFunc = func(tree acltree.ACLTree) error
|
||||
type ChangeBuildFunc = func(builder acltree.ChangeBuilder) error
|
||||
|
||||
var log = logger.NewNamed("treecache")
|
||||
|
||||
type Service interface {
|
||||
Do(ctx context.Context, treeId string, f ACLTreeFunc) error
|
||||
Add(ctx context.Context, treeId string, header *treepb.TreeHeader, changes []*aclpb.RawChange, f ACLTreeFunc) error
|
||||
@ -48,6 +52,10 @@ func (s *service) Create(ctx context.Context, build ChangeBuildFunc, f ACLTreeFu
|
||||
}
|
||||
|
||||
func (s *service) Do(ctx context.Context, treeId string, f ACLTreeFunc) error {
|
||||
log.
|
||||
With(zap.String("treeId", treeId)).
|
||||
Debug("requesting tree from cache to perform operation")
|
||||
|
||||
tree, err := s.cache.Get(ctx, treeId)
|
||||
defer s.cache.Release(treeId)
|
||||
if err != nil {
|
||||
@ -60,6 +68,10 @@ func (s *service) Do(ctx context.Context, treeId string, f ACLTreeFunc) error {
|
||||
}
|
||||
|
||||
func (s *service) Add(ctx context.Context, treeId string, header *treepb.TreeHeader, changes []*aclpb.RawChange, f ACLTreeFunc) error {
|
||||
log.
|
||||
With(zap.String("treeId", treeId)).
|
||||
Debug("adding tree with changes")
|
||||
|
||||
_, err := s.treeProvider.CreateTreeStorage(treeId, header, changes)
|
||||
if err != nil {
|
||||
return err
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user