EditorHttpController.coffee 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. ProjectEntityHandler = require "../Project/ProjectEntityHandler"
  2. logger = require "logger-sharelatex"
  3. EditorRealTimeController = require "./EditorRealTimeController"
  4. EditorController = require "./EditorController"
  5. module.exports = EditorHttpController =
  6. restoreDoc: (req, res, next) ->
  7. project_id = req.params.Project_id
  8. doc_id = req.params.doc_id
  9. name = req.body.name
  10. if !name?
  11. return res.send 400 # Malformed request
  12. logger.log project_id: project_id, doc_id: doc_id, "restoring doc"
  13. ProjectEntityHandler.restoreDoc project_id, doc_id, name, (err, doc, folder_id) =>
  14. return next(error) if error?
  15. EditorRealTimeController.emitToRoom(project_id, 'reciveNewDoc', folder_id, doc)
  16. res.json {
  17. doc_id: doc._id
  18. }
  19. addDoc: (req, res, next) ->
  20. project_id = req.params.Project_id
  21. name = req.body.name
  22. parent_folder_id = req.body.parent_folder_id
  23. EditorController.addDoc project_id, parent_folder_id, name, [], (error, doc) ->
  24. return next(error) if error?
  25. res.json doc
  26. addFolder: (req, res, next) ->
  27. project_id = req.params.Project_id
  28. name = req.body.name
  29. parent_folder_id = req.body.parent_folder_id
  30. EditorController.addFolder project_id, parent_folder_id, name, (error, doc) ->
  31. return next(error) if error?
  32. res.json doc
  33. renameEntity: (req, res, next) ->
  34. project_id = req.params.Project_id
  35. entity_id = req.params.entity_id
  36. entity_type = req.params.entity_type
  37. name = req.body.name
  38. EditorController.renameEntity project_id, entity_id, entity_type, name, (error) ->
  39. return next(error) if error?
  40. res.send 204
  41. moveEntity: (req, res, next) ->
  42. project_id = req.params.Project_id
  43. entity_id = req.params.entity_id
  44. entity_type = req.params.entity_type
  45. folder_id = req.body.folder_id
  46. EditorController.moveEntity project_id, entity_id, folder_id, entity_type, (error) ->
  47. return next(error) if error?
  48. res.send 204
  49. deleteEntity: (req, res, next) ->
  50. project_id = req.params.Project_id
  51. entity_id = req.params.entity_id
  52. entity_type = req.params.entity_type
  53. EditorController.deleteEntity project_id, entity_id, entity_type, (error) ->
  54. return next(error) if error?
  55. res.send 204