UserInfoController.coffee 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. UserGetter = require "./UserGetter"
  2. logger = require("logger-sharelatex")
  3. UserDeleter = require("./UserDeleter")
  4. UserUpdater = require("./UserUpdater")
  5. sanitize = require('sanitizer')
  6. AuthenticationController = require('../Authentication/AuthenticationController')
  7. module.exports = UserController =
  8. getLoggedInUsersPersonalInfo: (req, res, next = (error) ->) ->
  9. user_id = AuthenticationController.getLoggedInUserId(req)
  10. logger.log user_id: user_id, "reciving request for getting logged in users personal info"
  11. return next(new Error("User is not logged in")) if !user_id?
  12. UserGetter.getUser user_id, {
  13. first_name: true, last_name: true,
  14. role:true, institution:true,
  15. email: true, signUpDate: true
  16. }, (error, user) ->
  17. return next(error) if error?
  18. UserController.sendFormattedPersonalInfo(user, res, next)
  19. getPersonalInfo: (req, res, next = (error) ->) ->
  20. UserGetter.getUser req.params.user_id, { _id: true, first_name: true, last_name: true, email: true}, (error, user) ->
  21. logger.log user_id: req.params.user_id, "reciving request for getting users personal info"
  22. return next(error) if error?
  23. return res.send(404) if !user?
  24. UserController.sendFormattedPersonalInfo(user, res, next)
  25. sendFormattedPersonalInfo: (user, res, next = (error) ->) ->
  26. UserController._formatPersonalInfo user, (error, info) ->
  27. return next(error) if error?
  28. res.send JSON.stringify(info)
  29. _formatPersonalInfo: (user, callback = (error, info) ->) ->
  30. callback null, {
  31. id: user._id.toString()
  32. first_name: user.first_name
  33. last_name: user.last_name
  34. email: user.email
  35. signUpDate: user.signUpDate
  36. role: user.role
  37. institution: user.institution
  38. }