RestoreManager.js 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. /* eslint-disable
  2. camelcase,
  3. handle-callback-err,
  4. no-unused-vars,
  5. */
  6. // TODO: This file was created by bulk-decaffeinate.
  7. // Fix any style issues and re-enable lint.
  8. /*
  9. * decaffeinate suggestions:
  10. * DS102: Remove unnecessary code created because of implicit returns
  11. * DS207: Consider shorter variations of null checks
  12. * Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
  13. */
  14. let RestoreManager
  15. const DocumentUpdaterManager = require('./DocumentUpdaterManager')
  16. const DiffManager = require('./DiffManager')
  17. const logger = require('logger-sharelatex')
  18. module.exports = RestoreManager = {
  19. restoreToBeforeVersion(project_id, doc_id, version, user_id, callback) {
  20. if (callback == null) {
  21. callback = function (error) {}
  22. }
  23. logger.log({ project_id, doc_id, version, user_id }, 'restoring document')
  24. return DiffManager.getDocumentBeforeVersion(
  25. project_id,
  26. doc_id,
  27. version,
  28. function (error, content) {
  29. if (error != null) {
  30. return callback(error)
  31. }
  32. return DocumentUpdaterManager.setDocument(
  33. project_id,
  34. doc_id,
  35. content,
  36. user_id,
  37. function (error) {
  38. if (error != null) {
  39. return callback(error)
  40. }
  41. return callback()
  42. }
  43. )
  44. }
  45. )
  46. }
  47. }