MCPcopy
hub / github.com/dnote/dnote / stepSync

Function stepSync

pkg/cli/cmd/sync/sync.go:654–698  ·  view source on GitHub ↗
(ctx context.DnoteCtx, tx *database.DB, afterUSN int)

Source from the content-addressed store, hash-verified

652}
653
654func stepSync(ctx context.DnoteCtx, tx *database.DB, afterUSN int) error {
655 log.Debug("performing a step sync\n")
656
657 log.Info("resolving delta.")
658
659 log.DebugNewline()
660
661 list, err := getSyncList(ctx, afterUSN)
662 if err != nil {
663 return errors.Wrap(err, "getting sync list")
664 }
665
666 fmt.Printf(" (total %d).", list.getLength())
667
668 for _, note := range list.Notes {
669 if err := stepSyncNote(tx, note); err != nil {
670 return errors.Wrap(err, "merging note")
671 }
672 }
673 for _, book := range list.Books {
674 if err := stepSyncBook(tx, book); err != nil {
675 return errors.Wrap(err, "merging book")
676 }
677 }
678
679 for noteUUID := range list.ExpungedNotes {
680 if err := syncDeleteNote(tx, noteUUID); err != nil {
681 return errors.Wrap(err, "deleting note")
682 }
683 }
684 for bookUUID := range list.ExpungedBooks {
685 if err := syncDeleteBook(tx, bookUUID); err != nil {
686 return errors.Wrap(err, "deleting book")
687 }
688 }
689
690 err = saveSyncState(tx, list.MaxCurrentTime, list.MaxUSN, list.UserMaxUSN)
691 if err != nil {
692 return errors.Wrap(err, "saving sync state")
693 }
694
695 fmt.Println(" done.")
696
697 return nil
698}
699
700// isConflictError checks if an error is a 409 Conflict error from the server
701func isConflictError(err error) bool {

Callers 1

newRunFunction · 0.85

Calls 10

DebugFunction · 0.92
InfoFunction · 0.92
DebugNewlineFunction · 0.92
getSyncListFunction · 0.85
stepSyncNoteFunction · 0.85
stepSyncBookFunction · 0.85
syncDeleteNoteFunction · 0.85
syncDeleteBookFunction · 0.85
saveSyncStateFunction · 0.85
getLengthMethod · 0.80

Tested by

no test coverage detected