UserController.coffee 1.4 KB

1234567891011121314151617181920212223242526272829303132333435
  1. UserGetter = require "./UserGetter"
  2. logger = require("logger-sharelatex")
  3. module.exports = UserController =
  4. getLoggedInUsersPersonalInfo: (req, res, next = (error) ->) ->
  5. # this is funcky as hell, we don't use the current session to get the user
  6. # we use the auth token, actually destroying session from the chat api request
  7. req.session.destroy()
  8. logger.log user: req.user, "reciving request for getting logged in users personal info"
  9. return next(new Error("User is not logged in")) if !req.user?
  10. UserController.sendFormattedPersonalInfo(req.user, res, next)
  11. getPersonalInfo: (req, res, next = (error) ->) ->
  12. UserGetter.getUser req.params.user_id, { _id: true, first_name: true, last_name: true, email: true }, (error, user) ->
  13. logger.log user: req.params.user_id, "reciving request for getting users personal info"
  14. return next(error) if error?
  15. return res.send(404) if !user?
  16. UserController.sendFormattedPersonalInfo(user, res, next)
  17. req.session.destroy()
  18. sendFormattedPersonalInfo: (user, res, next = (error) ->) ->
  19. UserController._formatPersonalInfo user, (error, info) ->
  20. return next(error) if error?
  21. res.send JSON.stringify(info)
  22. _formatPersonalInfo: (user, callback = (error, info) ->) ->
  23. callback null, {
  24. id: user._id.toString()
  25. first_name: user.first_name
  26. last_name: user.last_name
  27. email: user.email
  28. signUpDate: user.signUpDate
  29. }