TrackChangesManager.coffee 514 B

123456789101112
  1. ChangesTracker = require "./ChangesTracker"
  2. module.exports = TrackChangesManager =
  3. applyUpdate: (project_id, doc_id, entries = {}, updates = [], callback = (error, new_entries) ->) ->
  4. {changes, comments} = entries
  5. changesTracker = new ChangesTracker(changes, comments)
  6. for update in updates
  7. changesTracker.track_changes = !!update.meta.tc
  8. for op in update.op
  9. changesTracker.applyOp(op, { user_id: update.meta?.user_id })
  10. {changes, comments} = changesTracker
  11. callback null, {changes, comments}