ProjectDetailsHandler.coffee 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. ProjectGetter = require("./ProjectGetter")
  2. UserGetter = require("../User/UserGetter")
  3. Project = require('../../models/Project').Project
  4. logger = require("logger-sharelatex")
  5. tpdsUpdateSender = require '../ThirdPartyDataStore/TpdsUpdateSender'
  6. module.exports =
  7. getDetails: (project_id, callback)->
  8. ProjectGetter.getProjectWithoutDocLines project_id, (err, project)->
  9. if err?
  10. logger.err err:err, project_id:project_id, "error getting project"
  11. return callback(err)
  12. UserGetter.getUser project.owner_ref, (err, user) ->
  13. return callback(err) if err?
  14. details =
  15. name : project.name
  16. description: project.description
  17. compiler: project.compiler
  18. features: user.features
  19. logger.log project_id:project_id, details:details, "getting project details"
  20. callback(err, details)
  21. setProjectDescription: (project_id, description, callback)->
  22. conditions = _id:project_id
  23. update = description:description
  24. logger.log conditions:conditions, update:update, project_id:project_id, description:description, "setting project description"
  25. Project.update conditions, update, (err)->
  26. if err?
  27. logger.err err:err, "something went wrong setting project description"
  28. callback(err)
  29. renameProject: (project_id, newName, callback = ->)->
  30. logger.log project_id: project_id, newName:newName, "renaming project"
  31. ProjectGetter.getProject project_id, {"name":1}, (err, project)->
  32. if err? or !project?
  33. logger.err err:err, project_id:project_id, "error getting project or could not find it todo project rename"
  34. return callback(err)
  35. oldProjectName = project.name
  36. Project.update _id:project_id, {name: newName}, (err, project)=>
  37. if err?
  38. return callback(err)
  39. tpdsUpdateSender.moveEntity {project_id:project_id, project_name:oldProjectName, newProjectName:newName}, callback