mirror of
https://github.com/anyproto/anytype-heart.git
synced 2025-06-11 10:18:28 +09:00
GO-1306: Sync files on reindex
This commit is contained in:
parent
e4ee7927f5
commit
b213e160df
3 changed files with 21 additions and 18 deletions
|
@ -139,7 +139,7 @@ func Bootstrap(a *app.App, components ...app.Component) {
|
|||
|
||||
fileService := files.New(fileSyncStatusWatcher)
|
||||
|
||||
indexerService := indexer.New(blockService, spaceService, fileSyncStatusWatcher)
|
||||
indexerService := indexer.New(blockService, spaceService, fileService)
|
||||
|
||||
a.Register(clientds.New()).
|
||||
Register(nodeconfsource.New()).
|
||||
|
|
|
@ -59,6 +59,7 @@ type Service interface {
|
|||
ImageAdd(ctx context.Context, options ...AddOption) (Image, error)
|
||||
ImageByHash(ctx context.Context, hash string) (Image, error)
|
||||
StoreFileKeys(fileKeys ...FileKeys) error
|
||||
AddToSyncQueue(fileID string) error
|
||||
|
||||
app.Component
|
||||
}
|
||||
|
@ -373,7 +374,7 @@ func (s *service) fileIndexData(ctx context.Context, inode ipld.Node, data strin
|
|||
|
||||
// fileIndexNode walks a file node, indexing file links
|
||||
func (s *service) fileIndexNode(ctx context.Context, inode ipld.Node, fileID string) error {
|
||||
if err := s.addToSyncQueue(fileID); err != nil {
|
||||
if err := s.AddToSyncQueue(fileID); err != nil {
|
||||
return fmt.Errorf("add file %s to sync queue: %w", fileID, err)
|
||||
}
|
||||
|
||||
|
@ -758,7 +759,7 @@ func (s *service) fileBuildDirectory(ctx context.Context, reader io.ReadSeeker,
|
|||
}
|
||||
|
||||
func (s *service) fileIndexInfo(ctx context.Context, hash string, updateIfExists bool) ([]*storage.FileInfo, error) {
|
||||
if err := s.addToSyncQueue(hash); err != nil {
|
||||
if err := s.AddToSyncQueue(hash); err != nil {
|
||||
return nil, fmt.Errorf("add file %s to sync queue: %w", hash, err)
|
||||
}
|
||||
|
||||
|
@ -815,7 +816,7 @@ func (s *service) fileIndexInfo(ctx context.Context, hash string, updateIfExists
|
|||
return files, nil
|
||||
}
|
||||
|
||||
func (s *service) addToSyncQueue(fileID string) error {
|
||||
func (s *service) AddToSyncQueue(fileID string) error {
|
||||
spaceID := s.spaceService.AccountId()
|
||||
|
||||
if err := s.fileSync.AddFile(spaceID, fileID); err != nil {
|
||||
|
|
|
@ -19,7 +19,7 @@ import (
|
|||
"github.com/anytypeio/go-anytype-middleware/core/block/editor"
|
||||
smartblock2 "github.com/anytypeio/go-anytype-middleware/core/block/editor/smartblock"
|
||||
"github.com/anytypeio/go-anytype-middleware/core/block/source"
|
||||
"github.com/anytypeio/go-anytype-middleware/core/filestorage/filesync/filesyncstatus"
|
||||
"github.com/anytypeio/go-anytype-middleware/core/files"
|
||||
"github.com/anytypeio/go-anytype-middleware/core/relation/relationutils"
|
||||
"github.com/anytypeio/go-anytype-middleware/metrics"
|
||||
"github.com/anytypeio/go-anytype-middleware/pkg/lib/bundle"
|
||||
|
@ -68,12 +68,12 @@ var (
|
|||
func New(
|
||||
picker block.Picker,
|
||||
spaceService space.Service,
|
||||
fileSyncStatusWatcher filesyncstatus.StatusWatcher,
|
||||
fileService files.Service,
|
||||
) Indexer {
|
||||
return &indexer{
|
||||
picker: picker,
|
||||
spaceService: spaceService,
|
||||
fileSyncStatusWatcher: fileSyncStatusWatcher,
|
||||
picker: picker,
|
||||
spaceService: spaceService,
|
||||
fileService: fileService,
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -92,14 +92,14 @@ type subObjectCreator interface {
|
|||
}
|
||||
|
||||
type indexer struct {
|
||||
store objectstore.ObjectStore
|
||||
fileStore filestore.FileStore
|
||||
anytype core.Service
|
||||
source source.Service
|
||||
picker block.Picker
|
||||
ftsearch ftsearch.FTSearch
|
||||
subObjectCreator subObjectCreator
|
||||
fileSyncStatusWatcher filesyncstatus.StatusWatcher
|
||||
store objectstore.ObjectStore
|
||||
fileStore filestore.FileStore
|
||||
anytype core.Service
|
||||
source source.Service
|
||||
picker block.Picker
|
||||
ftsearch ftsearch.FTSearch
|
||||
subObjectCreator subObjectCreator
|
||||
fileService files.Service
|
||||
|
||||
quit chan struct{}
|
||||
mu sync.Mutex
|
||||
|
@ -437,7 +437,9 @@ func (i *indexer) reindex(ctx context.Context, flags reindexFlags) (err error) {
|
|||
}
|
||||
fileIDs, err := i.getIdsForTypes(smartblock.SmartBlockTypeFile)
|
||||
for _, fileID := range fileIDs {
|
||||
i.fileSyncStatusWatcher.Watch(i.spaceService.AccountId(), fileID)
|
||||
if addErr := i.fileService.AddToSyncQueue(fileID); addErr != nil {
|
||||
log.Errorf("failed to add file %s to sync queue: %s", fileID, addErr.Error())
|
||||
}
|
||||
}
|
||||
if err != nil {
|
||||
return fmt.Errorf("get all file ids: %w", err)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue