TpdsController.coffee 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. tpdsUpdateHandler = require('./TpdsUpdateHandler')
  2. logger = require('logger-sharelatex')
  3. Path = require('path')
  4. metrics = require("../../infrastructure/Metrics")
  5. module.exports =
  6. mergeUpdate: (req, res)->
  7. metrics.inc("tpds.merge-update")
  8. {filePath, user_id, projectName} = parseParams(req)
  9. logger.log user_id:user_id, filePath:filePath, fullPath:req.params[0], projectName:projectName, sl_req_id:req.sl_req_id, "reciving update request from tpds"
  10. tpdsUpdateHandler.newUpdate user_id, projectName, filePath, req, req.sl_req_id, (err)->
  11. logger.log user_id:user_id, filePath:filePath, fullPath:req.params[0], sl_req_id:req.sl_req_id, "sending response that tpdsUpdate has been completed"
  12. if err?
  13. logger.err err:err, user_id:user_id, filePath:filePath, "error reciving update from tpds"
  14. res.send(500)
  15. else
  16. logger.log user_id:user_id, filePath:filePath, projectName:projectName, "telling tpds update has been processed"
  17. res.send 200
  18. req.session.destroy()
  19. deleteUpdate: (req, res)->
  20. metrics.inc("tpds.delete-update")
  21. {filePath, user_id, projectName} = parseParams(req)
  22. logger.log user_id:user_id, filePath:filePath, sl_req_id:req.sl_req_id, projectName:projectName, fullPath:req.params[0], "reciving delete request from tpds"
  23. tpdsUpdateHandler.deleteUpdate user_id, projectName, filePath, req.sl_req_id, (err)->
  24. if err?
  25. logger.err err:err, user_id:user_id, filePath:filePath, "error reciving update from tpds"
  26. res.send(500)
  27. else
  28. logger.log user_id:user_id, filePath:filePath, projectName:projectName, "telling tpds delete has been processed"
  29. res.send 200
  30. req.session.destroy()
  31. parseParams: parseParams = (req)->
  32. path = req.params[0]
  33. user_id = req.params.user_id
  34. path = Path.join("/",path)
  35. if path.substring(1).indexOf('/') == -1
  36. filePath = "/"
  37. projectName = path.substring(1)
  38. else
  39. filePath = path.substring(path.indexOf("/",1))
  40. projectName = path.substring(0, path.indexOf("/",1))
  41. projectName = projectName.replace("/","")
  42. return filePath:filePath, user_id:user_id, projectName:projectName