UserCreator.coffee 685 B

1234567891011121314151617181920212223242526272829
  1. User = require("../../models/User").User
  2. UserLocator = require("./UserLocator")
  3. module.exports =
  4. getUserOrCreateHoldingAccount: (email, callback = (err, user)->)->
  5. self = @
  6. UserLocator.findByEmail email, (err, user)->
  7. if user?
  8. callback(err, user)
  9. else
  10. self.createNewUser email:email, holdingAccount:true, callback
  11. createNewUser: (opts, callback)->
  12. user = new User()
  13. user.email = opts.email
  14. user.holdingAccount = opts.holdingAccount
  15. username = opts.email.match(/^[^@]*/)
  16. if username?
  17. user.first_name = username[0]
  18. else
  19. user.first_name = ""
  20. user.last_name = ""
  21. user.featureSwitches?.pdfng = true
  22. user.save (err)->
  23. callback(err, user)