MCPcopy Index your code
hub / github.com/dnote/dnote / stepSyncBook

Function stepSyncBook

pkg/cli/cmd/sync/sync.go:305–327  ·  view source on GitHub ↗
(tx *database.DB, b client.SyncFragBook)

Source from the content-addressed store, hash-verified

303}
304
305func stepSyncBook(tx *database.DB, b client.SyncFragBook) error {
306 var localUSN int
307 var dirty bool
308 err := tx.QueryRow("SELECT usn, dirty FROM books WHERE uuid = ?", b.UUID).Scan(&localUSN, &dirty)
309 if err != nil && err != sql.ErrNoRows {
310 return errors.Wrapf(err, "getting local book %s", b.UUID)
311 }
312
313 // if book exists in the server and does not exist in the client
314 if err == sql.ErrNoRows {
315 if e := mergeBook(tx, b, modeInsert); e != nil {
316 return errors.Wrapf(e, "resolving book")
317 }
318
319 return nil
320 }
321
322 if e := mergeBook(tx, b, modeUpdate); e != nil {
323 return errors.Wrapf(e, "resolving book")
324 }
325
326 return nil
327}
328
329func mergeNote(tx *database.DB, serverNote client.SyncFragNote, localNote database.Note) error {
330 var bookDeleted bool

Callers 2

stepSyncFunction · 0.85
TestStepSyncBookFunction · 0.85

Calls 2

mergeBookFunction · 0.85
QueryRowMethod · 0.65

Tested by 1

TestStepSyncBookFunction · 0.68