V1Handler.coffee 857 B

123456789101112131415161718192021222324252627
  1. V1Api = require './V1Api'
  2. Settings = require 'settings-sharelatex'
  3. logger = require 'logger-sharelatex'
  4. module.exports = V1Handler =
  5. authWithV1: (email, password, callback=(err, isValid, v1Profile)->) ->
  6. V1Api.request {
  7. method: 'POST',
  8. url: '/api/v1/sharelatex/login',
  9. json: {email, password},
  10. expectedStatusCodes: [403]
  11. }, (err, response, body) ->
  12. if err?
  13. logger.err {email, err},
  14. "[V1Handler] error while talking to v1 login api"
  15. return callback(err)
  16. if response.statusCode in [200, 403]
  17. isValid = body.valid
  18. userProfile = body.user_profile
  19. logger.log {email, isValid, v1UserId: body?.user_profile?.id},
  20. "[V1Handler] got response from v1 login api"
  21. callback(null, isValid, userProfile)
  22. else
  23. err = new Error("Unexpected status from v1 login api: #{response.statusCode}")
  24. callback(err)