RangesManager.coffee 885 B

1234567891011121314151617181920212223
  1. DocumentUpdaterHandler = require "../DocumentUpdater/DocumentUpdaterHandler"
  2. DocstoreManager = require "../Docstore/DocstoreManager"
  3. UserInfoManager = require "../User/UserInfoManager"
  4. async = require "async"
  5. module.exports = RangesManager =
  6. getAllRanges: (project_id, callback = (error, docs) ->) ->
  7. DocumentUpdaterHandler.flushProjectToMongo project_id, (error) ->
  8. return callback(error) if error?
  9. DocstoreManager.getAllRanges project_id, callback
  10. getAllChangesUsers: (project_id, callback = (error, users) ->) ->
  11. user_ids = {}
  12. RangesManager.getAllRanges project_id, (error, docs) ->
  13. return callback(error) if error?
  14. jobs = []
  15. for doc in docs
  16. for change in doc.ranges?.changes or []
  17. user_ids[change.metadata.user_id] = true
  18. async.mapSeries Object.keys(user_ids), (user_id, cb) ->
  19. UserInfoManager.getPersonalInfo user_id, cb
  20. , callback