diff --git a/client/clientspace/clientcache/treecache.go b/client/clientspace/clientcache/treecache.go index 50319cba..e37c284c 100644 --- a/client/clientspace/clientcache/treecache.go +++ b/client/clientspace/clientcache/treecache.go @@ -5,6 +5,7 @@ import ( "errors" "github.com/anytypeio/go-anytype-infrastructure-experiments/client/clientspace" "github.com/anytypeio/go-anytype-infrastructure-experiments/client/document/textdocument" + "github.com/anytypeio/go-anytype-infrastructure-experiments/common/account" "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app" "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app/logger" "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/treegetter" @@ -24,6 +25,7 @@ const spaceKey ctxKey = 0 type treeCache struct { gcttl int cache ocache.OCache + account account.Service clientService clientspace.Service } @@ -65,6 +67,7 @@ func (c *treeCache) Close(ctx context.Context) (err error) { func (c *treeCache) Init(a *app.App) (err error) { c.clientService = a.MustComponent(clientspace.CName).(clientspace.Service) + c.account = a.MustComponent(account.CName).(account.Service) c.cache = ocache.New( func(ctx context.Context, id string) (value ocache.Object, err error) { spaceId := ctx.Value(spaceKey).(string) @@ -72,7 +75,7 @@ func (c *treeCache) Init(a *app.App) (err error) { if err != nil { return } - return textdocument.NewTextDocument(context.Background(), space, id, &updateListener{}) + return textdocument.NewTextDocument(context.Background(), space, id, &updateListener{}, c.account) }, ocache.WithLogger(log.Sugar()), ocache.WithGCPeriod(time.Minute), diff --git a/client/document/textdocument/textdocument.go b/client/document/textdocument/textdocument.go index 03f3c151..7b754670 100644 --- a/client/document/textdocument/textdocument.go +++ b/client/document/textdocument/textdocument.go @@ -40,16 +40,18 @@ func CreateTextDocument( return &textDocument{ objTree: t, + account: account, }, nil } -func NewTextDocument(ctx context.Context, space commonspace.Space, id string, listener updatelistener.UpdateListener) (doc TextDocument, err error) { +func NewTextDocument(ctx context.Context, space commonspace.Space, id string, listener updatelistener.UpdateListener, account account.Service) (doc TextDocument, err error) { t, err := space.BuildTree(ctx, id, listener) if err != nil { return } return &textDocument{ objTree: t, + account: account, }, nil }