AuthenticationController.coffee 957 B

1234567891011121314151617181920212223
  1. async = require "async"
  2. logger = require "logger-sharelatex"
  3. WebApiManager = require("../WebApi/WebApiManager")
  4. UserFormatter = require("../Users/UserFormatter")
  5. module.exports = AuthenticationController =
  6. authClient: (client, data, callback = (error) ->) ->
  7. logger.log auth_token: data.auth_token, "authenticating user"
  8. WebApiManager.getUserDetailsFromAuthToken data.auth_token, (error, user) =>
  9. if error?
  10. logger.error data: data, client_id: client.id, err: error, "error authenticating user"
  11. return callback("something went wrong")
  12. logger.log user: user, auth_token: data.auth_token, "authenticated user"
  13. user = UserFormatter.formatUserForClientSide user
  14. jobs = []
  15. for key, value of user
  16. do (key, value) ->
  17. jobs.push (callback) -> client.set key, value, callback
  18. jobs.push (callback) -> client.set "auth_token", data.auth_token, callback
  19. async.series jobs, (error, results) =>
  20. callback(error, user)