RestoreManager.js 1.3 KB

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